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:
Range | 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: The function of these registers depends on the type of terminal.
- R0: Number of data bytes in the transmission FIFO
The low byte contains the number of data in the transmission FIFO. The high byte is not used.
- R1: Number of data bytes in the receive FIFO
The low byte contains the number of data in the receive FIFO. The high byte is not used.
- R2 to R5: no function
- 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.
- R6: Diagnostic register
High byte: not used
Low byte: Status of the receive channel (Bit 0 - 7)
Bit no. |
| Meaning |
---|---|---|
Bit 0 | 1 | The receive buffer has overflowed, incoming data is lost. |
Bit 1 | 1 | A parity error has occurred. |
Bit 2 | 1 | A framing error has occurred. |
Bit 3 | 1 | An overrun error has occurred. |
Bit 4 | 1 | Buffer is full |
Bit 5 - 15 | - | not used – do not change! |
- 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 | Meaning |
---|---|
0x00 | Terminal with no valid data type |
0x01 | Byte array |
0x02 | Structure 1 byte n bytes |
0x03 | Word array |
0x04 | Structure 1 byte n words |
0x05 | Double word array |
0x06 | Structure 1 byte n double words |
0x07 | Structure 1 byte 1 double word |
0x08 | Structure 1 byte 1 double word |
0x11 | Byte array with variable logical channel length |
0x12 | Structure 1 byte n bytes with variable logical channel length (e.g. 60xx) |
0x13 | Word array with variable logical channel length |
0x14 | Structure 1 byte n words with variable logical channel length |
0x15 | Double word array with variable logical channel length |
0x16 | 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.
- R18: Buffer size
[0x0080]
Register R18 specifies the quantity of data in the receive FIFO above which the BUF_F bit in the status byte is to be set.
Low byte: when this value is reached, BUF_F is set in the status
High byte: not used
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. Thus, for instance, a user-specific scaling can be enabled for the analog I/Os.
The default values are shown in square brackets.
- R32: Baud rate
[0x0006]
The default values are shown in square brackets.
Bit no. |
| Baud rate |
---|---|---|
Bit 2, Bit 1, Bit 0 |
|
|
| 011 | 1200 baud |
| 100 | 2400 baud |
| 101 | 4800 baud |
| 110 | 9600 baud [110] |
| 111 | 19200 baud |
Bit 3 - 15 | - | not used – do not change! |
Furthermore, the baud rate can be set according to the following equation:
Baud rate = 4 MHz/(16*(HB+1))
It is necessary for 0xFF to be written into the low byte here, while the high byte (HB) provides the operator.
- R33 - R47
Registers that depend on the terminal type.
- R33: Data Frame
[0x0003]
This register is used to set the data frame.
Bit no. |
| Baud rate |
---|---|---|
Bit 2, Bit 1, Bit 0 |
|
|
| 0 0 1 | 7 data bits, even parity |
| 0 1 0 | 7 data bits, odd parity |
| 0 1 1 | 8 data bits, no parity [0 1 1] |
| 1 0 0 | 8 data bits, even parity |
| 1 0 1 | 8 data bits, odd parity |
Bit 3 | 0/1 | 0: 1 stop bit [0] |
Bit 4 - 15 | - | not used – do not change! |
- R34: Feature register
[0x0003]
The feature register specifies the operating modes of the terminal.
Feature bit no. |
| Description of the operation mode |
---|---|---|
Bit 0 | 0/1 | 1 half duplex: Reception of data sent by the terminal is suppressed. |
Bit 1 | 0/1 | 0: Standard output format |
Bit 2 | 1 | The status byte is copied from the terminal into the shift registers of the K-bus one cycle later than the higher data bytes. This reduces the rate of data transmission to the controller. [0] |
Bit 3 | 1 | The XON/XOFF protocol is supported by the terminal when data is sent, i.e. the terminal sends the data transferred by the controller until it receives the XOFF character (DC3==0x13) from the partner device. Once this has occurred, transmission is halted until the XON character (DC1==0x11) is received. [0] |
Bit 4 | 1 | The XON/XOFF protocol is supported by the terminal when data is received. The terminal sends the control character XOFF when the terminal buffer contains 118 characters. XON is sent if XOFF was sent previously and the value falls below the lower buffer limit of 18 bytes. [0] |
Bit 5 | 0/1 | 0: The terminal is used in a bus structure according to the RS485 standard. [0] |
Bit 6 | 1 | Continuous sending of data from the FIFO. The send buffer is filled (up to 16 bytes) by the controller. The filled buffer content is transmitted with a rising edge in Control Byte 3. The terminal acknowledges the data transfer to the controller by setting the Status Byte 2 bit. Status Byte 2 is reset with Control Byte 3. |
Bit 7-15 | - | not used – do not change! |
Note on bit 6 This feature is available for all terminals with software version 3x or higher. The version information can be found on the right-hand side of the terminal in the serial number: xxxx3xxx |
- R35: Number of data bytes mapped in the Bus Coupler
[0x0003]
Low byte: Number of data bytes transferred in the Bus Coupler and to the controller. Between 1 and 5 data bytes can be transferred. If more than 3 bytes of user data are to be transferred, the new number of bytes must be entered in this register.
High byte = not used
- R47 - R63
Extended registers with additional functions.