Журнал «ИСУП». (Информатизация и системы управления в промышленности)
ИТ, КИПиА, метрология, АСУ ТП, энергетика, АСКУЭ, промышленный интернет, контроллеры, экология, электротехника, автоматизации в промышленности, испытательные системы, промышленная безопасность

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

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

Компания «ФИОРД», г. Санкт-Петербург

fiord.jpg


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, ANSI/ASHRAE Standard 135-2008).

В качестве транспортного уровня протокол BACnet позволяет использовать различные среды передачи данных, такие как Ethernet, ARCNET, Master-Slave/Token Passing (MSTP) на базе физической среды RS-485, Point-to-Point (PTP) при удаленном подключении через аналоговые телефонные линии (например, по модемам) или по RS-232, LonTalk на базе различных физических сред (витая пара, оптоволокно, коаксильный кабель, беспроводные, силовые линии). Для взаимодействия через IP-сети BACnet предусматривает 2 режима работы:
- 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), класс уведомления (Notification-Class), регистрация события (Event-Enrollment). BACnet специфицирует более 120 свойств объектов. Из них три свойства являются обязательными для каждого объекта: идентификатор объекта, имя и тип объекта. 


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

Австралийская фирма SCADA Engine предлагает на мировом рынке автоматизации программный инструментарий для BACnet: BACnet OPC-сервер, BACnet OPC-клиент, веб-сервисы BACnet в среде Windows (NT, 2000, XP, Vista), средства программного интерфейса (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-сервера) – 1 единственный порт BACnet/IP и несколько BACnet MSTP устройств, которые доступны через маршрутизаторы BACnet. Каждому порту присваивается уникальный номер сети (Network Number) в диапазоне от 1 до 65534, который соответствует номеру сети в данном сегменте.


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

SE-OPC – это программное обеспечение в среде Windows (NT 4.0, 2000, XP, Vista), которое дает возможность OPC-совместимой рабочей станции считывать и записать свойства BACnet от любого BACnet-совместимого устройства в сети. Один SE-OPC обеспечивает функциональность сразу трех OPC-серверов: DA, AE и HDA. Интерфейс в стиле Проводника позволяет легко конфигурировать свойства 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, Seven Technologies IGSS и других) и Historical Data Access 1.2. 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.

pic1.jpg

Рис. 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 (www.kepware.com/Spec_Sheets/Bacnet.htm), B2100 компании Cimetrics (http://www.cimetrics.com/products/proddetail.php?prod=B2100&cat=3), MatriconOPC for BACnet (Annex J) компании Matricon (http://www.matrikonopc.com/opc-drivers/289/base-driver-details.aspx#html). Результаты сравнения приведены в табл. 1.

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

pic3.jpg

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

Сравним также стоимостные характеристики OPC-сервера SE‑OPC (http://www.scadaengine.com/sales.html) компании SCADA Engine с ценами приведенных выше продуктов от других компаний. Цены взяты с официальных сайтов компаний: Kepware Technologies (www.kepware.com/Spec_Sheets/Bacnet.htm), Cimetrics (http://www.cimetrics.com/products/proddetail.php?prod=B2100&cat=3). Цена на MatriconOPC for BACnet не приведена на сайте компании и даже после многократных запросов не была выслана автору. Результаты сравнения приведены в табл. 2.

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

pic4.jpg


Как видно из табл. 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.

pic2.jpg

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


SE-BWebServ – веб-сервисы BACnet

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

Веб-сервисы 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]. Веб-сервисы реализуют следующие BACnet сервисы (табл. 3). 

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

pic5.jpg


Веб-сервисы поддерживают следующие BACnet объекты (табл. 4).

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

pic6.jpg

Потенциальными областями применения этой технологии являются отображение данных реального времени на 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 или Lua. Его цель – сделать информацию реального времени доступной через службы 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/Server 2003/Vista и спроектированная для взаимодействия с сетью BACnet. Рабочая станция отображает Дисплеи/Тревоги (Displays/Alarms) и Временные Расписания (Time Schedules) в сети BACnet, как это показано на рис. 3.

pic7.jpg

Рис. 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/Server 2003/Vista). При этом могут создаваться до 10 000 внутренних объектов, редактирование которых происходит случайным образом, по возрастающему закону, или в виде синусоиды. Все сетевые сообщения отображаются на экране, как это показано на рис. 4. Другие BACnet-устройства в сети могут читать значения объектов симулятора. Поддерживаются новые объекты и сервисы, включенные в версию BACnet 2008.

pic8.jpg

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

Поддерживаются следующие BACnet BIBB: DS-RP-A, DS-RP-B, DS-RPM-A, DS-RPM-B, DS-WP-A, DS-WP-B, DS-WPM-A, DS-WPM-B, DS-COV-A, DS-COV-B, DS-COVP-A, DS-COVP-B, DS-COVU-A, DS-COVU-B, SCHED-A, SCHED-I-B, SCHED-E-B, T-VMT-A, T-VMT-I-B, T-VMT-E-B, T-ATR-A, T-ATR-B, NM-CE-A, NM-CE-B, AE-N-A, AE-N-I-B, AE-N-E-B, AE-ACK-A, AE-ACK-B, AE-ASUM-A, AE-ASUM-B, AE-ESUM-A, AE-ESUM-B, AE-INFO-A, AE-INFO-B, AE-LS-A, AE-LS-B, DM-RD-A, DM-RD-B, DM-DDB-A, DM-DDB-B, DM-DOB-A, DM-DOB-B, DM-DCC-A, DM-DCC-B, DM-PT-A, DM-PT-B, DM-TM-A, DM-TM-B, DM-TS-A, DM-TS-B, DM-UTC-A, DM-UTC-B, DM-LM-A, DM-LM-B, DM-OCD-A, DM-OCD-B.


Заключение

Набор программных средств компании SCADA Engine для автоматизации систем на платформе BACnet является одним из мировых лидеров в секторе автоматизации на базе сетевой платформы BACnet. Приведенные в статье сравнительные характеристики программного обеспечения от SCADA Engine показывают его значительные функциональные и стоимостные преимущества по сравнению с конкурирующими продуктами, что должно заинтересовать разработчиков (интеграторов) конечных систем автоматизации в России. Для ознакомления с программными продуктами SCADA Engine на платформе BACnet пользователь может бесплатно получить демонстрационные версии в компании «ФИОРД» (www.fiord.com). Кроме того, весьма привлекательной для проектных организаций представляется возможность получить от одного системного интегратора – компании «ФИОРД» не только программное обеспечение для BACnet, но и для LonWorks (другой общепризнанной сетевой технологии) разработки компании Newron System (также являющейся лидером на рынке LonWorks-продуктов), официальным дистрибьютором которой в России является «ФИОРД».


Литература

1. Крис Гатлер (Chris Gurtler). BACnet веб-сервисы: знать и уметь // Автоматизация зданий. 2006. № 5.

Статья опубликована в журнале «ИСУП», № 4(24)_2009

С.В. Золотарев, к.т.н., ведущий эксперт,
компания «ФИОРД», г. Санкт-Петербург,
тел.: (812) 323-62-12,
e-mail: info@fiord.com