Access from the user program
KL3001, KL3002
41
Version: 4.2
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 (0x0BBA corresponds to unsigned integer 3002).
Byte
Byte 3
Byte 2
Byte 1
Byte 0
Name
DataIN 1
DataIN 0
Not used
Status byte
Value
0x0B
0xBA
0x00
0x88
Example 2:
Write register 31 in the BK2000 with a KL3002 and the end terminal:
) are transferred from the control 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
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.
• The terminal returns the firmware version 0x3341 in the input data word (byte 1 and byte 2). This is to
be interpreted as an ASCII code:
◦ ASCII code 0x33 represents the digit 3
Summary of Contents for KL3001
Page 2: ......