Настройка преобразователя протоколов (SNMP, Modbus) Babel Buster. Часть 2
28.04.2016, Автор: Андрей Торженов / контакты / обратная связь /Статья состоит из двух частей:
- Часть 1: Назначение преобразователя Babel Buster, основные настройки и чтение Modbus регистров используя SNMP протокол.
- Часть 2: Запись в регистры Modbus используя SNMP протокол, настройка отправки SNMP Trap'ов и обзор настройки Modbus RTU RS-485.
В первой части статьи, мы рассмотрели работу преобразователей протокола (SNMP, Modbus) Babel Buster в режиме чтения регистров Modbus используя протокол SNMP, а сейчас мы рассмотрим режим записи в регистры Modbus, а также рассмотрим работу с SNMP Trap и слегка затронем вопрос работы Babel Buster с MODBUS RTU (интерфейс RS-485).
Если вы не читали первую часть статьи, рекомендую её прочитать прежде чем вы начнёте работать со второй частью. Иначе, многие моменты для вас могут быть непонятны.
Часть 2
Запись в регистры Modbus используя SNMP протокол, настройка отправки SNMP Trap'ов и обзор настройки Modbus RTU RS-485
1. Запись в регистры Modbus
В контроллере датчиков температуры, есть возможность задать пороговое значение температуры. В случае превышении порога, на контроллере будет включаться световая и звуковая сигнализация. Пороговое значение задается методом записи в Modbus регистр соответствующего значения (температура).
Для записи значений в Modbus регистры используя SNMP, нам необходимо, создать таблицу связей между регистрами Modbus устройства и локальными регистрами Babel Buster которые уже в свою очередь, ассоциированы с SNMP OID.
Babel Buster, получает по SNMP значение, записывает значение в свой локальный регистр и далее записывает его в регистр Modbus устройства.
Все параметры записи в Modbus регистры, аналогичны предыдущему описанию (Часть 1, Глава 4.4), посвященному чтению регистров Modbus.
Выше мы видим, что вы связали локальный регистр 1011 с Modbus регистром 16 (формат Float) и данный регистр находится на Modbus устройстве Contr.meteo.temp (Modbus устройства мы создавали в первой части Глава 4.3).
Нажав на номер Map можно попасть в расширенные настройки таблицы связей.
Настройки сделаны. Теперь нам необходимо узнать SNMP OID который ассоциирован с локальным регистром 1011.
Мы видим какой OID у локального регистра 1011 (и видим его текущее значение – 35).
Теперь используя SNMP SET мы можем записать пороговое значение в Modbus регистр контроллера.
2. Настройка отправки SNMP Trap
Ниже мы рассмотрим настройку не только отправки SNMP Trap’ов но и возможность Babel Buster производить математические операции (сложение, вычитание, деление и т.д.).
Настроим отправку SNMP Trap по достижению средней температуры двух датчиков температуры больше 30 градусов.
Последовательность настройки:
- Рассчитываем среднюю температуру с двух датчиков.
- Настраиваем правило с пороговым значением (Thresholds) температуры при котором будет отправляться SNMP Trap.
- Настраиваем SNMP параметры.
2.1. Расчёт средней температуры с двух датчиков
У нас есть два датчика температуры. Значение температуы записываются в локальные регистры 1001 и 1003 (подробнее в Части 1).
Для расчёта средней температуры используем формулу:
tср = (t1 + t2) / Const
Где, |
В WEB интерфейсе Babel Buster создаём константу (Const) и записываем её в свободный регистр типа Float, в нашем случае 1007 (про типы регистров читаем подробнее в первой часте статьи).
Создадим правило расчёта средней температуры.
- В Rule 1 мы сумируем значение t1 и t2 (Perfom Operation: sum) и результат записываем в локальный регистр типа float 1005.
- В Rule 2 мы делим (Perfom Operation: divide) результат операции из Rule 1 на выше созданную константу (которая записана в локальный регистра 1007) и результат записываем в локальный регистр типа float 1009.
Теперь в локальном регистре 1009 у нас будет расчётная величина средней температуры с двух датчиков.
- Также в Rule 3 приведен пример расчёта мощности. Напряжение (локальный регистр 3) умноженное на ток (локальный регистр 2). Значение мощности будет в локальном регистре 4.
- В Rule 4 приведены все доступные математические операции.
Отображение значений локальных регистров.
Локальные регистры типа Integer.
Мы видим как фактические значения с Modbus устройств (Local Register 1, 2 и 3) так и расчётные значения мощности (Local Register 4).
Локальные регистры типа Float.
Мы видим как фактические значения с Modbus устройств (Local Register 1001, 1003) так и расчётные значения средней температуры (Local Register 1009) и константу, которую ранее указывали (Local Register 1007).
2.2. Настройка порогового значения
Настраиваем пороговое значение температуры (Thresholds) при котором будет отправляться SNMP Trap.
Выбираем Rule 1 и настраиваем параметры.
Указываем, за каким локальным регистром следим (1), имя порогового значения (2), критерий срабатывания порога (3), пороговое значение (4) и нажимаем Update (5).
Отображение состояния пороговых значений.
Номер правила порогового значения (1), имя правила (2), локальный регистр за котором следит правило (3), текущее значение в локальном регистре (4), критерий срабатывания правила (5), значение заданного порога (6), текущее состояние правила порога (сработало или нет) (7).
2.3. Настройка параметров для SNMP Trap
Указываем адрес SNMP сервера получающего трапы, и группу в которую он входит.
Настраиваем правило отправки SNMP Trap'а.
При каких условиях отправлять (1), сколько раз (2), какой группе пренадлежит (3).
Тестирование приёма SNMP Trap
Получили SNMP Trap превышения порогового значения температуры (35oС > 30oC).
Получили SNMP Trap. Порогового значения температуры пришло в норму (25oС < 30oC).
3. Обзор настройки Modbus RTU RS-485
Не буду глубоко погружаться в процесс настройки Modbus RTU, а быстро пробегусь по интерфейсу настроек, т.к. настройки похожи на Modbus TCP.
Параметры RS-485 порта.
Указываем скорость и другие параметры порта, тип Master или Slave и другие параметры.
Создание таблицы связей для чтения и записи в регистры, между регистрами Modbus RTU устройства и локальными регистрами Babel Buster.
Настраивается аналогично Modbus TCP как было описано выше.
Отображение полученных данных от Modbus RTU устройства.
В данном примере небыли созданы регистры Modbus RTU, по этой причине список пустой.
4. Дополнительные материалы
Спецификация на Control Solutions Babel Buster SPX (ENG).
Базовые настройки Control Solutions Babel Buster SPX (ENG).
Спецификация на Control Solutions Babel Buster BB2-6010 (ENG).
Базовые настройки Control Solutions Babel Buster BB2-6010 (ENG).
Схема подключения Babel Buster BB2-6010 (ENG).
Опубликовать в социальных сетях: