R4AVA07 Modbus Rtu Protocol
R4AVA07 Modbus Rtu Protocol
Function code
RS485 address Function Register Read number CRC16 (2)
(Station address) (1) address (2)
(1) (2)
03 Read
06 Write
Returns data
RS485 address Functio Number of bytes (1) data (n) CRC16
(Station address) n (1) (2)
(1)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x03
Register address:0x0000-0x0006, Indicates 1-7 channel value
Read number:0x0001-0x0007
The return of the Voltage value is two bytes,High-bit in the former and low-bit
in the post,convert it to decimal and divided by 100, is the Voltage value, Unit
0.01V; for example:
For example:
Send data(RS485 address is 1):01 03 00 00 00 01 84 0A
Returns data:01 03 02 01 4B F9 E3
01 RS485 address,03 Function,02 length,F8 E3 crc16
014B is the Voltage value, it is converted to decimal = 331, 331/100=3.31V;
Returns data:01 03 02 00 DB F8 1F
00DB is the Voltage value, it is converted to decimal =219, 219/100=2.19V;
Returns data
RS485 address Function Number of bytes data (n) CRC16
( Broadcast (1) (1) (2)
address )
(1)
For example:
send data:FF 03 00 0E 00 01 F0 17
Returns data:FF 03 02 00 01 50 50
FF Broadcast address,03 Function,02 length,01 is the current module
RS485 address , 50 50 crc16
Note: When using this command, only one temperature module can be
connected to the RS485 bus, more than one will be wrong!
3. Write RS485 address
Send data
RS485 address Function Register Setting Content CRC16
(Station address) (1) address (2) (2) (2)
(1)
Returns data
RS485 address Function Register Register value CRC16
(Station address) (1) address (2) (2)
(1) (2)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x06
Register address:0x000E
Setting Content:2Bytes(1-247)
For example, The current RS485 address is 1, We need to change the RS485
address to 3:
send data(RS485 address is 1):01 06 00 0E 00 03 A8 08
Returns data:01 06 00 0E 00 03 A8 08
Returns data
RS485 address Functio Number of bytes (1) data (n) CRC16
(Station address) n (1) (2)
(1)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x03
Register address:0x000F
Read number:0x0001
For example:
send data(RS485 address is 1):01 03 00 03 00 01 74 0A
Returns data:01 03 02 00 03 F8 45
01 RS485 address,03 Function,02 length,F8 45 crc16
03 means the current baud rate is 9600bps
Baud rate corresponds to the number: 0: 1200 1: 2400 2: 4800 3: 9600 4: 19200
Returns data
RS485 address Functio Number of bytes (1) data (n) CRC16
(Station address) n (1) (2)
(1)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x03
Register address:0x0007-0x000D ; Indicates 1-7 channel value
Read number:0x0001-0x0006
Return data: 0.1% millesimal
The voltage ratio can be corrected by this value when the voltage reading deviation is greater
than 1%. The default value is 1000 (3E8).
For example 1:
send data(RS485 address is 1):01 03 00 07 00 01 35 CB; 07 is Channel 1
Returns data:01 03 02 03 E8 B8 FA
03E8 is the voltage ratio, which is 1000 in decimal and divided by 1000=1;
indicating that channel 1 does not need to modify the voltage value.
For example 2:
send data(RS485 address is 1):01 03 00 08 00 01 05 C8; 08 is Channel 2
Returns data:01 03 02 03 DE 38 EC
03DE is the voltage ratio, which is 990 in decimal and divided by 1000=0.99;
Indicates that channel 2 reads 0.99 times the actual acquisition value.
Returns data
RS485 address Function Register Register value CRC16
(Station address) (1) address (2) (2)
(1) (2)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x06
Register address:0x0007-0x000D ; Indicates 1-7 channel value
Setting Content:2Bytes
Setting value: 2 bytes, unit 0.1%. When this value is set to 1000 (3E8), the voltage value does not
change.
For example 1: The actual voltage of channel 1 is 5.00V, but the read value is only 4.00V. The
ratio deviation is 5/4=1.25, and the correction voltage ratio is changed to 1250, which can
correct the voltage.
Send frame: 01 06 00 07 04 E2 BA 82
Return frame: 01 06 00 07 04 E2 BA 82
The return frame is the same as the send frame. 07 means channel 1, 04 E2 means correction
voltage ratio is 1250
For example 2: The actual voltage of channel 1 is 4.00V, but the read value is only 5.00V. The
ratio deviation is 4/5=0.8, and the correction voltage ratio is changed to 800, which can correct
the voltage.
Send frame: 01 06 00 08 03 20 09 20
Return frame: 01 06 00 08 03 20 09 20
The return frame is the same as the send frame. 08 means channel 2, 0 3 20 means correction
voltage ratio is 800
MODBUS commands you can use "Modbus Poll" input, as shown below
(CRC check generated automatically)
You can also use HyperTerminal serial input, as shown below
(Manually add CRC check)