1. Что разбираем
OR — это логическая операция «ИЛИ». Она используется, когда выход должен включиться при выполнении хотя бы одного из нескольких условий.
Output = Input_1 OR Input_2Такое условие читается так: выход будет активен, если активен Input_1 или активен Input_2, или активны оба входа сразу.
2. Где применяется OR
OR удобно использовать, когда один результат может быть вызван разными причинами.
- авария активна, если сработал хотя бы один аварийный сигнал;
- запрос на запуск есть, если нажата кнопка на панели или пришла команда от HMI;
- вызов лифта есть, если нажата кнопка на этаже или кнопка в кабине;
- сигнал предупреждения включается, если есть перегрев или низкое давление;
- команда остановки формируется, если нажата кнопка Stop или пришёл внешний запрет.
3. Простое правило OR
Для блока OR выход становится TRUE, если хотя бы один вход равен TRUE.
Если все входы FALSE, результат OR тоже FALSE.| Input_1 | Input_2 | Output_1 |
|---|---|---|
| FALSE | FALSE | FALSE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| TRUE | TRUE | TRUE |
4. FBD-схема
В FBD блок OR выглядит как блок с несколькими входами и одним выходом.
[Input_1] ─────┐
├── [OR] ──> [Output_1]
[Input_2] ─────┘Если хотя бы один вход активен, выход блока OR становится TRUE.
5. Пример: запуск с двух мест
Пусть механизм можно запустить двумя способами: с физической кнопки или с панели оператора.
| Сигнал | Тип | Назначение |
|---|---|---|
| Start_Button | Вход | Физическая кнопка Start |
| HMI_Start | Вход | Команда запуска с панели оператора |
| Start_Request | Внутренний сигнал | Общий запрос на запуск |
Start_Request = Start_Button OR HMI_Start| Start_Button | HMI_Start | Start_Request |
|---|---|---|
| FALSE | FALSE | FALSE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| TRUE | TRUE | TRUE |
Start_Request становится TRUE при любом источнике команды запуска.
6. Пример: общий аварийный сигнал
OR часто используют для формирования общего аварийного сигнала из нескольких отдельных ошибок.
| Сигнал | Смысл TRUE |
|---|---|
| Motor_Overload | перегрузка двигателя |
| Low_Pressure | низкое давление воздуха |
| Door_Open_Alarm | дверь открыта в опасном режиме |
| Common_Alarm | есть хотя бы одна авария |
Common_Alarm = Motor_Overload OR Low_Pressure OR Door_Open_AlarmЕсли сработает любая из перечисленных ошибок, общий сигнал Common_Alarm станет TRUE.
7. OR и остановка оборудования
OR также удобно применять для объединения разных причин остановки.
Stop_Request = Stop_Button OR Emergency_Active OR External_StopТакой сигнал можно затем использовать для сброса триггера, остановки конвейера или запрета команды запуска.
Важно: цепи безопасности в реальном оборудовании проектируются по отдельным правилам и не должны сводиться только к простой программной логике OR. В учебном примере рассматривается именно логический принцип.
8. Практика в симуляторе
Откройте пример boolean-or в редакторе PLC Portal.
- Запустите симуляцию.
- Оставьте Input_1 = FALSE и Input_2 = FALSE.
- Проверьте, что Output_1 = FALSE.
- Установите Input_1 = TRUE.
- Проверьте, что Output_1 стал TRUE.
- Верните Input_1 в FALSE и установите Input_2 = TRUE.
- Проверьте, что Output_1 снова стал TRUE.
- Установите оба входа в TRUE и убедитесь, что Output_1 остаётся TRUE.
Цель упражнения — увидеть, что блоку OR достаточно одного активного входа.
9. Краткий итог
- OR означает логическое «ИЛИ».
- Выход OR равен TRUE, если хотя бы один вход TRUE.
- OR удобно использовать для запросов, общих аварий и разных причин остановки.
- OR не заменяет AND: команды и разрешения лучше разделять.
Practice block
Open the related example in the editor, run the simulation, and repeat the exercise from the article. The JSON is also available as a direct download.