# THERMOKON\_WRF06

## `THERMOKON_WRF06` (FB)

`FUNCTION_BLOCK` THERMOKON\_WRF06

### Representation

<figure><img src="/files/e10581204a0f8793c5140d3fca3824334d9203b4" alt=""><figcaption></figcaption></figure>

### Short description

> Control of the WRF06 device series from Thermokon
>
> Typical application: room operating device in a zone

#### Guidelines - Software creation

The following function codes (FC) are supported: 1 - 6, 15 - 16 For addressing, the address specifications must be used, not the register addresses. This room operating device can be supplied in different device types (without / with integrated temperature controller). The maximum of four digital inputs and two analog outputs are supported by the function block. The two analog outputs can be accessed directly for writing. The four function keys F1 (right) - F4 (left) are supported by the function block. The function block supports exclusively use as a pure room operating device; the internal PI controller (present depending on device type) is not used. Calibration of the room temperature sensor is carried out either on the room operating device (parameter mode, see documentation) or via the configuration software `WRF06-RS485_MODBUS_V_2_9`. The ROD monitors Modbus communication. If no valid Modbus telegram is received for more than 90 s, the analog/digital outputs are set to default values (registers 53 and 54). Modbus addresses 1 - 32 can be set directly on the DIP switches in the ROD. The address range 1 - 247 can be used by a procedure described in the documentation. In the data area (ADR - FC - data area - CRC1 - CRC2), a maximum of 100 bytes (= 50 registers) may be transmitted (deviating from the Modbus standard). The following transmission parameters were tested: 19200 baud, 8-N-1 At present, only the device types `AO2V` and `4DI` with print type 2 are supported. Setpoint temperature 1 can be changed using the UP / DOWN keys only during day operation (= comfort / occupied). (property of the room operating device)

The following values are used for the internal PI controller: Actual value: address 258 (= room temperature) Setpoint value: address 260 (= setpoint 1 effective) Control signal: The control signal is output directly to the outputs.

Measured values - calibration: Class 4

#### Configuration data

The data in the EEPROM (= configuration data) may be written a maximum of 10000 times!!!

Data in EEPROM:

Addresses 2 - 58: configuration registers Addresses 768 - 987: text message line 1 and 2 Addresses 1024 - 1080: unit line 1, 2 and 3 Coils 0 - 30: configuration bits

These configuration data can be read, backed up, modified, and written into a new room operating device from the room operating device using the software ''WRF06-RS485\_MODBUS\_V\_2\_9''. Therefore, no configuration data are present in the function block. In the function block, addresses 0 - 58 are read if the configuration (xUpdateConfig, tTimeUpdateConfig, once after restart) is read.

The device configuration cannot be reset to the factory state (neither via Modbus nor using the configuration software).

Register 528 (address 527) - fan stage specification (FC06 / FC16): If a manual fan stage (0 - 3) is specified, it is correctly displayed and reported back in the ROD. If an automatic fan stage (65280 - 65283) is specified, it is — briefly — correctly displayed and reported back in the ROD. However, writing with an automatic stage activates the internal automatic mode, which depends on the heating / cooling control signal (adjustable thresholds). Therefore, in this function block only the specifications of the manual fan stages are supported.

Interfaces

#### Inputs

| Name                | Data type                          | Value range | Initial value                                     | Function                                                                                                                                                           |
| ------------------- | ---------------------------------- | ----------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| *xEn*               | `BOOL`                             |             | TRUE                                              | Enable / disable communication (TRUE = enable)                                                                                                                     |
| *byUnitId*          | `BYTE`                             |             | 0                                                 | Device address (0 .. 255)                                                                                                                                          |
| *xUpdateActual*     | `BOOL`                             |             | FALSE                                             | Update of actual values (on every rising edge)                                                                                                                     |
| *xUpdateSetp*       | `BOOL`                             |             | FALSE                                             | Update of setpoints (on every rising edge)                                                                                                                         |
| *xUpdateConfig*     | `BOOL`                             |             | FALSE                                             | Update of the configuration (on every rising edge) (read access)                                                                                                   |
| *xUpdateStates*     | `BOOL`                             |             | FALSE                                             | Update of states (on every rising edge)                                                                                                                            |
| *xUpdateInfo*       | `BOOL`                             |             | FALSE                                             | Update of the information (on every rising edge)                                                                                                                   |
| *rAO1Manual*        | `REAL`                             |             | 0.0                                               | State of analog output 1 (`eAnalogOutputsMode` = THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE) (0.0 - 100.0% = 0.0 - 10.0 V) (address 534, FC16)              |
| *rAO2Manual*        | `REAL`                             |             | 0.0                                               | State of analog output 2 (`eAnalogOutputsMode` = THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE) (0.0 - 100.0% = 0.0 - 10.0 V) (address 535, FC16)              |
| *xDsplSymb\_Alarm*  | `BOOL`                             |             | FALSE                                             | Enable / disable the display of the symbol 'Fault' (TRUE = display) (Coil 256, FC15)                                                                               |
| *xDsplSymb\_Heat*   | `BOOL`                             |             | FALSE                                             | Enable / disable the display of the symbol 'Heating, controller heating mode' (TRUE = display) (Coil 257, FC15)                                                    |
| *xDsplSymb\_Cool*   | `BOOL`                             |             | FALSE                                             | Enable / disable the display of the symbol 'Cooling, controller cooling mode' (TRUE = display) (Coil 258, FC15)                                                    |
| *xDsplSymb\_Wind*   | `BOOL`                             |             | FALSE                                             | Enable / disable the display of the symbol 'Window, energy lockout' (TRUE = display) (Coil 259, FC15)                                                              |
| *xDsplSymb\_DewP*   | `BOOL`                             |             | FALSE                                             | Enable / disable the display of the symbol 'Dew point, dew point alarm' (TRUE = display) (Coil 260, FC15)                                                          |
| *xDsplSymb\_Off*    | `BOOL`                             |             | FALSE                                             | Enable / disable the display of the symbol 'Off, controller off' (TRUE = display) (Coil 261, FC15)                                                                 |
| *xUpdateDateTime*   | `BOOL`                             |             | FALSE                                             | Update of the device date / time (on each rising edge)                                                                                                             |
| *rExtValue1*        | `REAL`                             |             | 0.0                                               | External measured value 1 for display on the ROD (Modbus register content = rExtValue1 \* rExtValue1Mult) (address 519, FC16)                                      |
| *rExtValue2*        | `REAL`                             |             | 0.0                                               | External measured value 2 for display on the ROD (Modbus register content = rExtValue1 \* rExtValue1Mult) (address 520, FC16)                                      |
| *rExtValue3*        | `REAL`                             |             | 0.0                                               | External measured value 3 for display on the ROD (Modbus register content = rExtValue1 \* rExtValue1Mult) (address 521, FC16)                                      |
| *rExtValue4*        | `REAL`                             |             | 0.0                                               | External measured value 4 for display on the ROD (Modbus register content = rExtValue1 \* rExtValue1Mult) (address 522, FC16)                                      |
| *wAutoFanStages*    | `WORD`                             |             | 0                                                 | Input for automatic specification of the fan stage                                                                                                                 |
| *eRegMode*          | THERMOKON\_WRF06\_REGULATION\_MODE |             | THERMOKON\_WRF06\_REGULATION\_MODE.NO\_REGULATION | Current controller mode on the device (address 533, FC16)                                                                                                          |
| *rExtRoomTemp*      | `REAL`                             |             | 0.0                                               | External temperature as a replacement for the internal room temperature (address 536, FC16) (`eRoomTempMode` = THERMOKON\_WRF06\_ROOM\_TEMP\_MODE.EXTERNAL\_VALUE) |
| *xMode*             | `BOOL`                             |             | FALSE                                             | Current room occupancy of the device (TRUE = occupied, comfort mode, day mode, FALSE = unoccupied, setback mode, night mode) (address 528, FC16)                   |
| *rSetpTemp1BaseDay* | `REAL`                             |             | 22.0                                              | Setpoint temperature 1: base setpoint temperature in day mode (degrees Celsius)                                                                                    |
| *rSetpTemp1Night*   | `REAL`                             |             | 18.0                                              | Setpoint temperature 1: setpoint temperature in night mode (degrees Celsius)                                                                                       |
| *rSetpTemp2BaseDay* | `REAL`                             |             | 22.0                                              | Setpoint temperature 2: base setpoint temperature in day mode (degrees Celsius)                                                                                    |
| *rSetpTemp2Night*   | `REAL`                             |             | 18.0                                              | Setpoint temperature 2: setpoint temperature in night mode (degrees Celsius)                                                                                       |
| *xResError*         | `BOOL`                             |             | FALSE                                             | Input for resetting the output `eErrorCodeCom` (on every rising edge)                                                                                              |

#### Outputs

| Name                    | Data type                                  | Value range | Initial value | Function                                                                                                                                         |
| ----------------------- | ------------------------------------------ | ----------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| *wDeviceCode*           | `WORD`                                     |             | 0             | Device identifier (address 0, FC03)                                                                                                              |
| *wFirmwareVer*          | `WORD`                                     |             | 0             | Firmware version of the device (address 1, FC03)                                                                                                 |
| *eDeviceType*           | THERMOKON\_WRF06\_DEVICE\_TYPE             |             |               | Device configuration (address 2, FC03)                                                                                                           |
| *rRoomTemp*             | `REAL`                                     |             | 0.0           | Current room temperature in the selected unit (address 258, FC03)                                                                                |
| *rRelHumidity*          | `REAL`                                     |             | 0.0           | Relative room humidity in percent (if sensor available) (address 270, FC03)                                                                      |
| *rAO1*                  | `REAL`                                     |             | 0.0           | Current state at analog output 1 (0.0 - 100.0% = 0.0 - 10.0 V)                                                                                   |
| *rAO2*                  | `REAL`                                     |             | 0.0           | Current state at analog output 2 (0.0 - 100.0% = 0.0 - 10.0 V)                                                                                   |
| *eRegModeDev*           | THERMOKON\_WRF06\_REGULATION\_MODE\_DEVICE |             |               | Current controller mode from the device (address 269, FC03)                                                                                      |
| *rSetpTemp1OffMaxFb*    | `REAL`                                     |             | 0.0           | Temperature setpoint 1: maximum value - adjustment of the base setpoint temperature — feedback (address 17, FC03)                                |
| *rSetpTemp1OffMinFb*    | `REAL`                                     |             | 0.0           | Temperature setpoint 1: minimum value - adjustment of the base setpoint temperature — feedback (address 18, FC03)                                |
| *rSetpTemp1StepFb*      | `REAL`                                     |             | 0.0           | Temperature setpoint 1: +/- - adjustment value on a key press — feedback (address 19, FC03)                                                      |
| *rSetpTemp1ResetFb*     | `REAL`                                     |             | 0.0           | Temperature setpoint 1: base setpoint after a reset operation — feedback (address 20, FC03)                                                      |
| *rSetpTemp2OffMaxFb*    | `REAL`                                     |             | 0.0           | Temperature setpoint 2: maximum value - adjustment of the base setpoint temperature — feedback (address 21, FC03)                                |
| *rSetpTemp2OffMinFb*    | `REAL`                                     |             | 0.0           | Temperature setpoint 2: minimum value - adjustment of the base setpoint temperature — feedback (address 22, FC03)                                |
| *rSetpTemp2StepFb*      | `REAL`                                     |             | 0.0           | Temperature setpoint 2: +/- - adjustment value on a key press — feedback (address 23, FC03)                                                      |
| *rSetpTemp2ResetFb*     | `REAL`                                     |             | 0.0           | Temperature setpoint 2: base setpoint after a reset operation — feedback (address 24, FC03)                                                      |
| *rSetpTemp1Off*         | `REAL`                                     |             | 0.0           | Temperature setpoint 1: current adjustment of the base setpoint temperature (address 259, FC03) (actual values\_1)                               |
| *rSetpTemp1*            | `REAL`                                     |             | 0.0           | Temperature setpoint 1: current setpoint temperature (address 260, FC03) (actual values\_1)                                                      |
| *rSetpTemp2Off*         | `REAL`                                     |             | 0.0           | Temperature setpoint 2: current adjustment of the base setpoint temperature (address 261, FC03) (actual values\_1)                               |
| *rSetpTemp2*            | `REAL`                                     |             | 0.0           | Temperature setpoint 2: current setpoint temperature (address 262, FC03) (actual values\_1)                                                      |
| *xButtonSetpTempUp*     | `BOOL`                                     |             | FALSE         | Generation of an impulse with duration `tTimeButtonPulse`, if the setpoint temperature is increased                                              |
| *xButtonSetpTempDown*   | `BOOL`                                     |             | FALSE         | Generation of an impulse with duration `tTimeButtonPulse`, if the setpoint temperature is reduced                                                |
| *xModeDev*              | `BOOL`                                     |             | FALSE         | Current room occupancy from the device (TRUE = occupied, comfort mode, day mode) (address 264, FC03)                                             |
| *xButtonPresence*       | `BOOL`                                     |             | FALSE         | Generation of an impulse with duration `tTimeButtonPulse`, if the presence status has changed                                                    |
| *eFanModeDev*           | THERMOKON\_WRF06\_FAN\_OP\_MODE            |             |               | Current operating mode of the fan (address 263, FC03)                                                                                            |
| *wNbrOfFanStages*       | `WORD`                                     |             | 0             | Number of available fan stages                                                                                                                   |
| *xAutoFanStages*        | `BOOL`                                     |             | FALSE         | Display of automatic mode for the fan stages (FALSE: manual correction active, TRUE = automatic mode active)                                     |
| *xButtonFanStages*      | `BOOL`                                     |             | FALSE         | Generation of an impulse with duration `tTimeButtonPulse`, if the fan stage is changed                                                           |
| *xButton1*              | `BOOL`                                     |             | FALSE         | Pressing key 1 (right) (modes: RAW, pulse with duration `tTimeButtonPulse`) (addresses 256 & 257, FC03)                                          |
| *eFunctionButton1Fb*    | THERMOKON\_WRF06\_BUTTON\_FUNCTION         |             |               | Function of key 1 — feedback (address 6, FC03)                                                                                                   |
| *xButton2*              | `BOOL`                                     |             | FALSE         | Pressing key 2 (middle right) (RAW, pulse with duration `tTimeButtonPulse`) (addresses 256 & 257, FC03)                                          |
| *eFunctionButton2Fb*    | THERMOKON\_WRF06\_BUTTON\_FUNCTION         |             |               | Function of key 2 — feedback (address 7, FC03)                                                                                                   |
| *xButton3*              | `BOOL`                                     |             | FALSE         | Pressing key 3 (middle left) (RAW, pulse with duration `tTimeButtonPulse`) (addresses 256 & 257, FC03)                                           |
| *eFunctionButton3Fb*    | THERMOKON\_WRF06\_BUTTON\_FUNCTION         |             |               | Function of key 3 — feedback (address 8, FC03)                                                                                                   |
| *xButton4*              | `BOOL`                                     |             | FALSE         | Pressing key 4 (left) (RAW, pulse with duration `tTimeButtonPulse`) (addresses 256 & 257, FC03)                                                  |
| *eFunctionButton4Fb*    | THERMOKON\_WRF06\_BUTTON\_FUNCTION         |             |               | Function of key 4 — feedback (address 9, FC03)                                                                                                   |
| *xDI1*                  | `BOOL`                                     |             | FALSE         | State of digital input 1 (assignment depending on function) (FALSE = open, TRUE = closed) (address 265, FC03)                                    |
| *eFunctionDI1Fb*        | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION |             |               | Function of digital input 1 — feedback (address 26, FC03)                                                                                        |
| *xDI2*                  | `BOOL`                                     |             | FALSE         | State of digital input 2 (assignment depending on function) (FALSE = open, TRUE = closed) (address 266, FC03)                                    |
| *eFunctionDI2Fb*        | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION |             |               | Function of digital input 2 — feedback (address 27, FC03)                                                                                        |
| *xDI3*                  | `BOOL`                                     |             | FALSE         | State of digital input 3 (assignment depending on function) (FALSE = open, TRUE = closed) (address 267, FC03)                                    |
| *eFunctionDI3Fb*        | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION |             |               | Function of digital input 3 — feedback (address 28, FC03)                                                                                        |
| *xDI4*                  | `BOOL`                                     |             | FALSE         | State of digital input 4 (assignment depending on function) (FALSE = open, TRUE = closed) (address 268, FC03)                                    |
| *eFunctionDI4Fb*        | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION |             |               | Function of digital input 4 — feedback (address 29, FC03)                                                                                        |
| *xSensorOffsetInDevice* | `BOOL`                                     |             |               | Display whether the sensors must be calibrated in the device (TRUE = calibration required in the device, FALSE = calibration required in the FB) |
| *xAlarm*                | `BOOL`                                     |             | FALSE         | Collective fault (TRUE = fault)                                                                                                                  |
| *xAlarmCom*             | `BOOL`                                     |             | FALSE         | Collective fault - communication (TRUE = fault)                                                                                                  |
| *eErrorCodeCom*         | ModbusErrorCode                            |             |               | Error code - communication (0 = no error)                                                                                                        |
| *xBusy*                 | `BOOL`                                     |             |               | Communication indicator (TRUE = communication)                                                                                                   |

#### Inputs and outputs

| Name           | Data type        | Value range | Initial value | Function             |
| -------------- | ---------------- | ----------- | ------------- | -------------------- |
| *ModbusClient* | ModbusClientBase |             |               | Client of the device |

#### Setpoints / parameters

| Name                                | Data type                                     | Value range | Initial value                                             | Address | Function                                                                                                                                                                         |
| ----------------------------------- | --------------------------------------------- | ----------- | --------------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **tTimeUpdateActual**               | `TIME`                                        |             | T#3s                                                      |         | Update interval for the processes influenced by the input `xUpdateActual` are affected (0 = no automatic update, > 0 cyclical update)                                            |
| **tTimeUpdateSetp**                 | `TIME`                                        |             | T#0s                                                      |         | Update interval for the processes influenced by the input `xUpdateSetp` are affected (0 = no automatic update, > 0 cyclical update)                                              |
| **tTimeUpdateConfig**               | `TIME`                                        |             | T#0s                                                      |         | Update interval for the processes influenced by the input `xUpdateConfig` are affected (0 = no automatic update, > 0 cyclical update)                                            |
| **tTimeUpdateStates**               | `TIME`                                        |             | T#500ms                                                   |         | Update interval for the processes influenced by the input `xUpdateStates` are affected (0 = no automatic update, > 0 cyclical update)                                            |
| **tTimeUpdateInfo**                 | `TIME`                                        |             | T#0s                                                      |         | Update interval for the processes influenced by the input `xUpdateInfo` are affected (0 = no automatic update, > 0 cyclical update)                                              |
| **tTimeButtonPulse**                | `TIME`                                        |             | T#1s                                                      |         | Duration of the pulse at the outputs `xButtonX`, `xButtonPresence`, xBiuttonFanStages', xButtonSetpTempUp' and `xButtonSetpTempDown`                                             |
| **eButton1OutpMode**                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          |             | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  |         | Operating mode of the output `xButton1` (RAW, PULSE)                                                                                                                             |
| **eButton2OutpMode**                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          |             | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  |         | Operating mode of the output `xButton2` (RAW, PULSE)                                                                                                                             |
| **eButton3OutpMode**                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          |             | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  |         | Operating mode of the output `xButton3` (RAW, PULSE)                                                                                                                             |
| **eButton4OutpMode**                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          |             | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  |         | Operating mode of the output `xButton4` (RAW, PULSE)                                                                                                                             |
| **wDateTime\_Seconds**              | `WORD`                                        |             | 0                                                         |         | Date / time update: current second of the minute (0 - 59)                                                                                                                        |
| **wDateTime\_Minutes**              | `WORD`                                        |             | 0                                                         |         | Date / time update: current minute of the hour (0 - 59)                                                                                                                          |
| **wDateTime\_Hours**                | `WORD`                                        |             | 0                                                         |         | Date / time update: current hour of the day (0 - 23)                                                                                                                             |
| **wDateTime\_DayOfMonth**           | `WORD`                                        |             | 1                                                         |         | Date / time update: current day of the month (1 - 31)                                                                                                                            |
| **wDateTime\_Month**                | `WORD`                                        |             | 1                                                         |         | Date / time update: current month (1 - 12)                                                                                                                                       |
| **wDateTime\_Year**                 | `WORD`                                        |             | 2024                                                      |         | Date / time update: current year (2000 - 2099)                                                                                                                                   |
| **eAnalogOutputsMode**              | THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE          |             | THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE;        |         | <p>Mode for analog outputs AO1 and AO2 (MANUAL\_MODE:<br><br><code>\<br/>\*\<br/></code><br><br>rAO1' and <code>rAO2</code> define the current states of the analog outputs)</p> |
| **xDsplAlarm1**                     | `BOOL`                                        |             | FALSE                                                     |         | Enable / disable display of alarm message 1 on the ROD (TRUE = display)                                                                                                          |
| **xDsplAlarm2**                     | `BOOL`                                        |             | FALSE                                                     |         | Enable / disable display of alarm message 2 on the ROD (TRUE = display)                                                                                                          |
| **xDsplAlarm3**                     | `BOOL`                                        |             | FALSE                                                     |         | Enable / disable display of alarm message 3 on the ROD (TRUE = display)                                                                                                          |
| **xDsplAlarm4**                     | `BOOL`                                        |             | FALSE                                                     |         | Enable / disable display of alarm message 4 on the ROD (TRUE = display)                                                                                                          |
| **eRoomTempMode**                   | THERMOKON\_WRF06\_ROOM\_TEMP\_MODE            |             | THERMOKON\_WRF06\_ROOM\_TEMP\_MODE.INTERNAL\_SENSOR       |         | <p>Mode for the source of the room temperature (EXTERNAL\_VALUE:<br><br><code>\<br/>\*\<br/></code><br><br>rExtRoomTemp' defines the room temperature)</p>                       |
| **rExtValue1Mult**                  | `REAL`                                        |             | 10.0                                                      |         | Multiplier for external measured value 1 for display on the ROD (address 519 = rExtValue1 \* rExtValue1Mult)                                                                     |
| **rExtValue2Mult**                  | `REAL`                                        |             | 10.0                                                      |         | Multiplier for external measured value 2 for display on the ROD (address 520 = rExtValue2 \* rExtValue2Mult)                                                                     |
| **rExtValue3Mult**                  | `REAL`                                        |             | 10.0                                                      |         | Multiplier for external measured value 3 for display on the ROD (address 521 = rExtValue3 \* rExtValue3Mult)                                                                     |
| **rExtValue4Mult**                  | `REAL`                                        |             | 10.0                                                      |         | Multiplier for external measured value 4 for display on the ROD (address 522 = rExtValue4 \* rExtValue4Mult)                                                                     |
| **xVisuPresence**                   | `BOOL`                                        |             | FALSE                                                     |         | Visualization: pressing the presence button (on each rising edge)                                                                                                                |
| **xVisuFanStages**                  | `BOOL`                                        |             | FALSE                                                     |         | Visualization: pressing the button for the fan stages (on each rising edge)                                                                                                      |
| **xVisuSetpTempUp**                 | `BOOL`                                        |             | FALSE                                                     |         | Visualization: pressing the button to increase the setpoint temperature in day mode (on each rising edge)                                                                        |
| **xVisuSetpTempDown**               | `BOOL`                                        |             | FALSE                                                     |         | Visualization: pressing the button to decrease the setpoint temperature in day mode (on each rising edge)                                                                        |
| **eButtonSelectionForPresence**     | THERMOKON\_WRF06\_BUTTON\_SELECTION           |             | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_4             |         | Selection of the button (1 - 4) for the presence function (output `xButtonPresence`)                                                                                             |
| **eButtonSelectionForFanStages**    | THERMOKON\_WRF06\_BUTTON\_SELECTION           |             | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_3             |         | Selection of the button (1 - 4) for selecting the fan stages (output `xButtonFanStages`)                                                                                         |
| **eButtonSelectionForSetpTempUp**   | THERMOKON\_WRF06\_BUTTON\_SELECTION           |             | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_1             |         | Selection of the button (1 - 4) for selecting the button to increase the setpoint temperature (output `xButtonSetpTempUp`)                                                       |
| **eButtonSelectionForSetpTempDown** | THERMOKON\_WRF06\_BUTTON\_SELECTION           |             | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_2             |         | Selection of the button (1 - 4) for selecting the button to reduce the setpoint temperature (output `xButtonSetpTempDown`)                                                       |
| **eSetpTempOpMode**                 | THERMOKON\_WRF06\_SETP\_TEMP\_OPERATION\_MODE |             | THERMOKON\_WRF06\_SETP\_TEMP\_OPERATION\_MODE.SETPOINT\_1 |         | Selection of the setpoint (1, 2) for adjustment via the keys on the room operating device                                                                                        |

### Function description

#### General

This function block controls room operating devices of the WRF06 device series from Thermokon via Modbus communication. Configuration is external, e.g. by using the configuration software `WRF06-RS485_MODBUS_V_2_9`. At present, only the device types `AO2V` and `4DI` with print type 2 are supported. The function block supports exclusively use as a pure room operating device; the internal PI controller (present depending on device type) is not used.

#### Analog outputs AO1 and AO2 (if present)

The current states of the analog outputs (0.0 - 10.0 V) are determined either by the internal PI controller (eAnalogOutputsMode = AUTOMATIC\_MODE) or by the inputs `rAO1Manual` or `rAO1Manua2` (0.0 - 100.0 %) (eAnalogOutputsMode = MANUAL\_MODE).

#### Display of symbols on the room operating device

Various symbols on the display of the room operating device can be represented by the assigned inputs with the prefix `xDsplSymb_X` (FALSE = off, TRUE = on). Update of the date / time on the room operating device

On each rising edge at the input `xUpdateDateTime` the parameters with the prefix `wDateTime_X` are transferred to the room operating device. The parameters are checked for compliance with the limit values.

#### Display of external measured values

A maximum of four different external measured values can be transferred to the room operating device via the inputs `rExtValueX` (X = 1 .. 4), multiplied by the respective parameter `rExtValueXMult`and displayed there (see configuration).

#### Fan stages

The number of switchable fan stages is defined in the configuration (output `wNbrOfFanStages`). The current operating mode is displayed at output `eFanModeDev` . The fan stage is primarily determined in night or day mode by input `wAutoFanStages` in the range 0 - `wNbrOfFanStages` .

Manual correction (day mode only): On each pulse at output `xButtonFanStages` the fan stage in day mode is increased step by step from the lower limit `wMinFanStageManDay` to the upper limit `wMaxFanStageManDay` taking output `wNbrOfFanStages` into account. On the next pulse, it then switches back to the lower limit `wMinFanStageManDay` before the sequence starts again. The manually specified fan stage in day mode is not stored when transitioning to night mode.

Switching from manual correction to automatic mode takes place:

1. when transitioning from night mode to day mode
2. when transitioning from day mode to night mode
3. if the key for changing the fan stage (parameter `eButtonSelectionForFanStages`) on the ROD is pressed continuously for more than 3 s.
4. if the key for switching to automatic mode `xVisuAutoFanStages` was pressed

Mode (night and day mode)

The input `xMode` is monitored for changes. On each rising edge, switching to day mode takes place; on each falling edge, switching to night mode takes place. The current mode is displayed at output `xModeDev` .

#### Setpoints on the room operating device

The room operating device contains two setpoints (1, 2) that can be displayed and used for temperature control. Each setpoint consists of a base value and an offset (effective setpoint = base value + offset). In this function block, setpoint 1 is primarily used. The assigned inputs and outputs are each marked with the prefix `rSetpTempX` (X = 1 .. 2). The outputs `rSetpTempXOffMaxFb`, `rSetpTempXOffMinFb`, `rSetpTempXStepFb` and `rSetpTempXResetFb` are read from the configuration and displayed. The respective current values on the ROD can be read at the outputs `rSetpTempX` or `rSetpTempXOFF` .

#### Setpoint temperatures in day and night mode

On each transition to day mode, the current setpoint temperatures 1 and 2 for day mode are transferred to the room operating device.

At the first transition or after parameter changes, the following is transferred: Base value = 'rSetpTempXBaseDay, Offset = 0.0 For the following transitions, the following is transferred: Base value = last current base value, Offset = last current offset

On each transition to night mode, the current setpoint temperatures 1 and 2 for night mode are transferred to the room operating device. Base value = 'rSetpTempXNight, Offset = 0.0

#### Adjustment of the setpoint temperatures in day mode

The parameter `eSetpTempOpMode` also determines which setpoint the adjustment in day mode applies to.

In day mode, the current setpoint temperature is increased by the step size `xButtonSetpTempUp` on each rising edge at output `rSetpTempXStepFb` if the assigned limit `rSetpTempXOffMaxFb` has not yet been exceeded.

In day mode, the current setpoint temperature is increased by the step size `xButtonSetpTempDown` on each rising edge at output `rSetpTempXStepFb` reduced, if the assigned limit `rSetpTempXOffMinFb` has not yet been undershot. Output `xButtonPresence`

At this output, an impulse with duration `tTimeButtonPulse` is generated, if

1. at the parameter `xVisuPresence` OR
2. at the output of the selected button `xButtonX` (X = 1 .. 4) (selection via `eSelectButtonForPresence`)

a rising edge is detected (= actuation).

This output can be linked with the input `xButton` of the function block `HVAC.Button1` to implement the extension of the occupancy time.

#### Output `xButtonFanStages`

At this output, an impulse with duration `tTimeButtonPulse` is generated, if

1. at the parameter `xVisuFanStages` OR
2. at the output of the selected button `xButtonX` (selection via `eSelectButtonForFanStages`)

a rising edge is detected (= actuation).

Manual correction (day mode only): On each pulse at output `xButtonFanStages` the fan stage in day mode is increased step by step from the lower limit `wMinFanStageManDay` to the upper limit `wMaxFanStageManDay` taking output `wNbrOfFanStages` into account. On the next pulse, it then switches back to the lower limit `wMinFanStageManDay` before the sequence starts again. The manually specified fan stage in day mode is not stored when transitioning to night mode.

Switching from manual correction to automatic mode takes place: 1) when transitioning from night to day mode 2) when transitioning from day to night mode 3) if the key for changing the fan stage (parameter `eButtonSelectionForFanStages`) on the ROD is pressed continuously for more than 3 s. 4) if the key for switching to automatic mode `xVisuAutoFanStages` was pressed

#### Output `xButtonSetpTempUp`

At this output, an impulse with duration `tTimeButtonPulse` is generated, if

1. at the parameter `xVisuSetpTempUp` OR
2. at the output of the selected button `xButtonX` (selection via `eSelectButtonForSetpTempUp`)

a rising edge is detected (= actuation).

Two operating modes are distinguished (parameter `eSetpTempOpMode`):

1\) SETPOINT\_1: on each pulse at output `xButtonSetpTempUp` the adjustment of setpoint temperature 1 in day mode is increased by the step size for setpoint temperature 1 2) SETPOINT\_2: on each pulse at output `xButtonSetpTempUp` the adjustment of setpoint temperature 2 in day mode is increased by the step size for setpoint temperature 2

#### Output `xButtonSetpTempDown`

At this output, an impulse with duration `tTimeButtonPulse` is generated, if

1. at the parameter `xVisuSetpTempDown` OR
2. at the output of the selected button `xButtonX` (selection via `eSelectButtonForSetpTempDown`)

a rising edge is detected (= actuation).

Two operating modes are distinguished (parameter `eSetpTempOpMode`):

1\) SETPOINT\_1: on each pulse at output `xButtonSetpTempDown` the adjustment of setpoint temperature 1 in day mode is reduced by the step size for setpoint temperature 1 1) SETPOINT\_2: on each pulse at output `xButtonSetpTempDown` the adjustment of setpoint temperature 2 in day mode is reduced by the step size for setpoint temperature 2

#### Buttons 1 - 4 (Button 1 = right, Button 4 = left)

A defined function can be assigned to each button in the configuration, which is displayed at the assigned output `eFunctionButtonXFb` (X = 1 .. 4). Independently of this, every actuation of button X is recorded and, depending on the operating mode (parameter `eButtonXOutpMode`) at the output `xButtonX` .

1. `eButtonXOutpMode` = RAW: The output is active in parallel with pressing the button.
2. `eButtonXOutpMode` = PULSE: At the output, a pulse with duration `tTimeButtonPulse` is generated on each new actuation of the button

Digital inputs 1 - 4 (depending on version)

A defined function can be assigned to each digital input in the configuration, which is displayed at the assigned output `eFunctionDIXFb` (X = 1 .. 4). Independently of this, the current state of each input X is recorded and displayed at output `xDIX` (FALSE = open, TRUE = closed).

#### Display of faults

Faults are displayed at the collective output `xAlarm` (= TRUE). It includes communication faults (time delay: gc\_Parameters.gc\_tOnDelayxAlarmCom, default = 60s) and device faults (direct). At output `eErrorCodeCom` in the event of a communication error, an explanatory text for the cause is available. The cause of the last communication error is always displayed there.

### Codesys

InOut:

| Scope       | Name                              | Type                                          | Initial                                                   | Comment                                                                                                                                                                                                                                                                                     |
| ----------- | --------------------------------- | --------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                             | `BOOL`                                        | TRUE                                                      | Enable / disable communication (TRUE = enable)                                                                                                                                                                                                                                              |
| Input       | `byUnitId`                        | `BYTE`                                        | 0                                                         | Device address (1 .. 247) (1 .. 31 via DIP switch, 1 .. 247 via Modbus commands)                                                                                                                                                                                                            |
| Input       | `xUpdateActual`                   | `BOOL`                                        | FALSE                                                     | <p>Update of actual values (on every rising edge<br>)</p>                                                                                                                                                                                                                                   |
| Input       | `xUpdateSetp`                     | `BOOL`                                        | FALSE                                                     | <p>Update of setpoints (on every rising edge<br>)</p>                                                                                                                                                                                                                                       |
| Input       | `xUpdateConfig`                   | `BOOL`                                        | FALSE                                                     | <p>Update of the configuration (on every rising<br>edge) (read access)</p>                                                                                                                                                                                                                  |
| Input       | `xUpdateStates`                   | `BOOL`                                        | FALSE                                                     | Update of the states (on each rising edge)                                                                                                                                                                                                                                                  |
| Input       | `xUpdateInfo`                     | `BOOL`                                        | FALSE                                                     | Update of the information (on every rising edge)                                                                                                                                                                                                                                            |
| Input       | `rAO1Manual`                      | `REAL`                                        | 0.0                                                       | <p>State of analog output 1 (<code>eAnalogOutputsMode</code> = <br>THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE) (0.0 - <br>100.0% = 0.0 - 10.0 V) (address 534, FC16)</p>                                                                                                             |
| Input       | `rAO2Manual`                      | `REAL`                                        | 0.0                                                       | <p>State of analog output 2 (<code>eAnalogOutputsMode</code> = <br>THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE) (0.0 - <br>100.0% = 0.0 - 10.0 V) (address 535, FC16)</p>                                                                                                             |
| Input       | `xDsplSymb_Alarm`                 | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of the symbol 'Fault' (TRUE <br>= display) (Coil 256, FC15)</p>                                                                                                                                                                                                 |
| Input       | `xDsplSymb_Heat`                  | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of the symbol 'Heating, controller <br>heating mode' (TRUE = display) (Coil 257, FC15)</p>                                                                                                                                                                      |
| Input       | `xDsplSymb_Cool`                  | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of the symbol 'Cooling, controller <br> cooling mode' (TRUE = display) (Coil 258, FC15)</p>                                                                                                                                                                     |
| Input       | `xDsplSymb_Wind`                  | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of the symbol 'Window, <br>energy lockout' (TRUE = display) (Coil 259, FC15)</p>                                                                                                                                                                                |
| Input       | `xDsplSymb_DewP`                  | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of the symbol 'Dew point, <br>dew point alarm' (TRUE = display) (Coil 260, FC15)</p>                                                                                                                                                                            |
| Input       | `xDsplSymb_Off`                   | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of the symbol 'Off, controller <br>off' (TRUE = display) (Coil 261, FC15)</p>                                                                                                                                                                                   |
| Input       | `xUpdateDateTime`                 | `BOOL`                                        | FALSE                                                     | <p>Update of the device date / time (on <br>each rising edge)</p>                                                                                                                                                                                                                           |
| Input       | `rExtValue1`                      | `REAL`                                        | 0.0                                                       | <p>External measured value 1 for display on the ROD (Modbus register <br>content = rExtValue1 \* rExtValue1Mult) (address 519, FC16)</p>                                                                                                                                                    |
| Input       | `rExtValue2`                      | `REAL`                                        | 0.0                                                       | <p>External measured value 2 for display on the ROD (Modbus register <br>content = rExtValue2 \* rExtValue2Mult) (address 520, FC16)</p>                                                                                                                                                    |
| Input       | `rExtValue3`                      | `REAL`                                        | 0.0                                                       | <p>External measured value 3 for display on the ROD (Modbus register <br>content = rExtValue3 \* rExtValue3Mult) (address 521, FC16)</p>                                                                                                                                                    |
| Input       | `rExtValue4`                      | `REAL`                                        | 0.0                                                       | <p>External measured value 4 for display on the ROD (Modbus register <br>content = rExtValue4 \* rExtValue4Mult) (address 522, FC16)</p>                                                                                                                                                    |
| Input       | `wAutoFanStages`                  | `WORD`                                        | 0                                                         | Input for automatic specification of the fan stage                                                                                                                                                                                                                                          |
| Input       | `eRegMode`                        | THERMOKON\_WRF06\_REGULATION\_MODE            | THERMOKON\_WRF06\_REGULATION\_MODE.NO\_REGULATION         | Current controller mode on the device (address 533, FC16)                                                                                                                                                                                                                                   |
| Input       | `rExtRoomTemp`                    | `REAL`                                        | 0.0                                                       | <p>External temperature as a replacement for the internal room temperature <br>(address 536, FC16) (<code>eRoomTempMode</code> =<br>THERMOKON\_WRF06\_ROOM\_TEMP\_MODE.EXTERNAL\_VALUE)</p>                                                                                                 |
| Input       | `xMode`                           | `BOOL`                                        | FALSE                                                     | <p>Current room occupancy of the device (TRUE = occupied, <br>comfort mode, day mode, FALSE = unoccupied, <br>setback mode, night mode) (address 528, FC16)</p>                                                                                                                             |
| Input       | `rSetpTemp1BaseDay`               | `REAL`                                        | 22.0                                                      | <p>Setpoint temperature 1: base setpoint temperature in day mode (<br>degrees Celsius)</p>                                                                                                                                                                                                  |
| Input       | `rSetpTemp1Night`                 | `REAL`                                        | 18.0                                                      | <p>Setpoint temperature 1: setpoint temperature in night mode (degrees <br>Celsius)</p>                                                                                                                                                                                                     |
| Input       | `rSetpTemp2BaseDay`               | `REAL`                                        | 22.0                                                      | <p>Setpoint temperature 2: base setpoint temperature in day mode (<br>degrees Celsius)</p>                                                                                                                                                                                                  |
| Input       | `rSetpTemp2Night`                 | `REAL`                                        | 18.0                                                      | <p>Setpoint temperature 2: setpoint temperature in night mode (degrees <br>Celsius)</p>                                                                                                                                                                                                     |
| Input       | `xResError`                       | `BOOL`                                        | FALSE                                                     | <p>Reinitialization of the output <code>eErrorCodeCom</code> (with every<br>rising edge)</p>                                                                                                                                                                                                |
| Inout       | `ModbusClient`                    | `ModbusClientBase`                            |                                                           | Client of the device                                                                                                                                                                                                                                                                        |
| Output      | `wDeviceCode`                     | `WORD`                                        | 0                                                         | Device identifier (address 0, FC03)                                                                                                                                                                                                                                                         |
| Output      | `wFirmwareVer`                    | `WORD`                                        | 0                                                         | Firmware version of the device (address 1, FC03)                                                                                                                                                                                                                                            |
| Output      | `eDeviceType`                     | THERMOKON\_WRF06\_DEVICE\_TYPE                |                                                           | Device configuration (address 2, FC03)                                                                                                                                                                                                                                                      |
| Output      | `rRoomTemp`                       | `REAL`                                        | 0.0                                                       | <p>Current room temperature in the selected unit (<br>address 258, FC03)</p>                                                                                                                                                                                                                |
| Output      | `rRelHumidity`                    | `REAL`                                        | 0.0                                                       | <p>Relative room humidity in percent (if sensor<br>available) (address 270, FC03)</p>                                                                                                                                                                                                       |
| Output      | `rAO1`                            | `REAL`                                        | 0.0                                                       | <p>Current state at analog output 1 (0.0 - 100.0% = 0.0<br>- 10.0 V)</p>                                                                                                                                                                                                                    |
| Output      | `rAO2`                            | `REAL`                                        | 0.0                                                       | <p>Current state at analog output 2 (0.0 - 100.0% = 0.0<br>- 10.0 V)</p>                                                                                                                                                                                                                    |
| Output      | `eRegModeDev`                     | THERMOKON\_WRF06\_REGULATION\_MODE\_DEVICE    |                                                           | <p>THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.AUTOMATIC\_MODE: address 268, FC03<br>THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE: address 535, FC03<br>Current controller mode from the device (address 269, FC03)</p>                                                                       |
| Output      | `rSetpTemp1OffMaxFb`              | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 1: maximum value - adjustment of the base <br>setpoint temperature — feedback (address 17, FC03)</p>                                                                                                                                                                |
| Output      | `rSetpTemp1OffMinFb`              | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 1: minimum value - adjustment of the base <br>setpoint temperature — feedback (address 18, FC03)</p>                                                                                                                                                                |
| Output      | `rSetpTemp1StepFb`                | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 1: +/- - adjustment value on a <br>button press — feedback (address 19, FC03)</p>                                                                                                                                                                                   |
| Output      | `rSetpTemp1ResetFb`               | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 1: base setpoint after a <br>reset operation — feedback (address 20, FC03)</p>                                                                                                                                                                                      |
| Output      | `rSetpTemp2OffMaxFb`              | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 2: maximum value - adjustment of the base <br>setpoint temperature — feedback (address 21, FC03)</p>                                                                                                                                                                |
| Output      | `rSetpTemp2OffMinFb`              | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 2: minimum value - adjustment of the base <br>setpoint temperature — feedback (address 22, FC03)</p>                                                                                                                                                                |
| Output      | `rSetpTemp2StepFb`                | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 2: +/- - adjustment value on a <br>button press — feedback (address 23, FC03)</p>                                                                                                                                                                                   |
| Output      | `rSetpTemp2ResetFb`               | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 2: base setpoint after a <br>reset operation — feedback (address 24, FC03)</p>                                                                                                                                                                                      |
| Output      | `rSetpTemp1Off`                   | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 1: current adjustment of the base <br>setpoint temperature (address 259, FC03) (actual values\_1)</p>                                                                                                                                                               |
| Output      | `rSetpTemp1`                      | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 1: current setpoint temperature (address <br>260, FC03) (actual values\_1)</p>                                                                                                                                                                                      |
| Output      | `rSetpTemp2Off`                   | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 2: current adjustment of the base <br>setpoint temperature (address 261, FC03) (actual values\_1)</p>                                                                                                                                                               |
| Output      | `rSetpTemp2`                      | `REAL`                                        | 0.0                                                       | <p>Temperature setpoint 2: current setpoint temperature (address <br>262, FC03) (actual values\_1)</p>                                                                                                                                                                                      |
| Output      | `xButtonSetpTempUp`               | `BOOL`                                        | FALSE                                                     | <p>Generation of an impulse with duration <code>tTimeButtonPulse</code>,<br>if</p>                                                                                                                                                                                                          |
| Output      | `xButtonSetpTempDown`             | `BOOL`                                        | FALSE                                                     | <p>Generation of an impulse with duration <code>tTimeButtonPulse</code>,<br>if</p>                                                                                                                                                                                                          |
| Output      | `xModeDev`                        | `BOOL`                                        | FALSE                                                     | <p>Current room occupancy from the device (TRUE = occupied, <br>comfort mode, day mode) (address 264, FC03)</p>                                                                                                                                                                             |
| Output      | `xButtonPresence`                 | `BOOL`                                        | FALSE                                                     | <p>Generation of an impulse with duration <code>tTimeButtonPulse</code>,<br>if</p>                                                                                                                                                                                                          |
| Output      | `eFanModeDev`                     | THERMOKON\_WRF06\_FAN\_OP\_MODE               |                                                           | <p>1. at the parameter <code>xVisuPresence</code> OR<br>2. at the output of the selected button <code>xButtonX</code> (selection via <code>eSelectButtonForPresence</code>)<br><br>a rising edge is detected (= actuation)<br><br>Current operating mode of the fan (address 263, FC03)</p> |
| Output      | `wNbrOfFanStages`                 | `WORD`                                        | 0                                                         | Number of fan stages                                                                                                                                                                                                                                                                        |
| Output      | `xAutoFanStages`                  | `BOOL`                                        | FALSE                                                     | <p>Display of automatic mode for the fan stages (FALSE:<br>manual correction active, TRUE = automatic mode active)</p>                                                                                                                                                                      |
| Output      | `xButtonFanStages`                | `BOOL`                                        | FALSE                                                     | <p>Generation of an impulse with duration <code>tTimeButtonPulse</code>,<br>if</p>                                                                                                                                                                                                          |
| Output      | `xButton1`                        | `BOOL`                                        | FALSE                                                     | <p>Pressing key 1 (right) (RAW, pulse with<br>duration <code>tTimeButtonPulse</code>) (addresses 256 & 257, FC03)</p>                                                                                                                                                                       |
| Output      | `eFunctionButton1Fb`              | THERMOKON\_WRF06\_BUTTON\_FUNCTION            |                                                           | Function of key 1 — feedback (address 6, FC03)                                                                                                                                                                                                                                              |
| Output      | `xButton2`                        | `BOOL`                                        | FALSE                                                     | <p>Pressing key 2 (middle right) (RAW, pulse with<br>duration <code>tTimeButtonPulse</code>) (addresses 256 & 257, FC03)</p>                                                                                                                                                                |
| Output      | `eFunctionButton2Fb`              | THERMOKON\_WRF06\_BUTTON\_FUNCTION            |                                                           | Function of key 2 — feedback (address 7, FC03)                                                                                                                                                                                                                                              |
| Output      | `xButton3`                        | `BOOL`                                        | FALSE                                                     | <p>Pressing key 3 (middle left) (RAW, pulse with<br>duration <code>tTimeButtonPulse</code>) (addresses 256 & 257, FC03)</p>                                                                                                                                                                 |
| Output      | `eFunctionButton3Fb`              | THERMOKON\_WRF06\_BUTTON\_FUNCTION            |                                                           | Function of key 3 — feedback (address 8, FC03)                                                                                                                                                                                                                                              |
| Output      | `xButton4`                        | `BOOL`                                        | FALSE                                                     | <p>Pressing key 4 (left) (RAW, pulse with duration<br><code>tTimeButtonPulse</code>) (addresses 256 & 257, FC03)</p>                                                                                                                                                                        |
| Output      | `eFunctionButton4Fb`              | THERMOKON\_WRF06\_BUTTON\_FUNCTION            |                                                           | Function of key 4 — feedback (address 9, FC03)                                                                                                                                                                                                                                              |
| Output      | `xDI1`                            | `BOOL`                                        | FALSE                                                     | <p>State of digital input 1 (assignment depending on<br>function) (FALSE = open, TRUE = closed) (address<br>265, FC03)</p>                                                                                                                                                                  |
| Output      | `eFunctionDI1Fb`                  | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION    |                                                           | <p>Function of digital input 1 — feedback (address<br>26, FC03)</p>                                                                                                                                                                                                                         |
| Output      | `xDI2`                            | `BOOL`                                        | FALSE                                                     | <p>State of digital input 2 (assignment depending on<br>function) (FALSE = open, TRUE = closed) (address<br>266, FC03)</p>                                                                                                                                                                  |
| Output      | `eFunctionDI2Fb`                  | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION    |                                                           | <p>Function of digital input 2 — feedback (address<br>27, FC03)</p>                                                                                                                                                                                                                         |
| Output      | `xDI3`                            | `BOOL`                                        | FALSE                                                     | <p>State of digital input 3 (assignment depending on<br>function) (FALSE = open, TRUE = closed) (address<br>267, FC03)</p>                                                                                                                                                                  |
| Output      | `eFunctionDI3Fb`                  | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION    |                                                           | <p>Function of digital input 3 — feedback (address<br>28, FC03)</p>                                                                                                                                                                                                                         |
| Output      | `xDI4`                            | `BOOL`                                        | FALSE                                                     | <p>State of digital input 4 (assignment depending on<br>function) (FALSE = open, TRUE = closed) (address<br>268, FC03)</p>                                                                                                                                                                  |
| Output      | `eFunctionDI4Fb`                  | THERMOKON\_WRF06\_DIGITAL\_INPUT\_FUNCTION    |                                                           | <p>Function of digital input 4 — feedback (address<br>29, FC03)</p>                                                                                                                                                                                                                         |
| Output      | `xSensorOffsetInDevice`           | `BOOL`                                        |                                                           | <p>Indication of whether the sensors must be calibrated in the device<br>(TRUE = calibration in the device required, FALSE = calibration in the<br>FB required)</p>                                                                                                                         |
| Output      | `xAlarm`                          | `BOOL`                                        | FALSE                                                     | Collective fault (TRUE = fault)                                                                                                                                                                                                                                                             |
| Output      | `xAlarmCom`                       | `BOOL`                                        | FALSE                                                     | Collective fault - communication (TRUE = fault)                                                                                                                                                                                                                                             |
| Output      | `eErrorCodeCom`                   | ModbusErrorCode                               |                                                           | Error code - communication (0 = no error)                                                                                                                                                                                                                                                   |
| Output      | `xBusy`                           | `BOOL`                                        |                                                           | Communication indicator (TRUE = communication)                                                                                                                                                                                                                                              |
| Input Const | `wMaxFanStageManDay`              | `WORD`                                        | 2                                                         | <p>Maximum fan stage for manual correction in<br>day mode</p>                                                                                                                                                                                                                               |
| Input Const | `wMinFanStageManDay`              | `WORD`                                        | 0                                                         | <p>Minimum fan stage for manual correction in<br>day mode</p>                                                                                                                                                                                                                               |
| Input Const | `eSetpTempOpMode`                 | THERMOKON\_WRF06\_SETP\_TEMP\_OPERATION\_MODE | THERMOKON\_WRF06\_SETP\_TEMP\_OPERATION\_MODE.SETPOINT\_1 | <p>Selection of the setpoint (1, 2) for adjustment via the<br>keys on the room operating device</p>                                                                                                                                                                                         |
| Input Const | `eButtonSelectionForSetpTempDown` | THERMOKON\_WRF06\_BUTTON\_SELECTION           | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_2             | <p>Selection of the button (1 - 4) for selecting the button to<br>reduce the setpoint temperature (output<br><code>xButtonSetpTempDown</code>)</p>                                                                                                                                          |
| Input Const | `eButtonSelectionForSetpTempUp`   | THERMOKON\_WRF06\_BUTTON\_SELECTION           | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_1             | <p>Selection of the button (1 - 4) for selecting the button to<br>increase the setpoint temperature (output <code>xButtonSetpTempUp</code>)</p>                                                                                                                                             |
| Input Const | `eButtonSelectionForFanStages`    | THERMOKON\_WRF06\_BUTTON\_SELECTION           | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_3             | <p>Selection of the button (1 - 4) for selecting the fan<br>stages (output <code>xButtonFanStages</code>)</p>                                                                                                                                                                               |
| Input Const | `eButtonSelectionForPresence`     | THERMOKON\_WRF06\_BUTTON\_SELECTION           | THERMOKON\_WRF06\_BUTTON\_SELECTION.BUTTON\_4             | <p>Selection of the button (1 - 4) for the presence function (<br>output <code>xButtonPresence</code>)</p>                                                                                                                                                                                  |
| Input Const | `xVisuSetpTempDown`               | `BOOL`                                        | FALSE                                                     | <p>Visualization: pressing the button to reduce the<br>setpoint temperature in day mode (on each rising edge<br>)</p>                                                                                                                                                                       |
| Input Const | `xVisuSetpTempUp`                 | `BOOL`                                        | FALSE                                                     | <p>Visualization: pressing the button to increase the<br>setpoint temperature in day mode (on each rising edge<br>)</p>                                                                                                                                                                     |
| Input Const | `xVisuAutoFanStages`              | `BOOL`                                        | FALSE                                                     | <p>Visualization: pressing the button to switch to automatic<br>mode for the fan stages (on each<br>rising edge)</p>                                                                                                                                                                        |
| Input Const | `xVisuFanStages`                  | `BOOL`                                        | FALSE                                                     | <p>Visualization: pressing the button for the fan stages (<br>on each rising edge)</p>                                                                                                                                                                                                      |
| Input Const | `xVisuPresence`                   | `BOOL`                                        | FALSE                                                     | <p>Visualization: pressing the presence button (on each<br>rising edge)</p>                                                                                                                                                                                                                 |
| Input Const | `rExtValue4Mult`                  | `REAL`                                        | 10.0                                                      | <p>Multiplier for external measured value 4 for display on the ROD<br>(address 522 = rExtValue4 \* rExtValue4Mult)</p>                                                                                                                                                                      |
| Input Const | `rExtValue3Mult`                  | `REAL`                                        | 10.0                                                      | <p>Multiplier for external measured value 3 for display on the ROD<br>(address 521 = rExtValue3 \* rExtValue3Mult)</p>                                                                                                                                                                      |
| Input Const | `rExtValue2Mult`                  | `REAL`                                        | 10.0                                                      | <p>Multiplier for external measured value 2 for display on the ROD<br>(address 520 = rExtValue2 \* rExtValue2Mult)</p>                                                                                                                                                                      |
| Input Const | `rExtValue1Mult`                  | `REAL`                                        | 10.0                                                      | <p>Multiplier for external measured value 1 for display on the ROD<br>(address 519 = rExtValue1 \* rExtValue1Mult)</p>                                                                                                                                                                      |
| Input Const | `eRoomTempMode`                   | THERMOKON\_WRF06\_ROOM\_TEMP\_MODE            | THERMOKON\_WRF06\_ROOM\_TEMP\_MODE.INTERNAL\_SENSOR       | <p>Mode for the source of the room temperature (EXTERNAL\_VALUE:<br><br><code>\<br/>\*\<br/></code><br><br>rExtRoomTemp' defines the room temperature)</p>                                                                                                                                  |
| Input Const | `xDsplAlarm4`                     | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of alarm message 4 on the ROD (<br>TRUE = display)</p>                                                                                                                                                                                                          |
| Input Const | `xDsplAlarm3`                     | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of alarm message 3 on the ROD (<br>TRUE = display)</p>                                                                                                                                                                                                          |
| Input Const | `xDsplAlarm2`                     | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of alarm message 2 on the ROD (<br>TRUE = display)</p>                                                                                                                                                                                                          |
| Input Const | `xDsplAlarm1`                     | `BOOL`                                        | FALSE                                                     | <p>Enable / disable display of alarm message 1 on the ROD (<br>TRUE = display)</p>                                                                                                                                                                                                          |
| Input Const | `eAnalogOutputsMode`              | THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE          | THERMOKON\_WRF06\_ANALOG\_OUTP\_MODE.MANUAL\_MODE         | <p>Mode for analog outputs AO1 and AO2 (MANUAL\_MODE:<br><br><code>\<br/>\*\<br/></code><br><br>rAO1Manual' and <code>rAO2Manual</code> define the current<br>states of the analog outputs)</p>                                                                                             |
| Input Const | `wDateTime_Year`                  | `WORD`                                        | 2024                                                      | <p>Date / time update: current year (2000 -<br>2099)</p>                                                                                                                                                                                                                                    |
| Input Const | `wDateTime_Month`                 | `WORD`                                        | 1                                                         | <p>Date / time update: current month (1 - 12<br>)</p>                                                                                                                                                                                                                                       |
| Input Const | `wDateTime_DayOfMonth`            | `WORD`                                        | 1                                                         | <p>Date / time update: current day of the month<br>(1 - 31)</p>                                                                                                                                                                                                                             |
| Input Const | `wDateTime_Hours`                 | `WORD`                                        | 0                                                         | <p>Date / time update: current hour of the day<br>(0 - 23)</p>                                                                                                                                                                                                                              |
| Input Const | `wDateTime_Minutes`               | `WORD`                                        | 0                                                         | <p>Date / time update: current minute of the<br>hour (0 - 59)</p>                                                                                                                                                                                                                           |
| Input Const | `wDateTime_Seconds`               | `WORD`                                        | 0                                                         | <p>Date / time update: current second of the<br>minute (0 - 59)</p>                                                                                                                                                                                                                         |
| Input Const | `eButton4OutpMode`                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  | Operating mode of the output `xButton4` (RAW, PULSE)                                                                                                                                                                                                                                        |
| Input Const | `eButton3OutpMode`                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  | Operating mode of the output `xButton3` (RAW, PULSE)                                                                                                                                                                                                                                        |
| Input Const | `eButton2OutpMode`                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  | Operating mode of the output `xButton2` (RAW, PULSE)                                                                                                                                                                                                                                        |
| Input Const | `eButton1OutpMode`                | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE          | THERMOKON\_WRF06\_BUTTON\_OUTP\_MODE.RAW                  | Operating mode of the output `xButton1` (RAW, PULSE)                                                                                                                                                                                                                                        |
| Input Const | `tTimeButtonPulse`                | `TIME`                                        | TIME#1s0ms                                                | <p>Duration of the pulse at the output, if the assigned<br>button was pressed</p>                                                                                                                                                                                                           |
| Input Const | `tTimeUpdateInfo`                 | `TIME`                                        | TIME#0ms                                                  | <p>Update interval for the processes influenced by the input<br><code>xUpdateInfo</code> influenced</p>                                                                                                                                                                                     |
| Input Const | `tTimeUpdateStates`               | `TIME`                                        | TIME#500ms                                                | <p>Update interval for the processes influenced by the input<br><code>xUpdateStates</code> influenced</p>                                                                                                                                                                                   |
| Input Const | `tTimeUpdateConfig`               | `TIME`                                        | TIME#0ms                                                  | <p>Update interval for the processes influenced by the input<br><code>xUpdateConfig</code> influenced</p>                                                                                                                                                                                   |
| Input Const | `tTimeUpdateSetp`                 | `TIME`                                        | TIME#45s0ms                                               | <p>Update interval for the processes influenced by the input<br><code>xUpdateSetp</code> influenced</p>                                                                                                                                                                                     |
| Input Const | `tTimeUpdateActual`               | `TIME`                                        | TIME#3s0ms                                                | <p>Update interval for the processes influenced by the input<br><code>xUpdateActual</code> influenced</p>                                                                                                                                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.powerio.com/hub/codesys-hvac/en/hvac-modbus-library/functionblocks/thermokon/thermokon_wrf06.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
