Рабочее.
Звёзды сошлись так, что проверка CRC в верификаторе посылки Modbus RTU протокола дала сбой.
Это сообщение проходит проверку CRC, но некорректно:
0x04, 0x03, 0x1c, 0x3f, 0xe9, 0x15, 0x18, 0x03, 0x02, 0x00, 0x01, 0x02, 0x02, 0x00
Вот корректное сообщение:
0x04, 0x03, 0x1c, 0x3f, 0xe9, 0x15, 0x18, 0x03, 0x02, 0x00, 0x01, 0x02, 0x02, 0x00,
(
Read more... )
Comments 2
Можно судить по значению регистра, и более того, разнести диапазоны возможных значений регистров, чтобы они не пересекались. Также можно много раз делать повторный запрос значения и сравнивать.
Reply
"разнести диапазоны возможных значений регистров" - не корректно. Мы опрашиваем не 100 регистров, а 2 конкретных последовательно. У нас нет времени перебирать 100 регистров, чтобы потом из 1го и 77го считать нужные данные.
"много раз делать повторный запрос значения и сравнивать" - не корректно, т.к. у 2х регистров могут быть одинаковые значения. А могут и не быть.
Reply
Leave a comment