Страница 4 из 4

Re: USB GPIO EXTENDER

Добавлено: 14 дек 2024, 08:37
DenSyo
Разгадал и всему миру рассказал как write multiple holding registers делается.

целочисленными значениями:
/iot modbus transceive address=1 function=16 values=a2,a1,c2,c1,b,v12,v11,v22,v21...

a2,a1 - старший и младший байты адреса первого регистра
c2,c1 - старший и младший байты количества записываемых регистров
b - количество байт далее (количество байт в сообщении, количества записываемых регистров умножить на два)
v12,v11 - старший и младший байты первого значения
v22,v21 - старший и младший байты второго значения

шестнадцатеричными:
/iot modbus transceive address=1 function=16 data=A2A1C2C1BBV2V1V2V1

установить значение 10 в регистр по адресу 1 и значение 20 в регистр по адресу 2

Код: Выделить всё

/iot modbus transceive address=1 function=16 values=0,1,0,2,4,0,10,0,20
/iot modbus transceive address=1 function=16 data=0001000204000A0014

Re: USB GPIO EXTENDER

Добавлено: 14 дек 2024, 09:45
Erik_U
Спецификацию протокола читали?

https://modbus.org/tech.php
https://modbus.org/docs/Modbus_Applicat ... V1_1b3.pdf
https://modbus.org/docs/Modbus_over_ser ... _V1_02.pdf

"особенности" зависят от конечного устройства. Иногда для каждого "разгадывать" приходится.