Оставить запрос
Адресация Modbus ВКТ-9
При обращении к регистру с адресом Modbus, указанным в описании протокола обмена с ВКТ-9, согласно описанию с сайта modbus.org, для преобразования адреса Modbus в адрес регистра следует откинуть первую цифру и вычесть «1».
То есть, например, из Modbus адреса 30119 получится адрес регистра 118, из 30216 будет 215, из 30222 будет 221.
Дело в том, что создатели стандарта Modbus, придерживались Pascal нотации, и массивы у них располагались с индекса 1. А так как это приводило к урезанию на 1 физического пространства при 16 битной адресации, то они ввели понятие логического и физического адреса. Логический адрес (тот, что в описании) самой первой ячейки Modbus равен 1, а физический (тот, что содержится в пакете) на 1 меньше, т.е. = 0
Следует учесть эти факты при работе с прибором и использовании документации.
Кроме того, необходимо учитывать тип данных в регистре. При считывании данных из регистра под другим типом значения этих полей будут либо неполными, либо иметь дополнительный "мусор" из соседних регистров.