Мы захотели поменять modbus-адрес на релейном модуле с 5-го на 6-й. По незнанию, подумали, что регистр 128 - восьмибитный. И подали команду 05 06 00 80 06 (09 4a - контрольная сумма). А нужно было, видимо, 05 06 00 80 00 06 (и контрольная сумма).
Ни ошибок, ничего не было. Запрограммировался адрес 09 взятый, наверное, из котрольной суммы.
Может быть, сделать сообщение об ошибке, чтобы, если длины пакета не хватает, не программировался бы неверный адрес?
спасибо, попробуем воспроизвести