Стартовая страница › Форумы › Ошибки в работе › Modbus TCP: Некорректные данные MBAP Header!
- В этой теме 88 ответов, 9 участников, последнее обновление 2 года, 11 месяцев назад сделано
Mikhail.
-
АвторСообщения
-
12.06.2017 в 06:38 #6104
baurУчастникДобрый день,
пытаюсь получить данные из весового терминала Shenk по Modbus TCP протоколу.как бы не задавал адрес получаю ошибку Некорректные данные MBAP Header!
По логу видно, что приём данных все время отличается хотя у меня значение не меняется.2017-06-09 16:48:08 Установка TCP-соединения с 192.168.240.1:502 2017-06-09 16:48:08 Сеанс связи с КП 9, тип: KpModbus, позывной: 192.168.240.1 Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 00 00 00 00 00 03 01 Некорректные данные MBAP Header! Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 84 02 00 00 00 00 00 Некорректные данные MBAP Header! Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 03 01 84 02 00 00 00 Некорректные данные MBAP Header! 2017-06-09 16:48:08 Отключение от 192.168.240.1 2017-06-09 16:48:09 Установка TCP-соединения с 192.168.240.1:502 2017-06-09 16:48:09 Сеанс связи с КП 9, тип: KpModbus, позывной: 192.168.240.1 Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 00 00 00 00 00 03 01 Некорректные данные MBAP Header! Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 84 02 00 00 00 00 00 Некорректные данные MBAP Header! Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 03 01 84 02 00 00 00 Некорректные данные MBAP Header! 2017-06-09 16:48:09 Отключение от 192.168.240.1 2017-06-09 16:48:10 Установка TCP-соединения с 192.168.240.1:502 2017-06-09 16:48:10 Сеанс связи с КП 9, тип: KpModbus, позывной: 192.168.240.1 Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 00 00 00 00 00 03 01 Некорректные данные MBAP Header! Запрос значений группы элементов "GRP" Отправка (12): 00 00 00 00 00 06 00 04 07 55 00 02 Приём (7/7): 84 02 00 00 00 00 00 Некорректные данные MBAP Header!-
Тема изменена 8 лет, 11 месяцев назад пользователем
baur.
13.06.2017 в 11:10 #6117
baurУчастникОстальные клиентские программы опрашивает без проблем
13.06.2017 в 11:22 #6118
manjey73Участникпопробовать Holding Registr и нумерацию увеличить на +1, то есть 1879 указать
Порядок байт зависит от устройства, не обязательно может оказаться 2301
Хотя в запросе вроде верно, 1878.Еще указать адрес Modbus для RTU режима, иногда это требуется, например ПЛК Овен не ответят, если так же не указывается адрес для RTU режима.
Особенности железа…
13.06.2017 в 13:00 #6124
MikhailМодераторЕсли другие программы показывают передаваемые пакеты, скопируйте их сюда.
Обязательно его попробуйте, то что написал manjey73.13.06.2017 в 13:53 #6132
EvgenУчастникЕще как вариант попробовать не только float но и другие типы int ushot к примеру, поскольку я не увидел тип данных в описании.
13.06.2017 в 15:26 #6135
manjey73УчастникКак не увидели ? Read IEEE Values, по номерам регистров видно что их два.
-
Ответ изменён 8 лет, 11 месяцев назад пользователем
manjey73.
13.06.2017 в 15:37 #6137
EvgenУчастникможет быть int32 тогда занимает 4 байта
13.06.2017 в 15:51 #6138
manjey73УчастникInt32 не может быть формата IEEE
14.06.2017 в 05:58 #6153
baurУчастникк сожалению терминала обратно забрали в объект, пока не могу проверить
05.10.2018 в 06:07 #10347ValeraMar
УчастникЗдравствуйте, столкнулся с такой же проблемой, все методы решения попробовал предложенные Manjey73, результата нет. Какие варианты еще кто может предложить?
05.10.2018 в 17:12 #10350
MikhailМодераторДобрый день!
Пробовали ли опрашивать другими программами?
Скопируйте сюда часть журнала линии связи.08.10.2018 в 06:49 #10351
baurУчастникЕсли другие программы показывают передаваемые пакеты, скопируйте их сюда
тут успешные запросы и ответы от устройства, по Modbus TCP
08-10-2018 09:40:38.327 vesy::Device1:(10.28.198.42:502) Rx: [0013] C3 02 00 00 00 07 01 04 04 3E 98 05 6C 08-10-2018 09:40:38.296 vesy::Device1:(10.28.198.42:502) Tx: [0012] C3 02 00 00 00 06 01 04 07 5C 00 02 08-10-2018 09:40:38.265 vesy::Device1:(10.28.198.42:502) Rx: [0017] C2 02 00 00 00 0B 01 04 08 4E EE 7F 1E 4E F3 96 97 08-10-2018 09:40:38.265 vesy::Device1:(10.28.198.42:502) Tx: [0012] C2 02 00 00 00 06 01 04 07 54 00 04 08-10-2018 09:40:38.249 vesy::Device1:(10.28.198.42:502) Rx: [0017] C1 02 00 00 00 0B 01 03 08 44 6B 29 77 4A 02 6A 27 08-10-2018 09:40:38.218 vesy::Device1:(10.28.198.42:502) Tx: [0012] C1 02 00 00 00 06 01 03 07 50 00 04 08-10-2018 09:40:37.154 vesy::Device1:(10.28.198.42:502) Rx: [0013] C0 02 00 00 00 07 01 04 04 3E 97 A7 0C08.10.2018 в 15:04 #10352
MikhailМодераторПакеты, которые прислал baur, относятся к тому же самому случаю?
Если да, то их нужно сравнить с некорректными пакетами из Коммуникатора — нужен журнал линии связи.08.10.2018 в 18:16 #10353
baurУчастникда, это одно и то же оборудование, отличается начало пакета RapidScada сплошные нули посылает 00 00 00 а на правильном начинается с C2 02 00
09.10.2018 в 10:42 #10354
manjey73УчастникTransaction Identifier (Идентификатор транзакции): 2 байта устанавливаются Master, чтобы однозначно идентифицировать каждый запрос. Может быть любыми. Эти байты повторятся устройством Slave в ответе, поскольку ответы устройства Slave не всегда могут быть получены в том же порядке, что и запросы.
Protocol Identifier (Идентификатор протокола): 2 байта устанавливаются Master, всегда будут = 00 00, что соответствует протоколу Modbus.
Мне кажется тут весы прикалываются и требуют не нулевого значения Transaction Identifier , тоже где-то встречал что-то подобное только в собственном протоколе прибора, требовался свой ID и если прибор не ответил с таким же ID то ошибка.
Похоже надо будет дорабатывать драйвер, чтобы он генерировал ID транзакции и проверял потом этот же ID на соответствие (хотя можно и без проверки, если ответ пришел) -
Тема изменена 8 лет, 11 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.




