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".