Skip to content

4.3.2 Сниффер Modbus RTU

pr200sd edited this page Apr 7, 2023 · 7 revisions

Сниффер, шпион(Spy) - режим прослушивания всего траффика на шине Modbus RTU, как от Master к Salve так и от Slave к Master. При этом сам сниффер не участвует в передаче на шину никаких ответов, а только принимает их, это позволяет подключить сниффер к работающей сети модбас не нарушая ее работоспособность.

Этот режим может работать на всех внешних модификациях плат с драйвером RS485.

Наиболее удобный вариант для использования режима "сниффер", это стик USB

Настройки режима осуществляются через встроенный WEB интерфейс. Если режим присутствует в прошивке, то после подачи питания на устройство, необходимо перейти в настройки Modbus RTU и выбрать режим Mode: Sniffer [1], и сохранить настройку.

Общий вид WEB настроек показан на рисунке. Sniffer settings

Для смены режима отображаемой информации, необходимо во вкладке [2] Format выбрать режим и сохранить через нажатие "Save" .


  • Режим "req/resp+decoding" [3] наиболее подробный формат записи траффика, в лог записываются запросы, ответы и расшифровка команд. Формат представлен в начале файла сниффера.

  • Режим [4] "req/resp" краткий режим, только запросы и ответы в hex формате, данные можно расшифровать внешними средствами анализа траффика Modbus. Формат представлен начиная со строки 788 файла сниффера.

  • Режим [5] "decoding req/resp" только расшифровка запросов и ответов. Формат представлен начиная со строки 976 файла сниффера.

В режимах [3], [4], [5] когда значения поступают в архив, в начале каждой записи устанавливается метка времени в формате UNIX time, с дискретностью 1мс для удобства анализа траффика.

  • Режим [6] "value extraction" режим извлечения значения определенного номера регистра [4] с устройства с номером ID [1] заданным в настройках. При выборе данного режима расширяется перечень настроек, возможные варианты настроек на рисунке:

Sniffer mode

[1]-задание ID Slave устройства на шине из которого необходимо считать данные


[2]-формат команды Modbus, с помощью которой передаются данные от/к устройству


[3]-формат отображения данных извлекаемого значения


[4]-номер регистра с данными

В режиме "value extraction" предусмотрен вывод значений считываемого регистра как на LCD экран, так и в ячейку Modbus TCP сервера. Разные форматы отображения значений на дисплее представлены на картинках.

Sniffer settings

Sniffer settings

Sniffer settings

Для возможности вывода информации без использования внешнего дисплея, можно использовать канал Modbus TCP и выводить информацию на телефон с использованием приложения Virtuino.

В зависимости от выбранного формата данных [3] используются адреса [100-101] Modbus TCP сервера.

В ячейке с номером [102] содержится номер формата выбранного через Web настройки:

  • 1-uint16
  • 2-uint32
  • 3-float
  • 3-float_inv
  • 4-bin