BECKHOFF BK7300 User Manual
Page 32

MODBUS
28
BK7300
Writing and Reading a Number of Analogue Outputs or
Inputs (Function 23)
READ / WRITE
REGISTERS
A number of analogue outputs can be written and a number of analogue
inputs read with one telegram using function 23. In this example the first 2
analogue output words of slave number 11 are written, and the first two
analogue inputs are read. The analogue outputs start at offset 0x0800
(hex), while the inputs start at offset 0x0000 (hex). Here the offset always
describes a word. Offset 0x0003 writes to the fourth word in the output
process image. The length indicates the number of words, and the "Byte
count" is composed from the combination all the bytes that are to be
written.
Example: 4 words – correspond to a byte count of 8
The data bytes contain the values for the analogue outputs. In this
example, two words are to be written. The first word is to receive the value
0x3FFF (hex), and the second word is to receive the value 0x7FFF.
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 coupler 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.