Драйвер BACnet содержит внутренние точки данных двух типов: _Bacnet и _BacnetDevice.
Во внутренней точке данных типа _Bacnet для каждого драйвера BACnet на «КАСКАД Цифра» создается экземпляр с элементами точки данных. Имя каждой точки данных составляется следующим образом: «_Bacnet_<номер драйвера>».
Во внутренней точке данных типа _BacnetDevice для каждого устройства BACnet на «КАСКАД Цифра» создается экземпляр с элементами точки данных.
Структуры обоих типов точек данных описываются в следующей таблице.
_Bacnet
Элемент точки данных | Тип | Описание |
Browse.Devices.Range | string | С помощью этого элемента точки данных может быть запущен обзор подключенных устройств в сети BACnet. В нем можно указать диапазон идентификаторов устройств. Если не заполнять, обзору будет подвергнут весь диапазон идентификаторов. Диапазон идентификаторов устройств для обзора может быть указан в следующем формате:»<нижнее предельное значение устройств>-<верхнее предельное значение устройств>»Например: «100-200» |
Browse.Devices.Timeout | uint | Определяет таймаут проведения обзора устройств в сети в секундах. Если значение 0, по умолчанию будет использовано значение 10 секунд. |
Browse.Devices.DeviceId | dyn_uint | Содержит идентификаторы устройств, найденных в сети BACnet. |
Browse.Devices.VendorId | dyn_uint | Содержит идентификаторы производителей устройств, найденных в сети BACnet. |
Browse.Devices.NetworkType | dyn_uint | На настоящий момент не используется. Содержит сетевые идентификаторы устройств, найденных в сети BACnet. |
Browse.Devices.Segmentation | dyn_uint | Содержит поддерживаемый режим сегментации устройств, найденных в сети BACnet. |
Browse.Objects.DeviceId | uint | С помощью этого элемента точки данных можно выполнить обзор устройства BACnet на объекты. Поэтому в данный элемент точки данных заносится идентификатор устройства. |
Browse.Objects.DeviceIdReturn | uint | В этот элемент точки данных записывается идентификатор устройства результата. С ним результат может быть просто назначен при обработке прямой ссылки. |
Browse.Objects.ObjectType | dyn_uint | Содержит типы объектов, найденных в устройстве BACnet. |
Browse.Objects.Instance | dyn_uint | Содержит экземпляры объектов, найденных в устройстве BACnet. |
Browse.Objects.PropertyId | dyn_string | Содержит поддерживаемые свойства объектов, найденных в устройстве BACnet.Содержит все поддерживаемые свойства только тогда, когда исследованное устройство поддерживает сегментацию и ReadPropertyMultiple. |
Browse.Objects.Name | dyn_string | Содержит имена объектов, найденных в устройстве BACnet. |
Config.AlarmPrioMapping | dyn_string | Задает сопоставление приоритетов алармов BACnet классам алармов «КАСКАД Цифра». Сопоставление имеет следующий формат: <BACnet startPrio1> <«КАСКАД Цифра» alarmClass1><BACnet startPrio2> <«КАСКАД Цифра» alarmCclass2>… Пример подобного сопоставления:0 BACnet_danger50 BACnet_alarm100 BACnet_warning200 BACnet_info т. е.:Приоритеты BACnet с 0 по 49 принадлежат классу алармов «BACnet_danger», с 50 по 99 — «BACnet_alarm», с 100 по 199 — «BACnet_warning», а с 200 по 255 (высочайший приоритет BACnet) — «BACnet_info». Дополнительную информацию см. в п. Собственное и алгоритмическое оповещение. |
Config.Devices | dyn_string | В этот элемент точки данных могут быть записаны устройства, к которым нужно подключаться при запуске драйвера. В этой точке не указывается адрес периферии. Если у устройства есть адрес периферии, регистрация производится автоматически. Элемент точки данных используется в особых случаях. |
Command.SyncTime | time | Через этот элемент точки данных запускается широковещательная синхронизация времени. При нулевом значении драйвер использует текущее время. В противном случае используется заданное напрямую время синхронизации. |
Command.AddDevice | string | Эта запись используется для добавления устройства BACnet в драйвер во время его работы. Чтобы добавить устройство, имя точки данных (типа _BacnetDevice) должно быть передано Command.AddDevice. |
State.HomelessAlarm | string | Этому элементу точки данных сопоставляются все алармы/события, которые не могут быть сопоставлены с адресом. Это возможно, только когда задана соответствующая запись reportHomelessAlarms в файле config.Информация об аларме/событии закодирована в строке, имеющей следующий синтаксис:<deviceName>.<deviceId>.<objectType>.<instance>.<eventType>.<eventState>.<alertType>.<priority> |
_BacnetDevice
Элемент точки данных | Тип | Описание |
«Active» | bool | Вы можете сделать устройство активным (TRUE) или неактивным (FALSE). Если устройство неактивно, драйвер не будет подключаться к нему. Устройство может быть повторно активировано в любой момент. См. также флажок «Active» в разделе Конфигурация драйвера BACnet. |
AlarmPrioMapping | dyn_string | Задает сопоставление приоритетов алармов BACnet классам алармов «КАСКАД Цифра» для устройства BACnet. Сопоставление имеет следующий формат: <BACnet startPrio1> <«КАСКАД Цифра» alarmClass1><BACnet startPrio2> <«КАСКАД Цифра» alarmCclass2>… Пример подобного сопоставления:0 BACnet_danger50 BACnet_alarm100 BACnet_warning200 BACnet_info т. е.:Приоритеты BACnet с 0 по 49 принадлежат классу алармов «BACnet_danger», с 50 по 99 — «BACnet_alarm», с 100 по 199 — «BACnet_warning», а с 200 по 255 (высочайший приоритет BACnet) — «BACnet_info». Дополнительную информацию см. в п. Собственное и алгоритмическое оповещение. |
DeviceId | int | Идентификатор устройства BACnet. Этот номер соответствует номеру экземпляра объекта устройства. |
ConnInfo | string | В этот элемент точки данных записывается информация для привязки статического адреса. Формат следующий:<номер сети>:<IP-адрес>:<номер порта>Пример: «1:192.168.152.20:47808» Если этот элемент точки данных не задан, используется динамическое назначение адреса (информация об адресе обновляется автоматически). |
«AliveInterval» | uint | Время в секундах, спустя которое выполняется проверка присутствия устройства в сети. По умолчанию используется значение 0, при котором интервал берется из записи deviceStatusPollTimeout в файле config (если эта запись не задана, общее значение составит 30 секунд). Если интервал проверки превышает 0 секунд, то он используется (только) для данного устройства (указанного как устройство BACnet). |
TimeSyncInterval | uint | Время в секундах, по истечении которого происходит синхронизация времени на этом устройстве в сети. Для запуска синхронизации для устройства с указанным IP-адресом этот адрес должен быть статическим (см. параметр ConnInfo). По умолчанию используется значение 0, при котором синхронизация по времени не запускается. |
Flags | bit32 | Этот элемент точки данных используется для различных настроек устройства.На настоящий момент используются следующие биты:B0 -> 0 обзор объектов со свойством «All»B0 -> 1 обзор объектов без свойства «All» (свойства не доступны)B1-> 0 использовать время устройства в качестве времени алармаB1 -> 1 использовать время приема в качестве времени алармаB2 -> 0 интерпретировать метку времени устройства по местному времениB2 -> 1 интерпретировать метку времени устройства как UTCB4 -> 0 выполнять преобразование UTF-8 для строк в кодировке ANSI X3.4 (UTF-8)B4 -> 1 не выполнять преобразование UTF-8 для строк в кодировке ANSI X3.4 (UTF-8)B8 -> 0 Не обнаруживать перезапуск.B8 -> 1 использовать обнаружение перезапуска путем оценки уведомления COVB9 -> в настоящее время не используется, зарезервировано на будущееB10 -> 0 не добавлять драйвер в список Restart_Notification_RecipientsB10 -> 1 добавлять драйвер в список Restart_Notification_RecipientsB11 -> 0 не обновлять регистрацию COVB11 -> 1 выполнять обновление регистрации COVB12 -> 0 не выполнять общий запрос событийB12 -> 1 выполнять общий запрос событийB13 -> 0 не выполнять общий запрос данныхB13 -> 1 выполнять общий запрос данных |
Command.Password | string | Содержит пароль, используемый службами BACnet (при необходимости). |
Command.CmdPriority | int | Приоритет записи команд в массиве приоритетов объекта BACnet. Если элемент точки данных имеет значение 0, используется значение по умолчанию (=8). |
Command.CommActive | bool | Разрешение/запрет подключения.FALSE (0) — запрет подключения устройства по шине (служба DM-DCC-A).TRUE (1) — разрешение подключения устройства по шине. |
Command.GQ | uint | Отправка общего запроса соответствующему устройству.Переданное значение определяется типом данных запроса:0 -> общий запрос значений и событий1 -> общий запрос только значений2 -> общий запрос только событий3 -> сброс адресов UNKNOWN_PROPERTY (эта команда запускается, например, нажатием кнопки «Reset Properties» (Сброс свойств) на контрольной панели устройства)10 -> общий запрос описаний11 -> общий запрос единиц измерения |
Command.Reinitialize | uint | Запуск переинициализации устройства (служба DM-RD-A service) при записи соответствующего значения в элемент точки данных .Могут быть использованы следующие значения:0 -> Холодный запуск1 -> Горячий запуск |
Command.SyncTime | time | Синхронизация времени на устройстве со временем в элементе точки данных.Если в элементе точки данных указано нулевое значение времени, драйвер отправляет текущее время с телеграммой (служба DM-TS-A). |
Command.Service | dyn_string | С помощью этих элементов точки данных в устройстве могут быть заданы специальные службы. Это включает:CreateObjectDeleteObjectGetPropertiesОтклик возвращается через элемент точки данных State.Service. |
State.Online | bool | Информация о состоянии подключения устройства BACnet (TRUE = в сети; FALSE = вне сети). |
State.SentTelegrams | uint | Число отправленных телеграмм с момента запуска драйвера. |
State.RcvTelegrams | uint | Число полученных телеграмм с момента запуска драйвера. |
State.FailedCOVReg | uint | Счетчик ошибочных регистраций COV для устройства. |
State.Service | dyn_string | Через этот элемент точки данных возвращается отклик на запрос службы через Command.Service. В первой строке дается информация о выполнении команды, а в остальных — приводятся идентификаторы свойств. |