# SPLUSS\_RYMASKON\_2XX\_MOD

## `SPLUSS_RYMASKON_2XX_MOD` (FB)

FUNCTION\_BLOCK SPLUSS\_RYMASKON\_2XX\_MOD

### Short description

> Control of the Rymaskon 2XX device series from S+S Regeltechnik\
> Additional functions: Two operating modes for setpoint temperature generation\
> Typical application: Room control unit in a zone\\

### Interfaces

#### Inputs

| Name               | Data type | Value range | Initial value | Function                                                                                                              |
| ------------------ | --------- | ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------- |
| *xEn*              | BOOL      |             | TRUE          | Enable / disable communication ( TRUE = enabled )                                                                     |
| *byUnitId*         | BYTE      |             | 0             | Address of the device ( 0 .. 255 )                                                                                    |
| *xUpdateActual*    | BOOL      |             | FALSE         | Update of actual values ( on each rising edge )                                                                       |
| *xUpdateStates*    | BOOL      |             | FALSE         | Update of states ( on each rising edge )                                                                              |
| *xUpdateSetp*      | BOOL      |             | FALSE         | Update of setpoints ( on each rising edge )                                                                           |
| *xUpdateConfig*    | BOOL      |             | FALSE         | Update of configuration ( on each rising edge )                                                                       |
| *rSetpTempBase*    | REAL      |             | 22.0          | Base setpoint temperature ( degrees Celsius )                                                                         |
| *rEnSetpTempOff*   | BOOL      |             | FALSE         | Enable / disable detection of changes of the room setpoint temperature ( FALSE = no detection, rSetpTempOff = 0.0 K ) |
| *rSetpDispFanLev*  | REAL      |             | 0.0           | Setpoint for the display of the fan level ( bargraph - right )                                                        |
| *rSetpDispHCLev*   | REAL      |             | 0.0           | Setpoint for the display of heating/cooling power ( bargraph - 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 = show )                                                           |
| *xDsplSymbCool*    | BOOL      |             | FALSE         | Display of the symbol for cooling operation ( TRUE = show )                                                           |
| *xDsplSymbFan*     | BOOL      |             | FALSE         | Display of the symbol for the fan ( TRUE = show )                                                                     |
| *xDsplSymbAlWindo* | BOOL      |             | FALSE         | Display of the symbol for the window alarm ( TRUE = show )                                                            |
| *xDsplSymbAlRainf* | BOOL      |             | FALSE         | Display of the symbol for the rain alarm ( TRUE = show )                                                              |
| *xDsplSymbAlStorm* | BOOL      |             | FALSE         | Display of the symbol for the wind alarm ( TRUE = show )                                                              |
| *xDsplSymbAlAlarm* | BOOL      |             | FALSE         | Display of the symbol for the alarm ( TRUE = show )                                                                   |
| *xDsplSymbNotDrop* | BOOL      |             | FALSE         | Display of the symbol for the crossed-out drop ( TRUE = show )                                                        |
| *xDsplSymbClock*   | BOOL      |             | FALSE         | Display of the symbol for the clock ( TRUE = show )                                                                   |
| *xBuzzer\_Alarm*   | BOOL      |             | FALSE         | Enable / disable of the alarm tone ( buzzer ) ( TRUE = enable )                                                       |
| *xResetDevice*     | BOOL      |             | FALSE         | Reset of the device ( on each rising edge )                                                                           |

#### Outputs

| Name               | Data type                    | Value range | Initial value | Function                                                                                                                        |
| ------------------ | ---------------------------- | ----------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| *rSetpTemp*        | REAL                         |             |               | Set temperature ( degrees Celsius ) ( corresponds to the room setpoint temperature displayed on the RBG )                       |
| *rSetpTempOff*     | REAL                         |             |               | Setpoint 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 rel. humidity are not considered )              |
| *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                       |             |               | Device serial number                                                                                                            |
| *sProductCode*     | STRING                       |             |               | Product code of the device ( e.g. '21X' )                                                                                       |
| *xConfig*          | BOOL                         |             |               | State of the device configuration \[ TRUE = configuration active ]                                                              |
| *xButtonPresence*  | BOOL                         |             |               | Actuation of the presence button ( RBG (= room control unit): RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU ) |
| *xButtonTempUp*    | BOOL                         |             |               | Actuation of the button to increase the set temperature ( RBG: pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )     |
| *xButtonTempDown*  | BOOL                         |             |               | Actuation of the button to lower the set temperature ( RBG: pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )        |
| *xButtonFanUp*     | BOOL                         |             |               | Actuation of the button to increase the fan level ( RBG: RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )      |
| *xButtonFanDown*   | BOOL                         |             |               | Actuation of the button to decrease the fan level ( RBG: RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )      |
| *xButtonLightOn*   | BOOL                         |             |               | Actuation of the button to activate the lighting ( RBG: RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )       |
| *xButtonLightOff*  | BOOL                         |             |               | Actuation of the button to deactivate the lighting ( RBG: RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )     |
| *xButtonShadeUp*   | BOOL                         |             |               | Actuation of the button to open the shading ( RBG: RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG and/or VISU )            |
| *xButtonShadeDown* | BOOL                         |             |               | Actuation of 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                         |             |               | General fault ( TRUE = fault )                                                                                                  |
| *xAlarmCom*        | BOOL                         |             |               | General 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 operations influenced by the input 'xUpdateActual' ( 0 = no automatic update, > 0 cyclical update ) |
| **tTimeUpdateStates** | TIME                                      |             | T#500ms                                         | Update interval for operations influenced by the input 'xUpdateStates' ( 0 = no automatic update, > 0 cyclical update ) |
| **tTimeUpdateSetp**   | TIME                                      |             | T#0s                                            | Update interval for operations influenced by the input 'xUpdateSetp' ( 0 = no automatic update, > 0 cyclical update )   |
| **tTimeUpdateConfig** | TIME                                      |             | T#0s                                            | Update interval for operations influenced by the input 'xUpdateConfig' ( 0 = no automatic update, > 0 cyclical update ) |
| **tPCTimeLong**       | TIME                                      |             | T#60s                                           | Interval duration of the scan process to determine the product code ( long duration, device recognized )                |
| **tPCTimeShort**      | TIME                                      |             | T#5s                                            | Interval duration of the scan process to determine the product code ( short duration, device not yet recognized )       |
| **tTimeButtonPulse**  | TIME                                      |             | T#1s                                            | Duration of the pulse at the output if the assigned button was pressed briefly                                          |
| **rSetpTempMin**      | REAL                                      |             | 18.0                                            | Absolute minimum - setpoint temperature ( degrees Celsius )                                                             |
| **rSetpTempMax**      | REAL                                      |             | 26.0                                            | Absolute maximum - setpoint temperature ( degrees Celsius )                                                             |
| **rSetpTempOffMin**   | REAL                                      |             | -3.0                                            | Absolute minimum value of the offset of the set temperature ( Kelvin )                                                  |
| **rSetpTempOffMax**   | REAL                                      |             | 3.0                                             | Absolute maximum value of the offset of the set temperature ( 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 display of the right bargraph ( FALSE = no display )                                                   |
| **xDispBargrHCLev**   | BOOL                                      |             | FALSE                                           | Enable / disable display of the left bargraph ( 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' and 'xButtonFanDwn' ( RAW, PULSE )                                         |
| **eLightOutpMode**    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |             | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Operating mode of the outputs 'xButtonLightOn' and 'xButtonLightOff' ( RAW, PULSE )                                     |
| **eShadeOutpMode**    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |             | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.RAW   | Operating mode of the outputs 'xButtonShadeUp' and 'xButtonShadeDwn' ( RAW, PULSE )                                     |
| **xVisuPresence**     | BOOL                                      |             | FALSE                                           | Actuation of the presence button in the visualization                                                                   |
| **xVisuTempUp**       | BOOL                                      |             | FALSE                                           | Actuation of the button to increase the set temperature in the visualization                                            |
| **xVisuTempDown**     | BOOL                                      |             | FALSE                                           | Actuation of the button to lower the set temperature in the visualization                                               |
| **xVisuFanUp**        | BOOL                                      |             | FALSE                                           | Actuation of the button to increase the fan level in the visualization                                                  |
| **xVisuFanDown**      | BOOL                                      |             | FALSE                                           | Actuation of the button to decrease the fan level in the visualization                                                  |
| **xVisuLightOn**      | BOOL                                      |             | FALSE                                           | Actuation of the button to activate the lighting in the visualization                                                   |
| **xVisuLightOff**     | BOOL                                      |             | FALSE                                           | Actuation of the button to deactivate the lighting in the visualization                                                 |
| **xVisuShadeUp**      | BOOL                                      |             | FALSE                                           | Actuation of the button to open the shading in the visualization                                                        |
| **xVisuShadeDown**    | BOOL                                      |             | FALSE                                           | Actuation of 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 from S+S Regeltechnik via Modbus communication.\
Alternatively, room control units from Loytec can also be used.\
Detection of the different types ( 21x - 26x ) of room control units is performed automatically.\
The room control units are automatically configured sensibly according to their type after detection.\
Two operating modes are provided for forming the room setpoint temperature ( MANUALLY, AUTOMATICALLY ).\
For various 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 the input 'byUnitId' in the range 0 - 255.\
Immediately after switching on the controller, a request telegram for feedback of the product code and the serial number is sent to the room control unit at the interval 'tPCTimeShort' ( default: 5s ).\
After receiving a response telegram, the product code is checked and evaluated. A valid product code is output at the output 'sProductCode'.\
Furthermore, 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 switching on the CPU or after replacing the room control unit ).\
After detection of a valid product code, the interval for sending a request telegram for feedback of the product code and the serial number is increased to 'tPCTimeLong' ( default: 60s ). If ten consecutive response telegrams with an invalid product code or no response telegram at all are received within this interval,\
the detection cycle is executed again at the 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 the output 'rSetpTemp', always corresponds to the state at\
the 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 room setpoint temperature offset

The offset of the room setpoint temperature is influenced by the outputs 'xButtonTempUp' ( rising edge ) and 'xButtonTempDown' ( rising edge ).\
The current state is always shown at the output 'rSetpTempOff'.\
The formation of the offset is enabled via the input 'xEnSetpTempOff' ( xEnSetpTempOff = TRUE ) and disabled ( xEnSetpTempOff = FALSE ).\
In the disabled state the value 0.0 is output at the output 'rSetpTempOff'.\
In the enabled state the last set value is output at the output 'rSetpTempOff'.\
In the enabled state the output 'rSetpTempOff' is increased by the parameter 'rSetpTempOffVariat' ( default: 0.5 K ) on each rising edge of the output 'xButtonTempUp'.\
In the enabled state the output 'rSetpTempOff' is decreased by the parameter 'rSetpTempOffVariat' on each rising edge of the output 'xButtonTempDown'.\
In the enabled state the output 'rSetpTempOff' is absolutely limited by the parameters 'rSetpTempOffMin' ( default: -3.0 K ) and 'rSetpTempOffMax' ( default: 3.0 K ).\
On any change of the parameters 'rSetpTempOffVariat', 'rSetpTempOffMin' and 'rSetpTempOffMax' the output 'rSetpTempOff' is reinitialized to 0.0.\
\
Outputs 'xButtonTempUp' and 'xButtonTempDown'\
\
The outputs are influenced by operating the buttons TBO and TB4 on the RBG and additionally by the inputs for the visualization ( 'xVisuTempUp' and 'xVisuTempDown' ) ( OR linkage ).\
Each short actuation of button TB0 ( increase temperature ) and TB4 ( decrease temperature ) triggers at the associated outputs 'xButtonTempUp' and 'xButtonTempDown' a\
pulse of duration '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 the parameters 'ePresenceOutpMode', 'eFanOutpMode', 'eLightOutpMode' and 'eShadeOutpMode' ).\
The selection of the operating mode is always made 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 the 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 short actuation of the button triggers a pulse of duration 'tTimeButtonPulse' ( default: 1s ) at the associated output.\
\\

#### Display of the fan level

The display of the fan level ( selection via the input 'rSetpDispFanLev' in the range 0.0 - 7.0 ) is performed by the right bargraph on the room control unit display,\
if the display is generally enabled ( parameter 'xDispBargrFanLev' = TRUE ).\\

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

#### Display of heating/cooling power

The display of heating/cooling power ( selection via the input 'rSetpDispHCLev' in the range 0.0 - 7.0 ) is performed by the left bargraph on the room control unit display,\
if the display is generally enabled ( parameter 'xDispBargrHCLev' = TRUE ).\\

| *rSetpDispHCLev* | Display             | Notes |
| ---------------- | ------------------- | ----- |
| 0                | Level 0 - Manual    |       |
| 1                | Level 1 - Manual    |       |
| 2                | Level 2 - Manual    |       |
| 3                | Level 3 - Manual    |       |
| 4                | Level 0 - Automatic |       |
| 5                | Level 1 - Automatic |       |
| 6                | Level 2 - Automatic |       |
| 7                | Level 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 assigned input.\
( Example: xDsplSymbHeat = TRUE causes the static display of the 'heating' symbol on the display ).\
Inputs with the name suffix '-Al-' cause a slowly blinking presentation of the assigned symbol.\
( Example: xDsplSymbAlStorm = TRUE causes the slowly blinking display of the 'windsock' symbol on the display ).\\

#### Resetting the room control unit

The room control unit is reset on each rising edge at the input 'xResetDevice'.\
\\

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

A steady TRUE state at the input 'xBuzzer\_Alarm' triggers an intermittent alarm tone with frequency 800 Hz in the room control unit.\
\\

#### Display of faults

The display of faults is done at the collective output 'xAlarm' ( = TRUE ).\
It includes communication faults ( time delay: gc\_Parameters.gc\_tOnDelayxAlarmCom, default = 60s ) and device faults ( immediate ).\
At the 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.\
At the 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 recognized ( see detection of the product code )\\

#### Output 'wDeviceMode'

The numeric value at this output indicates the current presentation 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 for this.\\

#### Update of outputs for button actuations ( 9 outputs )

The state of the output 'xButtonXXX' is formed from the OR linkage of the state resulting from operations on the room control unit ( '\_xButtonXXX' ) and from\
operations in the visualization ( 'xVisuXXX' ).

### Codesys

InOut:

| Scope       | Name                    | Type                                      | Initial                                         | Comment                                                                                                                                                                   |
| ----------- | ----------------------- | ----------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                   | `BOOL`                                    | TRUE                                            | Enable / disable communication ( TRUE = enabled )                                                                                                                         |
| Input       | `byUnitId`              | `BYTE`                                    | 0                                               | Address of the device ( 0 .. 255 )                                                                                                                                        |
| Input       | `xUpdateActual`         | `BOOL`                                    | FALSE                                           | <p>Update of actual values (on every rising edge<br>)</p>                                                                                                                 |
| Input       | `xUpdateStates`         | `BOOL`                                    | FALSE                                           | <p>Update of the states ( on every rising edge<br>)</p>                                                                                                                   |
| Input       | `xUpdateSetp`           | `BOOL`                                    | FALSE                                           | <p>Update of setpoint values (on every rising edge<br>)</p>                                                                                                               |
| Input       | `xUpdateConfig`         | `BOOL`                                    | FALSE                                           | <p>Update of the configuration ( on every rising<br>edge )</p>                                                                                                            |
| Input       | `rSetpTempBase`         | `REAL`                                    | 22.0                                            | Base setpoint temperature ( degrees Celsius )                                                                                                                             |
| Input       | `xEnSetpTempOff`        | `BOOL`                                    | FALSE                                           | <p>Enable / disable detection of changes of the<br>room setpoint temperature ( FALSE = no detection, rSetpTempOff<br>= 0.0 K )</p>                                        |
| Input       | `rSetpDispFanLev`       | `REAL`                                    | 0.0                                             | <p>Setpoint for the display of the fan level ( bargraph -<br>right )</p>                                                                                                  |
| Input       | `rSetpDispHCLev`        | `REAL`                                    | 0.0                                             | <p>Setpoint for the display of heating/cooling power ( bargraph -<br>left )</p>                                                                                           |
| Input       | `xDsplSymbPresen`       | `BOOL`                                    | FALSE                                           | <p>Display of the symbols for presence ( = TRUE ) or<br>absence ( = FALSE )</p>                                                                                           |
| Input       | `xDsplSymbHeat`         | `BOOL`                                    | FALSE                                           | Display of the symbol for heating operation ( TRUE = show )                                                                                                               |
| Input       | `xDsplSymbCool`         | `BOOL`                                    | FALSE                                           | Display of the symbol for cooling operation ( TRUE = show )                                                                                                               |
| Input       | `xDsplSymbFan`          | `BOOL`                                    | FALSE                                           | Display of the symbol for the fan ( TRUE = show )                                                                                                                         |
| Input       | `xDsplSymbAlWindo`      | `BOOL`                                    | FALSE                                           | <p>Display of the symbol for the window alarm ( TRUE = display<br>)</p>                                                                                                   |
| Input       | `xDsplSymbAlRainf`      | `BOOL`                                    | FALSE                                           | Display of the symbol for the rain alarm ( TRUE = show )                                                                                                                  |
| Input       | `xDsplSymbAlStorm`      | `BOOL`                                    | FALSE                                           | Display of the symbol for the wind alarm ( TRUE = show )                                                                                                                  |
| Input       | `xDsplSymbAlAlarm`      | `BOOL`                                    | FALSE                                           | Display of the symbol for the alarm ( TRUE = show )                                                                                                                       |
| Input       | `xDsplSymbNotDrop`      | `BOOL`                                    | FALSE                                           | <p>Display of the symbol for the crossed-out drop ( TRUE<br>= display )</p>                                                                                               |
| Input       | `xDsplSymbClock`        | `BOOL`                                    | FALSE                                           | Display of the symbol for the clock ( TRUE = show )                                                                                                                       |
| Input       | `xBuzzer_Alarm`         | `BOOL`                                    | FALSE                                           | <p>Enable / disable of the alarm tone ( buzzer ) ( TRUE =<br>enable )</p>                                                                                                 |
| Input       | `xResetDevice`          | `BOOL`                                    | FALSE                                           | Reset of the device ( on each rising edge )                                                                                                                               |
| Inout       | `ModbusClient`          | `ModbusClientBase`                        |                                                 | Client of the device                                                                                                                                                      |
| Output      | `rSetpTemp`             | `REAL`                                    |                                                 | <p>Set temperature ( degrees Celsius ) ( corresponds to the setpoint<br>temperature displayed on the RBG )</p>                                                            |
| Output      | `rSetpTempOff`          | `REAL`                                    |                                                 | <p>Setpoint temperature offset ( Kelvin )( rSetpTempOff :=<br>rSetpTemp - rSetpTempBase )</p>                                                                             |
| 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`                                    |                                                 | <p>Dew point temperature in XXX.X degrees Celsius ( the offsets of<br>temperature and rel. humidity are not considered )</p>                                              |
| Output      | `xSensorOffsetInDevice` | `BOOL`                                    |                                                 | <p>Indicator whether the calibration of the sensors must be<br>performed in the device (TRUE = calibration in device required, FALSE = calibration in<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`                                  |                                                 | Device serial number                                                                                                                                                      |
| Output      | `sProductCode`          | `STRING`                                  |                                                 | Product code of the device ( e.g. '21X' )                                                                                                                                 |
| Output      | `wDeviceMode`           | `WORD`                                    |                                                 | Operating mode of the device                                                                                                                                              |
| Output      | `xConfig`               | `BOOL`                                    | FALSE                                           | <p>State of the device configuration \[ TRUE = configuration<br>active ]</p>                                                                                              |
| Output      | `xButtonPresence`       | `BOOL`                                    | FALSE                                           | <p>Actuation of the presence button ( RAW, pulse with duration<br>'tTimeButtonPulse' ) ( RBG and/or VISU )</p>                                                            |
| Output      | `xButtonTempUp`         | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to increase the set temperature (<br>pulse with duration 'tTimeButtonPulse' ) ( RBG and/or<br>VISU )</p>                                       |
| Output      | `xButtonTempDown`       | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to decrease the set temperature (<br>pulse with duration 'tTimeButtonPulse' ) ( RBG and/or<br>VISU )</p>                                       |
| Output      | `xButtonFanUp`          | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to increase the fan level<br>( RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG<br>and/or VISU )</p>                                        |
| Output      | `xButtonFanDown`        | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to decrease the fan level<br>( RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG<br>and/or VISU )</p>                                        |
| Output      | `xButtonLightOn`        | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to activate the lighting ( RAW,<br>pulse with duration 'tTimeButtonPulse' ) ( RBG and/or<br>VISU )</p>                                         |
| Output      | `xButtonLightOff`       | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to deactivate the lighting (<br>RAW, pulse with duration 'tTimeButtonPulse' ) ( RBG<br>and/or VISU )</p>                                       |
| Output      | `xButtonShadeUp`        | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to open the shading ( RAW,<br>pulse with duration 'tTimeButtonPulse' ) ( RBG and/or<br>VISU )</p>                                              |
| Output      | `xButtonShadeDown`      | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to close the shading ( RAW,<br>pulse with duration 'tTimeButtonPulse' ) ( RBG and/or<br>VISU )</p>                                             |
| 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                                           | General fault ( TRUE = fault )                                                                                                                                            |
| Output      | `xAlarmCom`             | `BOOL`                                    | FALSE                                           | General 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                                             | <p>Constant measurement offset for the transmitted relative<br>humidity actual value ( internal relative humidity )</p>                                                   |
| Input Const | `rExtTempOffset`        | `REAL`                                    | 0.0                                             | <p>Constant measurement offset for the transmitted temperature<br>actual value ( external temperature )</p>                                                               |
| Input Const | `rRoomTempOffset`       | `REAL`                                    | 0.0                                             | <p>Constant measurement offset for the transmitted temperature<br>actual value ( internal temperature )</p>                                                               |
| Input Const | `xVisuShadeDown`        | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to close the shading in the<br>visualization</p>                                                                                               |
| Input Const | `xVisuShadeUp`          | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to open the shading in the<br>visualization</p>                                                                                                |
| Input Const | `xVisuLightOff`         | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to deactivate the lighting in<br>the visualization</p>                                                                                         |
| Input Const | `xVisuLightOn`          | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to activate the lighting in the<br>visualization</p>                                                                                           |
| Input Const | `xVisuFanDown`          | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to decrease the fan level<br>in the visualization</p>                                                                                          |
| Input Const | `xVisuFanUp`            | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to increase the fan level<br>in the visualization</p>                                                                                          |
| Input Const | `xVisuTempDown`         | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to decrease the set temperature in the<br>visualization</p>                                                                                    |
| Input Const | `xVisuTempUp`           | `BOOL`                                    | FALSE                                           | <p>Actuation of the button to increase the set temperature in the<br>visualization</p>                                                                                    |
| Input Const | `xVisuPresence`         | `BOOL`                                    | FALSE                                           | Actuation of 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 'xButtonShadeUp' and<br>'xButtonShadeDwn' ( 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 'xButtonLightOn' and<br>'xButtonLightOff' ( 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 'xButtonFanUp' and 'xButtonFanDwn'<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                                           | <p>Enable / disable display of the left bargraph (<br>FALSE = no display )</p>                                                                                            |
| Input Const | `xDispBargrFanLev`      | `BOOL`                                    | FALSE                                           | <p>Enable / disable display of the right bargraph (<br>FALSE = no display )</p>                                                                                           |
| 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                                            | <p>PIN code for the user level ( 0 = no code, 0001 - 9999<br>valid code )</p>                                                                                             |
| Input Const | `wPinCodeAdmin`         | `WORD`                                    | 7458                                            | <p>PIN code for the administrator level ( 0 = no code, 0001 -<br>9999 valid code )</p>                                                                                    |
| Input Const | `rSetpTempOffVariat`    | `REAL`                                    | 0.5                                             | Step size of the set temperature offset ( Kelvin )                                                                                                                        |
| Input Const | `rSetpTempOffMax`       | `REAL`                                    | 3.0                                             | <p>Absolute maximum value of the offset of the set temperature (<br>Kelvin )</p>                                                                                          |
| Input Const | `rSetpTempOffMin`       | `REAL`                                    | -3.0                                            | <p>Absolute minimum value of the offset of the set temperature (<br>Kelvin )</p>                                                                                          |
| Input Const | `rSetpTempMax`          | `REAL`                                    | 26.0                                            | Absolute maximum - setpoint temperature ( degrees Celsius )                                                                                                               |
| Input Const | `rSetpTempMin`          | `REAL`                                    | 18.0                                            | Absolute minimum - setpoint temperature ( degrees Celsius )                                                                                                               |
| Input Const | `tTimeButtonPulse`      | `TIME`                                    | TIME#1s0ms                                      | <p>Duration of the pulse at the output if the assigned<br>button was pressed briefly</p>                                                                                  |
| Input Const | `tPCTimeShort`          | `TIME`                                    | TIME#5s0ms                                      | <p>Interval duration of the scan process to determine the<br>product code ( short duration, device not yet recognized )</p>                                               |
| Input Const | `tPCTimeLong`           | `TIME`                                    | TIME#1m0s0ms                                    | <p>Interval duration of the scan process to determine the<br>product code ( long duration, device recognized )</p>                                                        |
| Input Const | `tTimeUpdateConfig`     | `TIME`                                    | TIME#0ms                                        | <p>Update interval for the processes influenced by the input<br>‘xUpdateConfig’</p>                                                                                       |
| Input Const | `tTimeUpdateSetp`       | `TIME`                                    | TIME#45s0ms                                     | <p>Update interval for operations influenced by the input<br>'xUpdateSetp'</p>                                                                                            |
| Input Const | `tTimeUpdateStates`     | `TIME`                                    | TIME#500ms                                      | <p>Update interval for the processes influenced by the input<br>‘xUpdateStates’</p>                                                                                       |
| Input Const | `tTimeUpdateActual`     | `TIME`                                    | TIME#3s0ms                                      | <p>Update interval for operations influenced by the input<br>'xUpdateActual'</p>                                                                                          |
