BACnet (англ. Building Automation and Control network) – это сетевой протокол передачи данных для автоматизации зданий и сетей управления, который позволяет системам или компонентам автоматизированной системы диспетчеризации здания различных изготовителей обмениваться информацией и функциями управления.
Разработку BACnet начало американское общество инженеров по отоплению, охлаждению и кондиционированию воздуха ASHRAE, что привело к созданию американского стандарта ANSI/ASHRAE 135, а затем и стандарта ISO 16484-5.
Устройство BACnet
Устройство BACnet состоит из стандартных функциональных блоков BIBB (BACnet Interoperability Building Block), которые позволяют обмениваться данными между устройствами различных производителей. Блок BIBB представляет собой многоуровневую структурированную модель, состоящую из нескольких уровней:
- BIBB
- Сервисы
- Устройства
- Объекты
- Свойства
Блоки BIBB для каждого устройства BACnet перечислены в документе PICS (Protocol Implementation Conformance Statement), который детально описывает тип данного устройства BACnet и его возможности по взаимодействию с другими устройствами.
BIBB
Блоки BIBB (BACnet Interoperability Building Block) подразделяются на несколько функциональных интерфейсных областей (interoperability areas), которые определяют классы прикладных задач:
- обмен данными (DS, Data sharing)
- обработка тревог и событий (AE, Alarm or event management)
- календарное планирование (SCHED, Scheduling)
- запись графиков изменения значений (T, Trending)
- управление устройствами и сетью (DM, Device and (NM)Network management)
- виртуальный терминал (VT, Virual Terminal)
- и другие
Сервисы
Устройства BACnet реализуют различныесервисы, которые выполняют функции по обмену данными и управлению. Сервисы BACnet имеют признак клиента (запрос данных) – A и признак сервера (предоставление данных) – B, например, блок чтения свойства для устройства-клиентаDS-RP-Aможно расшифровать так:
- DS — интерфейсная область «Обмен данными»
- RP — свойство ReadProperty
- А – получатель данных
Например, BIBB класс управления удалённым устройством может включать следующие сервисы:
- Who-Is (поиска устройства)
- I-Am (ответ устройства)
- Who-Has (поиска объекта)
- I-Have (ответ устройства, содержащего объект)
- DeviceCommunicationControl
- ConfirmedPrivateTransfer
- UnconfirmedPrivateTransfer
- ReinitializeDevice
- ConfirmedTextMessage
- UnconfirmedTextMessage
- TimeSynchronization (синхронизация времени)
Для BIBB класса доступа к объектам могут быть заданы сервисы:
- CreateObject (создать объект)
- DeleteObject (удалить объект)
- ReadProperty (прочитать свойство)
- ReadPropertyConditional (прочитать свойство по условию)
- ReadPropertyMultiple (прочитать группу свойств)
- WriteProperty (записать свойство)
- WritePropertyMultiple (записать группу свойств)
- AddListElement (внести элемент в список)
- RemoveListElement (удалить элемент из списка)
Устройство и объекты
КаждоеустройствоBACnet состоит из стандартныхобъектов. Ниже представлены некоторые из них:
- Аналоговый вход (AI)
- Аналоговый выход (AO)
- Аналоговое значение (AV)
- Двоичный вход (BI)
- Двоичный выход (BO)
- Двоичное значение (BV)
- Вход со многими состояниями (Multi-State Input)
- Выход со многими состояниями (Multi-State Output)
- Календарь (Calendar)
- Регистрация события (Event Enrollment)
- Файл (File)
- Класс уведомления (Notification Class)
- Группа (Group)
- Цикл (Loop)
- Программа (Program)
- Расписание (Schedule)
- Команда (Command)
- Устройство (Device)
- HVAC (Heating Ventilating Air-Conditioning)
- и другие
Свойства
КаждыйобъектBACnet имеет некоторый наборсвойств, которые описывают его поведение или управляют его работой, например, такие как: идентификатор объекта, имя и тип объекта.
Канальный и физический уровни передачи данных BACnet
Передавать протокол BACnet можно через сети LAN (Local Area Network), которые представлены различными технологиями канального и физического уровней:
- ARCNET
- Ethernet
- BACnet/IP
- PTP (Point-To-Point) через RS-232
- MS/TP (Master-Slave/Token-Passing) через RS-485
- LonTalk
Примеры построения LAN сети BACnet:
Если устройства BACnet используют одну и ту же среду локальной сети LAN для передачи данных, то каждое устройство любого производителя может напрямую обращаться к другому устройству. Этот тип LAN предусматривает прямую связь устройство к устройству.
Если устройства BACnet используют разные среды локальных сетей LAN, то для их объединения используют специальные шлюзы-маршрутизаторы, которые переупаковывают сообщения BACnet в соответствии с определенным стандартом данной сети BACnet.
Если к устройствам BACnet нужно подключить устройства с другим протоколом и средой передачи данных, то используют специальные шлюзы протоколов. Для взаимодействия устройств через IP-сети протокол BACnet предусматривает 2 режима работы: туннелирование IP-сообщений и использование протокола BACnet/IP.
Концепция BVLL для BACnet/IP
К протоколу BACnet в дополнении 135a вводится понятие «Слой виртуального подключения BACnet» BVLL (BACnet Virtual Link Layer), которое позволяет устройству BACnet/IP получить доступ к инфраструктуре IP-сети, как если бы это была какая-то локальная LAN сеть. Подключение такого типа называется «виртуальным подключением» («virtual data link»). Оно позволяет удобным образом использовать различные сети, такие как: Ethernet, ATM, SONET, Frame Relay, ISDN и другие.
Передача сообщений от устройства к устройству BACnet/IP происходит напрямую через локальную сеть Ethernet или Интернет. Для широковещательной передачи данных необходимо использовать специализированное устройство BACnet/IP Broadcast Management Device (BBMD). Также BBMD обеспечивает регистрацию внешнего по отношению к cети BACnet устройства.
Примеры построения LAN сети BACnet:
Туннелирование IP-сообщений
В режиме IP-туннелирования BACnet устройству не нужно «понимание» протокола IP. Большую часть работы с протоколом IP берет на себя специализированный маршрутизатор, который называется Annex H Router.
Использование BACnet/IP
Устройства с протоколом BACnet/IP являются полноценным узлом IP сети. Они имеют свой IP-адрес, поддерживают стек протокола IP и всю работу с протоколом IP выполняют самостоятельно. Поэтому устройства BACnet/IP передают сообщения через локальную сеть или Интернет напрямую без посредников.
Широковещательная передача данных
Широковещательная передача данных BACnet/IP осуществляется через специализированное устройство BACnet/IP Broadcast Management Device (BBMD).
Подключение внешнего устройства
Для подключения внешнего устройства из Интернета к BACnet сети используют устройство BBMD.
Подключение устройств BACnet к АСУ ТП
Существует множество устройств с протоколом BACnet, которые решают различные задачи по автоматизации работы здания, управлению отоплением, вентиляцией и кондиционированием воздуха (HVAC), контролю освещения и доступа, а также обеспечению работы систем обнаружения пожара и других устройств. Все эти устройства предназначены для решения задач внутри здания, но обычно их нельзя подключить напрямую к АСУ ТП и SCADA системам или наоборот.