FB_BA_FIFO08

Folgesteuerung von bis zu acht Aggregaten

FB_BA_FIFO08 1:

Funktionsbeschreibung

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 bis udiActvTi08 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.

Ein-/Ausgänge

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 : UDINT;
udiActvTi02 : UDINT;
udiActvTi03 : UDINT;
udiActvTi04 : UDINT;
udiActvTi05 : UDINT;
udiActvTi06 : UDINT;
udiActvTi07 : UDINT;
udiActvTi08 : UDINT;

bEn: Freigabe des Bausteins

udiMyNum: Anzahl der Aggregate

bChg: Folgewechsel erzwingen

bEn01...bEn08: Freigabe Aggregat 1...Freigabe Aggregat 8

udiActvTi01...udiActvTi08: 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;
udiErrId    : UDINT;
udiErrArg   : UDINT;

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.

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