# SPLUSS\_RYMASKON\_2XX\_MOD

## `SPLUSS_RYMASKON_2XX_MOD` (FB)

`FUNCTION_BLOCK` SPLUSS\_RYMASKON\_2XX\_MOD

### Short description

> Control of the Rymaskon 2XX device series by S+S Regeltechnik Additional functions: Two operating modes for setpoint temperature formation Typical application: room control unit in one zone

### Representation

<figure><img src="/files/4ceeb50f772b0c8113ffd97340554672e11201ce" alt=""><figcaption></figcaption></figure>

### 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)                                                                      |
| *xUpdateStates*    | `BOOL`    |             | FALSE         | Update of states (on every rising edge)                                                                             |
| *xUpdateSetp*      | `BOOL`    |             | FALSE         | Update of setpoints (on every rising edge)                                                                          |
| *xUpdateConfig*    | `BOOL`    |             | FALSE         | Update of configuration (on every rising edge)                                                                      |
| *rSetpTempBase*    | `REAL`    |             | 22.0          | Base setpoint temperature (degrees Celsius)                                                                         |
| *rEnSetpTempOff*   | `BOOL`    |             | FALSE         | Enable / disable recording of changes to the room setpoint temperature (FALSE = no recording, rSetpTempOff = 0.0 K) |
| *rSetpDispFanLev*  | `REAL`    |             | 0.0           | Setpoint for the display of the fan stage (bar graph - right)                                                       |
| *rSetpDispHCLev*   | `REAL`    |             | 0.0           | Setpoint for the display of heating/cooling output (bar graph - left)                                               |
| *xDsplSymbPresen*  | `BOOL`    |             | FALSE         | Display of the symbols for presence (= TRUE) or absence (= FALSE)                                                   |
| *xDsplSymbHeat*    | `BOOL`    |             | FALSE         | Display of the symbol for heating operation (TRUE = display)                                                        |
| *xDsplSymbCool*    | `BOOL`    |             | FALSE         | Display of the symbol for cooling operation (TRUE = display)                                                        |
| *xDsplSymbFan*     | `BOOL`    |             | FALSE         | Display of the symbol for the fan (TRUE = display)                                                                  |
| *xDsplSymbAlWindo* | `BOOL`    |             | FALSE         | Display of the window alarm symbol (TRUE = display)                                                                 |
| *xDsplSymbAlRainf* | `BOOL`    |             | FALSE         | Display of the rain alarm symbol (TRUE = display)                                                                   |
| *xDsplSymbAlStorm* | `BOOL`    |             | FALSE         | Display of the wind alarm symbol (TRUE = display)                                                                   |
| *xDsplSymbAlAlarm* | `BOOL`    |             | FALSE         | Display of the alarm symbol (TRUE = display)                                                                        |
| *xDsplSymbNotDrop* | `BOOL`    |             | FALSE         | Display of the crossed-out drop symbol (TRUE = display)                                                             |
| *xDsplSymbClock*   | `BOOL`    |             | FALSE         | Display of the clock symbol (TRUE = display)                                                                        |
| *xBuzzer\_Alarm*   | `BOOL`    |             | FALSE         | Enable / disable the alarm tone (buzzer) (TRUE = enable)                                                            |
| *xResetDevice*     | `BOOL`    |             | FALSE         | Reset of the device (on every rising edge)                                                                          |

#### Outputs

| Name               | Data type                    | Value range | Initial value | Function                                                                                                                     |
| ------------------ | ---------------------------- | ----------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| *rSetpTemp*        | `REAL`                       |             |               | Set temperature (degrees Celsius) (corresponds to the room setpoint temperature shown on the RBG)                            |
| *rSetpTempOff*     | `REAL`                       |             |               | Set temperature offset (Kelvin)                                                                                              |
| *rRoomTemp*        | `REAL`                       |             |               | Room temperature in XXX.X degrees Celsius                                                                                    |
| *rExtTemp*         | `REAL`                       |             |               | External temperature in XXX.X degrees Celsius                                                                                |
| *rRelHumidity*     | `REAL`                       |             |               | Relative room humidity in XXX.X %                                                                                            |
| *rDewPointTemp*    | `REAL`                       |             |               | Dew point temperature in XXX.X degrees Celsius (the offsets of temperature and relative humidity are not taken into account) |
| *rSupplyVolt*      | `REAL`                       |             |               | Supply voltage in XXX.X Volts                                                                                                |
| *rCpuTemp*         | `REAL`                       |             |               | CPU temperature in XXX.X degrees Celsius                                                                                     |
| *rCpuVolt*         | `REAL`                       |             |               | CPU voltage in XXX.X Volts                                                                                                   |
| *sSerialNum*       | `STRING`                     |             |               | Serial number of the device                                                                                                  |
| *sProductCode*     | `STRING`                     |             |               | Product code of the device (e.g. `21X`)                                                                                      |
| *xConfig*          | `BOOL`                       |             |               | State of the device configuration \[ TRUE = configuration active ]                                                           |
| *xButtonPresence*  | `BOOL`                       |             |               | Pressing the presence button (RBG (= room control unit): RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)      |
| *xButtonTempUp*    | `BOOL`                       |             |               | Pressing the button to increase the set temperature (RBG: pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)          |
| *xButtonTempDown*  | `BOOL`                       |             |               | Pressing the button to decrease the set temperature (RBG: pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)          |
| *xButtonFanUp*     | `BOOL`                       |             |               | Pressing the button to increase the fan stage (RBG: RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)           |
| *xButtonFanDown*   | `BOOL`                       |             |               | Pressing the button to decrease the fan stage (RBG: RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)           |
| *xButtonLightOn*   | `BOOL`                       |             |               | Pressing the button to activate the lighting (RBG: RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)            |
| *xButtonLightOff*  | `BOOL`                       |             |               | Pressing the button to deactivate the lighting (RBG: RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)          |
| *xButtonShadeUp*   | `BOOL`                       |             |               | Pressing the button to open the shading (RBG: RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                 |
| *xButtonShadeDown* | `BOOL`                       |             |               | Pressing the button to close the shading (RBG: RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                |
| *xStateExtBut0*    | `BOOL`                       |             |               | State of external input 0                                                                                                    |
| *xStateExtBut1*    | `BOOL`                       |             |               | State of external input 1                                                                                                    |
| *xStateExtBut2*    | `BOOL`                       |             |               | State of external input 2                                                                                                    |
| *xStateExtBut3*    | `BOOL`                       |             |               | State of external input 3                                                                                                    |
| *xAlarm*           | `BOOL`                       |             |               | Collective fault (TRUE = fault)                                                                                              |
| *xAlarmCom*        | `BOOL`                       |             |               | Collective fault - communication (TRUE = fault)                                                                              |
| *eErrorCodeCom*    | ModbusErrorCode              |             |               | Error code - communication (0 = no error)                                                                                    |
| *eErrorCodeDev*    | SPLUSS\_ERROR\_CODE\_TYPE\_2 |             |               | Error code - device (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                                   | Function                                                                                                                              |
| --------------------- | ----------------------------------------- | ----------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **tTimeUpdateActual** | `TIME`                                    |             | T#3s                                            | Update interval for the processes influenced by the input `xUpdateActual` 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) |
| **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) |
| **tPCTimeLong**       | `TIME`                                    |             | T#60s                                           | Interval time of the scan process for determining the product code (long duration, device detected)                                   |
| **tPCTimeShort**      | `TIME`                                    |             | T#5s                                            | Interval time of the scan process for determining the product code (short duration, device not yet detected)                          |
| **tTimeButtonPulse**  | `TIME`                                    |             | T#1s                                            | Duration of the pulse at the output if the assigned button was pressed briefly                                                        |
| **rSetpTempMin**      | `REAL`                                    |             | 18.0                                            | Absolute minimum value - setpoint temperature (degrees Celsius)                                                                       |
| **rSetpTempMax**      | `REAL`                                    |             | 26.0                                            | Absolute maximum value - setpoint temperature (degrees Celsius)                                                                       |
| **rSetpTempOffMin**   | `REAL`                                    |             | -3.0                                            | Absolute minimum value of the set temperature offset (Kelvin)                                                                         |
| **rSetpTempOffMax**   | `REAL`                                    |             | 3.0                                             | Absolute maximum value of the set temperature offset (Kelvin)                                                                         |
| **rSetpTempVariat**   | `REAL`                                    |             | 0.5                                             | Step size of the set temperature offset (Kelvin)                                                                                      |
| **wPinCodeAdmin**     | `WORD`                                    |             | 7458                                            | PIN code for the administrator level (0 = no code, 0001 - 9999 valid code)                                                            |
| **wPinCodeEndUser**   | `WORD`                                    |             | 3333                                            | PIN code for the user level (0 = no code, 0001 - 9999 valid code)                                                                     |
| **eColorScheme**      | SPLUSS\_LCD\_COLOR\_SCHEME                |             | SPLUSS\_LCD\_COLOR\_SCHEME.WHITE                | Number of the color scheme (1 = white, 1-7 = valid numbers)                                                                           |
| **xDispBargrFanLev**  | `BOOL`                                    |             | FALSE                                           | Enable / disable the display of the right bar graph (FALSE = no display)                                                              |
| **xDispBargrHCLev**   | `BOOL`                                    |             | FALSE                                           | Enable / disable the display of the left bar graph (FALSE = no display)                                                               |
| **ePresenceOutpMode** | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |             | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Operating mode of the output `xButtonPresence` (RAW, PULSE)                                                                           |
| **eFanOutpMode**      | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |             | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Operating mode of the outputs `xButtonFanUp` or `xButtonFanDwn` (RAW, PULSE)                                                          |
| **eLightOutpMode**    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |             | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Operating mode of the outputs `xButtonLightOn` or `xButtonLightOff` (RAW, PULSE)                                                      |
| **eShadeOutpMode**    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |             | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.RAW   | Operating mode of the outputs `xButtonShadeUp` or `xButtonShadeDwn` (RAW, PULSE)                                                      |
| **xVisuPresence**     | `BOOL`                                    |             | FALSE                                           | Pressing the presence button in the visualization                                                                                     |
| **xVisuTempUp**       | `BOOL`                                    |             | FALSE                                           | Pressing the button to increase the set temperature in the visualization                                                              |
| **xVisuTempDown**     | `BOOL`                                    |             | FALSE                                           | Pressing the button to decrease the set temperature in the visualization                                                              |
| **xVisuFanUp**        | `BOOL`                                    |             | FALSE                                           | Pressing the button to increase the fan stage in the visualization                                                                    |
| **xVisuFanDown**      | `BOOL`                                    |             | FALSE                                           | Pressing the button to decrease the fan stage in the visualization                                                                    |
| **xVisuLightOn**      | `BOOL`                                    |             | FALSE                                           | Pressing the button to activate the lighting in the visualization                                                                     |
| **xVisuLightOff**     | `BOOL`                                    |             | FALSE                                           | Pressing the button to deactivate the lighting in the visualization                                                                   |
| **xVisuShadeUp**      | `BOOL`                                    |             | FALSE                                           | Pressing the button to open the shading in the visualization                                                                          |
| **xVisuShadeDown**    | `BOOL`                                    |             | FALSE                                           | Pressing the button to close the shading in the visualization                                                                         |

### Function description

#### General

This function block controls room control units of the Rymaskon 2XX device series by S+S Regeltechnik via Modbus communication. Alternatively, room control units from Loytec can also be used. The different types (21x - 26x) of room control units are detected automatically. After detection, the room control units are automatically configured sensibly according to type. Two operating modes are provided for forming the room setpoint temperature (MANUALLY, AUTOMATICALLY). For different outputs (xButtonXXX), two operating modes are also provided (RAW, PULSE) (valid only when operated via the room control unit)

#### Detection of the product code (of the device type)

The Modbus address of the room control unit for communication with this function block is set at input `byUnitId` in the range 0 - 255. Immediately after the controller is switched on, at intervals `tPCTimeShort` (default: 5s) a request telegram is sent to the room control unit each time to return the product code and serial number. After receiving a response telegram, the product code is checked and evaluated. A valid product code is output at the output `sProductCode` . In addition, the serial number of the room control unit is output at the output `sSerialNum` . The configuration of the room control unit is triggered if the serial number has changed (directly after the CPU is switched on or after the room control unit has been replaced). After detection of a valid product code, the interval for sending a request telegram to return the product code and serial number is increased to `tPCTimeLong` (default: 60s). If ten consecutive response telegrams with an incorrect product code or no response telegrams at all are received within this interval, the detection cycle is executed again at interval `tPCTimeShort` .

#### Formation of the room setpoint temperature

The room setpoint temperature, which is displayed directly on the room control unit display and output at output `rSetpTemp` always corresponds to the state at input `rSetpTempBase`. It is limited by adjustable absolute minimum (`rSetpTempMin`, default: 18.0 degrees Celsius) and maximum values (`rSetpTempMax`, default: 26.0 degrees Celsius). No transfer of room setpoint temperatures outside these absolute limits takes place.

#### Formation of the offset of the room setpoint temperature

The offset of the room setpoint temperature is influenced by outputs `xButtonTempUp` (rising edge) and `xButtonTempDown` (rising edge). The current state is always displayed at output `rSetpTempOff` . The formation of the offset is enabled via input `xEnSetpTempOff` and disabled (xEnSetpTempOff = FALSE). In the disabled state, the value 0.0 is output at output `rSetpTempOff` . In the enabled state, the last set value is output at output `rSetpTempOff` . In the enabled state, output `rSetpTempOff` is increased by the parameter `xButtonTempUp` rSetpTempOffVariat `(default: 0.5 K) on every rising edge at output` . In the enabled state, output `rSetpTempOff` is increased by the parameter `xButtonTempDown` rSetpTempOffVariat `(default: 0.5 K) on every rising edge at output` is reduced. In the enabled state, output `rSetpTempOff` is limited in absolute terms by the parameters `rSetpTempOffMin` (default: -3.0 K) and `rSetpTempOffMax` (default: 3.0 K). Whenever the parameters `(default: 0.5 K) on every rising edge at output`, `rSetpTempOffMin` and `rSetpTempOffMax` change, output `rSetpTempOff` is reinitialized to 0.0.

Outputs `xButtonTempUp` and `xButtonTempDown`

The outputs are influenced by operating the TBO or TB4 buttons on the RBG and additionally by the inputs for the visualization (`xVisuTempUp` and `xVisuTempDown`) (OR linkage). Each brief press of button TB0 (increase temperature) and TB4 (decrease temperature) triggers a pulse of duration `xButtonTempUp` and `xButtonTempDown` at the associated outputs `tTimeButtonPulse` (default: 1s).

#### Outputs `xButtonXXX` (not for `xButtonTempUp` and `xButtonTempDown`)

The outputs `xButtonXXX` (xButtonPresence, xButtonFanUp, xButtonFanDown, xButtonLightOn, xButtonLightOff, xButtonShadeUp and xButtonShadeDown) are influenced by operating the corresponding buttons on the RBG and additionally by the inputs for the visualization (`xVisuXXX`) (OR linkage).

They can be operated on the RBG in two different operating modes (selection via parameters `ePresenceOutpMode`, `eFanOutpMode`, `eLightOutpMode` and `eShadeOutpMode`). The operating mode is always selected jointly for both outputs of a function.

Operating modes

RAW

The outputs immediately adopt the states of their assigned buttons (button pressed >>> output = TRUE). The arrangement of the buttons may differ depending on the type of room control unit. If the buttons for the desired function are not present on the room control unit, the assigned outputs remain inactive (= FALSE).

PULSE

Each brief press of the button triggers a pulse of duration at the associated output `tTimeButtonPulse` (default: 1s).

#### Display of fan stage

The display of the fan stage (selection via input `rSetpDispFanLev` in the range 0.0 - 7.0) is shown by the right bar graph on the display of the room control unit, if the display is generally enabled (parameter `xDispBargrFanLev` = TRUE).

| *rSetpDispFanLev* | Display             | Notes |
| ----------------- | ------------------- | ----- |
| 0                 | Stage 0 - Manual    |       |
| 1                 | Stage 1 - Manual    |       |
| 2                 | Stage 2 - Manual    |       |
| 3                 | Stage 3 - Manual    |       |
| 4                 | Stage 0 - Automatic |       |
| 5                 | Stage 1 - Automatic |       |
| 6                 | Stage 2 - Automatic |       |
| 7                 | Stage 3 - Automatic |       |

#### Display of heating/cooling output

The display of the heating/cooling output (selection via input `rSetpDispHCLev` in the range 0.0 - 7.0) is shown by the left bar graph on the display of the room control unit, if the display is generally enabled (parameter `xDispBargrHCLev` = TRUE).

| *rSetpDispHCLev* | Display             | Notes |
| ---------------- | ------------------- | ----- |
| 0                | Stage 0 - Manual    |       |
| 1                | Stage 1 - Manual    |       |
| 2                | Stage 2 - Manual    |       |
| 3                | Stage 3 - Manual    |       |
| 4                | Stage 0 - Automatic |       |
| 5                | Stage 1 - Automatic |       |
| 6                | Stage 2 - Automatic |       |
| 7                | Stage 3 - Automatic |       |

#### Display of symbols

The display of the desired symbols on the room control unit display is triggered by the TRUE state at the associated input. (Example: xDsplSymbHeat = TRUE causes the static display of the symbol `Heating` in the display). Inputs with the name suffix ‘-Al-’ cause a slowly blinking display of the associated symbol. (Example: xDsplSymbAlStorm = TRUE causes the slowly blinking display of the symbol `windsock` in the display).

#### Resetting the room control unit

The room control unit is reset on every rising edge at input `xResetDevice` .

#### Control of the piezo buzzer in the room control unit

The static TRUE state at input `xBuzzer_Alarm` triggers an intermittent alarm tone at a frequency of 800 Hz in the room control unit.

#### 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` an explanatory text for the cause is available in the event of a communication error. It always shows the cause of the last communication error there. At output `eErrorCodeDev` an explanatory text for the cause is available in the event of a device error.

#### Output `xConfig`

The output signals the configuration of the device (= TRUE) after it has been detected (see detection of the product code)

#### Output `wDeviceMode`

The numerical value at this output identifies the current display of the room control unit (menu level, display content, password level, etc.). It corresponds to the content of Modbus register 101, see the device documentation.

#### Update of the outputs for button presses (9 outputs)

The state of output `xButtonXXX` is formed from the OR linkage of the state based on operation on the room control unit (`_xButtonXXX`) and based on operation in the visualization (`xVisuXXX`).

### Codesys

InOut:

| Scope       | Name                                              | Type                                      | Initial                                         | Comment                                                                                                                                                             |
| ----------- | ------------------------------------------------- | ----------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                                             | `BOOL`                                    | TRUE                                            | Enable / disable communication (TRUE = enable)                                                                                                                      |
| Input       | `byUnitId`                                        | `BYTE`                                    | 0                                               | Device address (0 .. 255)                                                                                                                                           |
| Input       | `xUpdateActual`                                   | `BOOL`                                    | FALSE                                           | <p>Update of actual values (on every rising edge<br>)</p>                                                                                                           |
| Input       | `xUpdateStates`                                   | `BOOL`                                    | FALSE                                           | Update of the states (on each rising edge)                                                                                                                          |
| Input       | `xUpdateSetp`                                     | `BOOL`                                    | FALSE                                           | <p>Update of setpoints (on every rising edge<br>)</p>                                                                                                               |
| Input       | `xUpdateConfig`                                   | `BOOL`                                    | FALSE                                           | Update of the configuration (on each rising edge)                                                                                                                   |
| Input       | `rSetpTempBase`                                   | `REAL`                                    | 22.0                                            | Base setpoint temperature (degrees Celsius)                                                                                                                         |
| Input       | `xEnSetpTempOff`                                  | `BOOL`                                    | FALSE                                           | Enable / disable recording of changes to the room setpoint temperature (FALSE = no recording, rSetpTempOff = 0.0 K)                                                 |
| Input       | `rSetpDispFanLev`                                 | `REAL`                                    | 0.0                                             | Setpoint for the display of the fan stage (bar graph - right)                                                                                                       |
| Input       | `rSetpDispHCLev`                                  | `REAL`                                    | 0.0                                             | Setpoint for the display of heating/cooling output (bar graph - left)                                                                                               |
| Input       | `xDsplSymbPresen`                                 | `BOOL`                                    | FALSE                                           | Display of the symbols for presence (= TRUE) or absence (= FALSE)                                                                                                   |
| Input       | `xDsplSymbHeat`                                   | `BOOL`                                    | FALSE                                           | Display of the symbol for heating operation (TRUE = display)                                                                                                        |
| Input       | `xDsplSymbCool`                                   | `BOOL`                                    | FALSE                                           | Display of the symbol for cooling operation (TRUE = display)                                                                                                        |
| Input       | `xDsplSymbFan`                                    | `BOOL`                                    | FALSE                                           | Display of the symbol for the fan (TRUE = display)                                                                                                                  |
| Input       | `xDsplSymbAlWindo`                                | `BOOL`                                    | FALSE                                           | Display of the window alarm symbol (TRUE = display)                                                                                                                 |
| Input       | `xDsplSymbAlRainf`                                | `BOOL`                                    | FALSE                                           | Display of the rain alarm symbol (TRUE = display)                                                                                                                   |
| Input       | `xDsplSymbAlStorm`                                | `BOOL`                                    | FALSE                                           | Display of the wind alarm symbol (TRUE = display)                                                                                                                   |
| Input       | `xDsplSymbAlAlarm`                                | `BOOL`                                    | FALSE                                           | Display of the alarm symbol (TRUE = display)                                                                                                                        |
| Input       | `xDsplSymbNotDrop`                                | `BOOL`                                    | FALSE                                           | Display of the crossed-out drop symbol (TRUE = display)                                                                                                             |
| Input       | `xDsplSymbClock`                                  | `BOOL`                                    | FALSE                                           | Display of the clock symbol (TRUE = display)                                                                                                                        |
| Input       | `xBuzzer_Alarm`                                   | `BOOL`                                    | FALSE                                           | Enable / disable the alarm tone (buzzer) (TRUE = enable)                                                                                                            |
| Input       | `xResetDevice`                                    | `BOOL`                                    | FALSE                                           | Reset of the device (on every rising edge)                                                                                                                          |
| Inout       | `ModbusClient`                                    | `ModbusClientBase`                        |                                                 | Client of the device                                                                                                                                                |
| Output      | `rSetpTemp`                                       | `REAL`                                    |                                                 | Set temperature (degrees Celsius) (corresponds to the room setpoint temperature shown on the RBG)                                                                   |
| Output      | `rSetpTempOff`                                    | `REAL`                                    |                                                 | Set temperature offset (Kelvin) (rSetpTempOff:= rSetpTemp - rSetpTempBase)                                                                                          |
| Output      | `rRoomTemp`                                       | `REAL`                                    |                                                 | Room temperature in XXX.X degrees Celsius                                                                                                                           |
| Output      | `rExtTemp`                                        | `REAL`                                    |                                                 | External temperature in XXX.X degrees Celsius                                                                                                                       |
| Output      | `rRelHumidity`                                    | `REAL`                                    |                                                 | Relative room humidity in XXX.X %                                                                                                                                   |
| Output      | `rDewPointTemp`                                   | `REAL`                                    |                                                 | Dew point temperature in XXX.X degrees Celsius (the offsets of temperature and relative humidity are not taken into account)                                        |
| 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      | `rSupplyVolt`                                     | `REAL`                                    |                                                 | Supply voltage in XXX.X Volts                                                                                                                                       |
| Output      | `rCpuTemp`                                        | `REAL`                                    |                                                 | CPU temperature in XXX.X degrees Celsius                                                                                                                            |
| Output      | `rCpuVolt`                                        | `REAL`                                    |                                                 | CPU voltage in XXX.X Volts                                                                                                                                          |
| Output      | `sSerialNum`                                      | `STRING`                                  |                                                 | Serial number of the device                                                                                                                                         |
| Output      | `sProductCode`                                    | `STRING`                                  |                                                 | Product code of the device (e.g. `21X`)                                                                                                                             |
| Output      | `wDeviceMode`                                     | `WORD`                                    |                                                 | Operating mode of the device                                                                                                                                        |
| Output      | `xConfig`                                         | `BOOL`                                    | FALSE                                           | State of the device configuration \[ TRUE = configuration active ]                                                                                                  |
| Output      | `xButtonPresence`                                 | `BOOL`                                    | FALSE                                           | <p>Pressing the presence button (RAW, pulse with duration<br><code>tTimeButtonPulse</code>) (RBG and/or VISU)</p>                                                   |
| Output      | `xButtonTempUp`                                   | `BOOL`                                    | FALSE                                           | Pressing the button to increase the set temperature (pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                      |
| Output      | `xButtonTempDown`                                 | `BOOL`                                    | FALSE                                           | Pressing the button to decrease the set temperature (pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                      |
| Output      | `xButtonFanUp`                                    | `BOOL`                                    | FALSE                                           | Pressing the button to increase the fan stage (RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                       |
| Output      | `xButtonFanDown`                                  | `BOOL`                                    | FALSE                                           | Pressing the button to decrease the fan stage (RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                       |
| Output      | `xButtonLightOn`                                  | `BOOL`                                    | FALSE                                           | Pressing the button to activate the lighting (RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                        |
| Output      | `xButtonLightOff`                                 | `BOOL`                                    | FALSE                                           | Pressing the button to deactivate the lighting (RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                      |
| Output      | `xButtonShadeUp`                                  | `BOOL`                                    | FALSE                                           | Pressing the button to open the shading (RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                             |
| Output      | `xButtonShadeDown`                                | `BOOL`                                    | FALSE                                           | Pressing the button to close the shading (RAW, pulse with duration `tTimeButtonPulse`) (RBG and/or VISU)                                                            |
| Output      | `xStateExtBut0`                                   | `BOOL`                                    |                                                 | State of external input 0                                                                                                                                           |
| Output      | `xStateExtBut1`                                   | `BOOL`                                    |                                                 | State of external input 1                                                                                                                                           |
| Output      | `xStateExtBut2`                                   | `BOOL`                                    |                                                 | State of external input 2                                                                                                                                           |
| Output      | `xStateExtBut3`                                   | `BOOL`                                    |                                                 | State of external input 3                                                                                                                                           |
| 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      | `eErrorCodeDev`                                   | SPLUSS\_ERROR\_CODE\_TYPE\_2              |                                                 | Error code - device (0 = no error)                                                                                                                                  |
| Output      | `xBusy`                                           | `BOOL`                                    |                                                 | Communication indicator (TRUE = communication)                                                                                                                      |
| Input Const | `rRelHumidityOffset`                              | `REAL`                                    | 0.0                                             | Constant measured-value offset for the transmitted relative humidity actual value (internal relative humidity)                                                      |
| Input Const | `rExtTempOffset`                                  | `REAL`                                    | 0.0                                             | Constant measured-value offset for the transmitted temperature actual value (external temperature)                                                                  |
| Input Const | `rRoomTempOffset`                                 | `REAL`                                    | 0.0                                             | Constant measured-value offset for the transmitted temperature actual value (internal temperature)                                                                  |
| Input Const | `xVisuShadeDown`                                  | `BOOL`                                    | FALSE                                           | Pressing the button to close the shading in the visualization                                                                                                       |
| Input Const | `xVisuShadeUp`                                    | `BOOL`                                    | FALSE                                           | Pressing the button to open the shading in the visualization                                                                                                        |
| Input Const | `xVisuLightOff`                                   | `BOOL`                                    | FALSE                                           | Pressing the button to deactivate the lighting in the visualization                                                                                                 |
| Input Const | `xVisuLightOn`                                    | `BOOL`                                    | FALSE                                           | Pressing the button to activate the lighting in the visualization                                                                                                   |
| Input Const | `xVisuFanDown`                                    | `BOOL`                                    | FALSE                                           | Pressing the button to decrease the fan stage in the visualization                                                                                                  |
| Input Const | `xVisuFanUp`                                      | `BOOL`                                    | FALSE                                           | Pressing the button to increase the fan stage in the visualization                                                                                                  |
| Input Const | `xVisuTempDown`                                   | `BOOL`                                    | FALSE                                           | Pressing the button to decrease the set temperature in the visualization                                                                                            |
| Input Const | `xVisuTempUp`                                     | `BOOL`                                    | FALSE                                           | Pressing the button to increase the set temperature in the visualization                                                                                            |
| Input Const | `xVisuPresence`                                   | `BOOL`                                    | FALSE                                           | Pressing the presence button in the visualization                                                                                                                   |
| Input Const | `eShadeOutpMode`                                  | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.RAW   | <p>Operating mode of the outputs <code>xButtonShadeUp</code> or<br><code>xButtonShadeDwn</code> (RAW, PULSE)</p>                                                    |
| Input Const | `eLightOutpMode`                                  | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | <p>Operating mode of the outputs <code>xButtonLightOn</code> or<br><code>xButtonLightOff</code> (RAW, PULSE)</p>                                                    |
| Input Const | `eFanOutpMode`                                    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | <p>Operating mode of the outputs <code>xButtonFanUp</code> or <code>xButtonFanDwn</code><br>(RAW, PULSE)</p>                                                        |
| Input Const | `ePresenceOutpMode`                               | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Operating mode of the output `xButtonPresence` (RAW, PULSE)                                                                                                         |
| Input Const | `xDispBargrHCLev`                                 | `BOOL`                                    | FALSE                                           | Enable / disable the display of the left bar graph (FALSE = no display)                                                                                             |
| Input Const | `xDispBargrFanLev`                                | `BOOL`                                    | FALSE                                           | Enable / disable the display of the right bar graph (FALSE = no display)                                                                                            |
| Input Const | `eColorScheme`                                    | SPLUSS\_LCD\_COLOR\_SCHEME                | SPLUSS\_LCD\_COLOR\_SCHEME.WHITE                | Number of the color scheme (1 = white, 1-7 = valid numbers)                                                                                                         |
| Input Const | `wPinCodeEndUser`                                 | `WORD`                                    | 3333                                            | PIN code for the user level (0 = no code, 0001 - 9999 valid code)                                                                                                   |
| Input Const | `wPinCodeAdmin`                                   | `WORD`                                    | 7458                                            | PIN code for the administrator level (0 = no code, 0001 - 9999 valid code)                                                                                          |
| Input Const | `(default: 0.5 K) on every rising edge at output` | `REAL`                                    | 0.5                                             | Step size of the set temperature offset (Kelvin)                                                                                                                    |
| Input Const | `rSetpTempOffMax`                                 | `REAL`                                    | 3.0                                             | Absolute maximum value of the set temperature offset (Kelvin)                                                                                                       |
| Input Const | `rSetpTempOffMin`                                 | `REAL`                                    | -3.0                                            | Absolute minimum value of the set temperature offset (Kelvin)                                                                                                       |
| Input Const | `rSetpTempMax`                                    | `REAL`                                    | 26.0                                            | Absolute maximum value - setpoint temperature (degrees Celsius)                                                                                                     |
| Input Const | `rSetpTempMin`                                    | `REAL`                                    | 18.0                                            | Absolute minimum value - setpoint temperature (degrees Celsius)                                                                                                     |
| Input Const | `tTimeButtonPulse`                                | `TIME`                                    | TIME#1s0ms                                      | Duration of the pulse at the output if the assigned button was pressed briefly                                                                                      |
| Input Const | `tPCTimeShort`                                    | `TIME`                                    | TIME#5s0ms                                      | Interval time of the scan process for determining the product code (short duration, device not yet detected)                                                        |
| Input Const | `tPCTimeLong`                                     | `TIME`                                    | TIME#1m0s0ms                                    | Interval time of the scan process for determining the product code (long duration, device detected)                                                                 |
| 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 | `tTimeUpdateStates`                               | `TIME`                                    | TIME#500ms                                      | <p>Update interval for the processes influenced by the input<br><code>xUpdateStates</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/spluss/spluss_rymaskon_2xx_mod.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.
