Функціона́льні бло́кові діагра́ми або FBD () — графічна мова програмування, яка призначена для програмування ПЛК (програмованих логічних контролерів). Мова стандартизована міжнародним стандартом IEC 61131-3IEC 61131-3:2013 Programmable controllers — Part 3: Programming languages..
Опис мови Програма утворюється із так званих ланцюгів, які виконуються послідовно зверху вниз. Ланцюги можуть мати мітки. Інструкція переходу на мітку дозволяє змінювати послідовність виконання ланцюгів для програмування умов і циклів.
Елемент порівняння (програмний компаратор) мовою FBD в середовищі Simatic Step 7: ┌───────┐ │ │ A───────┤ CMP< │ │ ├────── │ │ B ──────┤ │ │ │ └───────┘ У цьому випадку, якщо елемент A буде меншим за елемент B, на виході буде логічна одиниця.
При необхідності управління викликом блоків в них додаються спеціальні цифрові входи EN (enable) і виходи ENO (enable out). Логічний нуль на вході EN забороняє виклик блоку. Вихід ENO використовується для індикації помилки в блоці і дозволяє припинити обчислення залишку ланцюга.
Мова FBD проста у вивченні і зручна для прикладних фахівців, які не мають спеціальної підготовки в галузі інформатики. Жорстка послідовність виконання призводить до простої внутрішньої структури команд, яка транслюється у швидкий і надійний код. Існує також модифікація FBD, яка допускає використання тільки чистих функцій з одним виходом, без проміжних станів.
Подальшим розвитком мови FBD є мова CFC ( — безперервні функціональні схеми). Мова не сертифікована стандартом IEC 61131-3.
Див. також Simatic Step 7 — середовище для програмування LAD STL
Примітки
Джерела Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Під ред. проф. В. П. Дьяконова . — М.: СОЛОН-Пресс, 2004. — 256 c. — ISBN 5-98003-079-4 Минаев И. Г. Программируемые логические контроллеры в автоматизированных системах управления / И. Г. Минаев, В. М. Шарапов, В. В. Самойленко, Д. Г. Ушкур. 2-е вид., перер. і доп. — Ставрополь: АГРУС, 2010. — 128 с. — ISBN 978-5-9596-0670-1