SCADA как открытая система

Распространение архитектуры «клиент-сервер» стало возможным благодаря развитию и широкому внедрению в практику концепции открытых систем. Главной причиной появления и развития концепции открытых систем явились проблемы взаимодействия программно-аппаратных средств в локальных компьютерных сетях. Решить эти проблемы можно было только путем международной стандартизации программных и аппаратных интерфейсов.

· Концепция открытых систем предполагает свободное взаимодействие программных средств SCADA с программно-техническими средствами разных производителей. Это актуально, так как для современных систем автоматизации характерна высокая степень интеграции большого количества компонент. В системе автоматизации кроме объекта управления задействован целый комплекс программно-аппаратных средств: датчики и исполнительные устройства, контроллеры, серверы баз данных, рабочие места операторов, АРМы специалистов и руководителей и т. д. (рис. 2.3). При этом в одной системе могут быть применены технические средства разных производителей.

Рис. 2.3. Интеграция SCADA в систему управления.

Очевидно, что для эффективного функционирования в этой разнородной среде SCADA-система должна обеспечивать высокий уровень сетевого взаимодействия.

Реализация этой задачи требует от SCADA-системы наличия типовых протоколов обмена с наиболее популярными промышленными сетями, такими, как Profibus, ControlNet, Modbus и другими.

С другой стороны, SCADA-системы должны поддерживать интерфейс и со стандартными информационными сетями (Ethernet и др.) с использованием стандартных протоколов (TCP/IP и др.) для обмена данными с компонентами распределенной системы управления.

Практически любая SCADA-система имеет в своем составе базу данных реального времени и подсистему архивирования данных. Но подсистема архивирования не предназначена для длительного хранения больших массивов информации (месяцы и годы). Информация в ней периодически обновляется, иначе для нее просто не хватит места. Рассматриваемый здесь класс программного обеспечения (SCADA - системы) предназначен для обеспечения текущей и архивной информацией оперативного персонала, ответственного за непосредственное управление технологическим процессом.

Информация, отражающая хозяйственную деятельность предприятия (данные для составления материальных балансов установок, производств, предприятия в целом и т. п.), хранится в реляционных базах данных (РБД) типа Oracle, Sybase и т. д. В эти базы данных информация поставляется либо с помощью ручного ввода, либо автоматизированным способом (посредством SCADA-систем). Таким образом, выдвигается еще одно требование к программному обеспечению SCADA - наличие в их составе протоколов обмена с типовыми базами данных.

Наиболее широко применимы два механизма обмена:

- ODBC (Open Data Base Connectivity - взаимодействие с открытыми базами данных) – международный стандарт, предполагающий обмен информацией с РБД посредством ODBC-драйверов. Как стандартный протокол компании Microsoft, ODBC поддерживается и наиболее распространенными приложениями Windows;

- SQL (Structured Query Language) – язык структурированных запросов.

· Программное обеспечение SCADA должно взаимодействовать с контроллерами для обеспечения человеко-машинного интерфейса с системой управления (рис. 2.3). К контроллерам через модули ввода/вывода подключены датчики технологических параметров и исполнительные устройства (на рис. 2.3 не показаны).

Информация с датчика записывается в регистр контроллера. Для ее передачи в базу данных SCADA-сервера необходима специальная программа, называемая драйвером. Драйвер, установленный на сервере, обеспечивает обмен данными с контроллером по некоторому физическому каналу. Но для реализации обмена необходим и логический протокол.

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

Большое количество контроллеров с разными программно- аппаратными платформами и постоянное увеличение их числа заставляло разработчиков включать в состав SCADA-системы большое количество готовых драйверов (до нескольких сотен) и инструментарий для разработки собственных драйверов к новым или нестандартным устройствам нижнего уровня.

Для взаимодействия драйверов ввода/вывода и SCADA до недавнего времени использовались два механизма (рис. 2.4):

- DDE (Dynamic Data Exchange - динамический обмен данными);

- обмен по собственным (известным только фирме-разработчику) протоколам.

Рис. 2.4. Обмен информацией с помощью DDE-протокола.

Взамен DDE компания Microsoft предложила более эффективное и надежное средство передачи данных между процессами – OLE (см. ниже). А вскоре на базе OLE появился новый стандарт OPC, ориентированный на рынок промышленной автоматизации.

· OPC-интерфейс

OPC – это аббревиатура от OLE for Process Control (OLE для управления процессами). Технология OPC основана на разработанной компанией Microsoft технологии OLE (Object Linking and Embedding – встраивание и связывание объектов). Под объектами здесь подразумеваются так называемые компоненты, которые представляют собой готовые к использованию мини-приложения. Встраивая и связывая эти компоненты, можно разрабатывать приложения компонентной архитектуры. Этот новый подход к разработке приложений, предложенный компанией Microsoft, получил название технологии COM (Component Object Model – модель компонентных объектов). Теперь приложение-клиент может удаленно вызывать те или иные функции этих объектов так, как будто объекты находятся «рядом». Объект может нахо­диться и в самом деле рядом (в адрес­ном пространстве приложения) - тогда это просто СОМ.

Если же объект находится в другой программе на том же компьютере или на другом узле сети, то это DCOM-Distributed (распределенная) СОМ.

Так что же такое ОРС ?OPC представляет собой коммуникационный стандарт, поддерживающий взаимодействие между полевыми устройствами, контроллерами и приложениями разных производителей. Стандарт OPC описывает компонентные объекты, методы и свойства (базирующиеся на технологии OLE/COM) для серверов данных реального времени, таких как PLC, DCS, систем архивирования данных и других, и обеспечивает передачу информации, содержащейся на этих серверах, стандартным OLE-клиентам.

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

Более популярно изложить идею технологии OPC можно на примере стандартов на шины для персонального компьютера (ПК). К шине ПК можно подключать широкий класс устройств, производимых целым рядом компаний, и все они будут иметь возможность взаимодействовать друг с другом, поскольку используют одну и ту же стандартную шину. Также и унифицированный интерфейс OPC позволяет различным программным модулям, производимым самими различными компаниями, взаимодействовать друг с другом.

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

Каждая OPC-группа содержит набор OPC-элементов, в которых хранятся данные, поступившие от соответствующего устройства управления процессами. Запрос клиента серверу на получение данных реализуется посредством указания идентификатора элемента. Идентификаторы элементов – свои у каждого сервера. По уникальному идентификатору сервер умеет находить нужное значение в соответствующем устройстве (например, контроллере). Для ПЛК идентификатор элемента обычно соответствует номеру регистра. Дополнительно сервер может снабжать полученные данные меткой времени.

Использование технологии OPC в настоящее время возможно лишь в операционных системах, построенных на технологии OLE/COM, т.е. в ОС Microsoft Windows 95/98 и Windows NT. Идут разработки поддержки этой технологии для операционной системы UNIX.

Таким образом, любое устройст­во, для которого есть ОРС-сервер, мо­жет использоваться вместе с любой со­временной SCADA-системой, реализованной на платформе MS Windows.

Развивающая стандарт OPC некоммерческая организация OPC Foundation (http://www.opcfoundation.org), насчитывает свыше 200 членов. В нее входят почти все ведущие мировые производители программно-аппаратных средств автоматизации.

Хотя стандарт ОРС и основан на универсаль­ном фундаменте - COM/DCOM, он разра­батывался специально для использова­ния в промышленной автоматизации и поэтому имеет вполне содержатель­ную концептуальную сторону.

Стандарт состоит из трех основных спецификаций:

- доступ к данным реального времени (Data Access);

- обработка тревог и событий (Alarms & Events);

- доступ к историческим данным (Historical Data Access).

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

 

Раньше разработчикам клиентских приложений приходилось писать множество драйверов (см. рис. справа) для взаимодействия с каждым из используемых управляющих устройств (контроллеров).

Стандарт OPC позволяет написать лишь один-единственный драйвер (рис. справа) для доступа к данным, поступающим в едином формате от самых различных источников.


OPC-интерфейс допускает различные варианты обмена: с физическими устройствами, с распределенными сетевыми системами управления и с любыми приложениями (рис.2.5). На рынке имеются и инструментальные пакеты для написания OPC-компонентов.

Рис. 2.5. Обмен данными по OPC-интерфейсу.

Использование технологии OPC позволяет конечным пользователям выбирать программно-аппаратные средства, наиболее отвечающие их потребностям, независимо от того, кто их производит.

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

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

С другой стороны, сегодня в мире существует множество компаний, занимающихся разработкой различных программных компонентов для SCADA-систем, например, ActiveX-объектов. Их использование при разработке систем автоматизации упрощает и ускоряет процесс проектирования. Этот процесс все больше начинает напоминать процесс «сборки» прикладного программного обеспечения из готовых компонентов. Снижаются требования к квалификации программистов – количество задач, решаемых системой с помощью программ собственной разработки на высокоуровневых языка типа C или Visual Basic уменьшается. Все это способствует расширению области применения SCADA-систем.

· ActiveX-объекты

ActiveX – это технология Microsoft, основанная на COM/DCOM (см. выше) и предназначенная для написания сетевых приложений. Она предоставляет программистам наборы стандартных библиотек, значительно облегчающих процесс кодирования.

Стандарт ActiveX позволяет программным компонентам взаимодействовать друг с другом по сети независимо от языка программирования, на котором они написаны (Visual Basic, Visual C++, Borland Delphi, Borland C++, любые средства разработки на Java).

ActiveX обеспечивает некий «скрепляющий раствор», с помощью которого отдельные программные компоненты на разных компьютерах «склеиваются» в единую распределенную систему.

Технология ActiveX включает в себя клиентскую и серверную части.

Серверная часть технологии ActiveX реализована с помощью Microsoft Internet Information Server(IIS).

Клиентская технология ActiveX реализуется на машине-клиенте с помощью библиотек, поставляемых вместе с Microsoft Internet Explorer, являющимся полнофункциональным Wев-браузером (WWW - World Wide Web) и контейнером для ActiveX-элементов. Сегодня технология ActiveX успешно внедряется в системы, функционирующие на Windows-платформе. Нет сомнения, что в ближайшее время эти технологии будут использоваться и на других платформах, так как информационные технологии развиваются очень высокими темпами.

Какое же отношение технология ActiveX имеет к SCADA-системам? Разработчики SCADA-программ на платформе WindowsNT/2000/XP воспользовались этой технологией Microsoft. Сейчас уже многие SCADA являются контейнерами для ActiveX-объектов. А это значит, что огромное количество готовых к многократному использованию ActiveX-объектов, создаваемых многочисленными производителями подобного программного продукта, могут встраиваться с минимальным программированием в SCADA-приложения. И тогда процесс разработки человеко-машинного интерфейса будет напоминать работу с конструктором, заключающуюся в подборе и встраивании готовых компонентов.

В режиме исполнения ActiveX-компоненты поддерживают динамический обмен данными с другими сетевыми программно-аппаратными компонентами по OPC-интерфейсу.

 
 

Пример ActiveX-объекта приведен на рис. 2.6.

Рис. 2.6. ActiveX-объект «Сводка сигнализации».

Итак, открытость программного обеспечения SCADA обеспечивается целым рядом факторов, а именно:

- возможностью создания собственных программных модулей

и использования программных модулей разработки других компаний;

- наличием специальных драйверов для связи SCADA с наиболее

популярными контроллерами разных фирм;

- наличием специальных инструментальных средств для создания новых

драйверов;

- возможностью их работы в типовых операционных системах;

- наличием типовых программных интерфейсов (DDE, OLE, OPC, ActiveX, ODBC, SQL и др.), связывающих ПО SCADA с другими программно-аппаратными средствами системы управления, включая и СУБД.

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