Skip to main content

Стандарт IEC 61499

IEC 61499 — международный стандарт для функциональных блоков в распределённых промышленных системах управления. Публикован Международной электротехнической комиссией (МЭК/IEC).

История и версии

ВерсияГодКлючевые изменения
Edition 12005Первоначальный стандарт
Edition 22012Уточнение семантики выполнения, улучшение совместимости

Структура стандарта

IEC 61499 состоит из 4 частей:

ЧастьНазваниеПеревод
Part 1Architecture (Архитектура)Полный перевод →
Part 2Software Tools (Требования к программным инструментам)Полный перевод →
Part 3Tutorial Information (Учебные материалы)
Part 4Rules for Compliance and Profiles (Правила соответствия)
Переводы стандарта

Доступны полные русские переводы обеих частей стандарта:

Ключевые определения из стандарта

Функциональный блок (Function Block)

"A named software entity which encapsulates data, algorithms, and event-driven I/O interfaces."

Программный компонент, инкапсулирующий данные, алгоритмы и управляемые событиями интерфейсы ввода/вывода.

Приложение (Application)

"A network of function block instances."

Сеть экземпляров функциональных блоков.

Устройство (Device)

"A physical or logical entity with processing capability."

Физическая или логическая сущность с вычислительными возможностями.

Ресурс (Resource)

"A self-contained element of a device providing processing and communication facilities."

Самодостаточный элемент устройства, предоставляющий вычислительные возможности и средства коммуникации.

Интерфейс функционального блока

Каждый FB имеет чётко определённый интерфейс, разделённый на две части:

Интерфейс функционального блока

  • Верхняя часть: событийные соединения (Events) — управляют потоком выполнения
  • Нижняя часть: данные (Data) — передают значения
  • WITH-ассоциации: связывают событие с конкретными данными (пунктирные линии в IDE)

Пример функционального блока:

Пример FB

Типы функциональных блоков

Basic FB (BFB) — базовый функциональный блок

Содержит диаграмму управления выполнением ECC (Execution Control Chart) и алгоритмы.

Basic Function Block

  • ECC — конечный автомат (состояния + переходы + условия)
  • Каждое состояние может вызывать один или несколько алгоритмов (ST, LD, FBD)
  • Каждое состояние может генерировать выходные события
  • Переходы определяются входными событиями и/или значениями данных

Composite FB (CFB) — составной функциональный блок

Содержит внутреннюю сеть FB. Интерфейс CFB маппится на входы/выходы внутренних FB.

Composite Function Block

  • Не имеет собственных алгоритмов
  • Инкапсулирует часто используемые комбинации FB
  • Все внутренние FB выполняются на одном устройстве/ресурсе

Service Interface FB (SIFB) — сервисный функциональный блок

Service Interface Function Block

Обеспечивает доступ к аппаратным возможностям, недоступным через стандарт:

  • Коммуникационные протоколы (Modbus, MQTT, OPC UA)
  • GPIO, SPI, I2C
  • Файловый ввод/вывод
  • Таймеры ОС

Реализация SIFB — на C/C++ (специфична для среды выполнения).

Семантика выполнения

7-шаговая последовательность активации FB

Последовательность выполнения FB

При получении входного события FB проходит следующую последовательность:

ШагДействие
1Приём входного события
2Считывание входных данных (WITH-ассоциации)
3Обновление состояния ECC (для BFB) или передача события внутренним FB (для CFB)
4Выполнение алгоритма, связанного с состоянием ECC (для BFB)
5Обновление выходных данных
6Генерация выходного события
7Переход в следующее состояние ECC (для BFB)

Правила передачи данных

  • Данные передаются одновременно с событием (event-data association)
  • Выходные данные устанавливаются до генерации выходного события
  • Входные данные считываются в момент получения входного события
  • WITH-ассоциации определяют, какие данные обновляются при каком событии

Режимы выполнения

  1. Sequential — FB выполняются последовательно в порядке событий
  2. Cyclic — поддержка периодического выполнения

Compliance Profiles

Стандарт определяет профили соответствия для обеспечения совместимости:

ПрофильОписаниеПоддержка
Feasibility Demonstrations (HOLOBLOC)Базовый профиль для демонстрации концепций4diac FORTE, FBDK
Portable ApplicationsПереносимость приложений между инструментамиnxtSTUDIO, 4diac
Distributed SystemsПоддержка распределённых систем4diac FORTE

Распределённое развёртывание

Ключевая особенность IEC 61499 — возможность разделения одного приложения между несколькими устройствами:

Распределённое развёртывание IEC 61499

Сравнение IEC 61499 и IEC 61131-3

ХарактеристикаIEC 61131-3IEC 61499
ПарадигмаЦиклическое сканированиеСобытийное выполнение
РаспределённостьОдин ПЛКНесколько устройств
Единица программыPOU (Program Organization Unit)Function Block (FB)
Управление выполнениемЦиклический скан (фиксированный период)События (асинхронно)
ПереиспользованиеЧерез библиотеки POUЧерез типы FB + адаптеры
Маппинг на HWПривязка к ПЛК при разработкеМаппинг после проектирования
КоммуникацияГлобальные переменные, shared memoryЯвные событийные/данные соединения
Языки алгоритмовST, LD, FBD, IL, SFCST, LD, FBD (внутри FB)
МодульностьСредняяВысокая (FB, CFB, Subapplications)
ИнструментыCODESYS, TIA Portal, Unity4diac IDE, nxtSTUDIO
Промышленное распространениеМассовоеРастущее

Совместимость с IEC 61131-3

IEC 61499 поддерживает использование IEC 61131-3 языков (ST, LD, FBD) для написания алгоритмов внутри Basic FB. Это позволяет переиспользовать существующую логику.

Миграция с IEC 61131-3:

  • POU → Basic FB или Composite FB
  • Глобальные переменные → явные данные-соединения
  • Циклический скан → E_CYCLE + событийная цепочка
  • Аппаратная привязка → маппинг через System Configuration

Реализации стандарта

РеализацияТипЛицензия
Eclipse 4diac FORTEOpen Source RuntimeEPL-2.0
nxtSTUDIOCommercial IDE + RuntimeКоммерческая
ISaGRAFCommercialКоммерческая
4diac IDEOpen Source IDEEPL-2.0

Документы стандарта

ДокументОписаниеСкачать
IEC 61499-1 Ed.2Architecture — архитектура, модели FB, семантика выполнения↓ скачать (PDF)
IEC 61499-2 Ed.2Software Tool Requirements — требования к программным инструментам↓ скачать (PDF)

Ресурсы