К списку примеров

Пояснение к программе

Режим Auto / Manual

Выбор источника команды, запрет конфликтов и единый выход управления механизмом.

1. Что делает программа

Пример показывает выбор между автоматическим и ручным режимом. Отдельные входы Auto_Mode и Manual_Mode выбирают источник команды, а блоки логики запрещают конфликт, когда оба режима активны одновременно.

Итоговая команда Drive_Command включается только если выбран ровно один режим и в этом режиме есть своя команда.

Auto_Command или Manual_Command -> проверка режима -> Drive_Command

2. Сигналы примера

СигналТипНазначение
Auto_Modeвходвыбран автоматический режим
Manual_Modeвходвыбран ручной режим
Auto_Commandвходкоманда от автоматической логики
Manual_Commandвходкоманда оператора
Mode_Conflictвыходоба режима выбраны одновременно
Drive_Commandвыходитоговая команда управления

3. Основная логика

Сначала программа проверяет конфликт режимов.

Mode_Conflict = Auto_Mode AND Manual_Mode

Затем конфликт инвертируется и используется как общее разрешение.

No_Conflict = NOT Mode_Conflict

Команды Auto_Command и Manual_Command проходят только через свой выбранный режим и только при отсутствии конфликта.

Auto_Allowed = Auto_Mode AND Auto_Command AND No_Conflict

Manual_Allowed = Manual_Mode AND Manual_Command AND No_Conflict

Drive_Command = Auto_Allowed OR Manual_Allowed

4. Как проверять в симуляции

  • включите Auto_Mode и Auto_Command - Drive_Command станет TRUE;
  • выключите Auto_Mode, включите Manual_Mode и Manual_Command - команда перейдёт в ручной режим;
  • включите Auto_Mode и Manual_Mode одновременно - Mode_Conflict станет TRUE, а Drive_Command должен быть FALSE;
  • переключайте команды без выбранного режима - выход не должен включаться;
  • проверьте, что конфликт блокирует оба источника.

5. На что обратить внимание

В такой схеме важно не просто объединить две команды через OR. Нужно явно проверить, что выбран только один источник. Иначе автоматическая и ручная логика смогут одновременно влиять на один выход.

В реальной системе выбор режима часто приходит от ключа, HMI или панели оператора. Логика конфликта помогает увидеть неправильную настройку входов.

Проверка в редакторе

Откройте готовую FBD-схему, переключайте входы и сравните поведение симуляции с описанием программы. JSON можно скачать отдельно.