Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025)

Материал из 0x1.tv

(перенаправлено с «20250208C»)
Докладчик
Дмитрий Пилюк

В работе рассматривается СПО в сфере АСУ ТП, описывается процесс расширения возможностей ОС РВ Embox и использования с другими инcтрументами для разработки и запуска ПО в данной области.

Видео

Презентация

Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025).pdf

Thesis

https://emboxing.ru/

В настоящее время наблюдается развитие и повсеместное применение технологий автоматизации. Одной из значимых областей автоматизации является управление технологическими процессами. В сложных промышленных системах с большим количеством взаимосвязанных элементов эффективность работы напрямую зависит от скорости обработки информации и точности принимаемых решений. Здесь на первый план выходят автоматизированные системы управления технологическими процессами (АСУ ТП).

Основной задачей в данной области является программирование ПЛК и организация их взаимодействия между собой, что описано в стандарте IEC 61131.

IEC 61131 — набор стандартов МЭК для программируемых контроллеров.

IEC 61131-3 — раздел международного стандарта IEC 61131, описывающий языки программирования для программируемых логических контроллеров. Включает языки LD, FBD, SFC, ST, IL.

Существующие решения

В данной работе были рассмотрены и использованы следующие инструменты:

  • Matiec — компилятор с открытым исходным кодом для языков программирования, определённых в стандарте IEC 61131-3. Проект предоставляет 2 исполняемых файла iec2c и iec2iec. В данной работе используется iec2c, программа транслирующая код на языке ST в код на языке C.
  • Beremiz — это интегрированная среда разработки для автоматизации машин. Это свободное программное обеспечение, соответствующее, среди прочих стандартов, стандарту IEC-61131. Так же предоставляет свою среду выполнения для программ. Поддерживает различные протоколы взаимодействия. Для генерации программ использует Matiec.


Эти свободные инструменты позаовляют разрабатывать прикладные программы языков IEC 61131-3 (МЭК 61131-3).

Процесс следующий, в IDE разрабатывается программа на графическом языке и транслируется в язык ST. Затем Matiec компилирует этот файл в .c и .h, а с ними уже работает GCC или Clang и программа готова к запуску на устройстве.

Modbus

В сфере АСУ ТП необходимо, чтобы устройства передавали информацию между собой. Это взаимодействие описывают различные протоколы. Одним из таких является Modbus — открытый коммуникационный протокол, основанный на архитектуре ведущий — ведомый (англ. master-slave).

Embox уже поддерживает реализацию данного протокола библиотекой Libmodbus.

АСУ ТП на ОС РВ Embox

Цель работы: предоставить возможность использовать Embox в качестве целевой операционной системы.

Для этого было сделано:

  1. Модифицирован процесс сборки в Beremiz[1].
  2. Добавлена генерация header файла для программ, использующих Modbus.
  3. Добавлена цель сборки .st файлов в Mybuild[2].
  4. Реализована среда выполнения для файлов, полученных в результате работы Matiec.

Эксперимент

Для проверки результата работа было решено написать небольшую программу, которая управляет светодиодом по Modbus. Для этого в Beremiz необходимо указать настройки Modbus-сервера

Настройка Modbus-сервера

и его области памяти:

Область памяти для Modbus-сервера

Реализация программы:

Программа в Beremiz

После нажатия на кнопку Build в Beremiz Получаем в указанной директории три файла:

   MB_0.h;
   plc.st;
   Mybuild.


Включаем их в сборку Embox. Данная сборка запускается на Qemu. И с локального терминала посылаются команды на включение и выключение светодиода по Modbus. Результат:

Результат работы

Результат

В работе показана возможность использования СПО для построения систем АСУ-ТП в частности возможности реализовывать специализированное прикладное программное обеспечение на языках МЭК с помощью Beremiz и запускать на открытой ОС Embox

Дальнейшая работа была посвящена расширению возможностей операционной системы ОС РВ Embox[3] для применения в сфере автоматизированных систем управления технологическими процессами (АСУ ТП). Благодаря своим особенностям, таким как модульность, минимальное потребление ресурсов и возможность тонкой настройки под конкретные задачи и при дальнейшем развитии этого направления, включая интеграцию с современными промышленными протоколами, Embox представляет собой перспективное решение для использования на предприятиях.


Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025)!.jpg

Примечания и ссылки

  1. Был сделан форк репозитория Beremiz[1]
  2. Система сборки используемая в Embox
  3. Работа велась в отдельной ветке по ссылке [2]