Здравствуйте! Пытаюсь подключиться и управлять Neptun Smart по RS-485. Вот их документация
Там дурацкое разделение регистров на биты, и почему-то у меня не получается ничего нормально прочитать. Решил начать с чтения адреса устройства, потому что мы на 100% знаем, что там лежит 240. Согласно документации, адрес хранится в 5 регистре, в байтах F-8, что бы это не значило.
Результат чтения регистра modbus_client:
root@wirenboard-ATCGNXJQ:~# modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -b9600 -a240 -t0x03 -r0005
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[F0][03][00][05][00][01][81][2A]
Waiting for a confirmation...
<F0><03><02><F0><03><C1><90>
SUCCESS: read 1 of elements:
Data: 0xf003
0xf003 это 1111000000000011
240 адрес в 2сс это 11110000. Если я пишу в драйвере 5:8:15, прилетает значение “768”
Что я делаю не так? Главный инженер поддержки нептуна сказал, что он не знает, как работает modbus в их оборудовании, и у них в компании никто не может ответить ни на какие вопросы по поводу modbus. В конце диалога вообще заявил, что сомневается, что я не дебил, так что на них надежды ноль, но объект сдавать надо.