Драйвер обмена с устройствами по протоколу BACnet/IP выполнен как драйвер t12.
Шаблоны каналов обмена по протоколу BACnet/IP создаются в группе PLC слоя Источники /Приемники (конфигурирование обмена в группе Пользовательские_драйверы запрещено). Кроме атрибутов, общих для всех источников/приемников (см. Редакторы источников (приемников) ), в редакторе задаются следующие параметры:
Тип объекта – тип объекта по спецификации BACnet, значение выбирается из меню:
analog-input – аналоговый вход;
analog-output – аналоговый выход;
analog-value – аналоговое значение;
binary-input – цифровой вход;
binary-output – цифровой выход;
binary-value – цифровое значение;
calendar – календарь;
command – команда;
device – устройство;
event-enrollment – событие;
file – файл;
Номер объекта – номер объекта BACnet в десятичном формате;
Код свойства – код свойства объекта по спецификации BACnet в десятичном формате. Коды некоторых свойств приведены ниже в таблице;
Тип данных – тип данных свойства по спецификации BACnet; используется при записи значения в контроллер, поэтому задается только для каналов типа OUTPUT;
Адрес устройства – строка с составным адресом прибора в следующем формате:
<Router_IP>:<Router_Port>–<SubNetwork>.[+]<DeviceNumber>
где
Router_IP – IP-адрес маршрутизатора BACnet/IP в формате n1.n2.n3.n4;
Router_Port – номер порта; для BACnetIP обычно равен 47808 (BAC0hex);
SubNetwork – 0 (номер внутренней подсети присваивается маршрутизатором автоматически);
DeviceNumber – номер прибора в своей подсети, обычно задается с помощью набора переключателей на корпусе прибора. Если номеру прибора предшествует знак "+", то
<номер объекта> = <Номер объекта> + 256 * <номер прибора>
После IP-адреса и порта могут следовать следующие выражения:
OBJINST=<номер объекта>
OBJADD=<константа, прибавляется к номеру объекта>
Некоторые коды свойств объектов BACnet
Код (dec) |
Название свойства |
59 |
low-limit |
45 |
high-limit |
85 |
present-value |
81 |
out-of-service |
Типы данных BACnet и их поддержка в текущей версии драйвера
Код (dec) |
Тип данных |
Поддерживается в текущей версии драйвера |
0 |
Null |
— |
1 |
Boolean |
чтение и запись |
2 |
Unsigned Integer |
чтение и запись |
3 |
Signed Integer |
чтение и запись |
4 |
Real |
чтение и запись |
5 |
Double |
чтение и запись |
6 |
Octet String |
— |
7 |
Character String |
— |
8 |
Bit String |
— |
9 |
Enumerated |
чтение и запись |
10 |
Date |
— |
11 |
Time |
— |
12 |
BACnetObjectIdentifier |
— |
Наборы и типы данных свойств у каждого типа объектов различны, полные списки свойств и более подробную информацию о протоколе BACnet см. в "BACnet. A Data Communication Protocol for Building Automation and Control Networks." – ANSI/ASHRAE Standard 135-2001, ISO 16484-5:2003, ISSN 1041-2336.
Для нахождения в сети устройств, поддерживающих обмен по протоколу BACnet/IP, и просмотра свойств этих устройств можно использовать утилиту BACnetScan.exe, входящую в состав Trace Mode 6.
Окно утилиты имеет следующий вид:
Перед началом процедуры сканирования сети нужно задать номер порта для опроса, по умолчанию – 47808 (BAC0hex). Нажатием кнопки Start scanning запускается процесс сканирования, занимающий обычно 3-10 секунд. После окончания сканирования в левом окне утилиты строится дерево обнаруженных устройств, состоящее из списка найденных маршрутизаторов, подключенных к ним приборов и списков свойств приборов. Отдельные элементы дерева можно выбирать, при этом справа в информационном окне утилиты отображается доступная для выбранного элемента дерева информация. Так, для маршрутизатора можно просмотреть список внутренних подсетей, для контроллера – название прибора, производителя и тип модели, а также полный путь к устройству. Для отдельных свойств прибора в информационном окне также показан полный путь к прибору. Так как сканирование сети выполняется с помощью широковещательных IP-пакетов, компьютер с утилитой сканирования и приборы BACnet/IP должны находиться в одной подсети, или между разными подсетями должен быть шлюз, транслирующий широковещательный пакеты в другую подсеть.