Добрый день.
В открытом виде не нашёл как это сделать.
Поэтому пишу “для общего пользования”.
Имеем
- Modbus устройство с TCP интерфейсом (RJ45). Это может быть что угодно, в моём случае мультиметр CVM-C10.
- WirenBoard 6
Задача. Получить данные с регистра в мультиметре в WB6.
Мультиметр и WB6 видят друг друга по сети (на всякий случай напоминаю).
Через ModbusPoll (приложение для считывания значения регистров) видим мультиметр и нужный нам регистр.
В моём случае это 10.71.106.100 по порту 502, 101 ModBus адрес, регистр 94 (Read holding registr 40095). Формат регистра 32 bit signed Big-endian (это в инструкции на мультиметр написано или перебираем форматы пока не совпадёт с тем что на дисплее)).
Топаем в WirenBoard 6.
Настройки -Конфигурационные файлы - Настройка драйвера serial-устройств
Далее. Добавляем порт связи - MODBUS TCP
Вписываем IP мультиметра, порт связи с устроством (чаще всего ModBus это 502 порт). Я добавляю период опроса 2000 мс (мне часто не надо).
Далее. Добавляем непосредственно само устройство - “Устройство с протоколом ModBus”.
Пишем ModBus адрес устройства, в нашем случае это 101. На всякий случай период опроса тоже ставлю поменьше - 2000 мс.
Теперь добавляем собственно сам регистр который нужно читать.
Жмём “+ канал”.
Выбираем “Составной регистр”, так как помним что наше значение согласно мануалу состоит из 2 регистров по 16 бит (выше писал “Формат регистра 32 bit signed Big-endian”).
Пишем название канала.
Тип регистра “input”.
Адрес регистра 95 (писал ранее “Read holding registr 40095”)
Формат регистра 32-бита.
Выбираем Big-endian.
То есть фактически переносим настройки из ModBus Poll в WB6.
Нажимаем ЗАПИСАТЬ наверху страницы
Радуемся )))