FB_BA_PrioSwi_XX

FB_BA_PrioSwi_XX 1:

Die Prioritätenschalter existieren für verschiedene Variablentypen ( BOOL, INT, LREAL, REAL, USINT, UINT, UDINT und DINT) 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.

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 einem 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

 

 

 

Wenn keine aktive Priorität ansteht, dann wird am Ausgang udiActvPrio der Wert der globalen Konstanten ConstudiNoActvPrio ausgegeben.

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ätswertes.

lrVal01...lrVal08: Prioritätswert.

VAR_OUTPUT

bQ          : BOOL;
lrVal       : LREAL;
udiActvPrio : UDINT;

bQ: Ausgabe, ob überhaupt eine Priorität freigegeben ist.

lrVal: Ausbabe des Wertes der aktuellen (höchsten) Priorität, die freigegeben ist.

udiActvPrio: aktuelle (höchste) Priorität, die freigegeben ist.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.7

Tc3_BA ab v1.1.6.0