BACnet (англ. Building Automation and Control network) — сетевой протокол, применяемый в системах автоматизации зданий и сетях управления.
BACnet-устройство — это устройство системы автоматизации (ПЛК, компьютер, датчик, исполнительный механизм), поддерживающее протокол BACnet. Система пожарной сигнализации тоже может использовать BACnet для интеграции в экосистему умного дома.
Сеть BACnet — промышленная сеть, состоящая из 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:
1. Открытый стандарт: BACnet является открытым стандартом, что позволяет использовать его без лицензионных ограничений и предоставляет возможность выбора оборудования от различных производителей.
2. Гибкость и расширяемость: BACnet позволяет легко расширять систему управления зданиями и добавлять новые устройства и компоненты.
3. Эффективность: протокол BACnet обеспечивает эффективное управление системами кондиционирования и отопления, что ведет к снижению затрат на энергию.
Недостатки протокола BACnet:
1. Сложность настройки: BACnet требует определенных знаний и навыков для настройки и управления, что может вызвать трудности у пользователей без соответствующего опыта.
2. Ограниченная совместимость: не все устройства поддерживают протокол BACnet, что может быть препятствием при интеграции нового оборудования в систему.
3. Безопасность: некоторые критики указывают на недостаточный уровень безопасности протокола BACnet, что может стать уязвимостью для кибератак.