Ребята приветствую, помогите с алгоритмом, кто может.
На ПЛК110-60 MS4D хочу реализовать очередь. Есть 32 входа и 32 выхода. Кто первый пришёл - тот первый и ушёл.
На OwenLogic тут нашёл готовый макрос, сделанный Сергей0308
https://owen.ru/forum/showthread.php...E5%F0%E5%E4%FC
Работает в общем как надо. Правда конечно сложная структура...
В общем хотел всё это реализовать в MS4D и встрял на операторе шифратор CD32 (преобразование позиционного кода в двоичный), так и не понял что это и как-то связано в логарифмами...
Мне казался изначально более простое решение: это считать время присутствия каждого входа и пропускать в первую очередь того кто больше, но тут нужно какое-то много канальное сравнение и пока затык.
В MS4D в библиотеке OSCAT в принципе есть оператор очереди FIFO_32 но у него вход/выход - целые числа и нужно как то это всё преобразовывать...
Правда у меня планируется более продвинутый алгоритм с выбором количества одновременного обслуживания.
Вообще весьма странно, что нет частого использования этой задачи в паблике. Этиж очереди сейчас везде и всюду)
Подскажите хотя бы направление по которому лучше пойти, хотя одно я точно конечно знаю![]()