Back to all lessons

Lesson 02

Что такое FBD

Как читать FBD-схемы: входы, выходы, функциональные блоки и связи между ними.

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

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

FBD — это сокращение от Function Block Diagram.

  • На русском это можно перевести как диаграмма функциональных блоков.
  • FBD — один из языков программирования PLC. Он позволяет описывать логику управления не текстом, а визуальной схемой из блоков, входов, выходов и соединительных линий.
  • Упрощённо FBD-схема выглядит так:
[Вход] → [Логический блок] → [Выход]

Например:

[Start_Button] → [AND] → [Motor_Run]

Главная идея FBD: программа собирается из готовых функциональных блоков, а связи между ними показывают, как сигнал проходит от входов к выходам.

2. Где используется FBD

FBD применяется в промышленной автоматизации для описания логики работы оборудования.

На FBD удобно делать:

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

Например, на FBD можно описать условие:

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

В виде схемы это может выглядеть так:

[Start_Button] ─────┐
                    ├── [AND] ──> [Motor_Run]
[Safety_OK] ────────┘

3. Из чего состоит FBD-схема

FBD-схема обычно состоит из четырёх основных элементов:

1. Входы
2. Функциональные блоки
3. Связи
4. Выходы

Разберём каждый элемент отдельно.

4. Входы

Вход — это сигнал, который поступает в программу.

В реальной системе вход может приходить от физического устройства:

  • кнопки;
  • датчика;
  • концевого выключателя;
  • аварийной цепи;
  • другого PLC;
  • панели оператора;
  • робота или привода.

Примеры имён входов:

Start_Button
Stop_Button
Door_Closed
Part_Sensor
Emergency_OK

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

Пример:

[Start_Button] ──>

5. Выходы

Выход — это результат работы программы.

Через выход PLC может управлять внешним устройством:

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

Примеры имён выходов:

Motor_Run
Lamp_On
Valve_Open
Alarm_Buzzer
Robot_Start

В FBD выход обычно располагается справа.

Пример:

──> [Motor_Run]

6. Функциональные блоки

Функциональный блок — это элемент схемы, который выполняет определённую операцию.

Например:

БлокНазначение
ANDВыход включается, если включены все входы
ORВыход включается, если включён хотя бы один вход
NOTИнвертирует сигнал
RSЗапоминает включённое состояние
TONВключает выход с задержкой
TOFВыключает выход с задержкой

Пример блока AND:

[Input_1] ─────┐
               ├── [AND] ──> [Output_1]
[Input_2] ─────┘

В этом примере Output_1 будет включён только тогда, когда одновременно включены Input_1 и Input_2.

7. Связи между блоками

Связи показывают, куда передаётся сигнал.

  • В FBD связь обычно изображается линией от выхода одного элемента ко входу другого элемента.
  • Пример:
[Input_1] ──> [NOT] ──> [Output_1]

Здесь сигнал с Input_1 сначала поступает в блок NOT, а затем результат передаётся на Output_1.

  • Если Input_1 = TRUE, то после блока NOT будет FALSE.
  • Если Input_1 = FALSE, то после блока NOT будет TRUE.

8. Как читать FBD-схему

FBD-схему обычно читают слева направо.

  • Слева находятся входные условия.

Справа находится результат. Между ними расположены блоки обработки логики.

  • Общий принцип чтения:
1. Найти входы.
2. Понять, в какие блоки они входят.
3. Посмотреть, что делают эти блоки.
4. Проследить сигнал до выхода.
5. Понять, при каких условиях выход включится.

Пример:

[Start_Button] ─────┐
                    ├── [AND] ──> [Motor_Run]
[Door_Closed] ──────┘

Читается так:

Motor_Run включится,
если Start_Button = TRUE
и Door_Closed = TRUE.

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

9. Простая FBD-программа

Рассмотрим простую задачу.

Есть два условия:

Input_1 — кнопка Start
Input_2 — разрешение Safety_OK

Есть один выход:

Output_1 — команда Motor_Run

Задача:

Включить Motor_Run только если Start нажата
и Safety_OK активен.

FBD-схема:

[Input_1: Start_Button] ─────┐
                             ├── [AND] ──> [Output_1: Motor_Run]
[Input_2: Safety_OK] ────────┘

10. Таблица сигналов

СигналТипНазначение
Input_1ВходКнопка Start
Input_2ВходРазрешение работы
Output_1ВыходКоманда включения двигателя

Таблица работы:

Input_1Input_2Output_1
FALSEFALSEFALSE
TRUEFALSEFALSE
FALSETRUEFALSE
TRUETRUETRUE

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

11. Чем FBD удобен для начинающих

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

Пользователь может проследить:

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

Это особенно полезно при изучении PLC, потому что начинающий пользователь видит не только текстовое условие, но и структуру логики.

Например, условие:

Motor_Run = Start_Button AND Safety_OK

На FBD выглядит нагляднее:

[Start_Button] ─────┐
                    ├── [AND] ──> [Motor_Run]
[Safety_OK] ────────┘

12. Чем FBD отличается от обычного текстового кода

В текстовом языке условие может выглядеть так:

Motor_Run := Start_Button AND Safety_OK;

В FBD та же логика собирается из блоков:

[Start_Button] ─────┐
                    ├── [AND] ──> [Motor_Run]
[Safety_OK] ────────┘

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

Разница в форме представления:

ПодходКак выглядит
Текстовый кодУсловие записано строкой
FBDУсловие собрано из блоков и связей

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

13. Важная особенность FBD

В FBD важно понимать направление передачи сигналов.

  • Сигнал не просто «лежит» на схеме. Он передаётся от одного элемента к другому.
  • Пример:
[Input_1] ──> [NOT] ──> [Output_1]

Здесь Output_1 получает не сам Input_1, а результат работы блока NOT.

То есть:

Output_1 = NOT Input_1

Если этого не учитывать, можно неправильно понять поведение программы.

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

Откройте простой пример FBD-программы в редакторе PLC Portal.

Задача примера:

Output_1 включается только если Input_1 и Input_2 активны одновременно.

Что нужно сделать:

  • Откройте пример в редакторе.
  • Запустите симуляцию.
  • Установите Input_1 = TRUE.
  • Проверьте, что Output_1 ещё не включился.
  • Установите Input_2 = TRUE.
  • Проверьте, что Output_1 стал TRUE.
  • Верните один из входов в FALSE.
  • Проверьте, что Output_1 снова стал FALSE.

Цель упражнения — понять, как входы, блок AND и выход связаны между собой.

15. Что важно понять

FBD — это визуальный способ описать программу PLC.

Основная схема:

входы → функциональные блоки → выходы

Входы показывают состояние внешних сигналов.

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

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

FBD — это язык программирования PLC, в котором логика строится из блоков и связей.

Главные элементы FBD:

входы;
выходы;
функциональные блоки;
соединительные линии.

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.