Инструменты разработки для IEC 61131 и IEC 61499 на базе открытых решений

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

Из доступных и широко используемых опытных проектов можно выделить OpenPLC. Проект включает как среду разработки, так и среду исполнения. Среда разработки позволяет создавать программы на языках из стандартного стека, а среда исполнения - выполнять эти программы.

С помощью транслятора программа оформляется в файл, который может быть скомпилирован и использован на контроллере. Beremiz можно рассматривать как функциональный аналог-близнец OpenPLC. Платформа использует схожую IDE и реализует аналогичный подход.

Вначале в IDE разрабатывается программа на выбранном языке. Затем она компилируется в формат, исполняемый на целевой платформе, и может быть загружена на устройство. Как OpenPLC, так и Beremiz потенциально могут работать как на контроллерах под управлением Linux, так и на микроконтроллерах.
Для запуска на конкретном контроллере требуется соответствующая настройка под архитектуру данного микроконтроллера.
Стандарт IEC 61499 представляет собой развитие стандарта 61131. Он позволяет распределять функциональные блоки между контроллерами и обеспечивает выполнение связанной цепочки блоков при управлении производственными участками, где необходима согласованная работа различных агрегатов.

IEC 61499 - функциональный блок
В архитектурах распределённого управления, когда несколько контроллеров взаимодействуют в рамках общей задачи, 61499 предлагает модель, позволяющую строить взаимодействие между блоками, разделенными по устройствам.
Для распределения блоков между контроллерами в 61499 используется дополнительная функциональность. В отличие от стандартных функциональных блоков 61131, где предусмотрены только входы и выходы, в 61499 у блоков добавляется событийный вход. События запускают выполнение функций функционального блока. При поступлении события определяется, какие из входов блока будут актуальны в текущем контексте.

Типовые события - это инициализация и стандартное событие REQ, запускающее выполнение алгоритма. После отработки алгоритма могут формироваться новые события, инициирующие выполнение следующих блоков в цепочке.
Таким образом, если в 61131 программа представляет собой линейный цикл (обработка входов - выполнение логики - генерация выходов), то в 61499 используется событийная модель, при которой функциональные блоки активируются в ответ на события, формируя логическую цепочку исполнения.

Среди доступных решений для IEC 61499 выделяется поддерживаемый проект Eclipse 4diac. Он включает среду разработки 4diac IDE и среду исполнения FORTE.

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

Важно понимать, как строится программа для Forte, и каким образом с ней работать. На следующей диаграмме показаны принципы использования Forte как компонента исполнения на контроллере управления. В данной архитектуре имеется машина разработки, на которой запускается среда исполнения 4diac Forte.
"Из коробки" среда исполнения поддерживает ряд промышленных протоколов, включая Modbus TCP, что дает возможность строить системы с распределенной периферией.
В целом, среду исполнения Forte можно собрать для различных операционных систем, включая Windows, Linux и FreeRTOS.
Поддерживаются:
  • распределение кода между устройствами в пару кликов,
  • переносимость проектов между платформами,
  • добавление функциональных блоков «на лету»,
что идеально для создания современных распределённых систем управления.

Наши статьи:

Блог ЦПР РТСофт