SCADA, АСУ ТП, контроллеры – основная тематика журнала «ИСУП»
Журнал «Информатизация и Системы Управления в Промышленности» публикует тематические материалы посвященные SCADA, АСУ ТП, контроллерам, автоматизации в промышленности.

Универсальный инструмент для встраиваемых систем в области АСУ ТП и АСУЗ на базе ISaGRAF 6 и мультипротокольной платформы DoMooV

В статье рассматривается единый универсальный инструмент создания программного обеспечения для встраиваемых систем, ориентированный на проекты управления зданиями (АСУЗ, BMS) и построенный на основе интеграции технологии программирования контроллеров ISaGRAF 6 и мультипротокольной платформы DoMooV. Предлагаемое решение стало возможно после включения в ISaGRAF 6 Workbench средств вза­имодействия с сервером данных DoMooV – модулей ISaDoMooV. Платформа DoMooV известной французской компании Newron System поддерживает основные протоколы систем управления зданиями – BACnet, LonWorks, KNX, M‑Bus, Modbus. Интеграция ISaGRAF и DoMooV является значительным событием на рынке систем автоматизации и дает возможность системным интеграторам в рамках Единой Платформы Автоматизации (ACP) воспользоваться преимуществами ведущих в своем классе продуктов, значительно сократить время, трудозатраты и стоимость решений.

Компания «ФИОРД», г. Санкт-Петербург

fiord.jpg


Актуальность конвергенции средств программирования устройств в АСУ ТП и АСУЗ

В настоящее время системным интеграторам в большинстве случаев приходится осваивать два прак­тически не пересекающихся класса инструментов и языков программирования для проектов автоматизации технологических процессов (АСУ ТП) и зданий (АСУЗ, BMS). В области АСУ ТП доминируют инструменты разработки приложений для программируемых логических контроллеров в стандарте IEC 61131-3, в котором определено пять языков программирования: IL (Instruction List – Список инструкций), ST (Structured Text – Структурированный текст), LD (Ladder Diagram – Ступенчатая диаграмма), FBD (Function Block Diagram – Диаграмма функциональных блоков), SFC (Sequential Function Chart – Последовательная функциональная диаграмма). Одной из ведущих технологий в этой области является система ISaGRAF [1–6]. В области АСУЗ нет единых стандартизованных языков программирования устройств, а для каждого из протоколов, как правило, используются инструменты и API на базе универсальных языков, таких как С (например, Neuron C для LonWorks), Java, Basic.

Чтобы как-то унифицировать подходы и упростить задачу автоматизации в области АСУЗ в случае мультипротокольных проектов, ряд компаний – MBS Software, Engenuity, Alerton, MOXA, Kepware, Beckhoff, FieldServer Technologies и другие – предложили программные или аппаратно-программные шлюзы для сбора информации и преобразования данных между различными протоколами BMS. Кардинальное решение проблемы «зоопарка» средств было найдено французской компанией Newron System, которая разработала открытую универсальную интегрированную программную платформу DoMooV для управления набором наиболее распространенных открытых протоколов BMS, таких как BACnet, Modbus, M‑Bus, LonWorks и KNX (в перспективе также ZigBee, Z‑Wave, Dali, C‑Bus). Это позволяет значительно уменьшить финансовые затраты и снизить требования к квалификации системных интеграторов, делает необязательным знание отдельных протоколов.

Отсюда напрашивался следующий логический шаг – создание единого инструмента для программирования устройств в области АСУ ТП и АСУЗ. Такой инструмент был создан специалистами компании «ФИОРД» на основе ISaGRAF 6 Workench в составе Единой Платформы Автоматизации (Automation Collaborative Platform – ACP) и DoMooV. Краткое описание этого инструмента и его составляющих приведено в данной статье. Но вначале напомним о компонентах предложенного решения.


Единая Платформа Автоматизации ACP и ISaGRAF 6

Концепция и технология ACP [1–4] разработана на базе ISaGRAF [5–6] и создана для обслуживания систем автоматизации. Единая Платформа Автоматизации (ACP) разработана как среда, управляемая с помощью открытых подключаемых модулей – плагинов (рис. 1). ACP представляет собой расширяемый слой абстракции с общим интерфейсом, который обеспечивает унифицированные функциональные возможности, выбираемые пользователем. ACP предназначена для поставщиков средств автоматизации, OEM-производителей, системных интеграторов, научно-исследовательских институтов. ACP помогает проектировщикам программного обеспечения, позволяя им сосредоточиться на своей основной предметной области, а не на системных программных вопросах инфраструктуры решения. ACP поддерживает несколько Конкретных Моделей Автоматизации (Concrete Automation Model – CAM) одновременно, предоставляя возможность объединять разнородные продукты в единую интегрированную среду разработки.

Ris.1.png

Рис. 1. Общий взгляд на Единую Платформу Автоматизации

Две из конкретных моделей автоматизации, входящих в базовую поставку ACP, обеспечивают создание приложений для таргетов ISaGRAF 5 и ISaGRAF 3. Приложения в ISaGRAF 6 состоят из виртуальных машин, работающих на различных аппаратных платформах, называемых исполнительными узлами (target nodes). Процесс разработки заключается в создании проекта, состоящего из устройств (devices), представляющих собой таргеты (исполнительные системы, target, runtime) с одним или несколькими экземплярами ресурсов. Проекты могут разрабатываться с использованием различных языков программирования, включая языки стандарта IEC 61131-3 и IEC 61499. После этапа разработки ресурсы компилируются в TIC-код (target independent code) или в программу на языке «C».

ACP предлагает полностью готовую к использованию оболочку (Shell), специально разработанную для систем автоматизации, которые создаются с применением инструментария Microsoft Visual Studio и технологии .Net Framework (рис. 2). ACP предоставляет все базовые сервисы для взаимодействия с продуктами третьих фирм и обеспечивает настраиваемость («кастомизацию») конечного решения. Другими словами, ACP – это среда для создания решений по комплексной автоматизации путем интеграции технологии ISaGRAF Workbench и компетенции OEM-производителя средств автоматизации. Именно эта возможность и позволила специалистам компании «ФИОРД» интегрировать DoMooV в среду ACP. Каждый компонент ACP разрабатывается в виде подключаемого модуля – плагина (plug-ins). Архитектурно это выглядит, как показано на рис. 2, – надстройка над Visual Studio Shell (со своими возможностями по расширению) в виде ISaGRAF Shell плюс Абстрактная Модель Автоматизации (Abstract Automation Model – AAM).

Ris.2.png

Рис. 2. Системные элементы расширяемой архитектуры ISaGRAF 6

AAM представляет собой множество интерфейсов (более 300) для доступа к различным объектам и сервисам VS Shell, ISaGRAF Shell – решениям, проектам, ресурсам, конфигурациям, типам данных, устройствам, программам, переменным, функциям загрузки проекта, отладки, симуляции и так далее.

Как одна из составляющих ACP, среда ISaGRAF 6 Workbench основана на открытой технологии подключаемых модулей. В свою очередь, каждый компонент в ISaGRAF 6 Workbench разрабатывается по технологии Единой Платформы Автоматизации (ACP). Следовательно, функциональность ISaGRAF 6 Workbench, расширяющая возможности предыдущих версий, реализуется с помощью плагинов. Каждый пользователь (OEM-производитель PLC, системный интегратор) может создавать настраиваемый Workbench, выбрав только те подключаемые модули, которые лучше всего подходят для его применения, создавать свои собственные уникальные пакеты для удовлетворения потребностей в своих сегментах рынка. Однако обратим внимание на следующий факт, важный для рынка и многочисленных пользователей предыдущих версий ISaGRAF: в ISaGRAF 6 обеспечивается поддержка работы с исполнительными системами для ISaGRAF 3 & 5.

Включение ISaGRAF 6 Workbench в ACP повлекло за собой существенные изменения не только с точки зрения технологии программирования, но и в некоторых других аспектах использования продукта. Цель этих изменений – уменьшить время вывода решения на рынок и сделать его более удобным для конечного пользователя:
- среда программирования (Workbench) ISaGRAF 6 может поставляться производителем контроллеров конечному пользователю бесплатно;
- добавлена новая удобная бизнес-модель ISaGRAF 6. Производитель PLC работает на основе долгосрочных контрактов;
- абстрактная Модель Автоматизации ISaGRAF 6, основанная на стандартах IEC 61131-3 и IEC 61499, обеспечивает богатый набор сервисов на основе интерфейсов .Net, которые облегчают взаимодействие внутри решения по автоматизации;
- обеспечена совместимость и единообразие между различными контроллерами.

С момента выхода на рынок в рамках ACP были разработаны несколько важных подключаемых модулей: FlexiSafe, ISaView, реализована поддержка режима горячего резервирования и средства работы с прерываниями [1]. Платформа FlexiSafe [2] предназначена для облегчения сертификации OEM-производителями средств промышленной автоматизации в соответствии со стандартами IEC 61508 («Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью») или ISO 13849 («Безопасность оборудования. Элементы систем управления, связанные с безопасностью»). Плагин ISaVIEW обеспечивает пользователя простыми, но в то же время мощными интегрированными средствами человеко-машинного интерфейса (HMI). Страницы ISaVIEW встраиваются в структуру проекта автоматизации.


Мультипротокольная платформа DoMooV для BMS

DoMooV – это framework, каркас программной системы на основе .NET (рис. 3), включающий в себя средства разработки (SDK) для создания пользователем собственных централизованных или распределенных приложений. Многопротокольный сервер данных DoMooV Dataserver может поддерживать один или несколько движков сбора данных для одного или нескольких сетевых интерфейсов [7–8]. Мультипротокольный сервер данных DoMooV Dataserver также будет доступен для OS Linux и может быть встроен в аппаратные устройства на основе OS Linux (сейчас версия для Linux проходит этап тестирования и пока не поставляется пользователям). Многопротокольные серверы DoMooV OPC и DoMooV BACnet работают с одним или несколькими централизованными или распределенными серверами данных DoMooV и обеспечивают представление данных в формате OPC или BACnet. Также серверы поддерживают функцию шлюза для обмена данными между протоколами.

Ris.3.png

Рис. 3. Многоуровневая структура DoMooV

DoMooV – платформа, которая унифицирует данные и поведение системы независимо от протокола, устройства или изготовителя. DoMooV базируется на объектно ориентированной модели с целью уменьшить затраты и объединить разработку решений для BMS и SCADA-систем.

Решение на основе DoMooV включает унифицированную информацию для обмена данными: любые приложения (SCADA, корпоративные решения, HMI и проч.) могут обмениваться информацией в едином унифицированном формате через один из серверов: сервер BACnet, сервер OPC или «native» сервер данных DoMooV. Платформа не только открыта на уровне сервера, она может также расширяться для работы с другими полевыми (fieldbus) протоколами. Ее внутренняя структура обеспечивает простую интеграцию устаревших или частно-фирменных протоколов с последующим включением их в законченное решение.

DoMooV предлагает клиент-серверную архитектуру и для SCADA-систем, и для инструментов управления сетью. SCADA-система может взаимодействовать через базовый (native) интерфейс DoMooV, BACnet или OPC-сервер. Архитектура масштабируется от самых простых до очень сложных BMS-решений. Для небольших систем и систем среднего размера DoMooV поддерживает централизованное решение, используя стандартные маршрутизаторы. Для этого используется средство MooV’n’Build для управления сетью. Оно создает локальную базу данных или взаимодействует с удаленной базой данных DoMooV по сети. В этом случае SCADA-система может присоединяться через DoMooV OPC-сервер или DoMooV BACnet-сервер. Кроме того, архитектура предлагает децентрализованное решение для любого рабочего места. Серверы DoMooV взаимодействуют по сети Ethernet: инструменты управления сетью удаленно поставляют данные в базу данных DoMooV, и один или несколько серверов собирают данные для управления тревогами, расписаниями, трендами и служебной информацией для SCADA.


Взаимодействие ISaGRAF 6 Workbench c DoMoov Dataserver

Для взаимодействия с DoMooV в составе ACP был разработан набор подключаемых модулей ISaDoMooV. С их помощью возможно создание управляющей логики в ISaGRAF с использованием сложно организованных разнородных сетей, низкоуровневый доступ к которым обеспечивается сервером данных DoMoov. В настоящее время в состав ISaDoMoov входят два модуля: ISaDoMoov Driver и ISaDoMoov Configurator (конфигуратор ISaDoMooV). ISaDoMooV Driver обеспечивает непрерывный перенос данных из внутренних переменных проекта ISaGRAF на сервер данных DoMooV и обратно. ISaDoMooV Configurator выполняет две основные функции: автоматическое создание переменных в проекте ISaGRAF, которые будут привязаны к ранее сконфигурированным точкам данных DoMooV, и создание конфигурационного файла, содержащего необходимую для работы драйвера информацию о соответствии этих переменных и точек данных DoMooV. Пользователю предоставляется возможность выбора необходимых переменных и указания, в каком из ресурсов или POU они должны быть созданы.

При запуске ISaDoMooV считывает конфигурационные файлы DoMooV переменных, узлов и сетей LON, BACnet, KNX, Modbus и сохраняет конфигурационную информацию во внутренней базе данных ISaGRAF (об этом будет идти речь ниже). Отметим, что формирование конфигурационных файлов DoMooV подразумевает использование специализированных сервисных программ для конкретного протокола: например, LonMaker или NL220 для LonWorks. После импорта «сетевых» переменных DoMooV в проекте ISaGRAF с ними можно делать всё, что позволяет ISaGRAF.

Разработанный проект исполняется целевой системой и позволяет осуществлять автоматическое регулирование и обработку данных, визуализировать и архивировать изменения значений переменных, передавать данные реального времени OPC-серверам или SCADA-пакетам. Таким образом, можно устанавливать связи между переменными (объектами) узлов разных сетей и с диспетчерскими пунктами в рамках распределенных АСУ различного назначения.


Формат представления данных в DoMooV и в ISaDoMooV

При создании DoMooV специалисты Newron System разработали общий формат данных для различных протоколов. В общем виде каждая точка (DataPoint) сервера данных DoMooV имеет следующий вид:
[@N<Network identifier>] 
[@D<Device identifier>] 
[@U<Object identifier>]
@P<DataPoint identifier> 
[@C<Catalog identifier>] 
[@F<Field identifier>]/options

Tab.1.png

Посмотрим, как этот общий формат используется для представления данных в сетях BMS и в базе данных ISaGRAF.

Продемонстрируем пример для LonWorks: @NNetwork 1@D2 |2@P5 @CSNVT_temp. Network 1: Идентификатор сети в базе данных (проекте) DoMooV = Netwrok 1, D2 |2: Подсеть (subnet) LonWorks = 2, узел (node) LonWorks = 2. P5: Индекс сетевой переменной в устройстве = 5. CSNVT_temp: SNVT тип переменой = SNVT_temp. При импорте этой переменной в ISaGRAF она будет иметь имя Network_1D2_2P5CSNVT_temp и тип Real.

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

Tab.2.png

Приведем некоторые элементы представления данных из примера для ModBus в DoMooV: 
@XRoot представляется как @D192.168.1.65:502 |tcp|1, 
@XUp представляется как @Pcoil2@Cdefault. 

Такая организация сети сначала импортируется в DoMoov в виде CSV-файла (на рис. 4 справа вверху), а затем конфигуратор ISaDoMoov создает набор переменных в ISaGRAF, как показано на рис. 4.

Ris.4.png

Рис. 4. Пример представления данных Modbus в конфигураторе ISaDoMooV и в DoMooV

Интеграция ISaGRAF Workbench и DoMooV – значительный шаг на рынке систем автоматизации. Какие же преимущества дает разработанный специалистами компании «ФИОРД» интерфейс ISaGRAF 6 Workbench и DoMooV?

- Использование единственного инструмента для проектов в области АСУ ТП и АСУЗ, в соответствии с международными стандартами IEC 61131-3 и IEC 61499;
- поддержку основных протоколов АСУЗ: BACnet, LonWorks, KNX, M‑Bus, Modbus;
- независимость от конкретного протокола или разработчика контроллеров;
- значительное снижение требований к квалификации разработчиков, исключение необходимости глубокого изучения конкретных протоколов АСУЗ. В результате это позволит существенно сократить время разработки и финансовые затраты;
- открытость решения: при необходимости системный интегратор может самостоятельно развивать интерфейс (приобретя соответствующие SDK) применительно к своей задаче или предметной области.


И еще о новшествах в ISaGRAF

В рамках данной статьи хотелось бы вкратце упомянуть еще об одном новом продукте, разработанном в компании «ФИОРД» для ISAGRAF, который будет очень полезен для BMS. Это новый модуль ISaQT, который позволяет пользователю иметь графический интерфейс на контроллере. ISaQT взаимодействует с исполнительной системой (таргетом) ISaGRAF по быстрому протоколу FDA, используя библиотеку удаленного клиента FDA. Поэтому ISaQT может выполнять визуализацию изменений данных реального времени как локально на самом контроллере, так и удаленно с другого компьютера. ISaQT способен взаимодействовать с несколькими контроллерами одновременно, поэтому можно делать визуализацию не только автономной, но и распределенной системы автоматизации.

ISaQT уже реализован под Linux и Windows. Для создания мнемосхем используется программа Qt  Creator, которая формирует интерфейс на языке QML 2, а на языке JavaScript формируется динамическая составляющая. Программа Qt Creator – кроссплатформенная свободная IDE для разработки на С, С++ и QML в рамках фреймворка Qt. Сформированный файл интерпретируется программой ISaQT. В результате пользователь получает графический интерфейс на контроллере (рис. 5).

Ris.5.png

Рис. 5. Пример графического интерфейса ISaQT


Литература

1. Колтунцев А. В., Золотарев С. В. ISaGRAF 6.1: динамичное развитие и концептуальные новшества // «Автоматизация в промышленности». 2012. № 8.
2. Золотарев С. В. ISaGRAF и функ­ционально безопасные системы: современный тренд в развитии технологий программирования контроллеров // «МКА: ВКС». 2012. № 4.
3. Золотарев С. В. Технология программирования контроллеров ISaGRAF 6 претендует на роль единой платформы автоматизации // «Автоматизация и IT в энергетике». 2011. № 4.
4. Золотарев С. В. ISaGRAF 6: эволюция от среды программирования контроллеров к единой платформе автоматизации // «Автоматизация в промышленности», 2011. № 3.
5. Колтунцев А. В., Золотарев С. В. Стандарт IEC 61499 и система программирования контроллеров ISaGRAF 5: от теории к практике // «Rational Enterprise Management». 2009. № 2.
6. А. В. Яковлев, А. В. Липовец, С. В. Золотарев. Расширения ISaGRAF 5: инновационные функциональные возможности, производительность и открытость  // «ИСУП». 2009. № 2.
7. Золотарев С. В. Инновационная интегрированная мультипротокольная платформа DoMooV // «Автоматизация зданий». 2010. № 5, 6.
8. Золотарев С. В. Интегрированная платформа DoMooV для систем автоматизации зданий: поддержка BACnet, LonWorks, KNX, M‑Bus, Modbus и OPC в одном решении // «ИСУП». 2010. № 6.

Статья опубликована в журнале «ИСУП», № 3(45)_2013

Л. М. Ревзин, руководитель направления,
С. В. Золотарев, к. т. н., ведущий эксперт,
компания «ФИОРД», г. Санкт-Петербург,
тел.: (812) 323‑62‑12,
e‑mail: info@fiord.com,
www.fiord.com