Back to all lessons

Lesson 08

Входы, выходы и внутренние сигналы

Чем физические входы и выходы отличаются от внутренних сигналов программы.

The English article translation is being prepared. For now, Russian lesson content is shown with English navigation.

1. Что разбираем

В FBD-программе почти вся логика строится вокруг сигналов. Чтобы правильно читать схему, нужно понимать три базовых типа сигналов: входы, выходы и внутренние сигналы.

входы -> внутренняя логика -> выходы

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

2. Что такое вход

Вход - это сигнал, который PLC получает от внешнего устройства или от другого источника данных.

  • кнопка Start;
  • кнопка Stop;
  • датчик наличия детали;
  • концевой выключатель;
  • датчик закрытой двери;
  • сигнал готовности привода;
  • сигнал разрешения безопасности.

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

[Start_Button] --->

3. Что такое выход

Выход - это сигнал, которым PLC управляет внешним устройством или передает команду дальше.

  • включить двигатель;
  • открыть клапан;
  • включить лампу;
  • подать звуковой сигнал;
  • разрешить работу привода;
  • выдать команду роботу.

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

---> [Motor_Run]

4. Что такое внутренний сигнал

Внутренний сигнал - это промежуточная переменная внутри программы. Она не обязана напрямую соответствовать физическому входу или физическому выходу.

Внутренние сигналы нужны, чтобы сделать программу понятнее и разделить сложную логику на части.

СигналТипНазначение
Start_ButtonВходкоманда оператора на запуск
Safety_OKВходразрешение работы
Start_AllowedВнутренний сигналрезультат проверки условий запуска
Motor_RunВыходкоманда включения двигателя

Сигнал Start_Allowed не является физической кнопкой и не управляет двигателем напрямую. Он хранит промежуточный результат логики.

5. Пример без внутреннего сигнала

Допустим, двигатель должен включаться, если нажата кнопка Start и есть разрешение Safety_OK.

[Start_Button] ----+ +-- [AND] ---> [Motor_Run] [Safety_OK] -------+

Такая схема простая, ее можно читать напрямую.

6. Пример с внутренним сигналом

Теперь введем промежуточный сигнал Start_Allowed.

[Start_Button] ----+ +-- [AND] ---> [Start_Allowed] ---> [Motor_Run] [Safety_OK] -------+

По смыслу Start_Allowed означает: все условия запуска выполнены. Такой сигнал можно использовать дальше в нескольких местах программы.

7. Зачем нужны внутренние сигналы

Внутренние сигналы помогают не дублировать одну и ту же логику несколько раз.

  • делают схему понятнее;
  • позволяют дать имя промежуточному результату;
  • упрощают отладку;
  • уменьшают количество пересекающихся связей;
  • позволяют использовать один результат в нескольких частях программы.

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

Line_Ready = Safety_OK AND Door_Closed AND Drive_Ready AND Air_OK

8. Пример: разрешение линии

В промышленной логике часто есть общий сигнал разрешения работы.

СигналТипСмысл TRUE
Safety_OKВходцепь безопасности исправна
Door_ClosedВходдверь закрыта
Drive_ReadyВходпривод готов
Air_OKВходдавление воздуха в норме
Line_ReadyВнутренний сигналлиния готова к запуску
Conveyor_RunВыходкоманда на работу конвейера

[Safety_OK] -----+ [Door_Closed] ---+ [Drive_Ready] ---+-- [AND] ---> [Line_Ready] [Air_OK] --------+

После этого Line_Ready можно использовать в логике запуска конвейера, робота или других механизмов.

9. Как именовать сигналы

Понятные имена сигналов сильно упрощают чтение FBD-схемы.

ПлохоЛучше
Input_1Start_Button
Input_2Door_Closed
Flag_1Line_Ready
Output_1Motor_Run
Signal_3Alarm_Active

Для учебных примеров допустимы имена Input_1 и Output_1, но при объяснении логики рядом лучше указывать их смысл.

10. Практика в симуляторе

Откройте пример в редакторе PLC Portal и найдите входы, выходы и внутренние сигналы.

1. Найдите вход Start_Button.

2. Найдите вход Safety_OK.

3. Найдите внутренний сигнал Start_Allowed.

4. Найдите выход Motor_Run.

5. Переключите входы и посмотрите, когда Start_Allowed становится TRUE.

6. Проверьте, когда включается Motor_Run.

Цель упражнения - научиться отличать исходные сигналы от промежуточных результатов и итоговых команд.

11. Краткий итог

Тип сигналаЧто означаетГде обычно расположен в FBD
Входсигнал, который программа читаетслева
Внутренний сигналпромежуточный результат логикимежду блоками
Выходкоманда, которую программа формируетсправа

Правильное разделение сигналов делает FBD-схему понятнее и облегчает отладку.

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.