4.1.1.2.1.1.1. Устройство BACnet

 
Устройство BACnet имеет логическую структуру, состоящую из набора объектов BACnet. Полный перечень объектов приведен в спецификации BACnet. Набор объектов для каждого устройства BACnet индивидуален и приведен в документации на устройство.
 
Устройство состоит из набора объектов: «Analog_Input» («AI»), «Analog_Output» («AO»), «Analog_ Value» («AV»), «Binary_Input» («BI»), «Binary_Output» («BO»), «Binary_Value» («BV») и устройство «DEVICE».
 
 
Каждый объект BACnet имеет набор свойств, которые содержат информацию об объекте и управляют его работой. Полный перечень свойств объектов приведен в спецификации BACnet. Набор используемых свойств объекта для каждого устройства BACnet индивидуален и приведен в документации на устройство.
 
Объект «AI» имеет набор свойств: тип объекта «Object_Type», идентификатор объекта «Object_ Identifier», название объекта «Object_Name» и текущее значение «Present_Value». Данный объект соответствует измеряемой температуре.
 

Обмен данными с устройством

 
Обмен данными между модулем BACnet Client и устройством BACnet выполняется по сети Ethernet (протокол UDP) в режиме запрос-ответ. Инициатором запроса является модуль BACnet Client. Запросы и ответы представляют собой кадры данных. Для модуля BACnet Client запрос, отправляемый устройству, является исходящим кадром, а ответ, полученный от устройства – входящим кадром.
 

Обнаружение устройства

 
После запуска модуль BACnet Client начинает поиск в сети устройства BACnet, отправляя запрос обнаружения устройства Who-Is с заданной периодичностью. После получения от устройства ответа I-Am устанавливается связь с устройством и модуль готов к обмену данными.
 
После установления связи с устройством модуль BACnet Client отправляет устройству запросы Who-Is для подтверждения наличия связии в периоды, когда опрос устройства не ведётся.
 

Получение данных от устройства

 
Модуль выполняет опрос устройства циклически с паузой между циклами опроса. Для получения данных от устройства модуль BACnet Client отправляет устройству запрос ReadPropertyMultiple-Request, содержащий список свойств, значения которых требуется получить. Для каждого объекта отправляется отдельный запрос.
 
От устройства модуль получает ответ ReadPropertyMultiple-ACK, содержащий значения запрошенных свойств. Полученные значения модуль записывает в сигналы Astra.Server. Если ответ от устройства не получен за заданный период ожидания ответа от устройства, то связь с устройством считается потерянной.
 

Подача команд управления

 
Подача команды управления - это отправка значения сигнала Astra.Server в устройство. Команды имеют более высокий приоритет, чем опрос устройства, поэтому при подаче команды модуль прерывает опрос и передаёт команду управления устройству.
 
Для отправки значения сигнала Astra.Server в устройство модуль BACnet Client отправляет устройству запрос WriteProperty-Request, содержащий свойство объекта и значение, которое требуется записать в устройство.
 
От устройства модуль получает ответ WriteProperty-ACK, который в случае успешной записи значения в устройство не содержит ошибок. Если значение в устройство записать не удалось, то ответ WriteProperty-ACK содержит информацию об ошибке.
 
Для команд управления возможна настройка сигналов доставки. Значение сигнала доставки определяет состояние отправленной команды.
 

Работа модуля в резерве

 
В режиме РЕЗЕРВ модуль BACnet Client не ведёт опрос устройств и не отправляет команды управления, но отправляет запросы обнаружения устройства "Who-Is" и принимает входящие уведомления "I-Am".