Распределенная архитектура ifix– «крупно-блочное» построение диспетчерских систем асу тп современные технологии в hmi/scada системах Давно сказано – «согласных судьба ведет, не согласных – тащит»



Скачать 101.64 Kb.
Дата24.04.2016
Размер101.64 Kb.
Альперович И.В.
Распределенная архитектура iFIX– «крупно-блочное» построение диспетчерских систем АСУ ТП


  1. Современные технологии в HMI/SCADA системах

Давно сказано – «согласных судьба ведет, не согласных – тащит». В области человеко-машинного интерфейса автоматизированных систем управления (HMI/SCADA) такую определяющую роль играет всем известная фирма Microsoft. На сегодняшний день операционные системы Windows 95\98\NT\2000 абсолютно доминируют по числу применяющих их рабочих мест и поддерживаются практически всеми ведущими производителями автоматизированных систем. Успех Microsoft в сфере АСУ ТП был подготовлен не только ее ведущим положением в офисных системах, но и последовательным развитием самых передовых программных технологий.

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

Одной из фирм, которым удается удерживаться на уровне технологий Microsoft, является фирма Intellution, США (http://www.intellution.com). В 1995 г. она одной из первых выпустила полностью 32-х разрядный SCADA пакет FIX32 для Windows 95&NT, который был вполне успешен коммерчески. Одновременно она стала заниматься разработкой существенно другого продукта, который должен был воплотить новейшие технологии Microsoft. Напряженная работа была увенчана выходом в начале 1998 г. пакета FIX Dynamics (современное название – iFIX). В феврале 2001 г. вышел очередной его релиз – iFIX 2.5, в котором учтен накопленный опыт. Три года промышленной эксплуатации – это достаточно длительный срок, позволяющий подвести некоторые итоги.

К наиболее важным технологическим новшествам от Microsoft последних лет можно отнести COM/DCOM, VBA и ActiveX. Опираясь на них, Intellution сумел построить новую распределенную архитектуру, которая является принципиальным шагом вперед, по сравнению с уже ставшей стандартной архитектурой «клиент-сервер», Рис. 1.


  1. Универсальный интерфейс реального времени

Напомним, что спецификации ОРС (OLE for Process Control) были разработаны на основе технологии Microsoft COM/DCOM и предназначались для обмена информацией между программными приложениями в реальном времени. Развивающая этот стандарт некоммерческая организация OPC Foundation (http://www.opcfoundation.org ), насчитывает свыше 200 членов. В нее входят почти все ведущие мировые производители управляющих систем.

Intellution использовал протокол ОРС для декомпозиции своего SCADA пакета на три основные подсистемы – подсистему приема-передачи данных (ОРС – серверы), подсистему обработки данных (база данных реального времени) и подсистему графического человеко-машинного интерфейса (Workspace). Все эти подсистемы обмениваются информацией по протоколу ОРС, что делает их открытыми для независимого применения.

Спецификации ОРС определяют объекты-источники данных (ОРС-серверы), их функции (интерфейсы) и группировку данных на сервере. Группы позволяют организовать информацию наиболее удобным способом. Они могут создаваться клиентами динамически на этапе выполнения. Группа как целое может быть включена или отключена. При этом обязательно поддерживается обмен между клиентом и группой на сервере по событиям. Внутри каждой группы клиент может создать несколько элементов. Элементы представляют отдельные параметры данных. С каждым элементом связаны признак качества и временная метка.

Группы и элементы данных составляют адресное пространство ОРС сервера. Оно может быть фиксированным (определяется внутри сервера) или задаваться извне, конфигурироваться при старте или меняться «на ходу» клиентом. Обычно предполагается, что серверное адресное пространство управляется клиентом путем динамического построения групп элементов.

Спецификация ОРС задает две группы интерфейсов – OPC Custom интерфейс и OPC Automation интерфейс. Первая группа интерфейсов предназначена для обращения на языках высокого уровня (С++), а вторая – для скриптовых языков типа VBA. Реализация интерфейсов не оговаривается, однако должны поддерживаться определенные возможности, такие, например, как разделение канала связи (Ethernet или последовательного) между несколькими серверами. Также предполагается, что ОРС сервер оптимизирует доступ к данным, запрашиваемыми различными клиентами, чтобы оптимизировать доступ к физическому устройству. Получатель информации (клиент) может одновременно обращаться к нескольким ОРС серверам.

Особое внимание уделяется вопросам синхронизации (Synchronization) и упорядочивания (Serialization). Под синхронизацией понимается возможность клиента читать или записывать данные за одну транзакцию. Например, обычно значение параметра, его качество и отметка времени должны читаться одновременно. С другой стороны, одновременно должна выполниться запись всех уставок технологического регламента (Recipe). Упорядочивание – это способность клиента контролировать порядок записи и считывания данных. ОРС сервер удовлетворяет этим требованиям при помощи специальных механизмов установки соединения между сервером и клиентом.

Скорость ОРС драйверов вполне приемлема для SCADA систем. В тестах проведенных при составлении спецификаций сервер (Pentium 233) поставлял около 20 000 параметров в секунду 4-м клиентам при 10 % загрузке процессора. Для модели InProcсess ОРС позволяет передавать свыше 10000 параметров в секунду с менее чем 1% загрузкой CPU.

Принципиально новой возможностью работы с драйверами, обеспечиваемой ОРС, является применение универсальных языков для управления ими. В первую очередь, это С++, Microsoft Visual Basic (VB) и VBA. Есть возможность программно добавить к конфигурации устройство, блок или элемент данных, включить или остановить опрос ОРС-сервера, прочесть/записать данные и выполнить ряд других команд.

Intellution входил в руководящую группу по разработке спецификации ОРС с самого начала проекта и с тех пор продолжает его активно поддерживать. ОРС драйверы Intellution допускают автоматическую генерацию серверов, групп и элементов. Они позволяют конфигурировать драйвер и управлять им из приложения, передавать данных клиенту по событиям (в синхронном или асинхронном режиме), «на ходу» включать и выключать посылку сообщений к серверам, группам или элементам, использовать «защелкнутые» (т.е. последние достоверные) значения и имеют другие возможности. Адресное пространство драйвера просматривается через браузинг сконфигурированных адресов. Совместно с драйвером обычно поставляется стандартный клиент PowerTool – графический интерфейс пользователя. Он выполняется независимо от iFIX и позволяет конфигурировать ОРС сервер локально или удаленно по сети (Рис. 2).

3. База данных реального времени – ядро SCADA пакета
Драйвер передает исходные, обычно необработанные данные. Как правило, кроме замеряемых параметров в системе есть большое число величин, которые должны рассчитываться в реальном времени. Кроме того, требуется генерировать тревоги в ответ на нештатные ситуации, взаимодействовать с удаленными клиентами, вести историю и решать другие стандартные задачи HMI/SCADA пакета. Специально для выполнения этих функций был выделен отдельный продукт под названием SCADA-Server. Он не содержит графического интерфейса пользователя и этим отличается от узлов, выполняющих серверные функции в предыдущем пакете FIX32.

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

Intellution постарался сделать базу данных максимально открытой. Она может выступать ОРС сервером и клиентом, информация из нее доступна через ODBC драйвер и по DDE протоколу. Принципиальным новшеством является оснащение базы данных языком программирования высокого уровня. Нетрудно догадаться, что это язык офисных приложений VBA. Он связан с базой данных при помощи подсистемы Scheduler (Планировщик). Планировщик следит за временем или за событиями в базе данных. Событиями в базе данных являются определенные изменения значений тегов. При наступлении события запускается соответствующая программа на VBA. Например, при переключении дискретного канала можно вызвать некоторую диалоговую форму или послать e-mail. Для большого набора стандартных задач предусмотрены т.н. «Эксперты», генерирующие VBA-скрипты, так что создание программ в этих случаях осуществляется без программирования.


  1. WorkSpace – графический интерфейс разработчика и пользователя

Как известно, победное шествие ОС Windows началось с реализации GUI – графического интерфейса пользователя. Соответственно, удобству построения проекта уделено в iFIX особое внимание. Здесь реализована новая среда разработки Workspace. Следуя классическому образцу, она выдержана в стиле проводника Windows NT. В частности, имеется дерево проекта, панели функциональных меню, настраиваемые инструментальные наборы для построения экранных форм и для установления анимационных связей (Рис. 3).

Благодаря дереву проекта, разработчик имеет непосредственный доступ ко всем экранным формам. Каждая экранная форма является корнем дерева с графическими объектами, которые на нем изображены.

Среда разработки графических форм WorkSpace имеет два режима – Configure (Конфигурирование) и Run (Исполнение). Мгновенное переключение между этими режимами позволяет быстро проверить работоспособность экранной формы. В обоих режимах применяется один и тот же компилятор VBA. С его помощью можно, например, автоматизировать построение экранных форм проекта, создав собственные эксперты для разработки экранных форм на этапе Configure.

Из Workspace есть доступ ко всем подсистемам iFIX, а также к экранным формами их элементам. Особо следует выделить возможность доступа к объектам внутри группы на экранной форме. Благодаря этому, в iFIX не нужно разгруппировывать сложные объекты, чтобы изменить свойство какого-либо элемента внутри группы. Все диалоги по созданию анимации, вызову приложений, редактированию, настройке среды и другим функциям реализованы через типовые меню, к которым относятся – строка с ниспадающими меню, инструментальные панели и диалоговые окна с меню-закладками. Существенно расширены возможности по настройке рабочей среды и использованию файлов различных форматов. В экранную форму можно вставлять не только файлы формата bmp, но и ряда других, в т.ч. формата wmf.

Объекты WorkSpace анимируются через ОРС-источники. При этом таким источником может служить как «родная» база данных iFIX, так и любой другой зарегистрированный ОРС – сервер. Кроме того, можно «привязаться» к любому свойству объекта на этой или другой открытой мнемосхеме.

Для выполнения автоматизированных действий по событиям используется все тот же универсальный VBA. Он позволяет работать с базой данных iFIX, мнемосхемами, файлами и другими объектами в среде Windows. Например, можно обратиться к таблице Excel или документу Word, послать электронное письмо или выйти в Internet. При помощи объектов ADO на VBA достаточно просто реализуется обращение к реляционным базам данных с использованием ODBC или OLE DB.

Ряд стандартных задачи могут быть решены при помощи встроенных «Экспертов». Например, для выборки из реляционной базы данных можно применить компонент VisiconX, который без единой строки программирования конфигурирует вывод на экран данных из ODBC или OLE DB источников.


4. Рабочее место пользователя и ActiveX - контейнер
Несколько упрощая, можно сказать, что ActiveX объекты – это специальным образом разработанные программные модули, которые достаточно просто могут встраиваться в приложения, зачастую практически без программирования. Благодаря этому, нет необходимости тратить на реализацию требуемых функций многие человеко-годы, когда существуют готовые решения. Как правило, такие компоненты имеют демо-версии, так что перед приобретением можно удостовериться в работоспособности покупки.

В Интернете (см. например http://ww.componentsource.com ) можно найти предложения по всевозможным темам: трехмерное моделирование, искусственный интеллект, аудио-звуковые компоненты, математика, распознавание речи, управление базами данных, отчеты, электронная почта, работа с CAD и GIS форматами, телефония, пейджинг и многое другое.

Например, можно организовать представление экранных форм в виде дерева, которое может динамически менять свой вид. Или представить их виде набора меню и инструментальных панелей. Рабочее пространство может выглядеть стандартным образом как рабочий стол Windows или Office 2000. Информацию реального времени можно обрабатывать при помощи специальных или математических функций.

Однако для использования этого достижения программной технологии необходимо иметь соответствующий программный продукт, который сможет взаимодействовать с компонентом. Компонент «разрешает» управлять своим поведением, чем пользуется вызывающее его приложение. Ситуация аналогичная работе с ОРС интерфейсами (недаром оба этих программных объекта построены на базе спецификаций СОМ). Приложение, в которое встраиваются ActiveX компоненты, называется ActiveX контейнером. От его свойств зависит возможность применения компонент.

В Workspace компонент выглядит объектом со своими свойствами, как и все элементы, населяющие это рабочее пространство. Дополнительно он открывает ряд своих параметров, через которые его можно статически настраивать. Динамический обмен данными с ActiveX компонентом на этапе выполнения осуществляется проще всего через VBA. При этом реализуется сложный расчет или управление видимым поведением компонента путем передачи ему по событиям необходимых значений. Кроме возможности внедрения ActiveX компонента, которая является сравнительно широко распространенной, WorkSpace обладает уникальным качеством “Secure Containment” делать это безопасно. Т.е. при сбое вставленного компонента, он будет изолирован и не остановит работу системы в целом.

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




  1. Три источника – три составные части SCADA пакета

Перефразируя классическое выражение, можно сказать, что у современных SCADA пакетов, выполняющихся на операционных системах Microsoft Windows и представителем которых является iFIX фирмы Intellution, есть три источника и три составные части. К источникам относятся широко распространенные и устоявшиеся технологии - OLE и ActiveX на базе COM/DCOM, стандартный язык офисных приложений VBA и стандартный графический интерфейс пользователя в его современном виде.

Протокол OPC, выросший из COM/DCOM спецификаций, реализуется ОРС – серверами. Это - первая часть SCADA пакета. Вторая составная часть SCADA системы, которая собирает замеряемые и расчетные данные реального времени, генерирует тревоги, обслуживает клиентов и делает многое другое – база данных реального времени. В iFIX она имеет расширение на языке VBA, при помощи которого реагирует на события выполнением VBA-скриптов. Наконец, третья часть – клиентское приложение Workspace Intellution, реализующее графический интерфейс разработчика и пользователя. По своему внешнему виду оно приближено к офисным приложениям Microsoft, поддерживает VBA и является ActiveX контейнером. Три перечисленные части могут располагаться на разных компьютерах или объединяться в один узел – для современного приложения с распределенной архитектурой это не имеет принципиального значения.

В статье рассмотрен «каркас» пакета iFIX. Вероятно, не будет большим преувеличением сказать, что степень соответствия SCADA-системы этой архитектуре – один из критериев ее современности.



Генеральный дистрибьютор Intellution в России, СНГ и странах Балтии – московская компания Индасофт (http://www.indusoft.ru).





База данных защищена авторским правом ©bezogr.ru 2016
обратиться к администрации

    Главная страница