KL5111 - Incremental encoder interface

Register description

The registers can be read or written via the register communication. They are used for the parameterization of the terminal.


General description of registers

Complex terminals that possess a processor are able to exchange data bi-directionally with the higher-level controller. These terminals are referred to below as intelligent Bus Terminals. These include the analog inputs (0 to 10 V, -10 to 10 V, 0 to 20 mA, 4 to 20 mA), the analog outputs (0 to 10 V, -10 to 10 V, 0 to 20 mA, 4 to 20 mA), serial interface terminals (RS485, RS232, TTY, data exchange terminals), counter terminals, encoder interfaces, SSI interfaces, PWM terminals and all other parameterizable modules.

The main features of the internal data structure are the same for all the intelligent terminals. This data area is organized as words, and includes 64 memory locations. The important data and parameters of the terminal can be read and set through this structure. It is also possible for functions to be called by means of corresponding parameters. Each logical channel in an intelligent terminal has such a structure (so a 4-channel analog terminal has 4 sets of registers).

This structure is divided into the following areas:

Register number
Process variables
0 to 7
Type register
8 to 15
Manufacturer parameters
16 to 30
User parameters
31 to 47
Extended user area
48 to 63

R0 to R7: Registers in the internal RAM of the terminal

The process variables can be used in addition to the actual process image. Their function is specific to the terminal.

R0 to R5: reserved
R6: Diagnostic register
The diagnostic register can contain additional diagnostic information. Parity errors, for instance, that occur in serial interface terminals during data transmission are indicated here.
R7: Command register
High-Byte_Write = function parameter
Low-Byte_Write = function number
High-Byte_Read = function result
Low-Byte_Read = function number

R8 to R15: Registers in the internal ROM of the terminal

The type and system parameters are hard programmed by the manufacturer, and the user can read them but cannot change them.

R8: Terminal type
The terminal type in register R8 is needed to identify the terminal.
R9: Software version (X.y)
The software version can be read as a string of ASCII characters.
R10: Data length
R10 contains the number of multiplexed shift registers and their length in bits.
The Bus Coupler sees this structure.
R11: Signal channels
Related to R10, this contains the number of channels that are logically present. Thus for example a shift register that is physically present can perfectly well consist of several signal channels.
R12: Minimum data length
The particular byte contains the minimum data length for a channel that is to be transferred. If the MSB is set, the control and status byte is not necessarily required for the terminal function and is not transferred to the control, if the Bus Coupler is configured accordingly.
R13: Data type register
Data type register
Terminal with no valid data type
Byte array
Structure 1 byte n bytes
Word array
Structure 1 byte n words
Double word array
Structure 1 byte n double words
Structure 1 byte 1 double word
Structure 1 byte 1 double word
Byte array with variable logical channel length
Structure 1 byte n bytes with variable logical channel length (e.g. 60xx)
Word array with variable logical channel length
Structure 1 byte n words with variable logical channel length
Double word array with variable logical channel length
Structure 1 byte n double words with variable logical channel length
R14: reserved
R15: Alignment bits (RAM)
The alignment bits are used to place the analog terminal in the Bus Coupler on a byte boundary.

R16 to R30: Manufacturer parameter area (SEEROM)

The manufacturer parameters are specific for each type of terminal. They are programmed by the manufacturer, but can also be modified by the controller. The manufacturer parameters are stored in a serial EEPROM in the terminal, and are retained in the event of voltage drop-out.

These registers can only be altered after a code word has been set in R31.


R31 to R47: User parameter area (SEEROM)

The user parameters are specific for each type of terminal. They can be modified by the programmer. The user parameters are stored in a serial EEPROM in the terminal, and are retained in the event of voltage drop-out. The user area is write-protected by a code word.

• R31: Code word register in RAM
The code word 0x1235 must be entered here so that parameters in the user area can be modified. If any other value is entered into this register, the write-protection is active. When write protection is not active, the code word is returned when the register is read. If the write protection is active, the register contains a zero value.
R32: Feature register
This register specifies the operation modes of the terminal. (default: 0x0000)
The default values are shown in square brackets.
Encoder interface is activated
Counter mode is active
16-bit up/down counter
Input A: Counter
Input B: Counting direction (high = down, low = up)
Input C: High = counter disabled, Low = counter enabled
Measurement of the period duration if bit CB.1 is set in the control byte.
A frequency measurement is carried out instead of the period duration. Impulses in a timeframe are counted. The timeframe can be set via R33.
The signals Underflow/Overflow are output in the status byte.
The signals A; B, C are output in the status byte of the terminal.
R33 - R47
Registers that depend on the terminal type.

R33: Timeframe for frequency measurement

Defines the length of the timeframe for the frequency measurement (default: 0x0000)


Resolution: 1 ms/Digit
1 digit = 1 ms

In the process data bytes D3 and D4 the number of pulses is now specified which are counted within the timeframe defined with R33. From this the frequency can be calculated.

Frequency measurement
Note that the bit CB.1 must also be set for the frequency measurement in the control byte.
R47 - R63
Extended registers with additional functions.