FB_BA_FIFO04
Folgesteuerung von bis zu vier Aggregaten
Funktionsbeschreibung
Der Funktionsbaustein FB_BA_FIFO04 ermöglicht eine Folgesteuerung von bis zu vier Aggregaten mit automatischem Wechsel der Einschaltreihenfolge nach Betriebsstunden.
Der Funktionsbaustein steht in zwei Ausführungen zur Verfügung: für eine Sequenz von vier und von acht Aggregaten.
In der Abfolge haben die Aggregate mit den wenigen Betriebsstunden Vorrang vor den mit vielen Betriebsstunden.
Eine steigende Flanke an bChg erzwingt einen Folgewechsel. Die Aggregate mit den geringsten Betriebsstunden werden in der FIFO nach vorne gesetzt und somit vorrangig eingeschaltet.
In der Folge werden nur Aggregate eingetragen, welche an den Eingängen bEn01..bEn04 frei gegeben sind. udiNum gibt die Anzahl der angeforderten Aggregate an.
An den Eingängen udiActvTi01 bis udiActvTi04 werden die Betriebsstunden der Aggregate eingetragen. Werden diese Eingänge alle konstant auf Null gesetzt, erfolgt der Folgewechsel nur in Abhängigkeit von bChg zyklisch gesteuert.
Dabei fällt immer das erste Aggregat aus dem FIFO heraus, die anderen werden aufgeschoben, und das erste Aggregat hinten in dem FIFO wieder angehängt. Somit rotieren die Aggregate in ihrer Folge.
Werden am Eingang udiNum mehr Aggregate angefordert als an den Eingängen bEn01 bis bEn04 zur Verfügung stehen, wird dieses an bErr mit einem TRUE signalisiert.
Fehlerbehandlung
Werden am Eingang udiNum mehr Aggregate angefordert als an den Eingängen bEn01 bis bEn04 zur Verfügung stehen, wird dieses an bErr mit einem TRUE signalisiert.
Ein-/Ausgänge
VAR_INPUT
bEn : BOOL;
udiNum : UDINT;
bChg : BOOL;
bEn01 : BOOL;
bEn02 : BOOL;
bEn03 : BOOL;
bEn04 : BOOL;
udiActvTi01 : UDINT;
udiActvTi02 : UDINT;
udiActvTi03 : UDINT;
udiActvTi04 : UDINT;
bEn: Freigabe des Bausteins
udiMyNum: Anzahl der Aggregate
bChg: Folgewechsel erzwingen
bEn01...bEn04: Freigabe Aggregat 1...Freigabe Aggregat 4
udiActvTi01...udiActvTi04: Betriebsstunden Aggregat 1...Betriebsstunden Aggregat 4
VAR_OUTPUT
bQ01 : BOOL;
bQ02 : BOOL;
bQ03 : BOOL;
bQ04 : BOOL;
udiNextOn : UDINT;
udiNextOff : UDINT;
arrFIFO : ARRAY [1..4] OF UDINT;
udiNumOfEn : UDINT;
bErr : BOOL;
udiErrId : UDINT;
udiErrArg : UDINT;
bQ01...bQ04: Schaltet Aggregat 1..4
udiNextOn: Nummer des Aggregates, welches als nächstes eingeschaltet wird.
udiNextOff: Nummer des Aggregates, welches als nächstes eingeschaltet wird.
arrFIFO: FIFO-Speicher als Feld
udiNumOfEn: Anzahl Teilnehmer in Abhängigkeit der einzelnen Freigaben
bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn die eingetragenen Parameter fehlerhaft sind.
udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.
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 |