BACnet

BACnet (англ. Building Automation and Control network) — сетевой протокол, применяемый в системах автоматизации зданий и сетях управления.

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

Сеть BACnet — промышленная сеть, состоящая из BACnet-устройств.

## Содержание

* 1 Создание
* 2 Концепция
* 3 Описание
* 3.1 Объекты
* 3.2 Классы прикладных задач
* 3.3 Службы
* 4 Канальный и физический уровни передачи данных
* 5 Ссылки

## Создание

[править | править код]

Разработка протокола BACnet началась в июне 1987. Цель разработки состояла в создании унифицированного, не зависящего от производителей оборудования, стандарта для передачи данных в системах автоматизации здания. BACnet стал в 1995 году стандартом ASHRAE/ANSI (135), а в 2003 году стандартом ISO (16484-5). Стандарт постоянно совершенствуется в различных рабочих группах.

## Концепция

[править | править код]

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

## Описание

[править | править код]

### Объекты

[править | править код]

Каждое устройство в сети 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 характеризуется набором свойств, которые описывают его поведение или управляют его работой.

### Классы прикладных задач

[править | править код]

Стандарт определяет классы прикладных задач, которые выполняют устройства:

* Тревоги и события
* Доступ к файлам
* Доступ к объектам
* Управление удалённым устройством
* Виртуальный терминал

### Службы

[править | править код]

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

Например, класс управления удалённым устройством включает следующие службы:

* DeviceCommunicationControl
* ConfirmedPrivateTransfer
* UnconfirmedPrivateTransfer
* ReinitializeDevice
* ConfirmedTextMessage
* UnconfirmedTextMessage
* TimeSynchronization (синхронизация времени)
* Who-Is (поиска устройства)
* I-Am (ответ устройства)
* Who-Has (поиска объекта)
* I-Have (ответ устройства, содержащего объект)

Для класса доступа к объектам заданы службы:

* CreateObject (создать объект)
* DeleteObject (удалить объект)
* ReadProperty (прочитать свойство)
* ReadPropertyConditional (прочитать свойство по условию)
* ReadPropertyMultiple (прочитать группу свойств)
* WriteProperty (записать свойство)
* WritePropertyMultiple (записать группу свойств)
* AddListElement (внести элемент в список)
* RemoveListElement (удалить элемент из списка)

## Канальный и физический уровни передачи данных

[править | править код]

В качестве канального/физического уровней BACnet использует следующие технологии:

* ARCNET
* Ethernet
* BACnet/IP
* PTP (Point-To-Point) через RS-232
* MS/TP (Master-Slave/Token-Passing) через RS-485
* LonTalk

## Ссылки

[править | править код]

* веб-сайт BACnet
* BIG-RU — Ассоциация по автоматизации зданий и системам управления инженерным оборудованием на базе протокола BACnet
* Реализация протокола BACnet с открытым исходным кодом для Linux
* Реализация протокола BACnet с открытым исходным кодом для встраиваемых систем

Промышленные сети

Системные шины систем управления|

* PROFINET
* PROFIBUS FMS
* EtherCAT
* GENIbus

Распределённая периферия|

* PROFINET
* PROFIBUS DP
* MPI
* INTERBUS
* RS-485
* GENIbus

Приводная техника|

* PROFINET
* PROFIBUS DP
* SERCOS
* GENIbus

Полевые устройства|

* PROFIBUS PA
* AS-i
* CAN
* DeviceNet
* LonTalk
* MOST

Автоматизация зданий|

* EIB
* BACnet
* LonWorks
* Industrial Ethernet