СРЕДСТВА РАЗРАБОТКИ

Говоря о тенденциях развития современных систем промышленной автоматизации, нельзя не отметить постоянного увеличения вычислительной мощности предлагаемых средств. Однако особенностью сегодняшнего дня является повышение стоимости ПО по отношению к стоимости оборудования и значительный рост затрат на инжиниринговые услуги. Программное обеспечение дорожает, конечно, не просто так: оно становится все более интеллектуальным и берет на себя все более сложные задачи. Таким образом, работать вроде бы легче, но растет и стоимость квалифицированного специалиста.

Для современных систем, безусловно, самое важное - открытость. Это абсолютно необходимое их свойство, за которым следуют простота освоения, функциональность и стоимость. Впрочем, с открытостью в целом вопрос ясен, и он определяется стандартным набором протоколов обмена данными и наличием SDK. Поэтому основные направления развития программных средств в настоящее время - наращивание возможностей, максимальное упрощение механизма разработки систем, в том числе и автоматизация труда разработчика.

Еще одна тенденция на рынке средств автоматизации - функциональное сближение таких когда-то “антагонистов”, как распределенные системы управления (DCS) и SCADA-системы. К основным признакам SCADA-систем относятся открытость, гибкость, более низкая стоимость решения, универсальность применения. DCS - это в первую очередь централизованная разработка и ведение проектов, большая вычислительная мощь и высокая надежность. Однако последние два аргумента вполне можно применить и по отношению к современным программируемым логическим контроллерам (ПЛК) и SCADA-пакетам, которые предоставляют широкие возможности для разработчика АСУ ТП. Поэтому ПЛК вкупе с современными пакетами HMI/ SCADA выполняют все более сложные задачи, свойственные ранее только DCS. Последние же, наоборот, вторгаются во все более “мелкие” задачи. Появляются гибридные системы. Короче говоря, идет размывание границы и захват смежных рынков как со стороны DCS, так и со стороны ПЛК+SCADA.

В данной статье речь пойдет еще об одной ступени к стиранию грани между этими двумя понятиями и одновременно о средстве удешевления стоимости инжиниринга - это очень интересная разработка таких титанов промышленной автоматизации, как компании Schneider Electric и Intellution.

Но сначала рассмотрим стандартную схему создания SCADA-системы на базе пакета iFIX и ПЛК Modicon (рис. 1).

Рис. 1. Типичная архитектура SCADA-системы

Начнем с программирования ПЛК. Для этого служит пакет Concept, поддерживающий возможность конфигурирования и программирования всего семейства ПЛК Modicon. С помощью Concept пользователи создают программу для ПЛК, применяя стандартизированные IEC-инструкции (International Electrotechnical Commission - Международная электротехническая комиссия, МЭК), поименованные переменные, вычисления с плавающей запятой и т. д. Данные в ПЛК определенным образом размещаются в памяти контроллера, а SCADA-система уже обращается к ячейкам памяти.

Для того чтобы получить эти данные на ПК, где установлен SCADA-пакет, должен работать драйвер ввода-вывода, который “знает” соответствующий протокол и поддерживает используемый канал связи. Драйвер конфигурируется согласно тому же закону, по которому распределена память в ПЛК. Когда драйвер запускается, он обращается по этим адресам в соответствующем контроллере, запрашивает данные и доставляет их в таблицу в оперативной памяти ПК. Таким образом данные становятся доступными на SCADA-узле.

Программа сканирования (обновления значений) базы данных реального времени iFIX забирает данные из таблицы драйвера и размещает их в базе данных реального времени (БДРВ). База данных SCADA-узла состоит из тегов, которые получают данные из ПЛК (а точнее, от драйвера ввода-вывода) и являются именованными переменными для прочих приложений iFIX. А дальше пользователь получает данные из тегов, обращаясь к ним по имени из любого модуля iFIX или из внешней программы.

Если теперь кратко повторить весь этот путь, то получится, что мы переназначаем одни и те же переменные несколько раз:

- первоначальная инициализация переменных в ПЛК и выделение ячейки памяти для хранения значения переменной;

- указание адреса ячеек в ПЛК при настройке драйвера ввода-вывода на ПК;

- теги в БДРВ iFIX еще раз описывают переменную уже для SCADA и имеют строку адреса, по нему данные будут запрашиваться программой сканирования;

- из мнемосхемы обращаемся к тегу, который обращается к драйверу, а тот в свою очередь - к памяти ПЛК, где хранится нужное нам значение.

Нелегкий путь, что и говорить. Неслучайно вид у разработчиков, как правило, угрюмый и задумчивый. Стоит пропустить букву или перепутать 0 и О в названии переменной, и все - такую ошибку можно искать часами+

Кроме того, мы практически несколько раз делаем одно и то же, данные несколько раз переименовываются на пути от анимированного объекта на мнемосхеме до реальной управляющей инструкции в ПЛК. Налицо явное дублирование, удвоение “ручной” работы и повод для увеличения ошибок. Неужели нельзя оптимизировать этот процесс?! Впрочем, если бы такой возможности не было, то и статья эта вряд ли бы появилась+

Навстречу разработчикам пришли компании Schneider Electric (Франция), поглотившая известного производителя ПЛК - компанию Modicon (США), и Intellution (США) - разработчик iFIX, одного из самых популярных на сегодня SCADA-пакетов. Они создали инструментарий, позволяющий говорить о появлении единой платформы автоматизации на базе ПЛК Modicon и iFIX.

Сначала появилась утилита под названием OneStep Link, сегодня уже доступна ее вторая версия. Она позволяет автоматически генерировать базу данных iFIX и конфигурировать драйвер ввода-вывода (Modbus Plus или Modbus Ethernet) на основании базы данных для ПЛК, сконфигурированной в программной среде Concept. One-Step Link заполняет базу данных iFIX переменными из одного или нескольких Concept-проектов. Также она может сравнивать базы данных iFIX и Concept и создавать текстовый файл со списком различий между ними. При наличии такого списка пользователь имеет следующие возможности: если переменная есть в Concept, но отсутствует в iFIX - добавить ее в последнюю, если описание переменной различно в Concept и iFIX, то сделать в iFIX так же, как в Concept, когда переменной нет в Concept, но все еще есть в iFIX, - удалить ее из БД iFIX. В процессе работы OneStep Link документирует действия, связанные с созданием, редактированием и расширением базы данных, и в итоге генерируется журнальный файл с протоколом по всем изменениям. То есть One-Step Link позволяет синхронизировать базы данных ПЛК и SCADA при их изменении, а следовательно, исключить ошибки, связанные с ручным вводом данных, и проблемы несоответствия данных в ПЛК и SCADA. Подобная интеграция раньше была доступна только при использовании DCS, сейчас же она может быть выполнена на базе Modicon и iFIX.

Таким образом, с помощью OneStep Link мы можем привязываться к входным-выходным переменным, однако разработка проектов АСУ ТП - процесс итерационный. Это означает, что и БД, и приложения развиваются параллельно и уровень ПЛК и SCADA необходимо периодически синхронизировать. Однако используя OneStep Link, нельзя проверить работоспособность логики. Ведь PID-регулятор для ПЛК можно создать, а потом удалить. Переменные при этом остаются (и SCADA продолжает обращаться к ним), а контур управления уже не действует. В итоге, если соответствующая логика (в ПЛК) уже не существует или была изменена, в SCADA-системе появятся лишние тревоги и т. д. Вывод: согласованность между SCADA и приложениями для ПЛК должна быть комплексной, и возможностей OneStep Link для этого не всегда хватает.

Но существует и еще один программный пакет семейства OneStep - OneStep Generator, пакет, разработанный компанией Schneider Electric, который кардинально меняет стиль разработки SCADA-системы, описанный в первой части статьи.

OneStep Generator - это объектно-ориентированный инструмент, позволяющий пользователям работать со стандартной терминологией описания технологического процесса и при этом:

- автоматически генерировать базу данных iFIX, файл конфигурации драйвера ввода-вывода (Modbus Plus или Modbus Ethernet), заготовки мнемосхем;

- автоматически конфигурировать память ПЛК, логику для ПЛК;

- подключать ссылки на проектную документацию;

- документировать все изменения, происходящие во время разработки системы;

- значительно сократить количество ошибок разработчиков и время, требуемое на разработку и тестирование системы;

- использовать стандарт S88 для описания архитектуры системы и именования объектов.

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

Рис. 2. Описание структуры системы, ПЛК и переменных

Для классификации элементов производства служит стандарт S88, включающий такие элементы, как “Предприятие”, “Производственная линия”, “Цех”, “Агрегат” и т. д. Можно как использовать элементы из поставляемой библиотеки, так и вводить и описывать новые. Именуя каждый элемент, мы формируем шаблон генерации названий переменных, программных процедур, графических элементов будущей SCADA-системы. В итоге мы создаем список переменных, полностью описывающих состояние всех объектов производства. После этого уточняем конфигурацию системы управления, набор ПЛК и их модулей. А дальше остается только мышкой “растащить” входные-выходные переменные из списка по модулям (см. рис. 2). Таким образом мы распределяем адресное пространство.

Затем следует задать названия операторских станций и структуру сети.

Когда система целиком описана, мы нажимаем заветную кнопку “Старт” и получаем заготовки системы в среде Concept и iFIX.

Теперь подробнее о типовых элементах. Вместе с OneStep-генератором поставляется библиотека объектов Smart Control Devices (SCD), которые позволяют пользователям создавать системы управления из готовых “кубиков” (рис. 3). SCD - это представление всех атрибутов, связанных с элементами процесса, включая управляющую программу, графику и переменные. Программы для ПЛК написаны на языках DFB и EFB, соответствующих стандарту IEC-1131 и входящих в состав ПО Concept. Графика реализуется на основе технологии ActiveX. Библиотека SCD дает возможность многократно использовать предопределенные блоки, благодаря чему возрастает скорость разработки приложений. Такая библиотека пополняема, и в будущем планируется поставлять разработчикам специальный инструментарий формирования новых SCD-объектов.

Рис. 3. Объекты Smart Control Devices

Сегодня OneStep-генератор способен разрабатывать от трети до половины SCADA-системы в автоматическом режиме. Кроме того, это не только средство разработки, но и инструмент дальнейшего сопровождения и развития системы управления. Оно появилось в ответ на требование рынка повысить эффективность труда программистов и снизить стоимость инжиниринга. Ключевыми заказчиками OneStep выступили такие крупные компании, традиционно использующие ПЛК Modicon и iFIX, как Gillette, IBM, BASF, Unilever, Merck, Rahway, Louis Nomany & Craig Good, Bridgestone Firestone, Quintronics, M&M Mars, Caterpillar и др.

Итак, подводя итоги, сформулируем основные преимущества программных продуктов под общим названием One-Step. В результате их использования:

- уменьшается количество ошибок;

- сокращается время на разработку;

- уменьшается стоимость разработки;

- снижается общая стоимость владения средствами АСУ ТП.

А это как раз те задачи, о которых шла речь в начале этой публикации.

К автору - сотруднику компании “ИндаСофт” можно обратиться по телефону: (095) 334-8880 или по e-mail: mterlets@indusoft.ru.