AVF хотел такой макрос, ему виднее.
AVF хотел такой макрос, ему виднее.
Да я про то ,почему первый вариант не работал
электронщик до мозга костей и не только
УРА-УРА-УРА!!!
Как говорится:"ЗА-РА-БО-ТА-ЛО!!!"
Как указывал в первом посте - проблема жила в генераторе пакетов импульсов.
Три версии своих отказывались функционировать в макросе.
На основе конструкции Василия Кашубы с применением примочки из варианта Евгения Сергеевича была собрана-таки работоспособная версия.
Внедрена в макрос, который откатан на всех приборах, указанных в инициирующем тему посте - РАБОТАЕТ!
Числоимпульсный генератор помещён в тему универсальных макросов.
Финальный макрос получился на загляденье - настройки из поля комментариев:
MIL_macros.GIF
Ещё раз огромное спасибо ВСЕМ, кто принял участие!
2 Евгений Сергеевич --- Интересно узнать - почему, всё-таки, не работали предыдущие?
Последний раз редактировалось AVF; 10.04.2014 в 10:26.
Почему на заработал самый первый алгоритм будем выяснять, сейчас не готов дать ответ.
Почему не заработало при внесение в макрос - есть догадка: столкнулся с этим при копировании из одного проекта в другой (под другой пр). Изменился порядок выполнения обратных связей, т.к. я явно не указал порядок (все идут с обним порядком поэтому при копировании выстроились по другому). исправил это добавлением еще одной ОС. Собственно этот последний вариант скопировал в макрос - работает.
полученный макрос так же выкладываю.
Идея выделить часть кода и сказать : "теперь ты макрос", есть у нас давно. Но не успеваем все реализовывать.
Тоже пришлось помудрить с ОС-ями. Без указания явного порядка чехарда получалась.
Опцию переноса проекта в макрос жду с нетерпением!
Прошло полгода и очередной сюрприз подкидывает 114-ая. Как обычно бывает - в самый неподходящий момент!
На отладке проекта ... в завершающей фазе ... когда, как говорится, осталось только пыль смахнуть, релюха встала колом.
И проблема зарыта, как мне кажется, не в Лоджике, а именно в ПР114!
После безрезультатного трахания в течение всего дня итоги следующие:
1. Из проекта выделена проблемная зона в виде связки двух макросов:
АСУ_ПГК_отладка_бага_1.GIF
2. Если отключить аналоговые входы, то связка функционирует, как в симуляторе, так и в железке:
АСУ_ПГК_отладка_бага_2.GIF
3.С подключёнными входами перестают работать на железе макросы FSEL1 и FSEL2 в макросе AO8_DISCR( точнее сказать, перестаёт отрабатываться алгоритм обработки состояний входов ИН и Q5):
АСУ_ПГК_отладка_бага_3.GIF
Проблемный проект прикрепляю. Логика работы не такая простая, как в первом случае.
Пробую её описать понятно, выложу позже.
В преддверии появления ПР200 интересует вероятность проявления этого нежданчика и в них.
И будет ли пофиксен, в конце концов, баг на 114-ой платформе ?
Последний раз редактировалось AVF; 23.09.2014 в 15:57.
Вы бы скрины дали в режиме симуляции и показали ,что не работает и как должно быть (с константами)
электронщик до мозга костей и не только
Кино снимать не умею - выкладываю в текстовой форме:
Сценарий 1:
1.Исходное состояние: дискретные входы реле неактивны!
2.активируется вход I4 - выход AO8 - 0.1, задержка 10 сек.
3.активируется вход I3, через 5 сек выход LCK макроса AO8_DISCR1 становится неактивным (разрешается работа макроса PRSSR_cntrl1)
4.на выход AO8 AO8_DISCR1 передаётся значение входа ПИД.
5.по окончании работы макроса PRSSR_cntrl1 (достижении уставки УСТ) активируется выход КНЦ, переключающий выход АО8 макроса AO8_DISCR1 в состояние 0,1 и активирующий выход LCK (блокировка макроса PRSSR_cntrl1)
6.активация входа I8 передаёт на выход АО8 макроса AO8_DISCR1 состояние входа ПИД. Деактивация приводит к обратному переключению в 0,1.
Сценарий 2:
п.1-2 - аналогично
3. активируется вход I8, через 5 сек выход АО8 макроса AO8_DISCR переключается в состояние 0,99.
4. активация входа I3 передаёт на выход АО8 макроса AO8_DISCR1 состояние входа ПИД.Деактивация приводит к обратному переключению в 0,99
Проблема заключается в нефункционировании последних пунктов обоих сценариев в железе, хотя в режиме симуляции всё щёлкает совершенно замечательно.