FB_EnOceanSTM100

![]() | Veraltet Bei neuen Projekten sollte der Baustein FB_EnOceanSTM100Generic() verwendet werden! |
Der Funktionsbaustein FB_EnOceanSTM100() gibt eine anwenderfreundliche Auswertung über die Daten eines EnOcean STM100-Moduls. Hierzu ist die Verwendung des Funktionsblocks FB_EnOceanReceive() notwendig.
![]() | Zu jedem verwendeten STM100-Modul muss eine neue Instanz dieses Bausteines angelegt werden. |
Eingänge
VAR_INPUT
bEnable : BOOL := FALSE;
tWatchdog : TIME;
nTransmitterId : UDINT;
stEnOceanReceivedData : ST_EnOceanReceivedData;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bEnable | BOOL | Ein positives Signal an diesem Eingang setzt den Baustein aktiv. Bei einem negativen Signal am Eingang wird im Baustein keine Funktion ausgeführt und alle Ausgänge werden auf 0 bzw. FALSE gesetzt. |
tWatchdog | TIME | Überwachungszeit. Innerhalb dieser Zeit müssen neue Informationen über den unten näher beschriebenen Eingang stEnOceanReceivedData in diesen Baustein gelangen. Ist diese Zeit auf t#0s gesetzt, so ist die Watchdog-Funktion inaktiv. |
nTransmitterId | UDINT | ID des EnOcean-Modules, auf den der Baustein reagieren soll. |
stEnOceanReceivedData | Informationen und notwendige Verbindung zum EnOcean-Empfängerbaustein FB_EnOceanReceive(). Diese Informationen sind in einer Struktur hinterlegt. |
Ausgänge
VAR_OUTPUT
eEnOceanRotarySwitch : E_EnOceanRotarySwitch;
nSetpoint : INT;
nTemperature : INT;
bPresentSwitch : BOOL;
bLearnSwitch : BOOL;
bError : BOOL := FALSE;
nErrorId : UDINT := 0;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
eEnOceanRotarySwitch | Die Ausgabe an diesem Ausgang beschreibt die Stellung des Drehschalters am Raumbediengerät. | |
nSetpoint | INT | An dieser Ausgangsvariablen liegt der am Gerät eingestellte Sollwert an. Dieser kann Werte im Bereich von -100 bis +100 annehmen. |
nTemperature | INT | Hier wird die gemessene Temperatur in 1/10°C ausgegeben mit einem Messbereich von 0°C bis 40°C. Bei ausgelöstem Watchdog vermutet der Baustein einen drahtbruchähnlichen Fehler und der Wert wird fest auf 850°C gesetzt. |
bPresentSwitch | BOOL | Bei Aktivierung der Anwesenheitstaste am Raumbediengerät wird dieser Ausgang TRUE. |
bLearnSwitch | BOOL | Bei Aktivierung der Anlerntaste am Raumbediengerät wird dieser Ausgang TRUE. |
bError | BOOL | Der Ausgang wird TRUE, sobald ein Fehler auftritt. Dieser Fehler wird über die Variable nErrorID beschrieben. |
nErrorId | UDINT | Beschreibt die Art des Fehlers. |
Anhand des folgenden Programmbeispiels soll die Funktionsweise des Bausteines näher beschrieben werden:
PROGRAM MAIN
VAR
fbEnOceanReceive : FB_EnOceanReceive;
fbEnOceanSTM100_1 : FB_EnOceanSTM100;
fbEnOceanSTM100_2 : FB_EnOceanSTM100;
nTemperature : ARRAY [1..2] OF INT;
nSetpoint : ARRAY [1..2] OF INT;
nStateRotarySwitch : ARRAY [1..2] OF E_EnOceanRotarySwitch;
bPresentSwitch : ARRAY [1..2] OF BOOL;
END_VAR
fbEnOceanReceive(
bEnable := TRUE,
stEnOceanInData := stEnOceanInData,
stEnOceanOutData := stEnOceanOutData);
fbEnOceanSTM100_1(
bEnable := NOT fbEnOceanReceive.bError AND fbEnOceanReceve.bEnable,
nTransmitterId := 16#000000C4,
tWatchdog:=t#1h,
stEnOceanReceivedData := fbEnOceanReceive.stEnOceanReceivedData
nTemperature => Temperature[1],
nSetpoint => nSetpoint[1] ,
eEnOceanRotarySwitch => nStateRotarySwitch[1],
bPresentSwitch => bPresentSwitch[1]);
fbEnOceanSTM100_2(
bEnable := NOT fbEnOceanReceive.bError AND fbEnOceanReceive.bEnable,
nTransmitterId := 16#000000C5,
tWatchdog:=t#0s,
stEnOceanReceivedData := fbEnOceanReceive.stEnOceanReceivedData
nTemperature => Temperature[2],
nSetpoint => nSetpoint[2] ,
eEnOceanRotarySwitch => nStateRotarySwitch[2],
bPresentSwitch => bPresentSwitch[2]);
In diesem Beispielprogramm werden 2 Raumbediengeräte abgefragt, einer mit der Transmitter-Id 16#000000C4 und ein anderer mit der Transmitter-Id 16#000000C5. Für beide Module wird jeweils ein Funktionsbaustein FB_EnOceanSTM100 angelegt. Beide Funktionsbausteine erhalten ihre Informationen von einem vorangeschalteten Empfängerbaustein FB_EnOceanReceive und sind nur dann aktiv (Eingang bEnable), wenn der Empfängerbaustein aktiv und nicht in Störung ist. Das erste Gerät wird durch die Watchdog-Funktion überwacht, wobei innerhalb von 1 Stunde neue Werte an die Steuerung übertragen werden müssen, das zweite Gerät ist ohne Watchdog-Überwachung programmiert. Zur weiteren Auswertung sind die an den Funktionsbausteinen ausgegebenen Werten Merkern zugewiesen.
Voraussetzungen
Entwicklungsumgebung | erforderliche TC3 SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4020.14 | Tc2_EnOcean ab v3.3.5.0 |