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

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

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 позволяет использовать различные пути передачи данных, такие как Ethernet,
ARCNET, Master-Slave/Token Passing (MSTP)
на базе физической среды RS-485, Point-toPoint (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 классифицируются по вышеописанным интерфейсным областям. Все сервисы (которых сейчас определено более 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), класс уведомления (NotificationClass), регистрация события (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 работает через драйвер BAСnet,
который определяет так называемый порт
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, DMDDB-A, SCHED-A. На рис. 1 приведен пример интерфейса пользователя с SE-OPC.

Рис. 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-сервера SEOPC
компании SCADA Engine с возможностями аналогичных продуктов от других компаний по числу поддерживаемых BIBB: OPCBCNET-NA00 от Kepware Technologies [1],
B2100 компании Cimetrics [2], MatriconOPC
for BACnet (Annex J) компании Matricon [3].
Результаты сравнения приведены в таблице 1.

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

  SE-OPC OPC-BCNET-NA00 B2100 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 + +

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

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

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

  SE-OPC
(SCADA
Engine)
OPC-BCNET-
NA00
(Kepware)
B2100
(Cimetrics
MatriconOPC
(Matricon)
Цена, USD 990 1195 1595 ?

Судя по данным таблицы 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 cоответствует стандарту 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. Поддержаны все стандартные объекты и сервисы BACnet (табл. 3, 4). Также поддержаны все стандартные web-службы.

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

BACnet-сервисы Инициализация (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-объекты Может быть создан (Creatable) Может быть удален
(Deletable)
AnalogInput Да Да
AnalogOutput Да Да
AnalogValue Да Да
BinaryInput Да Да
BinaryOutput Да Да
BinaryValue Да Да
Calendar Да Да
Command Да Да
EventEnrolment Да Да
Group Да Да
Loop Да Да
MultistateInput Да Да
MultistateOutput Да Да
NotificationClass Да Да
Schedule Да Да
Averaging Да Да
MultistateValue Да Да
TrendLog Да Да
LifeSafetyPoint Да Да
LifeSafetyZone Да Да
Accumulator Да Да
PulseConverter Да Да

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 сервисы (табл. 3)
и поддерживают следующие 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,
как это показано на рис. 3.

Рис. 3. Пример интерфейса оператора рабочей станции

Cлева от экрана приведено дерево, которое
используется для навигации по системе,
а справа находится область отображения данных, которая обеспечивает графическое представление системы (например, завода или здания) вместе с данными реального времени,
полученными из сети 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 внутренних объектов, редактирование которых
происходит случайным образом либо по возрастающему закону. Все сетевые сообщения
отображаются на экране, как это показано
на рис. 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *