Рекомендации по настройке протокола BACnet

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево системы > Получение и отправка данных > Дополнительные протоколы > BACnet >

Рекомендации по настройке протокола BACnet

Ниже описывается рекомендованная последовательность настройки протокола BACnet.

Важно! В связи с тем что механизм поиска работает с сетью на время работы с ней настоятельно рекомендуется отключить фаервол/антивирус на компьютере, либо добавить утилиту в список доверенных и разрешить ей работу по протоколу UDP, включая широковещательные запросы.

Перед началом работ, рекомендуется убедится в наличии связи с устройствами - сделать Ping к устройствам, а также попробовать подключиться тестовым BACnet-клиентом - например, YABE https://sourceforge.net/projects/yetanotherbacnetexplorer/

Поиск устройств

В узел добавьте протокол BACnet, дважды кликните по нему. В открывшейся вкладке нажмите кнопку Найти устройство. Откроется окно Поиск устройств

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

Если адреса устройств точно не известны нажать кнопку Автопоиск - запустится автоматический поиск. В этом режиме утилита поочередно перебирает все доступные сети и посылает запрос WhoIs и ожидает ответ. В строку состояния поиска при этом выдается опрашиваемая сеть и обнаруженные устройства.

Если известны точные номера устройств (или номер конкретного устройства) можно воспользоваться поиском в диапазоне. Принцип работы в этом режиме аналогичен автоматическому поиску, но в запросе WhoIs также передается заданный диапазон адресов.

Если автоматический поиск не обнаружил полный список необходимых устройств, можно еще 1-2 раза повторить поиск - иногда ответы устройств могут теряться, и повторные запросы могут решить проблему.

Если не удалось найти все или часть устройств, можно воспользоваться поиском по IP-адресу. В этом режиме утилита также посылает запрос WhoIs, но уже на указанный адрес, что в ряде случаев (например при работе через VPN) может привести к получению ответа от устройства.

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

Если никакой из вариантов поиска не дал результата, то тогда нужно закрыть утилиту импорта и ввести параметры устройства в настройках протокола. Для этого потребуется ввести:

Адрес роутера - IP адрес и порт устройства (например 192.168.100.12:47808).

Номер сети - взять из настроек контроллера.

Номер устройства и адрес устройства - это один и тот же адрес контроллера. Найдите его в настройках контроллера и укажите это значение в обоих полях.

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

Импорт каналов

Откройте вкладку протокола.

Нажмите на кнопку Получить теги устройства. Сначала утилита произведет поиск и установит связь с устройством. В связи с тем что BACnet устройства могут применяться в составе сложных сетей, сделан многоступенчатый алгоритм установления связи:

1.На первом этапе выполняется попытка прямого опроса параметра по заданному в настройках IP адресу и адресу устройства (аналогично как работает исполнительная система в режиме исполнения).

2.Если первый этап был не успешен, посылается адресный запрос WhoIs на IP-адрес заданный в настройках устройства.

3.Если второй этап был не успешен, производится широковещательный запрос WhoIs по всем сетям. После этого, если устройств обнаружено несколько происходит их сравнение по IP-адресу, адресу устройства и сети.

Если на каком-либо этапе удалось обнаружить нужное устройство, параметры устройства выводятся в поле Свойства устройства, и начинается считывание всех поддерживаемых BACnet-объектов, которые затем выводятся в таблицу переменных. В таблицу выведены все основные параметры (которые потом переносятся в настройки канала), а также текущее значение тега - оно не используется, и служит для упрощения идентификации объекта пользователем.

После считывания, все переменные сгруппированы по типу объекта. При необходимости, используя Фильтр, можно скрыть не нужные объекты или его свойства. При этом переменные не удаляются из памяти - отключение фильтра вернет все переменные обратно в таблицу, повторное считывание переменных из устройства не требуется.

В связи с тем, что может возникать задача исправления имен объектов, изменения иерархии или структуры тегов, комментариев, реализован механизм экспорта и импорта тегов в Excel. При этом, если в таблице отмечены какие-либо теги, то при экспорте в Excel появляется диалоговое окно с запросом сохранения всех или только отмеченных переменных.

Таким образом итоговая последовательность рекомендуется следующая:

1.Считать теги из устройства.

2.Развернуть дерево, найти нужные объекты и отметить их. Если требуется - дополнительно опросить текущее состояние объекта используя кнопку Считать выбранные теги.

3.Если нужны только определенные свойства (в большинстве случаев достаточно только Present Value), вызвать окно фильтра, в таблице свойств отключить все свойства, и отметить нужные, нажать ОК, дерево будет отфильтровано.

4.Отметить нужные объекты флагами. При этом можно использовать выделение (в том числе групповое - по правилам принятым в Windows) и затем включить флаг используя раздел меню Выбор тегов.

5.Если требуется отредактировать имена объектов или изменить иерархию, сохраните отмеченные теги в Excel файл. Отредактируйте файл средствами Excel, сохраните и вызовите импорт из Excel в утилите импорта.

Важно! Значения импортированных из Excel файла переменных также можно опрашивать.

6.Отметьте нужные теги для импорта и нажмите кнопку Применить. Теги будут перенесены в дерево проекта.

7.После этого попробуйте выполнить опрос , загрузив проект в исполнительную систему.

Настройка протокола

1.Настройка Максимального количества объектов в запросе и активация подписки:

Сначала запускаем проект на исполнение с настройками по умолчанию: Максимальное количество объектов в запросе равна 1, Subscriber Process Identifier (подписка) - FALSE.

Если данные поступают, начинаем настраивать Максимальное количество объектов в запросе. Можно начать с установки значения 0 - все объекты будут опрошены с разбиением только на группы по типам объектов.

Если ошибок нет и данные поступают, можно оставить настройку так (если параметров мало). В случае Ошибки, начинаем увеличивать значение параметра.

После подбора значения, можно запустить проект на исполнение.

Если необходимо активировать режим подписки для еще большего ускорения работы, установите значение TRUE для Включить SubscribeCOV и запустите проект на исполнение.

Если ошибок нет и данные поступают, можно вернуться к настройке Максимальное количество объектов в запросе и еще увеличить его (так как параметров стало меньше на 2 в каждом объекте).

2.Настройки Периода обновления подписки:

При использовании подписки, период задачи протокола BACnet рекомендуется оставить стандартным - 100 мс, увеличивать его не нужно.

Время обновления подписки по умолчанию стоит 60 секунд. Рекомендуется увеличить его до 3-5 минут, если параметров много, чтобы избежать частых обновлений подписок и излишнего трафика.

Если необходимо затянуть время обновления подписки, чтобы не замедлять опрос остальных переменных, можно задать Количество подписываемых объектов за цикл. Базовое значение можно рассчитать как количество объектов, разделенное на 5.

3.Настройки Периодического опроса объектов без подписки:

По умолчанию, объекты вне подписки опрашиваются в общем цикле задачи.

Если необходимо снизить трафик обмена, можно задать значение настройки Период опроса параметров не поддерживающих подписку. При значениях 0 или меньше периода задачи протокола, опрос будет выполняться с периодом задачи. При большем значении - с периодом не менее заданного.

Если в режиме подписки отсутствуют значения для периодического опроса, автоматически создается объект типа DEVICE для быстрого определения пропадания связи. Если необходимо полностью отключить периодический опрос, задайте значение настройки равное -1.

4.Настройка поля Subscriber Process Identifier:

По умолчанию имеет значение 1. Менять его требуется только в случае, если контроллер опрашивает другой клиент с таким же идентификатором процесса. Измените на любое другое значение, кроме нуля.

Смотрите также: