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

Технология программирования контроллеров ISaGRAF 6: превращение в Единую Платформу Автоматизации

В статье рассматриваются базовые технические аспекты новой версии ISaGRAF 6, ведущей мировой системы программирования контроллеров с поддержкой международных стандартов IEC 61131-3, 61499, и концепция Единой Платформы Автоматизации ACP (Automation Collaborative Platform) на базе ISaGRAF Workbench. Автор также приводит примеры некоторых модулей в составе ACP – графического инструментария ISaVIEW и средств поддержки протокола IEC 61850.

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

fiord.jpg


 Давайте начнем с небольшого экскурса в историю: известно, что многие известные программные продукты первоначально создавались как средства для вполне конкретных узкоспециальных целей. Но по мере своего развития приобретали все большую функциональность и в связи с этим стали претендовать на гораздо более серьезное место в своей предметной области. Таких примеров достаточно много. Например, автору этой статьи пришлось иметь дело с пакетом WinDriver компании Jungo, который из простого драйвера для pci-устройства превратился во всеобъемлющий платформенно-независимый инструмент написания драйверов для различных интерфейсов (USB, PCI, PCI Express, CardBus, CompactPCI, ISA, PMC, PCI-X, PCI-104 и PCMCIA). Аналогичная эволюция сейчас происходит с технологией программирования ISaGRAF. Можно утверждать, что область ее применения значительно расширяется.

pic1.jpg

Рис. 1. Архитектура ISaGRAF 5


Комплекс средств ISaGRAF компании ICS Triplex ISaGRAF широко известен как инструмент разработки приложений для программируемых логических контроллеров на языках стандарта IEC 61131-3 и IEC 61499, который позволяет создавать локальные или распределенные системы управления процессами. Основа технологии – среда разработки приложений ISaGRAF Workbench и адаптируемая под различные аппаратно-программные платформы исполнительная система ISaGRAF Runtime (Target). В ISaGRAF поддерживаются все пять языков стандарта IEC 61131-3: IL (Instruction List – Список инструкций), ST (Structured Text – Структурированный текст), LD (Ladder Diagram – Ступенчатая диаграмма), FBD (Function Block Diagram – Диаграмма функциональных блоков), SFC (Sequential Function Chart – Последовательная функциональная диаграмма) плюс языки FC (Flow Chart, Потоковая диаграмма, Блок-схема) и ANSI C (рис.1).

На протяжении своего развития среда ISaGRAF во многом определяла основные тенденции в области систем программирования контроллеров (SoftPLC). Особенно отчетливо это проявилось при разработке последних версий ISaGRAF. ISaGRAF 4 стал первым инструментом на рынке SoftPLC, позволяющим создавать распределенные системы управления за счет встроенных средств связывания переменных (binding). В версии ISaGRAF 5 впервые была реализована поддержка нового типа функциональных блоков, определяемых стандартом IEC 61499 [1]. 

pic2.jpg

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


На основе вычислительного ядра ISaGRAF Target разработаны расширения, которые позволили рассматривать ISaGRAF 5 в качестве универсальной среды для создания интегрированных решений в области АСУ ТП [2]. Основные расширения ISaGRAF 5 Target, реализованные специалистами компании «Фиорд» (демоверсии которых можно скачать с сайта www.isagraf.ru):
ISaGRAF 5++ ACE Target – реализация исполнительной системы на языке С++ с использованием платформенно-независимой библиотеки АСЕ (Adaptive Communication Environment); 
система быстрого доступа к данным FDA;
распределенная система архивирования данных IAS;
модуль JIT-компиляции в машинный код x86;
графический интерфейс ISaGUI;
дополнительные библиотеки функций (Fast_array, Fast_matrix, измерения времени с высоким разрешением, обработки сигналов, работы с COM-портами, ПИД-регулятор);
реализация драйверов протоколов: IEC 60870-5-104, EtherCAT.

Технология ISaGRAF 5 имела очень мощные и удобные для системных интеграторов и производителей контроллеров средства расширения со стороны исполнительной системы (Target) и весьма слабые возможности адаптации к требованиям производителей контроллеров со стороны Workbench (только динамическую библиотеку ProHook). Однако рынок SoftPLC требовал наличия развитых средств проблемной ориентации не только со стороны Target, но и со стороны Workbench. Чтобы предоставить такую возможность, компании ICS Tripplex ISaGRAF пришлось кардинально переработать парадигму ISaGRAF Workbench. Теперь система ISaGRAF 6 стала одним из компонентов («конкретных моделей») Единой Платформы Автоматизации (ACP, Automation Collaborative Platform).

pic3.jpg

Рис. 3. ISaGRAF 6 Workbench в составе ACP



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

Концепция и технология ACP разработана на основе ISaGRAF и создана для обслуживания систем автоматизации. Единая Платформа Автоматизации разработана как среда, управляемая с помощью открытых подключаемых модулей – плагинов. Однако ACP – это НЕ среда с открытым кодом (open source). ACP представляет собой расширяемый слой абстракции с общим интерфейсом, который обеспечивает унифицированные функциональные возможности, выбираемые пользователем. ACP предназначена для поставщиков средств автоматизации, OEM-производителей, системных интеграторов, научно-исследовательских институтов. ACP помогает проектировщикам программного обеспечения, позволяя им сосредоточиться на своей основной предметной области, а не на системных программных вопросах инфраструктуры решения. ACP поддерживает несколько Конкретных Моделей Автоматизации (CAM, Concrete Automation Model) одновременно, предоставляя возможность интеграции разнородных продуктов в единую интегрированную среду разработки. Две из конкретных моделей автоматизации, входящих в базовую поставку ACP, обеспечивают создание приложений для таргетов ISaGRAF 5 и ISaGRAF 3. Приложения в ISaGRAF 6 состоят из виртуальных машин, работающих на различных аппаратных платформах, называемых исполнительными узлами (target nodes). Процесс разработки заключается в создании проекта, состоящего из устройств (devices), представляющих собой таргеты с одним или несколькими экземплярами ресурсов. Проекты могут разрабатываться, используя различные языки программирования, включая языки стандарта IEC 61131-3. После этапа разработки ресурсы компилируются в TIC-код («target independent code») или в программу на языке «C». 

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

pic4.jpg

Рис. 4. Фрагмент программы на языке SAMA



ISaGRAF 6 Workbench как одна из составляющих Единой Платформы Автоматизации ACP

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

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

В ISaGRAF 6 реализована поддержка нового графического языка SAMA (Scientific Apparatus Makers-Manufactures Association), пример которого показан на рис. 4, в дополнение к языкам, реализованным в ISaGRAF 5 (5 языков стандарта IEC 61131-3, FC, «C», функциональные блоки IEC 61499). Язык SAMA представляет собой специальный вид функциональных диаграмм управления, широко применяемых, например, в области энергоснабжения. Эти диаграммы используются для описания и документирования стратегий управления объектами, позволяют легко представлять такие простые вычислительные функции, как сумматор, верхний/нижний ограничитель и блоки PID-регулирования, строить расширенную функцию управления. В ISaGRAF 6 язык SAMA реализован на базе FBD. 

pic5.jpg

Рис. 5. Схема поддержки IEC 61850 в ISaGRAF 6



Реализованные и перспективные подключаемые модули ACP

Одним из первых новых подключаемых модулей в рамках технологии ACP стал плагин ISaVIEW для ISaGRAF 6 Workbench. Плагин ISaVIEW обеспечивает пользователя простыми, но в то же время мощными интегрированными средствами человекомашинного интерфейса (HMI). Страницы ISaVIEW встраиваются в структуру проекта автоматизации. ISaVIEW интегрирован в Workbench в целях объединения процесса управления и его визуализации. Работа пользователя поддерживается с помощью настраиваемых шаблонов и готовых к применению наборов объектов. Вид анимации может легко графически и программно модифицироваться. Доступны средства проектирования и on-line режимы, причем это не требует перекомпиляции проекта ISaGRAF. ISaVIEW позволяет пользователю быстро создавать объекты с определенным видом эффектов анимации, такими, как действие, изменение цвета, перемещение, вращение, изменение размера, текст, видимость. Например, в качестве действия (action) может быть переход на HTML или ISaVIEW-страницу, увеличение значения переменной или установка обратного значения. Действия зависят от их типа, например, был ли использован одинарный или двойной клик мыши. В качестве графических объектов в ISaVIEW могут быть использованы такие примитивы, как дуга, стрелка, эллипс, прямоугольник, растровый рисунок, кнопка, слайдер и др.

Еще одним перспективным средством (но на момент написания статьи еще не включенным в поставку) в рамках ISAGRAF 6 является инструментарий поддержки стандарта IEC 61850 «Сети и системы связи на подстанциях». Целью IEC 61850 является обеспечение способности к такому взаимодействию, при котором два или несколько интеллектуальных электронных устройств от одного или нескольких производителей могут обмениваться информацией и использовать ее для правильного функционирования как вместе, так и порознь. Как мы отмечали ранее [3], многие ученые находят ряд близких концептуальных идей в стандартах IEC 61850 и IEC 61499 [4] и поэтому предлагают использовать инструментальные средства, поддерживающие IEC 61499, для реализации подходов, предлагаемых в IEC 61850 [5,6]. Такой пример приведен, например, в статье [6]. В частности, с помощью IEC 61499 достаточно просто можно реализовать поддержку таких механизмов IEC 61850, как шина процесса и шина станции. 

В рамках ISaGRAF 6 поддерживаются все типы данных IEC 61850, но пользователь на этапе разработки своего приложения может с помощью утилиты Target Definition Builder IEC 61850 сам выбрать, какие типы данных будут поддерживаться в его конкретной целевой задаче. Эти выбранные типы данных IEC 61850 пользователь сможет затем использовать в своих проектах на языках программирования, входящих в ISaGRAF 6, а на ISaGRAF-контроллере с поддержкой IEC 61850 будет доступна новая опция активизации генерации файла ICD (IED Capability Description), описывающего возможности микропроцессорных устройств. Кроме того, пользователь сможет в функциональных блоках IEC 61131 и IEC 61499 использовать переменные и входы/выходы типов данных IEC 61850. 
Архитектура решения, поддерживающего протокол IEC 61850, показана на рис. 5. На этапе загрузки Workbench передает сгенерированные файлы (TIC-код и ICD-файл) соответственно целевой задаче и серверу IEC 61850. На этапе выполнения сервер IEC 61850 обеспечивает доступ к переменным ISaGRAF по запросам от клиентских задач.

Немного затронем и вопрос об открытости и расширяемости ACP: третьи фирмы могут добавлять их объекты к дереву решения ACP. Каждая реализация третьей фирмы, не базирующаяся на таргетах ISaGRAF, должна осуществляться через их собственную конкретную модель автоматизации CAM и определяет, что будет отображаться в дереве решения ACP. В частности, для интеграции решений, которые включают программный инструментарий настройки полевых устройств FDT (Field Device Tool), потребуется использовать специальный универсальный интерфейс FDT, чтобы отобразить эту информацию в дереве решения ACP. OEM-производителям будет предоставлена возможность включить их конкретную информацию в дерево решения в соответствии с требованиями для спецификации FDT/DTM (Device Type Manager, программное средство управления конкретным типом устройств), которая применима для сетей PROFIBUS, HART, FOUNDATION Fieldbus, DeviceNet, Interbus, ASInterface, PROFINET. 

Без сомнения, превращение ISaGRAF в единую платформу автоматизации, расширение бизнес-модели распространения продукта с целью учесть интересы различных групп пользователей позволит ISaGRAF 6 еще больше укрепить свои позиции на рынке инструментальных средств автоматизации. Подчеркнем еще раз, что задача реализованных в ISaGRAF 6 возможностей – уменьшить время вывода заказчиком законченного решения на рынок и сделать его более удобным для конечного пользователя.


Заключение

Вывод на рынок ISaGRAF 6 (можно даже назвать по-другому – ACP 1.0) открывает широкие возможности в области развития интегрированных решений в области систем управления процессами, ориентированных на определенный рынок, предметную область или конкретный тип контроллеров. Сохраняя все достижения предыдущих версий, ISaGRAF 6 делает новый шаг навстречу требованиям времени и пожеланиям пользователей.

Литература

1_Колтунцев А.В., Золотарев С.В. Стандарт IEC 61499 и система программирования контроллеров ISaGRAF 5: от теории к практике. Rational Enterprise Management. 2009. № 2.
2_Яковлев А.В., Липовец А.В., Золотарев С.В. Расширения ISaGRAF 5: инновационные функциональные возможности, производительность и открытость. ИСУП. 2009. № 2. 
3_Золотарев С.В. Некоторые особенности реализации стандарта IEC-60870-5-104 в системе программирования контроллеров ISAGRAF: от теории к практике. ИСУП. 2010. № 4.
4_Rogerio Dias Paulo (EFACEC Engenharia, S.A., Portugal), Functional Integration in Substation Automation Systems: System Tools and Interoperability. 
5_Karlheinz Schwarz, IEC 61850 beyond Substations – The Standard for the whole Energy Supply System. 
6_Neil Higgins, Valeriy Vyatkin, Nirmal-Kumar C Nair and Karlheinz Schwarz, Distributed Power System Automation with IEC 61850, IEC 61499 and Intelligent Control.

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

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