Access from the user program
KL400x
37
Version: 4.0
Sample 1:
Reading of register 8 in the BK2000 with a KL4002 and the end terminal:
If the following bytes are transferred from the controller to the terminal,
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
DataOUT 1
DataOUT 0
Not used
Control byte
Value
0xXX
0xXX
0xXX
0x88
The terminal returns the following type identifier (0x0FA2 corresponds to unsigned integer 4002).
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
DataIN 1
DataIN 0
Not used
Status byte
Value
0x0F
0xA2
0x00
0x88
Sample 2:
Writing of register 31 in the BK2000 with an intelligent terminal and the end terminal:
If the following bytes (code word) are transferred from the controller to the terminal,
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
DataOUT 1
DataOUT 0
Not used
Control byte
Value
0x12
0x35
0xXX
0xDF
The code word is set, and the terminal returns the register address with bit 7 for register access as
acknowledgment.
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
DataIN 1
DataIN 0
Not used
Status byte
Value
0x00
0x00
0x00
0x9F
5.6
Examples of Register Communication
The numbering of the bytes in the examples corresponds to the display without word alignment.
5.6.1
Example 1: reading the firmware version from Register 9
Output Data
Byte 0: Control byte
Byte 1: DataOUT1, high byte
Byte 2: DataOUT1, low byte
0x89 (1000 1001
bin
)
0xXX
0xXX
Explanation:
• Bit 0.7 set means: Register communication switched on.
• Bit 0.6 not set means: reading the register.
• Bits 0.5 to 0.0 specify the register number 9 with 00 1001
bin
.
• The output data word (byte 1 and byte 2) has no meaning during read access. To change a register,
write the required value into the output word.
Input Data (answer of the bus terminal)
Byte 0: Status byte
Byte 1: DataIN1, high byte
Byte 2: DataIN1, low byte
0x89
0x33
0x41
Explanation:
• The terminal returns the value of the control byte as a receipt in the status byte.
Summary of Contents for KL400 Series
Page 2: ......