FB_BA_StepCtrl12
Schaltstufenbaustein, 12-fach
Funktionsbeschreibung
Der Funktionsbaustein dient zur Ausgabe sequenziell folgender Steuerungsbefehle. Eine typische Anwendung dieses Bausteins ist der Startvorgang einer raumlufttechnischen Anlage. bEn ist für die generelle Freigabe des Funktionsbausteins. Bei bEn = FALSE werden alle Ausgänge von bQ01 bis bQ12 auf FALSE gesetzt. Das Starten der Steuersequenz erfolgt am Eingang bEvt01. Nach dem Ablauf des Timers udiDlyOn01 wird der zugehörige Ausgang bQ01 gesetzt. Weitere Stufen schalten nach einer steigenden Flanke an den Eingängen bEvt02 bis bEvt12 jeweils Zeitverzögert über die Timer udiDlyOn02 bis udiDlyOn12 zu. Wird bEvt01 bei hochgelaufener Steuerkette FALSE dann schalte die Steuersequenz in umgekehrter Reihenfolge zurück. Das Abschalten der Ausgänge wird durch die Timer udiDlyOff01 bis udiDlyOff12 verzögert.
Die Ausgänge bUp und bDwn zeigen an ob sich die Steuerkette im absteigenden oder fallenden Zustand befindet. Die Variable udiActvEvt zeigt an in welchen Schritt sich die Steuerkette aktuell befindet. Dabei bedeutet "0", dass die Schrittkette nicht aktiv ist. Für die Verwendung mit einem BACnet-Multistate-Output-Objekt, welches keine "0" anzeigen kann, steht der Ausgang udiStep zur Verfügung, der den Ausgang udiActvEvt+1 darstellt.
udiRemTiDlyOn zeigt beim Hochschalten der Steuerkette die verbleibenden Zeit bis zum nächsten Schritt an. udiRemTiDlyOff zeigt beim Runterschalten der Steuerkette die verbleibende Zeit bis zum Umschalten in den nächst niedrigeren Schritt an.
Beispiel
t0 Einschalten der Schrittkette
t1 Einschalten Schritt 1, udiDlyOn01 = t1 - t0
t2 Ereignis Freigabe Schritt 2, Einschalten Schritt 2, udiDlyOn02 = 0
t3 Ereignis Freigabe Schritt 3, Einschalten Schritt 3, udiDlyOn03 = 0
t4 Ereignis Freigabe Schritt 4, Einschalten Schritt 4, udiDlyOn04 = 0
t5 Ereignis Freigabe Schritt 5, Einschalten Schritt 5, udiDlyOn05 = 0
t6 Abschalten der Schrittkette, Abschalten Schritt 5, Abschalten Schritt 4; udiDlyOff05 = 0, udiDlyOff04 = 0
t7 Abschalten Schritt 3, udiDlyOff03 = t7 -t6
t8 Abschalten Schritt 2, udiDlyOff02 = t8 -t7
t9 Abschalten Schritt 1, udiDlyOff01 = t9 -t8
Ein-/Ausgänge
VAR_INPUT
bEn : BOOL;
bEvt01 : BOOL;
udiDlyOn01 : UDINT;
udiDlyOff01 : UDINT;
bEvt02 : BOOL;
udiDlyOn02 : UDINT;
udiDlyOff02 : UDINT;
bEvt03 : BOOL;
udiDlyOn03 : UDINT;
udiDlyOff03 : UDINT;
bEvt04 : BOOL;
udiDlyOn04 : UDINT;
udiDlyOff04 : UDINT;
bEvt05 : BOOL;
udiDlyOn05 : UDINT;
udiDlyOff05 : UDINT;
bEvt06 : BOOL;
udiDlyOn06 : UDINT;
udiDlyOff06 : UDINT;
bEvt07 : BOOL;
udiDlyOn07 : UDINT;
udiDlyOff07 : UDINT;
bEvt08 : BOOL;
udiDlyOn08 : UDINT;
udiDlyOff08 : UDINT;
bEvt09 : BOOL;
udiDlyOn09 : UDINT;
udiDlyOff09 : UDINT;
bEvt10 : BOOL;
udiDlyOn10 : UDINT;
udiDlyOff10 : UDINT;
bEvt11 : BOOL;
udiDlyOn11 : UDINT;
udiDlyOff11 : UDINT;
bEvt12 : BOOL;
udiDlyOn12 : UDINT;
udiDlyOff12 : UDINT;
bEn: Freigabe des Funktionsbausteins
bEvt01: Einschalten der Steuerkette
udiDlyOn01: Einschaltverzögerung für Ausgang bQ01 [s]
udiDlyOff01: Ausschaltverzögerung für Ausgang bQ01 [s]
bEvt02: Weiterschaltbefehl Schritt 2
udiDlyOn02: Einschaltverzögerung für Ausgang bQ02 [s]
udiDlyOff02: Ausschaltverzögerung für Ausgang bQ02 [s]
bEvt03: Weiterschaltbefehl Schritt 3
udiDlyOn03: Einschaltverzögerung für Ausgang bQ03 [s]
udiDlyOff03: Ausschaltverzögerung für Ausgang bQ03 [s]
bEvt04: Weiterschaltbefehl Schritt 4
udiDlyOn04: Einschaltverzögerung für Ausgang bQ04 [s]
udiDlyOff04: Ausschaltverzögerung für Ausgang bQ04 [s]
bEvt05: Weiterschaltbefehl Schritt 5
udiDlyOn05: Einschaltverzögerung für Ausgang bQ05 [s]
udiDlyOff05: Ausschaltverzögerung für Ausgang bQ05 [s]
bEvt06: Weiterschaltbefehl Schritt 6
udiDlyOn06: Einschaltverzögerung für Ausgang bQ06 [s]
udiDlyOff06: Ausschaltverzögerung für Ausgang bQ06 [s]
bEvt07: Weiterschaltbefehl Schritt 7
udiDlyOn07: Einschaltverzögerung für Ausgang bQ07 [s]
udiDlyOff07: Ausschaltverzögerung für Ausgang bQ07 [s]
bEvt08: Weiterschaltbefehl Schritt 8
udiDlyOn08: Einschaltverzögerung für Ausgang bQ08 [s]
udiDlyOff08: Ausschaltverzögerung für Ausgang bQ08 [s]
bEvt09: Weiterschaltbefehl Schritt 9
udiDlyOn09: Einschaltverzögerung für Ausgang bQ09 [s]
udiDlyOff09: Ausschaltverzögerung für Ausgang bQ09 [s]
bEvt10: Weiterschaltbefehl Schritt 10
udiDlyOn10: Einschaltverzögerung für Ausgang bQ10 [s]
udiDlyOff10: Ausschaltverzögerung für Ausgang bQ10 [s]
bEvt11: Weiterschaltbefehl Schritt 11
udiDlyOn11: Einschaltverzögerung für Ausgang bQ11 [s]
udiDlyOff11: Ausschaltverzögerung für Ausgang bQ11 [s]
bEvt12: Weiterschaltbefehl Schritt 12
udiDlyOn12: Einschaltverzögerung für Ausgang bQ12 [s]
udiDlyOff12: Ausschaltverzögerung für Ausgang bQ12 [s]
VAR_OUTPUT
bQ01 : BOOL;
bQ02 : BOOL;
bQ03 : BOOL;
bQ04 : BOOL;
bQ05 : BOOL;
bQ06 : BOOL;
bQ07 : BOOL;
bQ08 : BOOL;
bQ09 : BOOL;
bQ10 : BOOL;
bQ11 : BOOL;
bQ12 : BOOL;
bUp : BOOL;
bDwn : BOOL;
udiActvEvt : UDINT;
udiRemTiDlyOn : UDINT;
udiRemTiDlyOff : UDINT;
bQ01: Schritt 1 Ein
bQ02: Schritt 2 Ein
bQ03: Schritt 3 Ein
bQ04: Schritt 4 Ein
bQ05: Schritt 5 Ein
bQ06: Schritt 6 Ein
bQ07: Schritt 7 Ein
bQ08: Schritt 8 Ein
bQ09: Schritt 9 Ein
bQ10: Schritt 10 Ein
bQ11: Schritt 11 Ein
bQ12: Schritt 12 Ein
bUp: Steuerkette ist im aufsteigenden Zustand
bDwn: Steuerkette ist im fallenden Zustand
udiActvEvt: Aktiver Schritt, Anzeige 0..12, wobei "0" für eine nicht aktive Schrittkette steht.
udiRTiDlyOn: Restzeit bis zum Hochschalten in den nächsten Schritt [s]
udiRTiDlyOff: Restzeit bis zum Runterschalten in den vorherigen Schritt [s]
Voraussetzungen
Entwicklungsumgebung | Zielsystem | erforderliche Bibliothek | erforderliches Supplement |
---|---|---|---|
TwinCAT 2.11 R3/x64 | PC/CX | TcBA-Bibliothek ab V1.0.0 | TS8040 | TwinCAT Building Automation ab V1.0.0 |