PDA

Просмотр полной версии : Функциональный блок не работает пока не вызовеш его



mummy117
08.09.2015, 12:44
Добрый день. Пишу программу для ПЛК 110-60, при отладке возникает такая ситуация: пишу ФБ, подключаюсь к ПЛК и вижу серые линии после элементов (цифры 2, 3 на скрине), сами элементы на входы не реагируют, даже если на элемент OR (2или) приходит 2 TRUE то выход все равно остается серая линия.
Это лечиться повторным открытием этого ФБ (а даном случае automat) в дереве POU(цифра 1 на скрине). Тогда серые линии становяться черными и блоки реагируют на состояние входов.

Кто нить подскажет что это такое и как с этим бороться?
19841

Дмитрий Артюховский
08.09.2015, 13:49
следует объявить ЭКЗЕМПЛЯР функционального блока в области описания переменных, и уж его ставить на выполнение в PLC_PRG ну или использовать в task_configuration

mummy117
08.09.2015, 16:25
следует объявить ЭКЗЕМПЛЯР функционального блока в области описания переменных, и уж его ставить на выполнение в PLC_PRG ну или использовать в task_configuration

Экземпляр объявлен в PLC_PRG и он один используется в программе. Или же его нужо объявлять в нем самом же?

Николаев Андрей
08.09.2015, 16:52
Есть понятие функциональный блок. Это алгоритм. В нем всегда будет серое.
Есть понятие экземпляр блока, в котором и происходят реальные вычисления.
По этому когда Вы "второй" раз кликаете CODESYS спрашивает что открыть: блок или его экземпляр, объявленный в PLC_PRG.

mummy117
09.09.2015, 09:38
Спасибо за ответы.

ВалераМ
12.09.2019, 10:25
Здравствуйте, Вы не могли бы, объяснить по подробнее данный момент, дело в том что у меня элемент не находятся в функциональном блоке, и все равно подсвечиваются серым44573
Как это побороть?

Sulfur
12.09.2019, 10:34
Убедитесь, что timer7 объявлен единожды.

ВалераМ
12.09.2019, 10:45
100% объявлен единожды, дело в том что не только на таймерах такое, на простой логике встречается тоже не пойму в чем дело 44574
Проблемы, частично, местами решается заменой того или иного элемента, но не все

Sulfur
12.09.2019, 10:56
Ищите источник первой черной линии, т. е. место, откуда она начинается. Остальные (последующие) могут быть лишь следствием.

ВалераМ
12.09.2019, 10:58
На элемент OR приходит 5 дискреток с однотипных ФБ, все ФБ объявленны. Источник найден, но что с ним делать?
Я так понимаю, я что то забыл(или пропустил) прописать? Объявленные в Конфигурации ПЛК переменные же не надо объявлять?

ВалераМ
12.09.2019, 11:54
Объявил некоторые переменные, сигналы теперь доходят через серые линии связи, но линии все равно остались серыми, как это исправить?