RUBICON engineering center

Язык ПЛК FBD — функциональные блок-схемы

Аббревиатура: FBD
Синонимы: FBD, функциональные блок-схемы, Function Block Diagram
FBD (Function Block Diagram) — графический язык программирования ПЛК по стандарту IEC 61131-3. Программа строится из функциональных блоков (AND, OR, таймеры, счётчики, PID), соединённых линиями связи. Наглядный для инженеров-электронщиков, удобен для аналоговых цепей и регулирования.

FBD (Function Block Diagram, функциональные блок-схемы) — один из пяти языков программирования ПЛК по международному стандарту IEC 61131-3. Программа представляется как схема из блоков с входами и выходами, соединённых линиями (сигналами).

Как выглядит FBD

Блоки изображаются прямоугольниками с подписями (AND, OR, TON, PID, SR, CTU и т.д.). Входы — слева, выходы — справа. Линии связи передают сигналы (BOOL, INT, REAL) от выхода одного блока ко входу другого. Выполнение — слева направо, сверху вниз в пределах одной «цепи».

Что хорошо делается на FBD

  • Аналоговое регулирование — PID, фильтрация, масштабирование
  • Логика «И-ИЛИ» — простые булевы цепи с AND, OR, NOT, XOR
  • Таймеры и счётчики — TON, TOF, TP, CTU, CTD по IEC
  • Триггеры и защёлки — SR, RS, R_TRIG, F_TRIG
  • Готовые функциональные блоки (Function Blocks) — библиотечные и пользовательские
  • Структурированные алгоритмы — вызов FB с инкапсуляцией состояния

Что хуже делается

  • Длинные последовательности шагов — лучше SFC
  • Циклы, таблицы, сложные вычисления — лучше ST
  • Прямая работа с массивами и структурами — громоздко на FBD

Отличия от LD (Ladder)

  • LD — релейная логика, привычна электрикам, два «рельса» питания
  • FBD — функциональная схема, привычна электронщикам, строится как эл. схема
  • FBD естественнее для аналога (PID, фильтры), LD естественнее для дискретной релейной логики
  • Многие ПЛК-среды (CODESYS, TIA Portal) позволяют смешивать LD и FBD в одной программе

Поддержка средами разработки

  • CODESYS — полная поддержка FBD, редактор с автораскладкой
  • Siemens TIA Portal — FBD для S7-1200/1500 (ограничения на некоторые инструкции)
  • Beckhoff TwinCAT — полный FBD через CODESYS-ядро
  • Rockwell Studio 5000 — FBD как один из языков в проекте
  • ОВЕН CODESYS 3.5 — для ПЛК100-210, Mx210

Пример на FBD

Регулирование температуры калорифера:

  • Блок SUB: setpoint − measured = error
  • Блок PID: error → control
  • Блок LIMIT: ограничение 0..100%
  • Блок SCALE: 0..100% → 0..10 В на DAC

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

Применение

  • Автоматика ИТП, ЦТП, ПВУ — FBD естественен для PID-регулирования температур
  • Автоматика технологических процессов — котельные, насосные
  • Автоматика холодильных установок, тепловых насосов
  • Любые задачи где важна наглядность аналоговых цепей

Для сложной машинной логики (пресса, манипуляторы) чаще используют SFC + ST.

Частые вопросы

  • FBD или LD — что выбрать для автоматики вентиляции?
    FBD удобнее — есть PID-регулирование температуры, работа с аналоговыми сигналами (датчики, приводы 0-10 В), фильтрация. LD хорош для чисто дискретной логики (пуск/стоп, блокировки). В реальных проектах их смешивают: блокировки на LD, регулирование на FBD. CODESYS и TIA Portal позволяют вызывать LD-функции из FBD и наоборот.
  • Можно ли отладить программу FBD без ПЛК?
    Да, в большинстве сред есть симулятор. CODESYS имеет встроенный Simulation Mode (запуск кода на ПК без железа) с просмотром значений прямо на схеме. TIA Portal — PLCSIM. TwinCAT — встроенный симулятор. Отладка на FBD наглядная: цвет линии показывает значение (TRUE/FALSE или число) в реальном времени.

Источники

  1. IEC 61131-3:2013 — Programmable controllers. Part 3: Programming languages — IEC
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 27.10.2026
Язык ПЛК FBD — функциональные блок-схемы IEC 61131-3 | РУБИКОН