1. Что делает программа
Пример показывает аварийную сигнализацию уровня. Два входа уровня объединяются через OR, а результат записывается в SR-триггер. После срабатывания авария остаётся включённой, пока оператор не подаст ручной сброс.
Такая схема полезна, когда аварийный сигнал нельзя гасить автоматически сразу после исчезновения условия. Оператор должен увидеть событие, проверить причину и только потом сбросить защёлку.
Level_High OR Level_Low -> Alarm_Latch -> Level_Alarm
2. Сигналы примера
| Сигнал | Тип | Назначение |
|---|---|---|
| Level_High | вход | верхний аварийный уровень |
| Level_Low | вход | нижний аварийный уровень |
| Manual_Reset | вход | ручной сброс аварии |
| Alarm_OR | блок | объединяет аварийные условия |
| Alarm_Latch | блок | удерживает аварийное состояние |
| Level_Alarm | выход | итоговая аварийная сигнализация |
3. Основная логика
Блок OR включает выход, если активен хотя бы один аварийный датчик.
Alarm_Request = Level_High OR Level_Low
Дальше сигнал поступает на вход Set SR-триггера. Сброс подаётся отдельным входом Manual_Reset.
Level_Alarm = SR(Alarm_Request, Manual_Reset)
4. Как проверять в симуляции
- включите Level_High - выход Level_Alarm станет TRUE;
- выключите Level_High - выход останется TRUE, потому что авария защёлкнута;
- включите Manual_Reset - выход сбросится;
- повторите проверку для Level_Low;
- включите Level_High и Manual_Reset одновременно, чтобы увидеть приоритет SR-триггера.
5. На что обратить внимание
Защёлка отделяет факт аварии от текущего состояния датчика. Это важно для диагностики: даже кратковременное превышение уровня не пропадает из поля зрения оператора.
В реальной программе Manual_Reset обычно разрешают только после устранения причины аварии. Для учебной схемы сброс оставлен отдельным входом, чтобы поведение триггера было легко проверить.
Проверка в редакторе
Откройте готовую FBD-схему, переключайте входы и сравните поведение симуляции с описанием программы. JSON можно скачать отдельно.