Просмотр полной версии : Функциональный блок не работает пока не вызовеш его
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
Спасибо за ответы.
Здравствуйте, Вы не могли бы, объяснить по подробнее данный момент, дело в том что у меня элемент не находятся в функциональном блоке, и все равно подсвечиваются серым44573
Как это побороть?
Убедитесь, что timer7 объявлен единожды.
100% объявлен единожды, дело в том что не только на таймерах такое, на простой логике встречается тоже не пойму в чем дело 44574
Проблемы, частично, местами решается заменой того или иного элемента, но не все
Ищите источник первой черной линии, т. е. место, откуда она начинается. Остальные (последующие) могут быть лишь следствием.
На элемент OR приходит 5 дискреток с однотипных ФБ, все ФБ объявленны. Источник найден, но что с ним делать?
Я так понимаю, я что то забыл(или пропустил) прописать? Объявленные в Конфигурации ПЛК переменные же не надо объявлять?
Объявил некоторые переменные, сигналы теперь доходят через серые линии связи, но линии все равно остались серыми, как это исправить?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot