Использование СПО в сфере АСУ ТП на примере ОС РВ Embox (Дмитрий Пилюк, OSEDUCONF-2025)
Материал из 0x1.tv
- Докладчик
- Дмитрий Пилюк
В работе рассматривается СПО в сфере АСУ ТП, описывается процесс расширения возможностей ОС РВ Embox и использования с другими инcтрументами для разработки и запуска ПО в данной области.
Содержание
Видео
Презентация
Thesis
В настоящее время наблюдается развитие и повсеместное применение технологий автоматизации. Одной из значимых областей автоматизации является управление технологическими процессами. В сложных промышленных системах с большим количеством взаимосвязанных элементов эффективность работы напрямую зависит от скорости обработки информации и точности принимаемых решений. Здесь на первый план выходят автоматизированные системы управления технологическими процессами (АСУ ТП).
Основной задачей в данной области является программирование ПЛК и организация их взаимодействия между собой, что описано в стандарте 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 в качестве целевой операционной системы.
Для этого было сделано:
- Модифицирован процесс сборки в Beremiz[1].
- Добавлена генерация header файла для программ, использующих Modbus.
- Добавлена цель сборки .st файлов в Mybuild[2].
- Реализована среда выполнения для файлов, полученных в результате работы Matiec.
Эксперимент
Для проверки результата работа было решено написать небольшую программу, которая управляет светодиодом по Modbus. Для этого в Beremiz необходимо указать настройки Modbus-сервера
и его области памяти:
Реализация программы:
После нажатия на кнопку Build в Beremiz Получаем в указанной директории три файла:
MB_0.h; plc.st; Mybuild.
Включаем их в сборку Embox. Данная сборка запускается на Qemu.
И с локального терминала посылаются команды на включение и выключение
светодиода по Modbus. Результат:
Результат
В работе показана возможность использования СПО для построения систем АСУ-ТП в частности возможности реализовывать специализированное прикладное программное обеспечение на языках МЭК с помощью Beremiz и запускать на открытой ОС Embox
Дальнейшая работа была посвящена расширению возможностей операционной системы ОС РВ Embox[3] для применения в сфере автоматизированных систем управления технологическими процессами (АСУ ТП). Благодаря своим особенностям, таким как модульность, минимальное потребление ресурсов и возможность тонкой настройки под конкретные задачи и при дальнейшем развитии этого направления, включая интеграцию с современными промышленными протоколами, Embox представляет собой перспективное решение для использования на предприятиях.