1. Что разбираем
В PLC-программах часто используются логические значения:
TRUE
FALSEОни обозначают два возможных состояния сигнала.
| Значение | Упрощённый смысл |
|---|---|
| TRUE | сигнал активен |
| FALSE | сигнал неактивен |
Также можно встретить другие обозначения:
| Логическое значение | Числовое обозначение | Простой смысл |
|---|---|---|
| TRUE | 1 | включено |
| FALSE | 0 | выключено |
Например:
Start_Button = TRUEозначает:
кнопка Start активнаА запись:
Motor_Run = FALSEозначает:
команда запуска двигателя неактивна2. Почему это важно для PLC
PLC работает с сигналами. Многие из этих сигналов имеют только два состояния.
Примеры:
| Сигнал | Возможные состояния |
|---|---|
| Кнопка нажата | да / нет |
| Датчик видит деталь | да / нет |
| Дверь закрыта | да / нет |
| Авария активна | да / нет |
| Двигатель включён | да / нет |
| Клапан открыт | да / нет |
- Такие сигналы удобно описывать через TRUE и FALSE.
- Например:
Door_Closed = TRUEозначает:
дверь закрытаА:
Door_Closed = FALSEозначает:
дверь не закрыта3. TRUE/FALSE в реальной системе
В реальном оборудовании PLC получает электрические сигналы от кнопок, датчиков и других устройств.
Например, дискретный вход PLC может быть:
есть напряжение на входе → TRUE
нет напряжения на входе → FALSEНо для начального понимания достаточно помнить:
TRUE = сигнал активен
FALSE = сигнал неактивенВ симуляторе PLC Portal физического напряжения нет. Вместо этого пользователь вручную переключает входы между TRUE и FALSE.
4. Пример с кнопкой
Есть вход:
Start_ButtonЕсли кнопка не нажата:
Start_Button = FALSEЕсли кнопка нажата:
Start_Button = TRUEПростая FBD-схема:
[Start_Button] ───────────────> [Lamp_On]Логика работы:
| Start_Button | Lamp_On |
|---|---|
| FALSE | FALSE |
| TRUE | TRUE |
То есть лампа включается, когда кнопка активна.
5. Пример с датчиком
Есть датчик наличия детали:
Part_SensorЕсли детали нет:
Part_Sensor = FALSEЕсли деталь есть:
Part_Sensor = TRUEТакой сигнал можно использовать в программе:
Если Part_Sensor = TRUE, остановить конвейер.Или:
Если Part_Sensor = TRUE, запустить следующий механизм.Само значение TRUE не говорит, что именно нужно делать. Оно только показывает состояние сигнала. Решение принимает программа.
6. TRUE/FALSE для выходов
Логические значения используются не только для входов, но и для выходов.
Например:
Motor_Run = TRUEозначает:
выход команды запуска двигателя активенА:
Motor_Run = FALSEозначает:
команда запуска двигателя выключенаПример:
| Motor_Run | Состояние |
|---|---|
| FALSE | двигатель не должен работать |
| TRUE | двигатель должен работать |
Важно: в учебном симуляторе это логическое состояние выхода. В реальном оборудовании между выходом PLC и двигателем обычно есть промежуточные устройства: реле, контактор, привод, частотный преобразователь или модуль управления.
7. Активный и неактивный сигнал
Когда говорят, что сигнал активен, обычно имеют в виду:
сигнал находится в состоянии TRUEКогда говорят, что сигнал неактивен:
сигнал находится в состоянии FALSEПримеры:
| Сигнал | TRUE означает |
|---|---|
| Start_Button | кнопка Start нажата |
| Door_Closed | дверь закрыта |
| Part_Sensor | деталь обнаружена |
| Motor_Run | команда двигателя включена |
| Alarm | авария активна |
- Но важно смотреть на имя сигнала.
- Например:
Door_Closed = TRUEозначает «дверь закрыта».
А:
Door_Open = TRUEозначает уже другое — «дверь открыта».
Оба сигнала могут описывать одну и ту же дверь, но смысл у них противоположный. Поэтому имена сигналов должны быть понятными.
8. Активный высокий и активный низкий сигнал
В реальных PLC-системах встречаются сигналы, которые считаются активными при наличии напряжения, и сигналы, которые считаются активными при отсутствии напряжения.
На начальном этапе можно упростить:
TRUE = условие выполнено
FALSE = условие не выполненоНо в промышленной автоматике нужно помнить: не всегда физическое наличие напряжения означает «всё хорошо».
Пример с аварийной цепью:
Emergency_OK = TRUEозначает:
аварийная цепь исправна, работа разрешенаА:
Emergency_OK = FALSEозначает:
аварийная цепь разомкнута, работа запрещенаПоэтому для начинающего пользователя лучше называть сигнал не просто:
Emergencyа более точно:
Emergency_OKили:
Emergency_ActiveТак проще понять, что означает TRUE.
9. Как TRUE/FALSE используются в FBD
В FBD каждый вход блока получает логическое значение.
Например, блок AND:
[Input_1] ─────┐
├── [AND] ──> [Output_1]
[Input_2] ─────┘У каждого входа может быть состояние TRUE или FALSE.
- Блок обрабатывает эти значения и формирует результат.
- Для AND правило такое:
Output_1 = TRUE только если Input_1 = TRUE и Input_2 = TRUEТаблица:
| Input_1 | Input_2 | Output_1 |
|---|---|---|
| FALSE | FALSE | FALSE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| TRUE | TRUE | TRUE |
В следующих уроках логические операции будут разобраны отдельно.
10. Пример: разрешение запуска двигателя
Допустим, есть два входа:
Start_Button
Safety_OKИ один выход:
Motor_RunЗадача:
Двигатель должен включаться только если нажата кнопка Start и есть разрешение Safety_OK.В виде условия:
Motor_Run = Start_Button AND Safety_OKТаблица работы:
| Start_Button | Safety_OK | Motor_Run |
|---|---|---|
| FALSE | FALSE | FALSE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| TRUE | TRUE | TRUE |
Выход Motor_Run становится TRUE только тогда, когда оба условия истинны.
11. Почему важно правильно понимать имена сигналов
Одно и то же физическое состояние можно назвать по-разному.
- Например, есть защитная дверь.
- Вариант 1:
Door_ClosedТогда:
| Door_Closed | Смысл |
|---|---|
| TRUE | дверь закрыта |
| FALSE | дверь не закрыта |
Вариант 2:
Door_OpenТогда:
| Door_Open | Смысл |
|---|---|
| TRUE | дверь открыта |
| FALSE | дверь не открыта |
- Оба варианта допустимы, но в программе они будут читаться по-разному.
- Для учебных программ лучше использовать имена, которые описывают разрешающее состояние:
Door_Closed
Emergency_OK
Safety_OK
Pressure_OK
Drive_ReadyТак начинающему пользователю проще читать логику.
12. Практика в симуляторе
Откройте простой пример в редакторе PLC Portal.
Задача примера:
Output_1 повторяет состояние Input_1.Схема:
[Input_1] ───────────────> [Output_1]Что нужно сделать:
- Запустите симуляцию.
- Установите Input_1 = FALSE.
- Проверьте, что Output_1 = FALSE.
- Установите Input_1 = TRUE.
- Проверьте, что Output_1 = TRUE.
- Верните Input_1 = FALSE.
- Проверьте, что Output_1 снова стал FALSE.
Цель упражнения — увидеть, как логическое состояние входа влияет на логическое состояние выхода.
13. Дополнительное упражнение
Добавьте блок NOT между входом и выходом:
[Input_1] ──> [NOT] ──> [Output_1]Проверьте поведение:
| Input_1 | Output_1 |
|---|---|
| FALSE | TRUE |
| TRUE | FALSE |
Цель упражнения — понять, что блоки в FBD могут изменять значение сигнала.
14. Что важно понять
TRUE и FALSE — это базовые логические значения, на которых строится работа FBD-программ.
Главная идея:
TRUE = условие активно или выполнено
FALSE = условие неактивно или не выполненоНо точный смысл зависит от имени сигнала.
Например:
Door_Closed = TRUEи:
Alarm = TRUEоба имеют значение TRUE, но смысл у них разный.
Первый сигнал говорит о нормальном условии. Второй сигнал говорит об аварии.
15. Краткий итог
В PLC и FBD логические сигналы имеют два состояния:
TRUE
FALSEОни также могут обозначаться как:
1
0Входы показывают состояние кнопок, датчиков и разрешений.
- Выходы показывают команды, которые PLC выдаёт на оборудование.
- Чтобы правильно читать FBD-схему, нужно понимать:
что означает TRUE для каждого сигнала;
что означает FALSE для каждого сигнала;
проходит ли сигнал через блоки AND, OR, NOT и другие элементы;
есть ли в схеме инверсия.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.