bg

Опрос MODBUS устройств: 'Как сделать ...'. Применимо для MODBUS RTU/TCP

Скачайте бесплатную пробную версию! Она позволяет попробовать все возможности! Модули можно скачать отдельно тут.

Как проверить, что программа отправляет запросы и получает ответы?

Мы рекомендуем настроить вид отображения данных, как показано на рис. 8. Значение в поле "Разбивать строки по таймауту" должно быть больше или равно тайм-аута, указанного в поле "Ожидание ответа" MODBUS запроса.

Настройка вида отображение данных
Рис. 8 - Настройка вида отображение данных

В этом случае обмен данными будет иметь вид, как показано на рис. 9. Желтым цветом подсвечены запросы, отсылаемые к устройству MODBUS. Следует обратить внимание, что размер ответного сообщения должен быть как минимум не короче запроса.

Обмен данными
Рис. 9 - Обмен данными

Как просматривать значения регистров, а не пакеты MODBUS?

На рис. 8 необходимо выбрать опцию "Отображать значения парсера". Следует учесть, что в этом случае запросы отображаться не будут.

Как проверить, что программа правильно интерпретирует получаемые ответы?

Это легко сделать с помощью модуля экспорта данных DDE Server.

1. Включаем модуль на закладке с модулями экспорта данных. Для этого ставим "галочку" напротив его имени.

Выбор модуля экспорта данных
Рис. 10 - Выбор модуля экспорта данных

2. Нажимаем "ОК".

3. Позволяем программе отослать запрос и принять ответ.

4. Снова открываем список модулей экспорта данных и дважды кликаем на "DDE Server".

5. В появившемся окне (рис. 11) переключаемся на закладку "Все активные переменные". Там должны отображаться элементы ответа, заданные в свойствах запроса.

Переменные парсера
Рис. 11 - Переменные парсера

Замечание: Префикс "srvi" добавляет модуль "DDE Server". На него не стоит обращать внимание.

Как просматривать значения регистров MODBUS в более наглядной форме (графики, индикаторы и т.п.)?

Мы предлагаем программное обеспечение "OPC Scada Viewer", которое может получать данные от логгера через интерфейс OPC (например, как SCADA система) и визуализировать их в наглядной форме. Для того, чтобы MODBUS данные из логгера были доступны в "OPC Scada Viewer" необходимо:

  1. Скачать и установить "OPC Scada Viewer".
  2. Включить "OPC server" на закладке модулей экспорта данных, как это было описано выше для "DDE server".
  3. Добавить блок визуализации, как это описано в документации к "OPC Scada Viewer".

Как объединить данные из двух запросов?

Это может вам потребоваться, если вы считываете удаленные друг от друга регистры в двух разных запросах, но при этом хотите записать их в Excel, базу данных или файл в одной строке.

Внимание: доступно только в версии Enterprise и пробной версии.

  1. В каждом запросе указываем уникальные имена элементов ответа. Например, для первого запроса это VALUE_A1, а для второго: VALUE_B1. Вы можете объединить до восьми запросов включительно.
  2. Включаем модуль фильтрации данных "Aggregation" (рис. 12).

Указываем в свойствах модуля по одному имени из каждого запроса (рис. 13).

Выбор модуля фильтрации данных
Рис. 12 - Выбор модуля фильтрации данных

Настройка модуля фильтрации данных
Рис. 13 - Настройка модуля фильтрации данных

Как правильно организовать опрос большого количества устройств?

Ускорить опрос большого количества MODBUS устройств можно, если подключить их к разным COM портам. Если изначально все MODBUS устройства были подключены к одному порту, то разделив их на 2 порта можно увеличить скорость опроса в 2 раза. Для того, чтобы организовать опрос MODBUS устройств по двум или нескольким портам необходимо:

  • Создать отдельную конфигурацию для каждого порта, используя кнопку с зеленым плюсом в главном окне программы.
  • Настроить опрос устройств отдельно в каждой конфигурации.

Когда не стоит разделять устройства на разные COM порты:

  • Разделить устройства на разные порты не получится, если вы заходите объединять данные от этих устройств с помощью модуля "Aggregation", как было описано выше.
  • Если суммарное время опроса всех устройств не превышает "Polling interval" у любого из запросов в очереди. В этом случае разделение устройств на разные порты приведет лишь к увеличению потребляемых программой ресурсов.

Сопутствующие статьи:

MODBUS RTU, MODBUS ASCII, MODBUS/TCP

IEC 62056-21