FB_BA_FIFO08

Der Funktionsbaustein FB_BA_FIFO08 ermöglicht eine Folgesteuerung von bis zu acht 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..bEn08 frei gegeben sind. udiNum gibt die Anzahl der angeforderten Aggregate an.
An den Eingängen udiActvTi01_h bis udiActvTi08_h 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 bEn08 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 bEn08 zur Verfügung stehen, wird dieses an bErr mit einem TRUE signalisiert.
VAR_INPUT
bEn : BOOL;
udiNum : UDINT;
bChg : BOOL;
bEn01 : BOOL;
bEn02 : BOOL;
bEn03 : BOOL;
bEn04 : BOOL;
bEn05 : BOOL;
bEn06 : BOOL;
bEn07 : BOOL;
bEn08 : BOOL;
udiActvTi01_h : UDINT;
udiActvTi02_h : UDINT;
udiActvTi03_h : UDINT;
udiActvTi04_h : UDINT;
udiActvTi05_h : UDINT;
udiActvTi06_h : UDINT;
udiActvTi07_h : UDINT;
udiActvTi08_h : UDINT;
bEn: Freigabe des Bausteins.
udiNum: Anzahl der Aggregate.
bChg: Folgewechsel erzwingen.
bEn01...bEn08: Freigabe Aggregat 1...Freigabe Aggregat 8.
udiActvTi01_h...udiActvTi08_h: Betriebsstunden Aggregat 1...Betriebsstunden Aggregat 8.
VAR_OUTPUT
bQ01 : BOOL;
bQ02 : BOOL;
bQ03 : BOOL;
bQ04 : BOOL;
bQ05 : BOOL;
bQ06 : BOOL;
bQ07 : BOOL;
bQ08 : BOOL;
udiNextOn : UDINT;
udiNextOff : UDINT;
arrFIFO : ARRAY [1..8] OF UDINT;
udiNumOfEn : UDINT;
bErr : BOOL;
sErrDescr : STRING;
bQ01...bQ08: Schaltet Aggregat 1..8.
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.
sErrDescr: Enthält die Fehlerbeschreibung.
Fehlerbeschreibung |
---|
01: Warnung: Am Eingang udiNum sind mehr als 8 Teilnehmer eingetragen. Diese Anzahl wird auf die Zahl begrenzt, die an den Eingängen bEn01..bEn08 freigegeben sind. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.7 | Tc3_BA ab v1.1.6.0 |