Показать сообщение отдельно
Старый 06.04.2020, 01:23   #20
Delphin
Новичок
 
Регистрация: Apr 2020
Адрес: Николаев
Сообщения: 13
Благодарил(а): 4 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Cool Ответ: Список переменных ModBus TCP

Цитата
Сообщение от New Посмотреть сообщение
А что это у вас за тестер? Очень уж похож на давно "скончавшийся" Terring Modbus Tools.
Раньше была такая программа от ModbusTester by Vadim A. Abramov
Пользовался ей более 10 лет. Но в основном я работал с Modbus RTU, замечательно с ним работает утилита.
А реализация Modbus TCP у нее наверное немного специфическая.
Т.е. получается она в Modbus TCP также как и в Modbus RTU сохраняет CRC сумму, и не добавляет MBAP заголовок.
Из просторов интернета вычитал что в Modbus TCP добавляется заголовок (MBAP Header) в виде нулей и адрес узла в сети.
Просмотрел формат пакета данных в MasterOPC при обращении к Slave устройству с номером 1, почему то адрес узла указывается 6, а ответ получает уже с цифрой 7.

К примеру если послать такой пакет:
00 00 00 00 00 06 01 04 00 02 00 02
В ответ получаешь :
00 00 00 00 00 07 01 04 04 00 00 41 30

где в запросе
00 00 00 00 00 - Резерв
00 06 - Похоже что адрес узла.. Что за адрес пока не пойму
01 04 - это номер устройства в сети Modbus и запрашиваемой функции...
00 02 - адрес ячейки памяти из которой нужно прочитать данные
00 02 - количество запрашиваемых для чтения байт

а в ответе адрес узла уже почему то = 7..
Если запросить другую переменную там почему то в запросе также 6, а вот в ответе уже 5 - ка.. Пока не пойму..
Delphin вне форума   Ответить с цитированием