Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 26

Тема: Кто это все придумал?

  1. #1

    По умолчанию Кто это все придумал?

    Всем привет.
    В среде CodeSys пытаюсь использовать обычный логический двухвходовой элемент И.
    Однако в этом элементе есть цепи EN и ENO.
    Что это за они и зачем они нужны?

    wtf01.png

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Всем привет.
    В среде CodeSys пытаюсь использовать обычный логический двухвходовой элемент И.
    Однако в этом элементе есть цепи EN и ENO.
    Что это за они и зачем они нужны?

    wtf01.png
    Добрый день.

    EN - вход управления: если он в TRUE, то элемент обрабатывается при выполнении POU, если в FALSE - то не обрабатывается.
    Это позволяет "включать" и "выключать" выполнение каких-то фрагментов схемы в процессе работы программы.


    Значение ENO равно значению EN и используется для "прокидывания" сигнала управления в другие блоки без засорения холста лишними линиями от EN.

    https://help.codesys.com/webapp/_cds...rsion=3.5.17.0

    Кто это все придумал?
    Авторы стандарта МЭК 61131-3.

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,653

    По умолчанию

    а почитать? можно вообще запретить выполнение блока и нанизывать их один на другой.

  4. #4

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Всем привет.
    В среде CodeSys пытаюсь использовать обычный логический двухвходовой элемент И.
    Однако в этом элементе есть цепи EN и ENO.
    Что это за они и зачем они нужны?
    Вас кто то принуждает? Не надо этих входов - пишите программу на CFC или ST, там нет этого, если вы специально не используете управляющие входы.
    Последний раз редактировалось kondor3000; 29.03.2022 в 15:30.

  5. #5

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Видимо про SFC?

    Они (ен/ено) есть везде. В ST это IF, в SFC это ветвление обхода шага
    А дочитать предложение до конца? Что за манера, вырывать куски из контекста.

  6. #6

    По умолчанию

    Привет. Наверное, мне пока в отпуск!

    1. Создадим структуру:
    Код:
    TYPE struct1 :STRUCT
        bFlag1: BOOL;
        bFlag2: BOOL;
        bFlag3: BOOL;
        bFlag4: BOOL;
        bFlag5: BOOL;
        bFlag6: BOOL;
    END_STRUCT
    END_TYPE
    2. Объявим массив:
    Код:
    VAR
       arrBuffer: ARRAY[1..2] OF struct1;    
    END_VAR
    3. На экране визуализации разместим графический элемент "Кнопка-флажок".
    В поле "Переменная" вставим: PLC_PRG.arrBuffer[1].bFlag1.
    А в поле "Конфигурация ввода - OnValueChanged" установим "Переключить переменную - PLC_PRG.arrBuffer[1].bFlag1".

    4. Запустим все это безобразие на ПЛК "CODESYS Control Win V3".

    5. При попытке переключить флажок получаем ошибку визуализации/зависание.

    Что я делаю не так?
    Файл:
    Вложения Вложения

  7. #7

  8. #8

    По умолчанию

    Переключение логического флага. Т.е. множества таких флагов.
    Разве "Кнопка-Флажок" не для этого предназначена?

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    Переключение логического флага. Т.е. множества таких флагов.
    Разве "Кнопка-Флажок" не для этого предназначена?
    Для переключения логического флага OnValueChanged не нужно.

    А вы сейчас с его помощью создаете поток одинаковых событий (нажали на флажок - изменилась переменная - сработало событие OnValueChanged - в обработчике инвертировали переменную - поэтому опять сработало событие и далее бесконечный цикл), который приводит к переполнению стека.

  10. #10

    По умолчанию

    Ок. Спасибо. Заработало.

Страница 1 из 3 123 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •