Илья Альперович

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

Для фирм, ориентирующихся на ОС Windows, таким лидером выступает Microsoft. Степень распространенности и известности продуктов Microsoft является мощным ускорителем для любого программного продукта, базирующегося на них, и пакеты АСУ ТП не являются исключением.

Распространение открытого стандарта программного взаимодействия COM/DCOM позволило строить пакеты из динамически подключаемых компонентов, что открыло принципиально новые возможности. Ими решили воспользоваться пять ведущих американских компаний (Fisher-Rosemount, Intellution, Intuitive Technology, Opto-22, Rockwell Software). В 1995 г. они занялись проблемой построения универсального протокола связи между SCADA пакетами и контроллерами. На самом деле это была даже более широкая задача - разработка единого универсального протокола для обмена данными между приложениями в реальном времени (протокол получил название OPC - OLE for Process Control).

Среди фирм, сделавших ставку на операционные системы Microsoft, видное место занимает компания Intellution (www.intellution.com). Вскоре после выхода Windows 95 она выпустила 32-разрядный пакет FIX32 версии 6. Эта версия работает как под Windows 95, так и под Windows NT 4.0. Постепенно подтянулись и остальные компании. К концу 1997 г. 32-разрядные пакеты автоматизации стали стандартом.

В 1998 г. фирма Intellution снова проявила инициативу и создала качественно новый продукт, уделив основное внимание открытости системы.

Собственно пакеты как Intellution, так и других ведущих западных компаний являются достаточно открытыми - они базируются на самой распространенной операционной системе (Windows) и поддерживают стандартные интерфейсы для обмена данными по DDE, ODBC, а также имеют API для подключения модулей на Си++ или VB. Для связи с контроллерами поставляются драйверы. Кроме того, можно разрабатывать драйверы самостоятельно с помощью специальных инструментальных средств.

Традиционно этого “джентльменского” набора достаточно, чтобы система считалась открытой. Но в данном случае открытыми являются лишь внешние интерфейсы системы. Принципиальное решение Intellution заключалось в том, чтобы сделать открытыми не только внешние, но и внутренние связи системы, обеспечить использование COM-технологии и стандартизировать интерфейс разработчика. При этом система разбивается на модули, взаимодействующие по открытому протоколу OPC, в качестве языка программирования (скриптов) для автоматизации экранных форм принимается язык VBA, а сами экранные формы теперь состоят из объектов со свойствами, методами и событиями, присущими объектам VBA. Оболочка подсистемы разработки проекта принимает вид Проводника Windows NT.

Ядро пакета FIX Dynamics

FIX Dynamics - так называется новый “рывок” Intellution. Его лозунг - “От семейства приложений - к компонентным решениям”. Компоненты стыкуются по принципу plug & solve (“устанавливай и считай”) посредством стандартных интерфейсов OPC, COM/DCOM и VBA.

Рис. 1. Структура пакета FIX Dynamics

Ядром пакета является система I-CORE. Она предназначена для обеспечения надежного объединения приложений. На ней базируются подсистемы сбора и обработки данных (база данных реального времени), отображения, функции архивирования данных, связи с объектом (драйверы), планировщика, OPC-сервера, отчетов и др. I-CORE построена на основе стандартов VBA, OPC, ActiveX, COM/DCOM и обеспечивает взаимодействие всех остальных подсистем между собой. В I-CORE входят подсистемы: Тревоги (Alarms), Защита (Security), Конфигурирование (SCU), Поддержка сети (Network), OPC-клиент, VBA и WorkSpace (рис. 2).

Рис. 2. Структура ядра I-CORE

Первые четыре компонента (Тревоги, Защита, Конфигурирование и Поддержка сети) являются расширениями уже существующих подсистем FIX32. Функция OPC-клиента обеспечивает связь с приложениями в реальном времени по протоколу OPC. Язык VBA служит единым языком программирования для FIX Dynamics.

Наиболее важный новый компонент I-CORE - интегрированная оболочка Intellution WorkSpace. Она поддерживает два режима - режим Configuration (этап конфигурирования или разработки проекта) и режим RunTime (этап выполнения).

В режиме Configuration эта оболочка имеет привычный для пользователей Windows NT вид программы Проводник и состоит из трех частей - дерева проекта, совокупности групп меню и рабочей области. При помощи средств WorkSpace удобно осуществлять управление проектом, выполняя операции поиска и замены строк, вызова приложений, сохранения проекта, настройки среды разработки и др. Среди ветвей дерева проекта присутствуют экранные формы (рисунки) и их объекты, база данных, документы Word, электронные таблицы Excel, отчеты, планировщик (новый элемент системы), глобальные переменные. Кроме того, из дерева проекта можно вызвать основные подсистемы FIX Dynamics.

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

Средства работы с экранными формами выделены в отдельные панели экспертов: эксперты графических примитивов, анимации и средств работы с объектами на видеоформе. Расширен набор графических примитивов, появилась функция поворота видимого объекта на произвольный угол. Для помещения на картинку можно импортировать файлы различных типов (*.pcx, *.bmp, *.ico, *.cur, *.psd и др.). Изображение можно разбить на 30 уровней и показывать по уровням.

В рабочем пространстве WorkSpace располагаются элементы экранных форм, которые являются объектами со своими свойствами, методами и событиями. Набор объектов и событий предопределен, но достаточен для реализации самой богатой фантазии разработчика. Добавлены новые типы связей - объекты. Возможные типы объектов: объект-переменная, объект-событие, объект-время и так называемые OLE-объекты. Эти объекты, за исключением OLE-объектов, являются невидимыми. Объект-переменная связывает с картинкой некую переменную, которую можно связать с тегом базы данных и использовать в скриптах. Объект-событие и объект-время запускают программы по наступлению определенного события или момента. Через OLE-объекты реализуется функция контейнера для ActiveX-модулей. Связь с этими модулями поддерживается через VBA. Применение стандартного языка для использования в экранных формах и преобразование картинок из изображений с закрытыми свойствами в коллекцию объектов со стандартным интерфейсом и делают FIX Dynamics значительно более открытым пакетом.

Объектная архитектура влечет важные изменения в принципах построения проекта. Значительно расширяются возможности импорта за счет использования ActiveX-объектов. Зачем изобретать свои экранные формы с заданным поведением, если то, что нужно, можно найти на рынке. В Internet существуют тысячи “магазинов”, в которых продаются различные модули. Во многих случаях дешевле купить объект (см., например, www.softwaretoolbox.com), чем разрабатывать его самому. На случай возможной некорректной работы вставленного элемента предусмотрена защита Secure Containment. Если вставленный объект сбоит или пытается выполнить несанкционированную операцию, то его выполнение останавливается, не затрагивая работы системы в целом.

Новая надстройка

Вокруг ядра I-CORE располагаются другие подсистемы FIX Dynamics, в частности база данных реального времени. Список основных блоков не изменился, но переработан интерфейс генератора базы данных и добавлены новые поля тегов. Появились дополнительные возможности по настройке генератора базы данных: автоматическое обновление, выбор цвета элементов таблицы, установка строк меню и статуса и др. К наиболее интересным новым полям можно отнести отметку времени и даты тревоги, полученную от OPC-сервера, и аналогичную отметку, проставляемую самим тегом. Кроме того, добавлены два текстовых поля по тревогам, которые могут использоваться для соответствующего запуска программ или открытия видеограмм.

Существенно изменена служба Тревог. Она теперь обслуживает не 16, а неограниченное количество зон тревог. Для апостериорного анализа может пригодиться новая функция посылки тревог в реляционную базу данных по ODBC протоколу.

Новая служба FIX Dynamics - планировщик (Scheduler). Он следит за временем и событиями в системе. По наступлению заданного события производится некоторое действие. Предусмотрено 20 стандартных действий (открыть/закрыть рисунок, квитировать тревоги, переключить дискретный тег и др.). Если нужно выполнить нестандартное действие, то можно написать программу на VBA.

Основной протокол - OPC

База данных реального времени, графика, подсистема тревог и истории, планировщик - все они взаимодействуют между собой по протоколу OPC.

Этот интерфейс предоставляет быстрый и надежный канал обмена данными. Высокая скорость обмена определяется тем, что он проводится через общую память и реализуется модулями динамической библиотеки DLL или локальным EXE-сервером.

Заключение

Суммируя нововведения, подготовленные Intellution, еще раз стоит подчеркнуть, что это не только и не столько наращивание новых качеств известного SCADA-пакета FIX. Это глубокие изменения в архитектуре и идеологии построения систем человеко-машинного интерфейса. В качестве протокола обмена данными с устройствами и между приложениями принимается открытый протокол OPC. Графическая подсистема - это универсальный клиент, поддерживающий объектную графику, где каждый графический объект имеет стандартные свойства и методы и может реагировать на события. Язык программирования для графических элементов - стандартный VBA. Среда разработки является контейнером для ActiveX-объектов, что позволяет объединять новые проекты с разработками, уже существующими на предприятии. Эти объекты можно внедрять и использовать в новом проекте, причем предусмотрена защита от сбоев внедренных объектов.

Дополнительную информацию о пакете FIX Dynamics можно получить у генерального представителя фирмы Intellution в СНГ и странах Балтии компании “Индасофт”.

“Индасофт”: (095) 336-9474, Web-адрес: www.indusoft.ipu.rssi.ru.

Версия для печати