4.3.2 Сниффер Modbus RTU - pr200sd/presp32 GitHub Wiki
Сниффер, шпион(Spy) - режим прослушивания всего траффика на шине Modbus RTU, как от Master к Salve так и от Slave к Master. При этом сам сниффер не участвует в передаче на шину никаких ответов, а только принимает их, это позволяет подключить сниффер к работающей сети модбас не нарушая ее работоспособность.
Этот режим может работать на всех внешних модификациях плат с драйвером RS485.
Наиболее удобный вариант для использования режима "сниффер", это стик USB
Настройки режима осуществляются через встроенный WEB интерфейс. Если режим присутствует в прошивке, то после подачи питания на устройство, необходимо перейти в настройки Modbus RTU и выбрать режим Mode: Sniffer [1], и сохранить настройку.
Общий вид WEB настроек показан на рисунке.
Для смены режима отображаемой информации, необходимо во вкладке [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] заданным в настройках. При выборе данного режима расширяется перечень настроек, возможные варианты настроек на рисунке:
[1]-задание ID Slave устройства на шине из которого необходимо считать данные
[2]-формат команды Modbus, с помощью которой передаются данные от/к устройству
[3]-формат отображения данных извлекаемого значения
[4]-номер регистра с данными
В режиме "value extraction" предусмотрен вывод значений считываемого регистра как на LCD экран, так и в ячейку Modbus TCP сервера. Разные форматы отображения значений на дисплее представлены на картинках.
Для возможности вывода информации без использования внешнего дисплея, можно использовать канал Modbus TCP и выводить информацию на телефон с использованием приложения Virtuino.
В зависимости от выбранного формата данных [3] используются адреса [100-101] Modbus TCP сервера.
В ячейке с номером [102] содержится номер формата выбранного через Web настройки:
- 1-uint16
- 2-uint32
- 3-float
- 3-float_inv
- 4-bin