FB_BA_PrioSwi_XX
Die Prioritätenschalter existieren für verschiedene Variablentypen ( BOOL, INT, LREAL, REAL, USINT, UINT und UDINT) und in verschiedenen Ausgangsgrößen (4, 8, 12 und 16 bzw. 24), haben jedoch alle die gleiche Funktionalität.
Exemplarisch wird hier der Baustein FB_BA_PrioSwi_LR08 beschrieben.
Funktionsbeschreibung
Zur Selektion verschiedener Werte stehen Prioritätenschalter zur Verfügung. Zum Ausgang lrVal wird derjenige Wert mit der höchsten Priorität durchgeschaltet dessen Eingang bEnxx TRUE ist.
Beispiel:
Eingänge | Ausgänge | ||||
---|---|---|---|---|---|
bEn01 | FALSE |
| bQ | TRUE |
|
lrVal01 |
| 32.5 | lrVal |
| 5.84 |
bEn02 | FALSE |
| udiActvPrio |
| 3 |
lrVal02 |
| 17.4 |
|
|
|
bEn03 | TRUE |
|
|
|
|
lrVal03 |
| 5.84 |
|
|
|
bEn04 | TRUE |
|
|
|
|
lrVal04 |
| 9.56 |
|
|
|
bEn05 | FALSE |
|
|
|
|
lrVal05 |
| 16.5 |
|
|
|
bEn06 | TRUE |
|
|
|
|
lrVal06 |
| 32.781 |
|
|
|
bEn07 | FALSE |
|
|
|
|
lrVal07 |
| 25.4 |
|
|
|
bEn08 | TRUE |
|
|
|
|
lrVal08 |
| 44.5 |
|
|
|
Ist keine der Prioritäten freigegeben, so fällt der Ausgang bQ auf FALSE. An den Ausgängen lrVal und udiActvPrio wird jeweils 0 ausgegeben. Bei einen booleschen Prioritätenschalter wird an dem Ausgang bVal dann FALSE ausgegeben.
Eingänge | Ausgänge | ||||
---|---|---|---|---|---|
bEn01 | FALSE |
| bQ | FALSE |
|
lrVal01 |
| 32.5 | lrVal |
| 0.0 |
bEn02 | FALSE |
| udiActvPrio |
| 0 |
lrVal02 |
| 17.4 |
|
|
|
bEn03 | FALSE |
|
|
|
|
lrVal03 |
| 5.84 |
|
|
|
bEn04 | FALSE |
|
|
|
|
lrVal04 |
| 9.56 |
|
|
|
bEn05 | FALSE |
|
|
|
|
lrVal05 |
| 16.5 |
|
|
|
bEn06 | FALSE |
|
|
|
|
lrVal06 |
| 32.781 |
|
|
|
bEn07 | FALSE |
|
|
|
|
lrVal07 |
| 25.4 |
|
|
|
bEn08 | FALSE |
|
|
|
|
lrVal08 |
| 44.5 |
|
|
|
Ein-/Ausgänge
VAR_INPUT
bEn01 : BOOL;
lrVal01 : LREAL;
bEn02 : BOOL;
lrVal02 : LREAL;
bEn03 : BOOL;
lrVal03 : LREAL;
bEn04 : BOOL;
lrVal04 : LREAL;
bEn05 : BOOL;
lrVal05 : LREAL;
bEn06 : BOOL;
lrVal06 : LREAL;
bEn07 : BOOL;
lrVal07 : LREAL;
bEn08 : BOOL;
lrVal08 : LREAL;
bEn01...bEn08: Freigabe des Prioritätswerts.
lrVal01...lrVal08: Prioritätswert.
VAR_OUTPUT
bQ : BOOL;
lrVal : LREAL;
udiActvPrio : UDINT;
bQ: Ausgabe, ob überhaupt eine Priorität freigegeben ist.
lrVal: Ausgabe des Wertes der aktuellen (höchsten) Priorität, die freigegeben ist.
udiActvPrio: Aktuelle (höchste) Priorität, die freigegeben ist.
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 |