Как построить открытую АСУТП. Рождение идеи открытых систем: почему мир движется в этом направлении

от автора

Добрый день! Меня зовут Евгений Ионенко,  и я — руководитель направления в ИТ-команде «Северстали». Наша команда занимается разработкой компонентов для открытой АСУ ТП. Мы — инженеры-реалисты, которые умеют ругаться на оборудование на трёх языках, включая двоичный, и могут за 15 минут объяснить, чем отличается IEC 61131 от IEC 61499. Поскольку материала у нас очень много, и хочется рассказать обо всём подробнее, мы планируем выпустить цикл статей, в котором охватим темы архитектуры 4diac, наших доработок, интеграции новых протоколов и модулей в наш продукт и много другого интересного. Начнём издалека, с рождения идеи открытых АСУТП.

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

Вызовы рынка АСУТП

  1. Фрагментация и несовместимость компонентов: традиционные АСУТП часто представляют собой закрытые системы, которые сложно интегрируются с оборудованием и программным обеспечением разных производителей. 

  2. Высокая стоимость владения: проприетарные решения требуют значительных инвестиций в оборудование, лицензии и обучение персонала. Это приводит к увеличению затрат на внедрение и поддержку. Кроме того, зависимость от одного поставщика может привести к росту затрат в долгосрочной перспективе.

  3. Недостаточная гибкость: быстро меняющиеся требования рынка и технологий требуют гибких решений. Закрытые системы часто не справляются с этой задачей.

  4. Цифровая трансформация: Индустрия 4.0 и Интернет вещей (IIoT) требуют интеграции АСУТП с облачными платформами, аналитическими инструментами и системами управления данными. Закрытые системы часто не способны обеспечить бесшовную интеграцию.

Рождение идеи открытых АСУТП

Идея открытых АСУТП возникла как ответ на эти вызовы. Открытые системы основываются на новых международных стандартах, таких как OPAS, и позволяют различным компонентам взаимодействовать друг с другом, независимо от производителя. Это обеспечивает:

  • совместимость: интеграция оборудования и программного обеспечения от разных производителей;

  • гибкость: возможность адаптации системы под конкретные задачи;

  • экономическую эффективность: снижение затрат на внедрение и поддержку благодаря использованию стандартных решений;

  • инновации: быстрое внедрение новых технологий благодаря открытой архитектуре.

Тренды в области открытых АСУТП

  1. Использование открытых стандартов, как OPC UA, IEC 61499 и MQTT, становится основой для создания открытых АСУТП.

  2. Развитие экосистем: производители оборудования и программного обеспечения объединяются в экосистемы, чтобы обеспечить совместимость своих решений.

  3. Цифровизация и IIoT: открытые АСУТП интегрируются с облачными платформами и системами анализа данных, что позволяет создавать интеллектуальные производственные системы.

  4. Модульность: открытые АСУТП строятся на модульной архитектуре, что упрощает масштабирование и обновление системы.

Примеры компаний, разрабатывающих открытые АСУТП : Eclipse 4diac , CODESYS, nxtControl (Phoenix Contact), Beremiz, OpenPLC, Ignition by Inductive Automation.

Почему мир движется в сторону открытых АСУТП? 

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

А что в России?

В конце апреля 2022 года в Липецке собрались специалисты по АСУТП из разных компаний, включая «Северсталь». На встрече мы быстро поняли: все сталкиваются с одними и теми же вызовами и ищут похожие решения. И главный вызов — это уход с рынка иностранных производителей, которые раньше предлагали комплексные решения для автоматизации. Речь идёт обо всём — от аппаратного до программного обеспечения, охватывающего уровни автоматизации с нулевого по третий.

А какой выход? Поиск отечественных аналогов. Наши коллеги из центра экспертизы промышленной автоматизации «Северстали» проделали огромную работу и выяснили:

  • на российском рынке нет производителей, которые могли бы полностью заменить номенклатуру таких гигантов, как Siemens;

  • большинство отечественных производителей использовали среды разработки иностранных вендоров, например, CoDeSys или ISaGRAF. Некоторые работали с их «форками», а кто-то — с собственными проприетарными средами.

Чтобы помочь бизнесу решить задачи автоматизации производства в сложившихся обстоятельствах, в 2023 году при поддержке Минпромторга России была организована межотраслевая рабочая группа промышленной автоматизации — «Автоматизированные системы управления технологическими процессами» (или Открытая АСУТП). Инициаторами выступили Индустриальные центры компетенций (ИЦК) «Металлургия» и «Химия», а также Ассоциация «Индустриальные инновации».  Эта рабочая группа создана для того, чтобы разработать решения, которые помогут российским предприятиям не только адаптироваться к новым условиям, но и стать лидерами в автоматизации, цифровизации и внедрении искусственного интеллекта в производство. Состав рабочей группы ОАСУТП  можно посмотреть по ссылке https://openapc.ru/structure

Что делает «Северсталь»?

«Северсталь» разрабатывает два продукта из перечня, сформированного участниками технических рабочих групп Открытой АСУТП (подробнее смотрите Дорожная карта разработки): программный ПЛК и интегрированную среду разработки (IDE), которые являются одними из ключевых узлов открытой АСУТП и будут иметь свободно распространяемый исходный код.  Эти открытые решения будут доступны всем разработчикам и вендорам АСУТП.

С чего мы начали

Прежде чем приступить к разработке, мы решили глубже изучить два стандарта, которые лежат в основе программирования и управления промышленными системами. С одной стороны — это проверенный временем и широко известный IEC 61131, а с другой — более современный, но пока менее распространённый IEC 61499

Коротко о IEC 61499

Изначально IEC 61499 был опубликован в 2000–2002 годах как серия общедоступных спецификаций (PASs) для пробного использования вместе с техническим отчетом (TR), содержащим учебную информацию. Большинство тех же экспертов от промышленности, консалтинга и академии, которые создали IEC 61131-3, также разработали эталонную модель IEC 61499. С тех пор модель подвергалась непрерывному совершенствованию в результате обширного тестирования в научных и промышленных лабораториях. В результате этих разработок в 2005 году был опубликован IEC 61499 как международный стандарт в трех основных частях. Впоследствии работа по обновлению продолжилась, что привело к улучшению трёх частей стандарта и способствовало его популяризации. В 2012 году был опубликован второй выпуск IEC 61499. 

Оба стандарта разработаны Международной электротехнической комиссией (IEC), но их архитектура и подходы кардинально различаются. Давайте разберёмся, в чём их ключевые особенности и отличия.

IEC 61131

IEC 61131 определяет языки программирования для программируемых логических контроллеров (ПЛК). Он включает в себя несколько языков программирования:

  • Ladder Diagram (LD);

  • Function Block Diagram (FBD);

  • Structured Text (ST);

  • Instruction List (IL);

  • Sequential Function Chart (SFC).

Преимущества:

  1. Широкая распространенность. IEC 61131 является общепринятым стандартом в промышленной автоматизации, и большинство ПЛК поддерживают именно этот стандарт.

  2. Простота использования. Языки программирования, такие как LD и FBD, интуитивно понятны для инженеров, работающих с релейной логикой.

  3. Поддержка. Большое количество инструментов и сред разработки поддерживают IEC 61131.

  4. Детерминированность. Программы, написанные на IEC 61131, обычно выполняются циклически, что обеспечивает предсказуемость и детерминированность.

Недостатки:

  1. Ограниченная гибкость. IEC 61131 ориентирован на централизованные системы, где вся логика выполняется на одном ПЛК. Взаимодействие между несколькими ПЛК требует дополнительной разработки и зачастую реализуется через внешние протоколы.

  2. Отсутствие поддержки современных парадигм, функционального и объектно-ориентированного программирования, что ограничивает масштабируемость проектов.

  3. Низкий уровень абстракции. Программирование напрямую связано с физическими регистрами ПЛК.

  4. Проблемы с интеграцией. Стандарт не учитывает современные API и облачные технологии, что усложняет взаимодействие с внешними системами.

IEC 61499

IEC 61499 базируется на стандарте IEC 61131 и расширяет его возможности, предлагая более гибкий и модульный подход к программированию промышленной автоматики.

Преимущества:

  1. Поддержка распределённых систем. IEC 61499 поддерживает распределенные системы и многоконтроллерные архитектуры, что делает его гибким для реализации сложных и масштабируемых приложений.

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

  3. Поддержка универсальных языков программирования. Алгоритмы функциональных блоков могут быть реализованы не только на языках, указанных в стандарте IEC 61131, но и, например, на C++ или Python.

  4. Функциональные блоки взаимодействуют через события и данные, что позволяет разделять потоки управления и данные. 

  5. Модульность. Функциональные блоки могут быть легко распределены между различными контроллерами или устройствами.

Недостатки:

  1. Сложность в освоении. IEC 61499 сложнее для понимания и реализации по сравнению с IEC 61131, особенно для инженеров, привыкших к традиционным методам программирования ПЛК.

  2. Ограниченная поддержка. Не все производители ПЛК и инструменты разработки поддерживают IEC 61499, что ограничивает его распространение.

  3. Меньше инструментов. По сравнению с IEC 61131, существует меньше инструментов и сред разработки, поддерживающих IEC 61499.

На наш взгляд, IEC 61131 — стандарт для программирования традиционных ПЛК, ориентированный на централизованное управление и простоту использования.  IEC 61499 — это расширение IEC 61131, которое добавляет поддержку распределенных систем, событийно-ориентированное выполнение и более гибкие функциональные блоки, что делает его более подходящим для современных и будущих систем автоматизации. Крупные игроки на рынке автоматизации, например, ISaGRAF (Rockwell Automation) и NXTStudio (Schneider Electric), уже создают системы управления на базе IEC 61499. Соответственно, чтобы быть в тренде мировых тенденций автоматизации, мы выбрали для нашей открытой АСУТП стандарт  IEC 61499.

Далее мы провели анализ существующих решений, поддерживающих IEC 61499. И вот что удалось выяснить.

Критерий

Beremiz

4diac  

nxtStudio

ISaGRAF

CODESYS

FBDK

Лицензия

Бесплатная (GPL)

Бесплатная (EPL)

Платная

Платная

Платная

Бесплатная, исходники закрыты

Поддержка IEC 61499

Отсутствует

Полная

Полная

Полная

Отсутствует

Полная

Поддержка IEC 61131

Да

Да (интегрирован в 61499)

Нет

Да

Да

Нет

Возможность онлайн добавления в программу

Нет

Да. Через стандартный интерфейс и lua

Да

Да

Нет

Да

Языки реализации

IDE и RT на Python, есть форк,  где RT переписан на C++ openPLC

IDE: Java (Eclipse)

RT: C/C++

IDE: Java

RT: C++/C#

RT: C/C++

RT: C/C++

Java

Что представляет из себя программа для ПЛК

Программа FBD транслируется в ST, а затем компилятором MatIEC в С.

Файл, описывающий связи между функциональными блоками

Описание связи между функциональными блоками

Компилированный код

Компилированный код

Описание связи между функциональными блоками

Интеграция с ПЛК

Да

Да

Да

Да

Да

Ограниченная

Сообщество

Активное

Активное

Промышленное

Промышленное

Активное

Ограниченное

Использование

Обучение, Промышленное 

Обучение, Промышленное

Промышленное

Промышленное

Промышленное

Обучение, Исследование

По результатам сравнения мы предварительно остановились на решении 4diac. Оно выглядит крайне перспективно и обладает рядом существенных преимуществ, которые делают его привлекательным для создания открытой АСУТП:

  1. Гибкость и модульность. Использование функциональных блоков и событийно-ориентированной модели позволяет создавать гибкие и легко адаптируемые системы. Это особенно важно для сложных промышленных процессов, где требования могут часто меняться.  

  2. Поддержка распределённости. Компоненты управления можно размещать на разных устройствах, что повышает отказоустойчивость и масштабируемость системы.  

  3. Открытость. 4diac — это открытая платформа, что даёт разработчикам возможность модифицировать и расширять её функциональность под свои нужды.  

  4. Соответствие стандартам. Основанный на IEC 61499, 4diac обеспечивает совместимость с другими системами, что упрощает интеграцию.

  5. Онлайн-внесение изменений. Возможность загружать новые части алгоритма без остановки системы и перезагрузки.  

  6. Производительность. 4diac поддерживает многопоточное исполнение, что позволяет эффективно использовать ресурсы процессора. Кроме того, есть специализированные функциональные блоки для отслеживания времени выполнения алгоритма, что важно для работы в реальном времени. 

Однако, несмотря на все преимущества, у 4diac есть и свои слабые стороны:  

  1. Необходимость переобучения. Для разработчиков, привыкших к традиционным стандартам вроде IEC 61131, переход на событийно-ориентированную модель может потребовать времени и усилий.  

  2. Ограниченная поддержка оборудования. Несмотря на кросс-платформенность, для работы с некоторыми специфическими устройствами или контроллерами может потребоваться дополнительная настройка.  

  3. Недостаток документации и сообщества. По сравнению с более популярными платформами (например, CODESYS или TIA Portal), 4diac имеет меньшую базу документации и менее активное сообщество, что может затруднить решение сложных задач.  

  4. Ограниченная поддержка. Как и большинство open-source проектов, 4diac не может предложить уровень технической поддержки, сравнимый с коммерческими решениями. 

Подводя итоги вышенаписанному: мир идёт в сторону открытых решений в области автоматизации, крупные компании поддерживают этот тренд, и наши компоненты для открытой АСУТП — часть этого процесса. А 4diac — это мощный инструмент для создания распределённых систем промышленной автоматизации, особенно в контексте Industry 4.0 и IIoT. Его гибкость, модульность и открытость делают продукт привлекательным выбором для разработчиков, готовых инвестировать время в изучение новой парадигмы программирования. 

В следующей статье мы расскажем, как мы дорабатываем 4diac.

Кстати, недостаток документации и сообщества мы можем устранить совместно со всеми желающими. Поскольку наше решение будет иметь открытый исходный код, приглашаем разработчиков и вендоров к совместной работе (open.soft.plc@severstal.com).

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Что используете в работе?

50% IEC 611311
50% IEC 614991
100% Только хардкор C/C++2

Проголосовали 2 пользователя. Воздержался 1 пользователь.

ссылка на оригинал статьи https://habr.com/ru/articles/895342/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *