Запись нескольких ModBus регистров одновременно


#1

Для корректной работы устройства нужно писать несколько регистров одновременно. (5 или 8 регистров, 10 или 16 байт соответственно) Как это лучше всего сделать? Отображать их статус необязательно.


#2

wb-mqtt-serial это сейчас делать не умеет. Так что только через прямую запись в порт в обход нашего ПО.


#3

А как это корректно сделать? Правильно ли я понимаю что нужно писать скрипт где останавливать wb-mqtt-serial, слать команду а потом стартовать его опять? Если так, то это очень сомнительное решение… :frowning:
Может можно как-то прикрутить holding-multi? (через команду 0х10)


#4

да, примерно так. Очень сомнительное решение, согласен.

оно только на чтение

Для истории прошу оставить название и документацию на устройство, и номера регистров, с которыми такая проблема. В отдалённом будущем подумаем, как реализовать это в ПО контроллера.


#5

Для истории прошу оставить название и документацию на устройство, и номера регистров, с которыми такая проблема.

http://vkmodule.com.ua/RS485_modbus/VRD_485.html
http://vkmodule.com.ua/RS485_modbus/pdf/Протокол%20’Modbus’%20для%20VRD-485.pdf
Регистры 0x0004-0x000B
Так же очень часто в логе ошибка “Serial protocol error: invalid crc” для этого устройства.


#6

оно только на чтение

Из этой темы следует что на запись. Или я чего-то не понял?


#7

wb-mqtt-serial это сейчас делать не умеет.

Есть ли шанс что научится в обозримом будущем? По идее не сильно сложная доработка…