Научная статья на тему 'Программные средства компании SCADA Engine для построения систем автоматизации на базе сетевой платформы BACnet'

Программные средства компании SCADA Engine для построения систем автоматизации на базе сетевой платформы BACnet Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
248
100
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Паршиков Алексей, Золотарев Сергей

В статье рассматриваются программные средства австралийской компании SCADA Engine, являющейся одним из мировых лидеров в области разработки программного обеспечения для систем автоматизации зданий, базирующихся на сетевой платформе BACnet. Программные средства компании SCADA Engine включают OPC, сервер и OPC,клиент для BACnet, средства Web,интерфейса, мониторинга и симуляции сетей и устройств BACnet, а также API (интерфейс прикладного программирования) для BACnet в среде Windows и Linux. Приводится сравнение функциональных и стоимостных характеристик продукции SCADA Engine и аналогичных продуктов конкурирующих компаний.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программные средства компании SCADA Engine для построения систем автоматизации на базе сетевой платформы BACnet»

Алексей ПАРШИКОВ

[email protected]

Сергей ЗОЛОТАРЕВ, к. т. н.

[email protected]

BACnet:

вкратце об основных понятиях

Прежде чем перейти к рассмотрению программных продуктов для BACnet компании SCADA Engine, хотелось бы остановиться на самой платформе BACnet, стандартах, составляющих ее основу, и некоторых базовых понятиях. Это короткое вступление полезно для понимания возможностей и назначения программных продуктов компании SCADA Engine для платформы BACnet.

Разработка протокола BACnet (Building Automation and Control network) началась в июне 1987 года. Целью разработки было создание унифицированного, не зависящего от производителей оборудования, стандарта для передачи данных в системах автоматизации зданий. Первоначальная версия BACnet опубликована в 1995 году и стала стандартом ASHRAE 135-1995 (ASHRAE — Американское общество инженеров по отоплению, охлаждению и кондиционированию воздуха). В период с 1995 по июнь 2001 года было выполнено пять дополнений к исходному стандарту. В 2001 году была одобрена новая версия стандарта, включающая в себя все предыдущие дополнения. В 2003 году протокол BACnet стал международным стандартом ISO 16484-5 по системам автоматизации зданий. На данный момент выпушено несколько новых редакций стандарта (ISO 16484-5:2005, ISO 16484-5:2007).

В качестве транспортного уровня протокол BACnet позволяет использовать различ-

Программные средства компании SCADA Engine

для построения систем автоматизации на базе сетевой платформы BACnet

В статье рассматриваются программные средства австралийской компании SCADA Engine (www.scadaengine.com), являющейся одним из мировых лидеров в области разработки программного обеспечения для систем автоматизации зданий, базирующихся на сетевой платформе BACnet. Программные средства компании SCADA Engine включают OPC-сервер и OPC-клиент для BACnet, средства Web-интерфейса, мониторинга и симуляции сетей и устройств BACnet, а также API (интерфейс прикладного программирования) для BACnet в среде Windows и Linux. Приводится сравнение функциональных и стоимостных характеристик продукции SCADA Engine и аналогичных продуктов конкурирующих компаний.

ные пути передачи данных, такие как Ethernet, ARCNET, Master-Slave/Token Passing (MSTP) на базе физической среды RS-485, Point-to-Point (PTP) при удаленном подключении через аналоговые телефонные линии (например, по модемам) или по RS-232, LonTalk на базе различных физических сред (витая пара, оптоволокно, коаксиальный кабель, беспроводные, силовые линии). Для взаимодействия через IP-сети BACnet предусматривает два режима работы:

• BACnet Ethernet (туннелирование IP-сообщений): в этом методе используются специальные, поддерживающие IP, устройства, называемые туннельными маршрутизаторами, которые перехватывают сообщения BACnet, не основанные на IP, и пересылают их маршрутизатору для доставки к устройству назначения.

• BACnet/IP (Annex J): базируется на IP-протоколе сети и допускает режим «подписки» на получение информационных сообщений. Формальная модель протокола BACnet

строится на основе объектно-ориентированной методологии — структурных интерфейсных блоков BIBB (BACnet Interoperability Building Blocks). BIBB предусматривает многоуровневую структурированную модель, состоящую из следующих уровней: BIBB - сервисы - устройства - объекты - свойства. Поддерживаемые блоки BIBB для каждого устройства BACnet перечислены в PICS (Protocol Implementation Conformance Statement). PICS — это документ, детально описывающий тип

данного устройства BACnet и его возможности по взаимодействию с другими устройствами.

В BACnet все свойства подразделяются на несколько функциональных интерфейсных областей (interoperability areas), в каждой из которых определены базовые функции:

• Обмен данными (DS, Data sharing). Функции: получение и предоставление данных от объектов, изменение данных в объектах.

• Обработка тревог (алармов) и событий (AE, Alarm or event management). Функции: генерирование тревог/событий, оповещение о тревогах/событиях, создание списка не квитированных тревог/событий, изменение параметров тревог/событий.

• Календарное планирование (SCHED, Scheduling). Функции: планирование изменения значений аналоговых и дискретных параметров.

• Запись графиков изменения значений (T, Trending).

• Управление устройствами и сетью (DM, Device and NM, Network management). Функции: запрос и выдача информации о статусе устройства/объекта, запрос и выполнение перезагрузки устройства, синхронизации времени, считывание конфигурации устройства.

• Виртуальный терминал (VT, Virual Terminal). Функции: открыть, закрыть, обмен данными. Интерфейсные блоки BIBB классифицируются по вышеописанным интерфейсным областям. Все сервисы (которых сейчас опреде-

Рис. 1. Пример интерфейса пользователя с SE-OPC

лено более 30) имеют классификационный признак клиента (запрос данных) — A и признак сервера (предоставление данных) — B. Например, если BIBB — блок чтения свойства для устройства-клиента DS-RP-A, то интерфейсная область «обмен данных» (DS), тип А — получатель данных, свойство — ReadProperty (RP).

BACnet определяет около 20 типов объектов, таких как аналоговый вход (AI), выход (AO) и значение (AV), дискретный вход (BI), выход (BO), значение (BV), тренд, календарь (Calendar), файл (File), команда (Command), устройство (Device), группа (Group), цикл (Loop), программа (Program), расписание (Schedule), класс уведомления (Notification-Class), регистрация события (Event-Enrollment). BACnet специфицирует более 120 свойств объектов. Из них три свойства являются обязательными для каждого объекта: идентификатор, имя и тип объекта.

Программные средства компании SCADA Engine для BACnet

Австралийская фирма SCADA Engine предлагает на мировом рынке автоматизации зданий программный инструментарий для BACnet: BACnet OPC-сервер, BACnet OPC-клиент, Web-сервисы BACnet в среде Windows NT, 2000, XP, средства программного интерфейса (API) для разработки BACnet-приложений в среде Windows и Linux, рабочую станцию оператора BACnet, симулятор сервера BACnet.

Программное обеспечение компании SCADA Engine работает через драйвер BACnet, который определяет так называемый порт BACnet — общее понятие в сети BACnet, применимое для различных типов коммуникации, включая BACnet Ethernet, BACnet/IP, BACnet MSTP и BACnet PTP. Драйвер BACnet позволяет с помощью маршрутизаторов комбинировать различные типы связи в одной и той же сети. В большинстве случаев в одну сеть объединяются устройства BACnet/IP и BACnet MSTP. Одна из типовых конфигураций (например, для BACnet OPC сервера) — один-единственный порт BACnet/IP и несколько BACnet MSTP устройств, которые доступны через маршрутизаторы BACnet. Каждому порту присваивается уникальный номер сети (Network Number) в диапазоне от 1 до 65 534, который соответствует номеру сети в данном сегменте.

SE-OPC — OPC-сервер BACnet от компании SCADA Engine

SE-OPC — это программное обеспечение в среде Windows (NT 4.0, 2000, XP), которое дает возможность OPC-совместимой рабочей станции считывать и записать свойства BACnet от любого BACnet-совместимого устройства в сети. Интерфейс в стиле проводника позволяет легко конфигурировать свой-

ства BACnet в виде тэгов OPC. Тэги OPC могут быть конфигурированы, изменены и сохранены OPC-сервером в режиме онлайн или оффлайн. Файлы конфигурации возможно модифицировать в Microsoft Excel. SE-OPC успешно прошел все тесты доступа к серверу OPC Data Access v.1, v.2, а также соответствует спецификации “Alarm/event specification v1.0” и работает со многими SCADA-системами (ARC Informatique — PcVue, Wonderware Intouch, Iconics Genesis32, Intellution iFIX, ...). SE-OPC соответствует стандарту ISO 16484-5, что гарантирует работу сервера со всеми продуктами BACnet. Поддерживаются следующие BACnet BIBB: DS-RP-A, DS-RPM-A, DS-WP-A, DS-WPM-A, DS-COV-A, DS-COVU-A, AE-N-A, AE-ACK-A, AE-ASUM-A, AE-ESUM-A, DM-DDB-A, SCHED-A. На рис. 1 приведен пример интерфейса пользователя с SE-OPC.

При работе SE-OPC используется база данных тэгов OPC, которая позволяет отображать (интерпретировать) информацию из сети BACnet при запросах OPC-клиентов. Тэги OPC могут формироваться вручную либо автоматически с помощью BACnet-сервиса ReadPropertyMultiple. Имя тэга OPC составляется из нескольких компонентов точки в сети BACnet: Device ID, Object Type, Instance и Property. Например, SE-OPC поддерживает нестандартные объекты и свойства (Proprietary Objects и Proprietary Properties), которые часто используются производителями BACnet-устройств. Например, тип объекта может иметь номер 501, в то время как стандартные типы нумеруются в диапазоне от 0 до 20.

Сравним возможности OPC-сервера SE-OPC компании SCADA Engine с возможностями аналогичных продуктов от других компаний по числу поддерживаемых BIBB: OPC-BCNET-NA00 от Kepware Technologies [1],

Таблица 1. Сравнение OPC-серверов для BACnet от различных поставщиков по числу поддерживаемых BIBB

SE-OPC OPC-BCNET-NAQQ B21QQ MatriconOPC

DS-RP-A + + + +

DS-RPM-A + + + +

DS-WP-A + + + +

DS-WPM-A + + - +

DS-COV-A + + + +

DS-COVU-A + + - -

AE-N-A + - + -

AE-ACK-A + - + -

AE-ASUM-A + - - -

AE-ESUM-A + - - -

DM-DDB-A + + + +

SCHED-A + - + -

B2100 компании Cimetrics [2], MatriconOPC for BACnet (Annex J) компании Matricon [3]. Результаты сравнения приведены в таблице 1.

Судя по таблице 1, OPC-сервер BACnet от SCADA Engine поддерживает значительно большее число BIBB, чем конкурирующие продукты. Поэтому его использование гарантирует более полную поддержку BACnet-устройств различных производителей, что влечет за собой уменьшение затрат на комплексную интеграцию и предоставляет значительные конкурентные преимущества разработчику (интегратору) конечных систем автоматизации зданий.

Сравним также стоимостные характеристики OPC-сервера SE-OPC [4] компании SCADA Engine с ценами продуктов от других компаний. Цены взяты с официальных сайтов ком-

Таблица 2. Сравнение цен OPC-серверов для BACnet от различных поставщиков

SE-OPC (SCADA Engine) OPC-BCNET- NAQQ (Kepware) B21QQ (Cimetrics) MatriconOPC (Matricon)

Цена, USD 99G 1195 1595 ?

паний: Kepware Tech-nologies [5], Cimetrics [6]. Цены на MatriconOPC for BACnet нет на сайте компании. Результаты сравнения приведены в таблице 2.

Судя по данным таблицы 2, цена OPC-сервера BACnet от SCADA Engine значительно ниже, чем у конкурирующих продуктов.

SE-OPC2B — OPC-клиент для BACnet

SE-OPC2B — OPC-клиент в среде Windows (NT 4.0, 2000, XP) с функцией преобразования данных в объекты BACnet: OPC-клиент считывает данные с OPC-сервера и преобразует информацию в объекты BACnet, расположенные локально на сервере BACnet. Эти объекты BACnet могут читаться любым BACnet-совместимым устройством в сети. Интерфейс в стиле проводника позволяет легко конфигурировать тэги OPC в виде свойств BACnet. Локальные объекты BACnet могут быть сконфигурированы, изменены и сохранены онлайн или оффлайн из приложения. Файлы конфигурации могут быть модифицированы в Microsoft Excel. SE-OPC2B успешно прошел все тесты OPC-клиента. Он полностью совместим с OPC-серверами, удовлетворяющими OPC DA v.1 или v.2, а также соответствует спецификации “Alarm/ event specification v1.0”. SE-OPC2B тоответст-вует стандарту ISO 16484-5, что гарантирует работу сервера со всеми продуктами BACnet. На рис. 2 приведен пример интерфейса пользователя с SE-OPC2B.

Рис. 2. Пример интерфейса пользователя с SE-OPC2B

SE-BWebServ — web-сервисы BACnet

SE-BWebServ — web-сервисы BACnet компании SCADA Engine — предоставляют средства для интегрирования систем контроля и управления инженерными системами зданий и сооружений (BMS, Building Management Systems) с другими приложениями по управлению предприятием, используя технологии SOAP/XML. Это позволяет платформам, таким как Microsoft.Net или Java, обращаться к данным реального времени системы управления BMS, использующей технологию BACnet. Поддержаны все стандартные объ-

Таблица 3. BACnet-сервисы, поддерживаемые web-сервисами SE-BWebServ

BACnet-cepBHCbi Инициализация (Initiate) Выполнение (Execute)

Who Is Да Да

I Am Да Да

Who Has Да Да

I Have Да Да

Read Property Да Да

Write Property Да Да

Device Communication Control Да Да

ReinitializeDevice Да Да

Atomic Read File Да Да

Atomic Write File Да Да

Time Synchronization Да Да

UTC Time Synchronization Да Да

Subscribe COV Да Да

Subscribe COV Property Да Да

Confirmed COV Notification Да Да

Unconfirmed COV Notification Да Да

Read Property Multiple Да Да

Read Range Да Да

Write Property Multiple Да Да

Get Alarm Summary Да Да

Get Event Information Да Да

Get Enrollment Summary Да Да

Acknowledge Alarm Да Да

Confirmed Event Notification Да Да

Unconfirmed Event Notification Да Да

Unconfirmed Text Message Да Да

Confirmed Text Message Да Да

Add List Element Да Да

Remove List Element Да Да

Create Object Да Да

Delete Object Да Да

Unconfirmed Private Transfer Да Да

Confirmed Private Transfer Да Да

Life Safety Operation Да Да

Get Event Information Да Да

Таблица 4. Объекты BACnet, поддерживаемые web-сервисами SE-BWebServ

BACnet-o6teKTbi Может быть создан (Creatable) Может быть удален (Deletable)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

AnalogInput Да Да

AnalogOutput Да Да

AnalogValue Да Да

BinaryInput Да Да

BinaryOutput Да Да

BinaryValue Да Да

Calendar Да Да

Command Да Да

EventEnrolment Да Да

Group Да Да

Loop Да Да

MultistateInput Да Да

MultistateOutput Да Да

NotificationClass Да Да

Schedule Да Да

Averaging Да Да

MultistateValue Да Да

TrendLog Да Да

LifeSafetyPoint Да Да

LifeSafetyZone Да Да

Accumulator Да Да

PulseConverter Да Да

екты и сервисы BACnet (табл. З, 4). Также поддержаны все стандартные web-службы.

Web-сервисы BACnet используют понятие пути для того, чтобы ссылаться на значение экземпляра объекта в сети BACnet. Путь создается из адреса в сети BACnet на основе следующего соглашения: /[Network]/ [Device]/[ObjectType]/[Instance]. Таким образом, путь к аналоговому значению AV 0

в устройстве 11, сети 2 будет задаваться в виде /2/11/2/0, и его значение может быть прочитано путем вызова функции getValue («», «/2/11/2/0»). Реализованы следующие функции: getValue, getValues, getRelativeValues, getArray, getArrayRange, getArraySize, setValue, setValues, getDefaultLocale, getSupportedLocals. Кроме того, может быть получено отдельное свойство при использовании следующего соглашения /[Network]/[Device]/[ObjectType]/ [Instance]/[PropertyType]. Web-сервисы реализуют следующие BACnet сервисы (табл. З) и поддерживают следующие BACnet объекты (табл. 4).

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

SE-BSDKDB — набор средств для разработки ПО BACnet для Windows и Linux

SE-BSDKDB — это API cервера BACnet для Windows (динамическая библиотека dll) для Windows 95/NT/2000/XP, которая нужна, чтобы построить сервер BACnet, шлюз или приложение-клиент BACnet, используя языки программирования C++, .Net(C# и VB), VB6, JAVA или Perl. Его цель — сделать информацию реального времени доступной через службы BACnet так, чтобы другие BACnet-устройства могли производить чтение/запись на сервер BACnet. Это обычно применяется как шлюз для не BACnet системы, чтобы дать возможность BACnet-устройствам управлять не BACnet системой. Поддерживаются BACnet/IP, BACnet Ethernet, BACnet MSTP, BACnet PTP и Anex H Data Link Layers. Этот API предлагает законченный набор стандартных объектов и служб BACnet. Доступен также вариант библиотеки для разработки приложений в среде Linux с ядром 2.4 и 2.6 — с исходным текстом или без него.

Рабочая станция оператора BACnet

Рабочая станция оператора BACnet — это система мониторинга сети BACnet, основанная на приложении в среде Windows NT/2000/XP и спроектированная для взаимодействия с сетью BACnet. Рабочая станция отображает дисплеи/тревоги (Displays/Alarms) и временные расписания (Time Schedules) в сети BACnet, как это показано на рис. З.

^ева от экрана приведено дерево, которое используется для навигации по системе, а справа находится область отображения данных, которая обеспечивает графическое представление системы (например, завода или здания) вместе с данными реального времени, полученными из сети BACnet. В состав рабочей станции оператора входит редактор мне-

мосхем, который позволяет пользователю их легко создавать и редактировать.

Дерево системы (в левой части) делится на следующие секции, которые обеспечивают всю необходимую функциональность, требуемую станцией мониторинга:

• Тревоги (Alarms) — в этой секции отображаются все тревоги, полученные станцией.

• Браузер объектов, в котором указаны все объекты в сети BACnet, структурированные по отдельным подсетям и объектам внутри них. Браузер объектов позволяет редактировать объекты.

• Отчеты — эта секция содержит отчеты из базы данных BACnet.

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

разрешено просматривать объекты в сети BACnet, но без права их редактирования.

• Временные расписания (Time Schedule) — эта секция обеспечивает возможность группирования расписаний по определенному признаку.

• Тренды — секция поддерживает работу с объектами расписания трендов (Trend Schedule).

BACnet Server Simulator

BACnet Server Simulator имитирует устройство BACnet/IP в среде Windows (NT 4.0, 2000, XP). При этом могут создаваться до 10 000 внутренних объектов, редактирование которых происходит случайным образом либо по возрастающему закону. Все сетевые сообщения отображаются на экране, как это показано

We swvtt

Fofcnum •. rrf~ ч r*,*-h (0 Obec* Ы Ooatan Ггк. 0 w T«i5i»iTw ft? 13 50

еле г»' АР) И*-.- *2** Jcdcfe Гкоюпcr ’ tec* CiMfcrm Ы I*tJ n.Vtert J UoM«L Л23 Otiecf Lrt Updefr T -e Dm лrJljVC#» Trm Onu

Six* tnpw £а6** v i6

к«4мп0песап *

KtMdJri г»*">ч ill Иа п>)ж1 N*•00001 Го fffffff*FF FFNKMJ 01 28FFfF ООСЮ Ji 06С0Ав WQ6EAC0fM Pn* OOlo !V1«IO?»B4CO! 81 ГР ГОЛ 01 »FF О ООПС 1И ОБ С0Д8 0006IA1 Pc* 00 fron 142168 01 ЛАШ • tl OB 00 21 01 28 ff ff 00 00 01 06 CC Ав CC № BA Cl N*nnnm с**, rnляnnnsвлrnмы11ni Tenbsmmm гктлпшиагг ы

Рис. 4. Пример работы симулятора BACnet

на рис. 4. Другие BACnet-устройства в сети могут читать значения объектов симулятора.

Поддерживаются следующие BACnet BIBB: DS-RP-A, DS-RPM-A, DS-WP-A, DS-WPM-A, DS-COV-A, DS-COVU-A, AE-N-A, AE-ACK-A, AE-ASUM-A, AE-ESUM-A, DM-DDB-A, SCHED-A.

Заключение

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

1. www.kepware.com/Spec_Sheets/Bacnet.htm

2. www.cimetrics.com/products/ proddetail.php?prod=B2100&cat=3

3 www.matrikonopc.com/opc-drivers/289/ base-driver-details.aspx#html

4. www.scadaengine.com/sales.html

5. www.kepware.com/Spec_Sheets/Bacnet.htm

6. www.cimetrics.com/products/ proddetail.php?prod=B2100&cat=3 ■

i Надоели баннеры? Вы всегда можете отключить рекламу.