Я не вникал в работу отдельных макросов, поэтому прошу прокомментировать этот скрин.
Вложение 29475
Перед запуском на исполнение, я активировал четыре датчика, запустил симулятор и включил вход Wen.
Вид для печати
Я не вникал в работу отдельных макросов, поэтому прошу прокомментировать этот скрин.
Вложение 29475
Перед запуском на исполнение, я активировал четыре датчика, запустил симулятор и включил вход Wen.
1) Вы отключили 4 датчика. (нет жидкости- отключен, есть-включен) У первого макроса по 2 датчика на канал (верх/низ)
2) Установлена одновременная работа 3х клапанов. (настраивается из свойств макроса)
Пока вы не отключите хотя-бы один активный канал следующий не включится. Приоритет имеет датчик верхнего уровня.
Но у Вас же не запоминает очерёдность постановки в очередь, у Вас жёсткий приоритет включения, автор вопроса хотел чтобы выхода включались по очереди, в зависимости от очерёдности включения входов, т. е совсем другой алгоритм работы, не исключаю что в большинстве случает этого достаточно(вашего алгоритма работы)!
Внимательно читаем уточнённый ТЗ.
http://www.owen.ru/forum/showthread....l=1#post236238
А "очерёдности" и "стек" мы с вами сами напридумывали для решения простой задачи. Соответственно навылезали всякие "ветряные мельницы", с которыми стали "бороться".
А здесь говорится про очередь. http://www.owen.ru/forum/showthread....l=1#post235996
Тогда, пока не поздно, новая версия очереди, повысил КПД стека в 6,4 раза, раньше на запоминание включения каждого входа уходил один SEL(32 бита), теперь 5 бит! Почти все элементы с возможностью расширения, стек сразу сделал до 32 клапанов(не включительно):
Вложение 29488
Вы таки упёрлись в ограничение по ресурсам ПР200?
С интересом посмотрю, как вы с этим подходом будете 33 клапан подключать.:)Цитата:
Почти все элементы с возможностью расширения, стек сразу сделал до 32 клапанов(не включительно):
Обладатель чёрного пояса по вышке и программированию явился на нашу школьную олимпиаду.
Уважаемый, не мешайте людям развлекаться и кипятить свои мозги. ;)