C700 | C720 Series Operating Manual
24
MODBUS RTU CRC Check
The RTU mode contains an error-detection domain based on a cyclic redundancy check (CRC) algorithm that performs on all message
contents. The CRC domain checks the contents of the entire message and performs this check regardless of whether the message has a
random parity check. The CRC domain contains a 16-bit value consisting of two 8-bit bytes. CRC16 check is adopted..Low bytes precede,
high bytes precede.
Implementation of MODBUS RTU in Instrument
According to the official MODBUS definition, the command starts with a 3.5 character interval triggering command, and the end of the
command is also represented by a 3.5 character interval. The device address and MODBUS function code have 8 bits. The data string
contains n*8 bits, and the data string contains the starting address of the register and the number of read/write registers. CRC check is 16
bits.
Value
Start
Device
Address
Function
Code
Data
CRC
Stop
No signal bytes during
3.5 characters
1-247
Function codes conforming
to MODBUS specification
Data conforming
to MODBUS
specification
CRCL
CRCL
No signal bytes
during 3.5 characters
Byte
3.5
1
n
1
1
3.5
Figure 7: MODBUS definition of data transmission
Instrument MODBUS RTU function code
The instrument only uses two MODBUS function codes:
0x03: Read-and-hold register
0x10: Write multiple registers
MODBUS Function Code 0x03: Read-and-hold Register
This function code is used to read the continuous block content of the holding register of the remote device. Request the PDU to specify
the start register address and the number of registers. Address registers from zero. Therefore, the addressing register 1-16 is 0-15. The
register data in the response information is packaged in two bytes per register. For each register, the first byte contains high bits and the
second byte contains low bits.
Request:
Function Code
1 byte
0x03
Start Address
2 bytes
0x0000….0xfffff
Read Register Number
2 bytes
1...125
Figure 8: Read-and-hold register request frame
Response:
Function Code
1 byte
0x03
Start Address
2 bytes
0x0000….0xfffff
Read Register Number
2 bytes
1...125
N = Register number
Figure 9: Read-and-hold register response frame