Всем привет.
В среде CodeSys пытаюсь использовать обычный логический двухвходовой элемент И.
Однако в этом элементе есть цепи EN и ENO.
Что это за они и зачем они нужны?
Вложение 59985
Вид для печати
Всем привет.
В среде CodeSys пытаюсь использовать обычный логический двухвходовой элемент И.
Однако в этом элементе есть цепи EN и ENO.
Что это за они и зачем они нужны?
Вложение 59985
Добрый день.
EN - вход управления: если он в TRUE, то элемент обрабатывается при выполнении POU, если в FALSE - то не обрабатывается.
Это позволяет "включать" и "выключать" выполнение каких-то фрагментов схемы в процессе работы программы.
Значение ENO равно значению EN и используется для "прокидывания" сигнала управления в другие блоки без засорения холста лишними линиями от EN.
https://help.codesys.com/webapp/_cds...rsion=3.5.17.0
Авторы стандарта МЭК 61131-3.Цитата:
Кто это все придумал?
а почитать? можно вообще запретить выполнение блока и нанизывать их один на другой.
Привет. Наверное, мне пока в отпуск!
1. Создадим структуру:
2. Объявим массив:Код:TYPE struct1 :STRUCT
bFlag1: BOOL;
bFlag2: BOOL;
bFlag3: BOOL;
bFlag4: BOOL;
bFlag5: BOOL;
bFlag6: BOOL;
END_STRUCT
END_TYPE
3. На экране визуализации разместим графический элемент "Кнопка-флажок".Код:VAR
arrBuffer: ARRAY[1..2] OF struct1;
END_VAR
В поле "Переменная" вставим: PLC_PRG.arrBuffer[1].bFlag1.
А в поле "Конфигурация ввода - OnValueChanged" установим "Переключить переменную - PLC_PRG.arrBuffer[1].bFlag1".
4. Запустим все это безобразие на ПЛК "CODESYS Control Win V3".
5. При попытке переключить флажок получаем ошибку визуализации/зависание.
Что я делаю не так?
Файл:
А чего вы добиться-то своими действиями хотели?Цитата:
Что я делаю не так?
Переключение логического флага. Т.е. множества таких флагов.
Разве "Кнопка-Флажок" не для этого предназначена?
Для переключения логического флага OnValueChanged не нужно.
А вы сейчас с его помощью создаете поток одинаковых событий (нажали на флажок - изменилась переменная - сработало событие OnValueChanged - в обработчике инвертировали переменную - поэтому опять сработало событие и далее бесконечный цикл), который приводит к переполнению стека.
Ок. Спасибо. Заработало.