# SPLUSS\_RYMASKON\_2XX\_MOD

## `SPLUSS_RYMASKON_2XX_MOD` (FB)

`FUNCTION_BLOCK` SPLUSS\_RYMASKON\_2XX\_MOD

### Kurzbeschreibung

> Steuerung der Geräteserie Rymaskon 2XX der Fa. S+S Regeltechnik Zusatzfunktionen: Zwei Betriebsarten für die Solltemperaturbildung Typische Anwendung: Raumbediengerät in einer Zone

### Darstellung

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

### Schnittstellen

#### Eingänge

| Name               | Datentyp | Wertebereich | Initialwert | Funktion                                                                                                                    |
| ------------------ | -------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------- |
| *xEn*              | `BOOL`   |              | TRUE        | Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)                                                                     |
| *byUnitId*         | `BYTE`   |              | 0           | Adresse des Geräts (0 .. 255)                                                                                               |
| *xUpdateActual*    | `BOOL`   |              | FALSE       | Aktualisierung der Istwerte (bei jeder ansteigenden Flanke)                                                                 |
| *xUpdateStates*    | `BOOL`   |              | FALSE       | Aktualisierung der Zustände (bei jeder ansteigenden Flanke)                                                                 |
| *xUpdateSetp*      | `BOOL`   |              | FALSE       | Aktualisierung der Sollwerte (bei jeder ansteigenden Flanke)                                                                |
| *xUpdateConfig*    | `BOOL`   |              | FALSE       | Aktualisierung der Konfiguration (bei jeder ansteigenden Flanke)                                                            |
| *rSetpTempBase*    | `REAL`   |              | 22.0        | Basis - Soll-Temperatur (Grad Celsius)                                                                                      |
| *rEnSetpTempOff*   | `BOOL`   |              | FALSE       | Freigabe / Sperrung der Erfassung von Veränderungen der Raum-Solltemperatur (FALSE = keine Erfassung, rSetpTempOff = 0.0 K) |
| *rSetpDispFanLev*  | `REAL`   |              | 0.0         | Sollwert für die Anzeige der Ventilatorstufe (Bargraph - Rechts)                                                            |
| *rSetpDispHCLev*   | `REAL`   |              | 0.0         | Sollwert für die Anzeige der Heiz-/Kühlleistung (Bargraph - Links)                                                          |
| *xDsplSymbPresen*  | `BOOL`   |              | FALSE       | Anzeige der Symbole für die Präsenz (= TRUE) bzw. Abwesenheit (= FALSE)                                                     |
| *xDsplSymbHeat*    | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Heizbetrieb (TRUE = Anzeige)                                                                    |
| *xDsplSymbCool*    | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Kühlbetrieb (TRUE = Anzeige)                                                                    |
| *xDsplSymbFan*     | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Ventilator (TRUE = Anzeige)                                                                     |
| *xDsplSymbAlWindo* | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Fenster - Alarm (TRUE = Anzeige)                                                                |
| *xDsplSymbAlRainf* | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Regen - Alarm (TRUE = Anzeige)                                                                  |
| *xDsplSymbAlStorm* | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Wind - Alarm (TRUE = Anzeige)                                                                   |
| *xDsplSymbAlAlarm* | `BOOL`   |              | FALSE       | Anzeige des Symbols für den Alarm (TRUE = Anzeige)                                                                          |
| *xDsplSymbNotDrop* | `BOOL`   |              | FALSE       | Anzeige des Symbols für den durchgestrichenen Tropfen (TRUE = Anzeige)                                                      |
| *xDsplSymbClock*   | `BOOL`   |              | FALSE       | Anzeige des Symbols für die Uhr (TRUE = Anzeige)                                                                            |
| *xBuzzer\_Alarm*   | `BOOL`   |              | FALSE       | Freigabe / Sperrung des Alarmtons (Buzzer) (TRUE = Freigabe)                                                                |
| *xResetDevice*     | `BOOL`   |              | FALSE       | Reset des Geräts (bei jeder ansteigenden Flanke)                                                                            |

#### Ausgänge

| Name               | Datentyp                     | Wertebereich | Initialwert | Funktion                                                                                                                             |
| ------------------ | ---------------------------- | ------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| *rSetpTemp*        | `REAL`                       |              |             | Soll-Temperatur (Grad Celsius) (entspricht der am RBG angezeigten Raum-Solltemperatur)                                               |
| *rSetpTempOff*     | `REAL`                       |              |             | Soll-Temperatur-Versatz (Kelvin)                                                                                                     |
| *rRoomTemp*        | `REAL`                       |              |             | Raumtemperatur in XXX.X Grad Celsius                                                                                                 |
| *rExtTemp*         | `REAL`                       |              |             | Externe Temperatur in XXX.X Grad Celsius                                                                                             |
| *rRelHumidity*     | `REAL`                       |              |             | Relative Raumfeuchtigkeit in XXX.X %                                                                                                 |
| *rDewPointTemp*    | `REAL`                       |              |             | Taupunkttemperatur in XXX.X Grad Celsius (Die Offsets der Temperatur und rel. Feuchte werden nicht berücksichtigt)                   |
| *rSupplyVolt*      | `REAL`                       |              |             | Versorgungsspannung in XXX.X Volt                                                                                                    |
| *rCpuTemp*         | `REAL`                       |              |             | CPU-Temperatur in XXX.X Grad Celsius                                                                                                 |
| *rCpuVolt*         | `REAL`                       |              |             | CPU-Spannung in XXX.X Volt                                                                                                           |
| *sSerialNum*       | `STRING`                     |              |             | Seriennummer des Gerätes                                                                                                             |
| *sProductCode*     | `STRING`                     |              |             | Product-Code des Gerätes (z.B. `21X`)                                                                                                |
| *xConfig*          | `BOOL`                       |              |             | Zustand der Konfiguration des Geräts \[ TRUE = Konfiguration aktiv ]                                                                 |
| *xButtonPresence*  | `BOOL`                       |              |             | Betätigung der Präsenztaste (RBG (= Raumbediengerät): RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)              |
| *xButtonTempUp*    | `BOOL`                       |              |             | Betätigung der Taste zur Erhöhung der Solltemperatur (RBG: Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)              |
| *xButtonTempDown*  | `BOOL`                       |              |             | Betätigung der Taste zur Absenkung der Solltemperatur (RBG: Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)             |
| *xButtonFanUp*     | `BOOL`                       |              |             | Betätigung der Taste zur Erhöhung der Stufe des Ventilators (RBG: RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)  |
| *xButtonFanDown*   | `BOOL`                       |              |             | Betätigung der Taste zur Absenkung der Stufe des Ventilators (RBG: RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU) |
| *xButtonLightOn*   | `BOOL`                       |              |             | Betätigung der Taste zur Aktivierung der Beleuchtung (RBG: RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)         |
| *xButtonLightOff*  | `BOOL`                       |              |             | Betätigung der Taste zur Deaktivierung der Beleuchtung (RBG: RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)       |
| *xButtonShadeUp*   | `BOOL`                       |              |             | Betätigung der Taste zur Öffnung der Beschattung (RBG: RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)             |
| *xButtonShadeDown* | `BOOL`                       |              |             | Betätigung der Taste zur Schliessung der Beschattung (RBG: RAW, Impuls mit Zeitdauer `tTimeButtonPulse`) (RBG und/oder VISU)         |
| *xStateExtBut0*    | `BOOL`                       |              |             | Zustand des externen Eingangs 0                                                                                                      |
| *xStateExtBut1*    | `BOOL`                       |              |             | Zustand des externen Eingangs 1                                                                                                      |
| *xStateExtBut2*    | `BOOL`                       |              |             | Zustand des externen Eingangs 2                                                                                                      |
| *xStateExtBut3*    | `BOOL`                       |              |             | Zustand des externen Eingangs 3                                                                                                      |
| *xAlarm*           | `BOOL`                       |              |             | Sammelstörung (TRUE = Störung)                                                                                                       |
| *xAlarmCom*        | `BOOL`                       |              |             | Sammelstörung - Kommunikation (TRUE = Störung)                                                                                       |
| *eErrorCodeCom*    | ModbusErrorCode              |              |             | Fehlercode - Kommunikation (0 = kein Fehler)                                                                                         |
| *eErrorCodeDev*    | SPLUSS\_ERROR\_CODE\_TYPE\_2 |              |             | Fehlercode - Gerät (0 = kein Fehler)                                                                                                 |
| *xBusy*            | `BOOL`                       |              |             | Kommunikationsanzeige (TRUE = Kommunikation)                                                                                         |

#### Ein- und Ausgänge

| Name           | Datentyp         | Wertebereich | Initialwert | Funktion          |
| -------------- | ---------------- | ------------ | ----------- | ----------------- |
| *ModbusClient* | ModbusClientBase |              |             | Client des Geräts |

#### Sollwerte / Parameter

| Name                  | Datentyp                                  | Wertebereich | Initialwert                                     | Funktion                                                                                                                                          |
| --------------------- | ----------------------------------------- | ------------ | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **tTimeUpdateActual** | `TIME`                                    |              | T#3s                                            | Updateintervall für die Vorgänge, die durch den Eingang `xUpdateActual` beeinflusst werden (0 = kein automatisches Update, > 0 zyklisches Update) |
| **tTimeUpdateStates** | `TIME`                                    |              | T#500ms                                         | Updateintervall für die Vorgänge, die durch den Eingang `xUpdateStates` beeinflusst werden (0 = kein automatisches Update, > 0 zyklisches Update) |
| **tTimeUpdateSetp**   | `TIME`                                    |              | T#0s                                            | Updateintervall für die Vorgänge, die durch den Eingang `xUpdateSetp` beeinflusst werden (0 = kein automatisches Update, > 0 zyklisches Update)   |
| **tTimeUpdateConfig** | `TIME`                                    |              | T#0s                                            | Updateintervall für die Vorgänge, die durch den Eingang `xUpdateConfig` beeinflusst werden (0 = kein automatisches Update, > 0 zyklisches Update) |
| **tPCTimeLong**       | `TIME`                                    |              | T#60s                                           | Intervallzeitdauer des Scanvorgangs zur Ermittlung des Product-Code (lange Zeitdauer, Gerät erkannt)                                              |
| **tPCTimeShort**      | `TIME`                                    |              | T#5s                                            | Intervallzeitdauer des Scanvorgangs zur Ermittlung des Product-Code (kurze Zeitdauer, Gerät noch nicht erkannt)                                   |
| **tTimeButtonPulse**  | `TIME`                                    |              | T#1s                                            | Zeitdauer des Impulses am Ausgang, falls die zugeordnete Taste - kurz - betätigt wurde                                                            |
| **rSetpTempMin**      | `REAL`                                    |              | 18.0                                            | Absoluter Minimalwert - Soll-Temperatur (Grad Celsius)                                                                                            |
| **rSetpTempMax**      | `REAL`                                    |              | 26.0                                            | Absoluter Maximalwert - Soll-Temperatur (Grad Celsius)                                                                                            |
| **rSetpTempOffMin**   | `REAL`                                    |              | -3.0                                            | Absoluter Minimalwert des Offsets der Soll-Temperatur (Kelvin)                                                                                    |
| **rSetpTempOffMax**   | `REAL`                                    |              | 3.0                                             | Absoluter Maximalwert des Offsets der Soll-Temperatur (Kelvin)                                                                                    |
| **rSetpTempVariat**   | `REAL`                                    |              | 0.5                                             | Schrittweite des Offsets der Soll-Temperatur (Kelvin)                                                                                             |
| **wPinCodeAdmin**     | `WORD`                                    |              | 7458                                            | PIN-Code für die Administrator-Ebene (0 = kein Code, 0001 - 9999 gültiger Code)                                                                   |
| **wPinCodeEndUser**   | `WORD`                                    |              | 3333                                            | PIN-Code für die Anwender-Ebene (0 = kein Code, 0001 - 9999 gültiger Code)                                                                        |
| **eColorScheme**      | SPLUSS\_LCD\_COLOR\_SCHEME                |              | SPLUSS\_LCD\_COLOR\_SCHEME.WHITE                | Nummer des Farbschemas (1 = Weiss, 1-7 = gültige Nummern)                                                                                         |
| **xDispBargrFanLev**  | `BOOL`                                    |              | FALSE                                           | Freigabe / Sperrung der Darstellung des rechten Bargraphen (FALSE = keine Anzeige)                                                                |
| **xDispBargrHCLev**   | `BOOL`                                    |              | FALSE                                           | Freigabe / Sperrung der Darstellung des linken Bargraphen (FALSE = keine Anzeige)                                                                 |
| **ePresenceOutpMode** | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |              | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Betriebsart des Ausgangs `xButtonPresence` (RAW, PULSE)                                                                                           |
| **eFanOutpMode**      | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |              | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Betriebsart der Ausgänge `xButtonFanUp` bzw. `xButtonFanDwn` (RAW, PULSE)                                                                         |
| **eLightOutpMode**    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |              | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Betriebsart der Ausgänge `xButtonLightOn` bzw. `xButtonLightOff` (RAW, PULSE)                                                                     |
| **eShadeOutpMode**    | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE |              | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.RAW   | Betriebsart der Ausgänge `xButtonShadeUp` bzw. `xButtonShadeDwn` (RAW, PULSE)                                                                     |
| **xVisuPresence**     | `BOOL`                                    |              | FALSE                                           | Betätigung der Präsenztaste in der Visualisierung                                                                                                 |
| **xVisuTempUp**       | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Erhöhung der Solltemperatur in der Visualisierung                                                                        |
| **xVisuTempDown**     | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Absenkung der Solltemperatur in der Visualisierung                                                                       |
| **xVisuFanUp**        | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Erhöhung der Stufe des Ventilators in der Visualisierung                                                                 |
| **xVisuFanDown**      | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Absenkung der Stufe des Ventilators in der Visualisierung                                                                |
| **xVisuLightOn**      | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Aktivierung der Beleuchtung in der Visualisierung                                                                        |
| **xVisuLightOff**     | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Deaktivierung der Beleuchtung in der Visualisierung                                                                      |
| **xVisuShadeUp**      | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Öffnung der Beschattung in der Visualisierung                                                                            |
| **xVisuShadeDown**    | `BOOL`                                    |              | FALSE                                           | Betätigung der Taste zur Schliessung der Beschattung in der Visualisierung                                                                        |

### Funktionsbeschreibung

#### Allgemeines

Dieser Funktionsbaustein steuert Raumbediengeräte der Geräteserie Rymaskon 2XX der Fa. S+S Regeltechnik per Modbus-Kummunikation. Alternativ können auch Raumbediengeräte der Fa. Loytec verwandt werden. Die Erkennung der unterschiedlichen Typen (21x - 26x) der Raumbediengeräte erfolgt automatisch. Die Raumbediengeräte werden nach ihrer Erkennung autoamatisch je nach Typ sinnvoll konfiguriert. Für die Bildung der Raum-Solltemperatur sind zwei Betriebsarten vorgesehen (MANUALLY, AUTOAMTICALLY). Für verschiedene Ausgänge (xButtonXXX) sind ebenfalls zwei Betriebsarten vorgesehene (RAW, PULSE) (gültig nur bei Bedienung über das Raumbediengerät)

#### Erkennung des Product-Codes (des Gerätetyps)

Die Modbus-Adresse des Raumbediengeräts zur Kommunikation mit diesem Funktionsbaustein wird am Eingang `byUnitId` im Bereich 0 - 255 eingestellt. Direkt nach dem Einschalten der Steuerung wird im Intervall `tPCTimeShort` (Default: 5s) jeweils ein Anforderungs-Telegramm zur Rückmeldung des Product-Code und der Seriennummer an das Raumbediengerät ausgesandt. Nach dem Empfang eines Antwort-Telegramms wird der Product-Code geprüft und ausgewertet. Ein gültiger Product-Code wird am Ausgang `sProductCode` ausgegeben. Ferner wir die Seriennummer des Raumbediengeräts am Ausgang `sSerialNum` ausgegeben. Die Konfigurationn des Raumbediengeräts wird ausgelöst, falls sich die Seriennummer geändert hat (direkt nach dem Einschalten der CPU oder nach dem Austausch des Raumbediengeräts). Nach der Erkennung eines gültigen Product-Codes wird das Intervall zur Aussendung eines Anforderungs-Telegramm zur Rückmeldung des Product-Code und der Seriennummer auf `tPCTimeLong` (Default: 60s) erhöht. Werden in diesem Intervall zehn aufeinander folgende Antwort-Telegramme mit fehlerhaften Product-Code oder überhaupt keine Antwort-Telegramm empfangen, so wird wieder der Erkennungs-Zyklus im Intervall `tPCTimeShort` ausgeführt.

#### Bildung der Raum-Solltemperatur

Die Raum-Solltemperatur, die direkt am Display des Raumbediengeräts angezeigt und am Ausgang `rSetpTemp` ausgegeben wird, entspricht stets dem Zustand am Eingang `rSetpTempBase`. Sie wird durch einstellbare absoluten Minimal- (`rSetpTempMin`, Default: 18.0 Grad Celsius) und Maximalwerte (`rSetpTempMax`, Default: 26.0 Grad Celsius) begrenzt. Es findet keine Übertragung von Raum-Solltemperaturen ausserhalb dieser absoluten Grenzen statt.

#### Bildung des Offsets der Raum-Solltemperatur

Der Offset der Raum-Solltemperatur wird durch die Ausgänge `xButtonTempUp` (ansteigende Flanke) und `xButtonTempDown` (ansteigende Flanke) beeinflusst. Der aktuelle Zustand wird stets am Ausgang `rSetpTempOff` dargestellt. Die Bildung des Offsets wird über den Eingang `xEnSetpTempOff` freigegeben (xEnSetpTempOff = TRUE) und gesperrt (xEnSetpTempOff = FALSE). Im gesperrten Zustand wird am Ausgang `rSetpTempOff` der Wert 0.0 ausgegeben. Im freigegebenen Zustand wird am Ausgang `rSetpTempOff` der zuletzt eingestellte Wert ausgegeben. Im freigegebenen Zustand wird der Ausgang `rSetpTempOff` bei jeder ansteigenden Flanke am Ausgang `xButtonTempUp` um den Parameter `rSetpTempOffVariat` (Default: 0,5 K) erhöht. Im freigegebenen Zustand wird der Ausgang `rSetpTempOff` bei jeder ansteigenden Flanke am Ausgang `xButtonTempDown` um den Parameter `rSetpTempOffVariat` reduziert. Im freigegebenen Zustand wird der Ausgang `rSetpTempOff` durch die Parameter `rSetpTempOffMin` (Default: -3.0 K) bzw. `rSetpTempOffMax` (Default: 3.0 K) absolut begrenzt. Bei jeder Veränderung der Parameter `rSetpTempOffVariat`, `rSetpTempOffMin` und `rSetpTempOffMax` wird der Ausgang `rSetpTempOff` neu mit 0.0 initialisiert.

Ausgänge `xButtonTempUp` und `xButtonTempDown`

Die Ausgänge werden durch die Bedienung der Tasten TBO bzw. TB4 am RBG und zusätzlich durch die Eingänge für die Viaualisierung (`xVisuTempUp` und `xVisuTempDown`) beeinflusst (ODER-Verknüpfung). Jede - kurze - Betätigung der Taste TB0 (Erhöhung der Temperatur) und TB4 (Absenkung der Temperatur) löst an den zugehörigen Ausgängen `xButtonTempUp` und `xButtonTempDown` einen Impuls der Zeitdauer `tTimeButtonPulse` (Default: 1s) aus.

#### Ausgänge `xButtonXXX` (nicht für `xButtonTempUp` und `xButtonTempDown`)

Die Ausgänge `xButtonXXX` (xButtonPresence, xButtonFanUp, xButtonFanDown, xButtonLightOn, xButtonLightOff, xButtonShadeUp und xButtonShadeDown) werden durch die Bedienung der entsprechenden Tasten am RBG und zusätzlich durch die Eingänge für die Viaualisierung (`xVisuXXX`) beeinflusst (ODER-Verknüpfung).

Sie können am RBG in zwei unterschiedlichen Betriebsarten (Auswahl über die Parameter `ePresenceOutpMode`, `eFanOutpMode`, `eLightOutpMode` und `eShadeOutpMode`) betrieben werden. Die Auswahl der Betriebsart wird stets für beide Ausgänge einer Funktion gemeinsam vorgenommen.

Betriebsarten

RAW

Die Ausgänge übernehmen unmittelbar die Zustände ihrer zugeordneten Tasten (Taste betätigt >>> Ausgang = TRUE). Die Anordnung der Tasten kann sich je nach Typ des Raumbediengeräts unterscheiden. Falls die Tasten für die gewünschte Funktion am Raumbediengerät nicht vorhanden sind, so bleiben die zugeordneten Ausggänge inaktiv (= FALSE).

PULSE

Jede - kurze - Betätigung der Taste löst am zugehörigen Ausgang einen Impuls der Zeitdauer `tTimeButtonPulse` (Default: 1s) aus.

#### Anzeige der Ventilatorstufe

Die Anzeige der Ventilatorstufe (Auswahl über den Eingang `rSetpDispFanLev` im Bereich 0.0 - 7.0) erfolgt durch den rechten Bargraphen im Display des Raumbediengeräts, falls die Anzeige generell (Parameter `xDispBargrFanLev` = TRUE) freigegeben ist.

| *rSetpDispFanLev* | Anzeige             | Hinweise |
| ----------------- | ------------------- | -------- |
| 0                 | Stufe 0 - Manuell   |          |
| 1                 | Stufe 1 - Manuell   |          |
| 2                 | Stufe 2 - Manuell   |          |
| 3                 | Stufe 3 - Manuell   |          |
| 4                 | Stufe 0 - Automatik |          |
| 5                 | Stufe 1 - Automatik |          |
| 6                 | Stufe 2 - Automatik |          |
| 7                 | Stufe 3 - Automatik |          |

#### Anzeige der Heiz-/Kühlleistung

Die Anzeige der Heiz-/Kühlleistung (Auswahl über den Eingang `rSetpDispHCLev` im Bereich 0.0 - 7.0) erfolgt durch den linken Bargraphen im Display des Raumbediengeräts, falls die Anzeige generell (Parameter `xDispBargrHCLev` = TRUE) freigegeben ist.

| *rSetpDispHCLev* | Anzeige             | Hinweise |
| ---------------- | ------------------- | -------- |
| 0                | Stufe 0 - Manuell   |          |
| 1                | Stufe 1 - Manuell   |          |
| 2                | Stufe 2 - Manuell   |          |
| 3                | Stufe 3 - Manuell   |          |
| 4                | Stufe 0 - Automatik |          |
| 5                | Stufe 1 - Automatik |          |
| 6                | Stufe 2 - Automatik |          |
| 7                | Stufe 3 - Automatik |          |

#### Anzeige von Symbolen

Die Anzeige der gewünschten Symbole im Display des Raumbediengeräts wird durch den Zustand TRUE am zugeordneten Eingang ausglöst. (Beispiel: xDsplSymbHeat = TRUE bewirkt die statische Anzeige des Symbols `Heizen` im Display). Eingänge mit dem Namenszusatz ‘–Al–’ bewirken eine langsam blinkende Darstellung des zugeordneten Symbols. (Beispiel: xDsplSymbAlStorm = TRUE bewirkt die langsam blinkende Anzeige des Symbols `Windsack` im Display).

#### Rücksetzung des Raumbediengeräts

Das Raumbediengerät wird bei jeder ansteigenden Flanke am Eingang `xResetDevice` zurück gesetzt.

#### Steuerung des Piezo-Summers im Raumbediengerät

Der statische Zustand TRUE am Eingang `xBuzzer_Alarm` löst einen unterbrochenen Alarmton mit der Frequenz 800 Hz im Raumbediengerät aus.

#### Anzeige von Störungen

Die Anzeige von Störungen erfolgt am Sammelausgang `xAlarm` (= TRUE). Er beinhaltet die Kommunikationsstörungen (Zeitverzögerung: gc\_Parameters.gc\_tOnDelayxAlarmCom, Default = 60s) und die Gerätestörungen (direkt). Am Ausgang `eErrorCodeCom` steht im Falle eines Kommunikationsfehlers ein erklärender Text für die Ursache zur Verfügung. Es wird dort stets die Ursache des letzten Kommunikationsfehlers angezeigt. Am Ausgang `eErrorCodeDev` steht im Falle eines Gerätefehlers ein erklärender Text für die Ursache zur Verfügung.

#### Ausgang `xConfig`

Der Ausgang signalisiert die Konfiguration des Geräts (= TRUE), nachdem es erkannt worden ist (siehe Erkennung des Product-Codes)

#### Ausgang `wDeviceMode`

Der nummerische Wert an diesem Ausgang kennzeichnet die aktuelle Darstellung des Raumbediengeräts (Menüebene, Anzeigeninhalt, Passwort-Ebene, etc.) Er entspricht dem Inhalt des Modbus-Registers 101, siehe hierzu die Geräte-Dokumentation.

#### Aktualisierung der Ausgänge für die Tasten-Betätigungen (9 Ausgänge)

Der Zustand des Ausgangs `xButtonXXX` wird aus der ODER-Verknüpfung des Zustands aufgrund der Bedienungen am Raumbediengerät (`_xButtonXXX`) und aufgrund der Bedienung in der Visualisierung (`xVisuXXX`) gebildet.

### Codesys

InOut:

| Scope       | Name                    | Type                                      | Initial                                         | Comment                                                                                                                                                 |
| ----------- | ----------------------- | ----------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `xEn`                   | `BOOL`                                    | TRUE                                            | Freigabe / Sperrung der Kommunikation (TRUE = Freigabe)                                                                                                 |
| Input       | `byUnitId`              | `BYTE`                                    | 0                                               | Adresse des Geräts (0 .. 255)                                                                                                                           |
| Input       | `xUpdateActual`         | `BOOL`                                    | FALSE                                           | <p>Aktualisierung der Istwerte (bei jeder ansteigenden Flanke<br>)</p>                                                                                  |
| Input       | `xUpdateStates`         | `BOOL`                                    | FALSE                                           | <p>Aktualisierung der Zustände (bei jeder ansteigenden Flanke<br>)</p>                                                                                  |
| Input       | `xUpdateSetp`           | `BOOL`                                    | FALSE                                           | <p>Aktualisierung der Sollwerte (bei jeder ansteigenden Flanke<br>)</p>                                                                                 |
| Input       | `xUpdateConfig`         | `BOOL`                                    | FALSE                                           | <p>Aktualisierung der Konfiguration (bei jeder ansteigenden<br>Flanke)</p>                                                                              |
| Input       | `rSetpTempBase`         | `REAL`                                    | 22.0                                            | Basis - Soll-Temperatur (Grad Celsius)                                                                                                                  |
| Input       | `xEnSetpTempOff`        | `BOOL`                                    | FALSE                                           | <p>Freigabe / Sperrung der Erfassung von Veränderungen der<br>Raum-Solltemperatur (FALSE = keine Erfassung, rSetpTempOff<br>= 0.0 K)</p>                |
| Input       | `rSetpDispFanLev`       | `REAL`                                    | 0.0                                             | <p>Sollwert für die Anzeige der Ventilatorstufe (Bargraph -<br>Rechts)</p>                                                                              |
| Input       | `rSetpDispHCLev`        | `REAL`                                    | 0.0                                             | <p>Sollwert für die Anzeige der Heiz-/Kühlleistung (Bargraph -<br>Links)</p>                                                                            |
| Input       | `xDsplSymbPresen`       | `BOOL`                                    | FALSE                                           | <p>Anzeige der Symbole für die Präsenz (= TRUE) bzw.<br>Abwesenheit (= FALSE)</p>                                                                       |
| Input       | `xDsplSymbHeat`         | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für den Heizbetrieb (TRUE = Anzeige)                                                                                                |
| Input       | `xDsplSymbCool`         | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für den Kühlbetrieb (TRUE = Anzeige)                                                                                                |
| Input       | `xDsplSymbFan`          | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für den Ventilator (TRUE = Anzeige)                                                                                                 |
| Input       | `xDsplSymbAlWindo`      | `BOOL`                                    | FALSE                                           | <p>Anzeige des Symbols für den Fenster - Alarm (TRUE = Anzeige<br>)</p>                                                                                 |
| Input       | `xDsplSymbAlRainf`      | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für den Regen - Alarm (TRUE = Anzeige)                                                                                              |
| Input       | `xDsplSymbAlStorm`      | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für den Wind - Alarm (TRUE = Anzeige)                                                                                               |
| Input       | `xDsplSymbAlAlarm`      | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für den Alarm (TRUE = Anzeige)                                                                                                      |
| Input       | `xDsplSymbNotDrop`      | `BOOL`                                    | FALSE                                           | <p>Anzeige des Symbols für den durchgestrichenen Tropfen (TRUE<br>= Anzeige)</p>                                                                        |
| Input       | `xDsplSymbClock`        | `BOOL`                                    | FALSE                                           | Anzeige des Symbols für die Uhr (TRUE = Anzeige)                                                                                                        |
| Input       | `xBuzzer_Alarm`         | `BOOL`                                    | FALSE                                           | <p>Freigabe / Sperrung des Alarmtons (Buzzer) (TRUE =<br>Freigabe)</p>                                                                                  |
| Input       | `xResetDevice`          | `BOOL`                                    | FALSE                                           | Reset des Geräts (bei jeder ansteigenden Flanke)                                                                                                        |
| Inout       | `ModbusClient`          | `ModbusClientBase`                        |                                                 | Client des Geräts                                                                                                                                       |
| Output      | `rSetpTemp`             | `REAL`                                    |                                                 | <p>Soll-Temperatur (Grad Celsius) (entspricht der am RBG<br>angezeigten Raum-Solltemperatur)</p>                                                        |
| Output      | `rSetpTempOff`          | `REAL`                                    |                                                 | <p>Soll-Temperatur-Versatz (Kelvin)(rSetpTempOff:=<br>rSetpTemp - rSetpTempBase)</p>                                                                    |
| Output      | `rRoomTemp`             | `REAL`                                    |                                                 | Raumtemperatur in XXX.X Grad Celsius                                                                                                                    |
| Output      | `rExtTemp`              | `REAL`                                    |                                                 | Externe Temperatur in XXX.X Grad Celsius                                                                                                                |
| Output      | `rRelHumidity`          | `REAL`                                    |                                                 | Relative Raumfeuchtigkeit in XXX.X %                                                                                                                    |
| Output      | `rDewPointTemp`         | `REAL`                                    |                                                 | <p>Taupunkttemperatur in XXX.X Grad Celsius (Die Offsets der<br>Temperatur und rel. Feuchte werden nicht berücksichtigt)</p>                            |
| Output      | `xSensorOffsetInDevice` | `BOOL`                                    |                                                 | <p>Anzeige, ob der Abgleich der Sensoren im Gerät erfolgen muss<br>(TRUE = Abgleich im Gerät erforderlich, FALSE = Abgleich im<br>FB erforderlich)</p>  |
| Output      | `rSupplyVolt`           | `REAL`                                    |                                                 | Versorgungsspannung in XXX.X Volt                                                                                                                       |
| Output      | `rCpuTemp`              | `REAL`                                    |                                                 | CPU-Temperatur in XXX.X Grad Celsius                                                                                                                    |
| Output      | `rCpuVolt`              | `REAL`                                    |                                                 | CPU-Spannung in XXX.X Volt                                                                                                                              |
| Output      | `sSerialNum`            | `STRING`                                  |                                                 | Seriennummer des Gerätes                                                                                                                                |
| Output      | `sProductCode`          | `STRING`                                  |                                                 | Product-Code des Gerätes (z.B. `21X`)                                                                                                                   |
| Output      | `wDeviceMode`           | `WORD`                                    |                                                 | Betriebsart des Gerätes                                                                                                                                 |
| Output      | `xConfig`               | `BOOL`                                    | FALSE                                           | <p>Zustand der Konfiguration des Geräts \[ TRUE = Konfiguration<br>aktiv ]</p>                                                                          |
| Output      | `xButtonPresence`       | `BOOL`                                    | FALSE                                           | <p>Betätigung der Präsenztaste (RAW, Impuls mit Zeitdauer<br><code>tTimeButtonPulse</code>) (RBG und/oder VISU)</p>                                     |
| Output      | `xButtonTempUp`         | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Erhöhung der Solltemperatur (<br>Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG und/oder<br>VISU)</p>             |
| Output      | `xButtonTempDown`       | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Absenkung der Solltemperatur (<br>Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG und/oder<br>VISU)</p>            |
| Output      | `xButtonFanUp`          | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Erhöhung der Stufe des Ventilators<br>(RAW, Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG<br>und/oder VISU)</p>  |
| Output      | `xButtonFanDown`        | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Absenkung der Stufe des Ventilators<br>(RAW, Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG<br>und/oder VISU)</p> |
| Output      | `xButtonLightOn`        | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Aktivierung der Beleuchtung (RAW,<br>Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG und/oder<br>VISU)</p>         |
| Output      | `xButtonLightOff`       | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Deaktivierung der Beleuchtung (<br>RAW, Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG<br>und/oder VISU)</p>      |
| Output      | `xButtonShadeUp`        | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Öffnung der Beschattung (RAW,<br>Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG und/oder<br>VISU)</p>             |
| Output      | `xButtonShadeDown`      | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Schliessung der Beschattung (RAW,<br>Impuls mit Zeitdauer <code>tTimeButtonPulse</code>) (RBG und/oder<br>VISU)</p>         |
| Output      | `xStateExtBut0`         | `BOOL`                                    |                                                 | Zustand des externen Eingangs 0                                                                                                                         |
| Output      | `xStateExtBut1`         | `BOOL`                                    |                                                 | Zustand des externen Eingangs 1                                                                                                                         |
| Output      | `xStateExtBut2`         | `BOOL`                                    |                                                 | Zustand des externen Eingangs 2                                                                                                                         |
| Output      | `xStateExtBut3`         | `BOOL`                                    |                                                 | Zustand des externen Eingangs 3                                                                                                                         |
| Output      | `xAlarm`                | `BOOL`                                    | FALSE                                           | Sammelstörung (TRUE = Störung)                                                                                                                          |
| Output      | `xAlarmCom`             | `BOOL`                                    | FALSE                                           | Sammelstörung - Kommunikation (TRUE = Störung)                                                                                                          |
| Output      | `eErrorCodeCom`         | ModbusErrorCode                           |                                                 | Fehlercode - Kommunikation (0 = kein Fehler)                                                                                                            |
| Output      | `eErrorCodeDev`         | SPLUSS\_ERROR\_CODE\_TYPE\_2              |                                                 | Fehlercode - Gerät (0 = kein Fehler)                                                                                                                    |
| Output      | `xBusy`                 | `BOOL`                                    |                                                 | Kommunikationsanzeige (TRUE = Kommunikation)                                                                                                            |
| Input Const | `rRelHumidityOffset`    | `REAL`                                    | 0.0                                             | <p>Konstanter Messwert-Versatz für den übertragenen relative<br>Feuchte - Istwert (interne relative Feuchte)</p>                                        |
| Input Const | `rExtTempOffset`        | `REAL`                                    | 0.0                                             | <p>Konstanter Messwert-Versatz für den übertragenen Temperatur<br>- Istwert (externe Temperatur)</p>                                                    |
| Input Const | `rRoomTempOffset`       | `REAL`                                    | 0.0                                             | <p>Konstanter Messwert-Versatz für den übertragenen Temperatur<br>- Istwert (interne Temperatur)</p>                                                    |
| Input Const | `xVisuShadeDown`        | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Schliessung der Beschattung in der<br>Visualisierung</p>                                                                    |
| Input Const | `xVisuShadeUp`          | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Öffnung der Beschattung in der<br>Visualisierung</p>                                                                        |
| Input Const | `xVisuLightOff`         | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Deaktivierung der Beleuchtung in<br>der Visualisierung</p>                                                                  |
| Input Const | `xVisuLightOn`          | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Aktivierung der Beleuchtung in der<br>Visualisierung</p>                                                                    |
| Input Const | `xVisuFanDown`          | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Absenkung der Stufe des Ventilators<br>in der Visualisierung</p>                                                            |
| Input Const | `xVisuFanUp`            | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Erhöhung der Stufe des Ventilators<br>in der Visualisierung</p>                                                             |
| Input Const | `xVisuTempDown`         | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Absenkung der Solltemperatur in der<br>Visualisierung</p>                                                                   |
| Input Const | `xVisuTempUp`           | `BOOL`                                    | FALSE                                           | <p>Betätigung der Taste zur Erhöhung der Solltemperatur in der<br>Visualisierung</p>                                                                    |
| Input Const | `xVisuPresence`         | `BOOL`                                    | FALSE                                           | Betätigung der Präsenztaste in der Visualisierung                                                                                                       |
| Input Const | `eShadeOutpMode`        | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.RAW   | <p>Betriebsart der Ausgänge <code>xButtonShadeUp</code> bzw.<br><code>xButtonShadeDwn</code> (RAW, PULSE)</p>                                           |
| Input Const | `eLightOutpMode`        | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | <p>Betriebsart der Ausgänge <code>xButtonLightOn</code> bzw.<br><code>xButtonLightOff</code> (RAW, PULSE)</p>                                           |
| Input Const | `eFanOutpMode`          | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | <p>Betriebsart der Ausgänge <code>xButtonFanUp</code> bzw. <code>xButtonFanDwn</code><br>(RAW, PULSE)</p>                                               |
| Input Const | `ePresenceOutpMode`     | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE | SPLUSS\_RYMASKON\_2XX\_BUTTON\_OUTP\_MODE.PULSE | Betriebsart des Ausgangs `xButtonPresence` (RAW, PULSE)                                                                                                 |
| Input Const | `xDispBargrHCLev`       | `BOOL`                                    | FALSE                                           | <p>Freigabe / Sperrung der Darstellung des linken Bargraphen (<br>FALSE = keine Anzeige)</p>                                                            |
| Input Const | `xDispBargrFanLev`      | `BOOL`                                    | FALSE                                           | <p>Freigabe / Sperrung der Darstellung des rechten Bargraphen (<br>FALSE = keine Anzeige)</p>                                                           |
| Input Const | `eColorScheme`          | SPLUSS\_LCD\_COLOR\_SCHEME                | SPLUSS\_LCD\_COLOR\_SCHEME.WHITE                | Nummer des Farbschemas (1 = Weiss, 1-7 = gültige Nummern)                                                                                               |
| Input Const | `wPinCodeEndUser`       | `WORD`                                    | 3333                                            | <p>PIN-Code für die Anwender-Ebene (0 = kein Code, 0001 - 9999<br>gültiger Code)</p>                                                                    |
| Input Const | `wPinCodeAdmin`         | `WORD`                                    | 7458                                            | <p>PIN-Code für die Administrator-Ebene (0 = kein Code, 0001 -<br>9999 gültiger Code)</p>                                                               |
| Input Const | `rSetpTempOffVariat`    | `REAL`                                    | 0.5                                             | Schrittweite des Offsets der Soll-Temperatur (Kelvin)                                                                                                   |
| Input Const | `rSetpTempOffMax`       | `REAL`                                    | 3.0                                             | <p>Absoluter Maximalwert des Offsets der Soll-Temperatur (<br>Kelvin)</p>                                                                               |
| Input Const | `rSetpTempOffMin`       | `REAL`                                    | -3.0                                            | <p>Absoluter Minimalwert des Offsets der Soll-Temperatur (<br>Kelvin)</p>                                                                               |
| Input Const | `rSetpTempMax`          | `REAL`                                    | 26.0                                            | Absoluter Maximalwert - Soll-Temperatur (Grad Celsius)                                                                                                  |
| Input Const | `rSetpTempMin`          | `REAL`                                    | 18.0                                            | Absoluter Minimalwert - Soll-Temperatur (Grad Celsius)                                                                                                  |
| Input Const | `tTimeButtonPulse`      | `TIME`                                    | TIME#1s0ms                                      | <p>Zeitdauer des Impulses am Ausgang, falls die zugeordnete<br>Taste - kurz - betätigt wurde</p>                                                        |
| Input Const | `tPCTimeShort`          | `TIME`                                    | TIME#5s0ms                                      | <p>Intervallzeitdauer des Scanvorgangs zur Ermittlung des<br>Product-Code (kurze Zeitdauer, Gerät noch nicht erkannt)</p>                               |
| Input Const | `tPCTimeLong`           | `TIME`                                    | TIME#1m0s0ms                                    | <p>Intervallzeitdauer des Scanvorgangs zur Ermittlung des<br>Product-Code (lange Zeitdauer, Gerät erkannt)</p>                                          |
| Input Const | `tTimeUpdateConfig`     | `TIME`                                    | TIME#0ms                                        | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateConfig</code> beeinflusst werden</p>                                         |
| Input Const | `tTimeUpdateSetp`       | `TIME`                                    | TIME#45s0ms                                     | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateSetp</code> beeinflusst werden</p>                                           |
| Input Const | `tTimeUpdateStates`     | `TIME`                                    | TIME#500ms                                      | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateStates</code> beeinflusst werden</p>                                         |
| Input Const | `tTimeUpdateActual`     | `TIME`                                    | TIME#3s0ms                                      | <p>Updateintervall für die Vorgänge, die durch den Eingang<br><code>xUpdateActual</code> beeinflusst werden</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/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.
