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

BACnet MS/TP

BACnet MS/TP (Master-Slave/Token-Passing) — это протокол канального уровня, входящий в состав стандарта BACnet (ANSI/ASHRAE 135, ISO 16484-5), предназначенный для обмена данными между устройствами автоматизации зданий (системы отопления, вентиляции, кондиционирования, освещения, контроля доступа и т. д.) по последовательной шине RS-485. MS/TP обеспечивает надежную передачу данных на средние расстояния (до 1200 метров без повторителей) с умеренной скоростью (от 9,6 до 76,8 кбит/с), что делает его экономичным и широко распространенным решением для систем управления зданиями, где не требуется высокая пропускная способность, но важна помехоустойчивость и низкая стоимость реализации.

История и развитие

Протокол BACnet (Building Automation and Control Network) был разработан в 1987 году Американским обществом инженеров по отоплению, охлаждению и кондиционированию воздуха (ASHRAE) как открытый стандарт для интеграции разнородного оборудования автоматизации зданий. Первая версия стандарта была опубликована в 1995 году. Изначально BACnet поддерживал несколько вариантов физического и канального уровня: Ethernet, ARCNET, LonTalk, а также MS/TP. Последний был включен в стандарт как наиболее дешевый и простой в реализации вариант для контроллеров с ограниченными вычислительными ресурсами.

MS/TP был разработан для работы поверх стандартного интерфейса RS-485, который широко применялся в промышленной автоматизации. Это позволило использовать недорогие микроконтроллеры и готовые трансиверы. В 2000-х годах, с распространением IP-сетей, появилась спецификация BACnet/IP, но MS/TP остался востребованным для полевых устройств (датчиков, исполнительных механизмов, локальных контроллеров) из-за своей простоты и надежности. В последующих редакциях стандарта (например, ANSI/ASHRAE 135-2016) были уточнены параметры синхронизации и добавлена поддержка более высоких скоростей (до 115,2 кбит/с в некоторых реализациях, хотя официально до 76,8 кбит/с).

Архитектура и принцип работы

Топология сети

BACnet MS/TP использует шинную топологию RS-485. Все устройства подключаются к одной витой паре проводов (обычно с терминальными резисторами 120 Ом на концах). Максимальное количество устройств на одном сегменте — до 32 (без повторителей), с повторителями — до 127. Каждое устройство имеет уникальный адрес (MAC-адрес) в диапазоне от 0 до 127.

Метод доступа к среде

В отличие от Ethernet (CSMA/CD) или LonTalk (CSMA/CA), MS/TP использует комбинированный метод доступа: Master-Slave/Token-Passing (ведущий-ведомый с передачей маркера). В сети может быть несколько ведущих (Master) устройств, которые имеют право инициировать передачу данных, и множество ведомых (Slave), которые только отвечают на запросы ведущих. Ведомые устройства не могут начать передачу самостоятельно.

Ведущие устройства образуют логическое кольцо, по которому циркулирует маркер (token). Устройство, владеющее маркером, получает право на передачу одного или нескольких кадров данных. После завершения передачи оно передает маркер следующему ведущему в кольце. Если ведущее устройство не отвечает (например, вышло из строя), оно исключается из кольца, и маркер передается дальше. Этот механизм гарантирует, что в любой момент времени только одно устройство может передавать данные, что исключает коллизии.

Формат кадра

Кадр MS/TP состоит из следующих полей:

  • Преамбула (2 байта) — синхронизация.
  • Длина (2 байта) — длина данных.
  • Флаги (1 байт) — управляющая информация.
  • Адрес назначения (1 байт) — MAC-адрес получателя.
  • Адрес источника (1 байт) — MAC-адрес отправителя.
  • Тип кадра (1 байт) — определяет назначение (данные, подтверждение, маркер и т. д.).
  • Данные (переменная длина) — полезная нагрузка (до 480 байт).
  • CRC (2 байта) — контрольная сумма для обнаружения ошибок.

Скорость передачи

Стандарт поддерживает несколько скоростей: 9,6; 19,2; 38,4; 57,6 и 76,8 кбит/с. Наиболее распространены 38,4 и 76,8 кбит/с. Выбор скорости зависит от длины линии и требований к времени реакции.

Классификация устройств

В сети BACnet MS/TP выделяют два типа устройств:

  1. Ведущие (Master) — могут инициировать передачу, владеют маркером. Обычно это контроллеры, шлюзы, панели управления. Каждое ведущее устройство имеет уникальный адрес и участвует в кольцевой передаче маркера.
  2. Ведомые (Slave) — только отвечают на запросы ведущих. Не имеют права инициировать передачу. Обычно это датчики, исполнительные механизмы, простые реле. Ведомые устройства могут быть опрошены только по запросу ведущего.

Применение

BACnet MS/TP широко применяется в системах автоматизации зданий (BMSBuilding Management System) для связи между:

  • Контроллерами — программируемыми логическими контроллерами (ПЛК) и контроллерами систем отопления, вентиляции и кондиционирования (HVAC).
  • Датчиками — температуры, влажности, давления, CO2, освещенности.
  • Исполнительными механизмами — клапанами, заслонками, приводами.
  • Шлюзами — для интеграции с другими протоколами (BACnet/IP, Modbus, LonWorks).
  • Панелями управления — человеко-машинными интерфейсами (HMI).

Примеры типичных применений:

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

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

  • Низкая стоимость — недорогие микроконтроллеры и трансиверы RS-485.
  • Помехоустойчивость — дифференциальная передача по витой паре.
  • Дальность связи — до 1200 метров без повторителей.
  • Простота реализации — не требует сложных сетевых стеков.
  • Открытость — стандарт BACnet является открытым и не требует лицензионных отчислений.
  • Совместимость — устройства разных производителей могут работать в одной сети, если они сертифицированы по BACnet.

Недостатки

  • Низкая пропускная способность — максимальная скорость 76,8 кбит/с, что недостаточно для передачи больших объемов данных (например, видео).
  • Ограниченное количество устройств — до 127 на один сегмент.
  • Зависимость от маркера — при выходе из строя ведущего устройства может нарушиться работа кольца.
  • Сложность диагностики — отсутствие встроенных средств мониторинга (в отличие от Ethernet).

Интеграция с другими протоколами

Для интеграции BACnet MS/TP с IP-сетями используются шлюзы BACnet/IP. Они преобразуют кадры MS/TP в пакеты UDP/IP и обратно. Это позволяет подключать полевые устройства к центральной системе управления через локальную сеть или интернет. Также существуют шлюзы для связи с Modbus RTU, LonWorks, KNX и другими протоколами.

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

  • BACnet MS/TP является одним из самых распространенных протоколов в системах автоматизации зданий в США и Европе. В России он также активно используется, особенно в крупных коммерческих и административных зданиях.
  • В 2018 году была опубликована спецификация BACnet Secure Connect (BACnet/SC), которая добавляет шифрование и аутентификацию для BACnet/IP, но для MS/TP такие механизмы не предусмотрены из-за ограниченных вычислительных ресурсов полевых устройств.
  • Протокол MS/TP поддерживает функцию «автоматического обнаружения» (auto-discovery), позволяющую ведущему устройству сканировать сеть и определять адреса всех подключенных устройств.

Источники

  1. ANSI/ASHRAE Standard 135-2016: BACnet — A Data Communication Protocol for Building Automation and Control Networks.
  2. ISO 16484-5:2017: Building automation and control systems — Part 5: Data communication protocol.
  3. BACnet Testing Laboratories (BTL) — Testing and Certification Guidelines.
  4. Руководство по проектированию систем автоматизации зданий на основе BACnet (издательство ASHRAE, 2019).
  5. Техническая документация производителей контроллеров (Siemens, Johnson Controls, Honeywell, Schneider Electric).

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

На главную BFOmetr →