Открыть сервис

BACnet

BACnet (Building Automation and Control Network) — это открытый коммуникационный протокол, предназначенный для обмена данными между системами автоматизации зданий (Building Automation System, BAS). Он обеспечивает взаимодействие оборудования различных производителей, включая системы отопления, вентиляции и кондиционирования воздуха (HVAC), освещения, пожарной сигнализации, контроля доступа и управления энергопотреблением. Протокол стандартизирован как ANSI/ASHRAE Standard 135 и ISO 16484-5.

История

Разработка BACnet началась в 1987 году по инициативе Американского общества инженеров по отоплению, охлаждению и кондиционированию воздуха (ASHRAE). Основной целью было создание единого протокола, который позволил бы интегрировать оборудование разных вендоров в единую систему управления зданием без необходимости использования проприетарных шлюзов. До появления BACnet производители систем автоматизации использовали закрытые протоколы, что затрудняло модернизацию и расширение систем.

Первая версия стандарта (ANSI/ASHRAE 135-1995) была опубликована в 1995 году. Она описывала базовые функции для управления HVAC, включая передачу данных о температуре, давлении, состоянии клапанов и приводов. В последующие годы стандарт неоднократно обновлялся: в 2001 году была добавлена поддержка веб-сервисов (BACnet/WS), в 2004 году — расширенные возможности для систем безопасности, в 2012 году — поддержка IPv6 и улучшенная безопасность (BACnet Secure Connect). В 2020 году вышла версия 135-2020, которая включила новые объекты для систем освещения и электропитания.

В России BACnet начал применяться с начала 2000-х годов, преимущественно в крупных коммерческих и административных зданиях. Стандарт не является обязательным к применению, но широко используется при проектировании систем «умного дома» и автоматизации промышленных объектов.

Архитектура и модель данных

BACnet основан на клиент-серверной архитектуре, где устройства могут выступать как в роли клиентов (инициирующих запросы), так и в роли серверов (предоставляющих данные). Модель данных протокола строится на трёх ключевых понятиях: объекты, свойства и службы.

Объекты

Объекты представляют собой абстрактные представления физических или логических элементов системы. Каждый объект имеет уникальный идентификатор (Object Identifier) и набор свойств. Стандарт определяет более 60 типов объектов, среди которых:

  • Analog Input/Output/Value — аналоговые входы, выходы и значения (например, температура, давление, уставки).
  • Binary Input/Output/Value — дискретные входы, выходы и значения (например, состояние контакта реле, сигнал тревоги).
  • Device — объект, представляющий само устройство BACnet (контроллер, шлюз, панель управления). Содержит информацию о производителе, версии прошивки, поддерживаемых службах.
  • Schedule — объект для управления временными расписаниями (например, включение отопления по часам).
  • Calendar — объект для хранения календарных событий (праздничные дни, периоды).
  • Trend Log — объект для ведения журнала данных (архивирование показаний датчиков).
  • Notification Class — объект для настройки уведомлений о событиях (аварии, превышение порогов).

Свойства

Каждый объект обладает набором свойств, которые описывают его состояние и конфигурацию. Свойства могут быть обязательными (например, Object_Identifier, Object_Name) и опциональными (например, Units для аналоговых объектов). Примеры свойств:

  • Present_Value — текущее значение объекта.
  • Out_Of_Service — признак вывода объекта из эксплуатации.
  • Event_State — текущее состояние события (нормальное, аварийное, предупреждение).
  • Priority_Array — массив приоритетов для управления выходными значениями (позволяет задавать приоритеты команд от разных источников).

Службы

Службы (services) — это операции, которые устройства могут выполнять друг с другом. Стандарт определяет около 40 служб, разделённых на группы:

  • Службы доступа к данным — ReadProperty, WriteProperty, ReadPropertyMultiple, WritePropertyMultiple. Позволяют считывать и изменять свойства объектов.
  • Службы управления — DeviceCommunicationControl (управление связью), ReinitializeDevice (перезагрузка устройства), TimeSynchronization (синхронизация времени).
  • Службы событий и уведомлений — SubscribeCOV (подписка на уведомления об изменении значений), AcknowledgeAlarm (квитирование тревоги), GetEventInformation (получение информации о событиях).
  • Службы файлового доступа — AtomicReadFile, AtomicWriteFile (чтение/запись файлов, например, конфигураций или журналов).

Физические уровни и транспорт

BACnet не привязан к одному физическому носителю; стандарт поддерживает несколько вариантов передачи данных:

  • BACnet/IP — передача через IP-сети (Ethernet, Wi-Fi). Наиболее распространённый вариант в современных системах. Использует UDP-порт 47808 (0xBAC0) для обмена данными.
  • BACnet MS/TP (Master-Slave/Token Passing) — последовательная шина на основе RS-485. Применяется для соединения контроллеров на небольших расстояниях (до 1200 метров без повторителей). Работает на скоростях от 9,6 до 76,8 кбит/с.
  • BACnet PTP (Point-to-Point) — соединение через модемы или последовательные порты (RS-232). Используется редко, в основном для удалённого доступа.
  • BACnet Ethernet — прямая передача через Ethernet-кадры (IEEE 802.3). Менее распространён, чем BACnet/IP.
  • BACnet Secure Connect (BACnet/SC) — расширение, добавленное в 2012 году, обеспечивающее шифрование и аутентификацию через TLS. Предназначено для использования в открытых сетях (Интернет).

Применение

BACnet применяется в системах автоматизации зданий различного масштаба:

  • Коммерческие здания — офисные центры, торговые комплексы, гостиницы. Протокол используется для интеграции систем HVAC, освещения, учёта энергоресурсов.
  • Промышленные объекты — заводы, склады, логистические центры. BACnet позволяет объединять климат-контроль, системы вентиляции и пожаротушения.
  • Общественные здания — больницы, учебные заведения, аэропорты. В таких объектах важна надёжность и возможность централизованного мониторинга.
  • Жилые комплексы — системы «умный дом», где BACnet может взаимодействовать с контроллерами отопления, кондиционерами и датчиками.

Примеры производителей оборудования, поддерживающего BACnet: Siemens, Honeywell, Johnson Controls, Schneider Electric, Delta Controls, Tridium (организация признана нежелательной в РФ? — нет, Tridium является американской компанией, не внесённой в реестр нежелательных организаций в РФ), а также российские разработчики, такие как «ОВЕН» и «Эридан».

Преимущества и недостатки

Преимущества

  • Открытость — стандарт не привязан к одному производителю, что позволяет выбирать оборудование разных брендов.
  • Масштабируемость — поддержка тысяч устройств в одной сети.
  • Гибкость — возможность использования различных физических сред и топологий.
  • Долговечность — стандарт развивается с 1995 года и обратно совместим.

Недостатки

  • Сложность реализации — для настройки BACnet-сетей требуются квалифицированные специалисты.
  • Ограниченная скорость — на низкоскоростных шинах (MS/TP) возможны задержки при большом количестве устройств.
  • Безопасность — базовые версии BACnet (до BACnet/SC) не имеют встроенного шифрования, что делает их уязвимыми для атак в открытых сетях.
  • Фрагментация — некоторые производители реализуют не все опции стандарта, что может приводить к несовместимости.

Интересные факты

  • Название BACnet расшифровывается как Building Automation and Control Network, но изначально проект назывался BAC (Building Automation and Control), а буква «net» была добавлена для указания на сетевой характер протокола.
  • BACnet является одним из немногих протоколов автоматизации зданий, который имеет статус международного стандарта ISO.
  • В 2018 году была выпущена версия BACnet/SC (Secure Connect), которая использует WebSocket и TLS, что позволяет безопасно передавать данные через Интернет.
  • В России BACnet активно применяется в системах управления зданиями «Москва-Сити» и в ряде крупных торговых центров.

Критика

Основная критика BACnet связана с его сложностью и избыточностью для небольших систем. Для простых задач (например, управление одним кондиционером) протокол может быть излишне громоздким. Также отмечается, что из-за большого количества опций и необязательных функций производители часто реализуют только подмножество стандарта, что приводит к проблемам совместимости. В ответ на это ASHRAE разработала программу сертификации BACnet Testing Laboratories (BTL), которая проверяет устройства на соответствие стандарту.

Источники

  • ANSI/ASHRAE Standard 135-2020 — BACnet: A Data Communication Protocol for Building Automation and Control Networks.
  • ISO 16484-5:2022 — Building automation and control systems — Part 5: Data communication protocol.
  • BACnet International. «BACnet: The Global Standard for Building Automation». — 2023.
  • Книга: С. А. Ковалёв. «Протоколы автоматизации зданий». — М.: Энергоатомиздат, 2018.
  • Официальный сайт BACnet International (bacnet.org).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →