Read analogue outputs (function 3) – BECKHOFF BK7300 User Manual
Page 26

MODBUS
22
BK7300
Read Analogue Outputs (Function 3)
READ HOLDING
REGISTERS
Function 3 can be used to read the output words and the registers.
In this example the first two analogue outputs of slave number 11 are read.
The analogue outputs begin at offset 0x800 (hex). The length indicates the
number of channels to be read.
Query
Byte Name
Example
RTU
ASCII
Start frame
„:“
0x3A
Slave address 11
0x0B
„0B“
0x30, 0x42
Function code 3
0x03
„03“
0x30, 0x33
Start address high 8
0x08
„08“
0x30, 0x38
Start address low 0
0x00
„00“
0x30, 0x30
Count high 0
0x00
„00“
0x30, 0x30
Count low 2
0x02
„02“
0x30, 0x32
Error Check
LRC / CRC
0xC6
0xC1
„E8“
0x45, 0x38
End of frame
t1-t2-t3
CRLF
0xD, 0xA
Response
The coupler answers with byte count 4, i.e. 4 bytes of data are returned.
The request was for 2 analogue channels, and these are now distributed
over 2 words. In the analogue output process image, the first channel has
the value 0x3FFF, while the second channel has the value 0x0.
Byte Name
Example
RTU
ASCII
Start frame
„:“
0x3A
Slave address 11
0x0B
„0B“
0x30, 0x42
Function code 3
0x03
„03“
0x30, 0x31
Count byte 4
0x04
„04“
0x30, 0x30
Data 1 high byte 63
0x3F
„3F“
0x33, 0x46
Data 1 low byte 255
0xFF
„FF“
0x46, 0x46
Data 2 high byte 0
0x00
„00“
0x30, 0x30
Data 2 low byte 0
0x00
„00“
0x30, 0x30
Error Check
LRC / CRC
0xC6
0xC1
„B0“
0x42, 0x30
End of frame
t1-t2-t3
CRLF
0xD, 0xA