MODBUS
34
BC7300
Query
Byte Name
Example
RTU
ASCII
Start frame
„:“
0x3A
Slave address
11
0x0B
„0B“
0x30, 0x42
Function code
23
0x17
„17“
0x31, 0x37
Read start address
high
0
0x00
„00“
0x30, 0x30
Read start address
low
0
0x00
„00“
0x30, 0x30
Read length high
0
0x00
„00“
0x30, 0x30
Read length low
2
0x02
„02“
0x30, 0x32
Write start address
high
8
0x08
„08“
0x30, 0x38
Write start address
low
0
0x00
„00“
0x30, 0x30
Write length high
0
0x00
„00“
0x30, 0x30
Write length low
2
0x02
„02“
0x30, 0x32
Byte Count
4
0x04
„04“
0x30, 0x34
Data 1 high
63
0x3F
„3F“
0x33, 0x46
Data1 low
255
0xFF
„FF“
0x46, 0x46
Data 2 high
127
0x7F
„7F“
0x37, 0x46
Data 2 low
255
0xFF
„FF“
0x46, 0x46
Error Check
LRC / CRC
0x76
0xD3
„12“
0x31, 0x32
End of frame
T1-t2-t3
CRLF
0xD, 0xA
Response
The Bus Terminal Controller replies with the start address and the length of
the bytes to be transferred in "Byte count". The data information follows. In
this example the first word contains 0x0038 (hex) while the second word
contains 0x3F0B.
Byte Name
Example
RTU
ASCII
Start frame
„:“
0x3A
Slave address
11
0x0B
„0B“
0x30, 0x42
Function code
23
0x17
„17“
0x31, 0x37
Byte Count
4
0x04
„04“
0x30, 0x34
Data 1 high
0
0x00
„00“
0x30, 0x30
Data 1 low
56
0x38
„38“
0x33, 0x38
Data 2 high
63
0x3F
„3F“
0x33, 0x46
Data 2 low
11
0x0B
„0B“
0x30, 0x42
Error Check
LRC / CRC
0x82
0xDD
„58“
0x35, 0x38
End of frame
t1-t2-t3
CRLF
0xD, 0xA
Diagnostics
In the MODBUS, function 08 provides a series of tests for examination of
the communication system between the master and the slave and for
inspection of a variety of internal error states within the slave. A broadcast
telegram is not supported.
The function uses a two-byte sub-function code field in the query to define
the test that is to be carried out. The slave outputs the function code and
the sub-function code as an answer.
The diagnostic queries use a two-byte data field to send diagnostics data
or control information to the slave.