ModbusTCP: Обратный инжиниринг без каких-либо документов клиента (мастера) - PullRequest
1 голос
/ 14 октября 2019

Концепция

У нас есть симулятор корабля (клиент) и контроллер Modbus (сервер). Наша цель - разработать эмулятор (например, контроллер) на моем ПК. Но у нас нет информации о клиенте (симуляторе).

Progress

  • Сначала мы проверили фактические выходные данные контроллера (сервера). Существует 7 различных переменных, таких как телеграф двигателя, угол поворота руля и т. Д.
  • Во-вторых, я проверил номера регистров контроллера, в которых хранятся значения команд. Было от 0 до 7.

Сервер опросов с установленным сервером программного обеспечения Modpoll:

screen1

  • Я проверил тип регистра. Это был регистр хранения

  • Я написал скрипт для разработки Сервера, похожего на контроллер с pymodbus Server. Я могу не только записать конкретные значения в регистр хранения от 0 до 7, но также есть правильное рукопожатие и ответы на симуляторе (клиент)

Задача

  • Клиент отправляет запрос на чтение с номерами регистров от 256 . Это означает, что мой Сервер отвечает нулевыми значениями, а не значениями команд, записанными в регистрах от 0 до 7. Но проблема в том, что симулятор (клиент) показывает изменения параметров в своем графическом интерфейсе пользователя. .

Снимок экрана из wireshark - показывает, что клинлет (симулятор) отправляет запрос с регистрационным номером от 246:

screen2

  • Клиентотправляет запрос не только на чтение, но и на запись, а запрос на запись перезаписывает значения, записанные сервером (ПК).

Вопрос

  1. Как возможно, что симулятор получает командный сигнал, запрашивая разные номера регистров? клиент должен отправить запрос с номерами регистров от 0 до получения командных сигналов.

  2. Я не могу понять, почему клиент пишет сначала перед чтением значений с сервера. Этот запрос на чтение перезаписывает значения, записанные сервером (ПК). Сервер (контроллер или ПК) должен послать командный сигнал на симулятор. Я понятия не имею, почему симулятор сначала записывает некоторые значения на сервер и читает их.

Пожалуйста, сообщите по этому вопросу.

С уважением, Сёнсу.

...