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 Funktionsbaustein FB_BA_PrioSwi_LR08 beschrieben.

Zur Selektion verschiedener Werte stehen Prioritätenschalter zur Verfügung. Zum Ausgang fVal wird derjenige Wert mit der höchsten Priorität durchgeschaltet dessen Eingang bEnxx TRUE ist.

Beispiel:

Eingänge

Ausgänge

bEn01

FALSE

 

bQ

TRUE

 

fVal01

 

32.5

fVal

 

5.84

bEn02

FALSE

 

nActvPrio

 

3

fVal02

 

17.4

 

 

 

bEn03

TRUE

 

 

 

 

fVal03

 

5.84

 

 

 

bEn04

TRUE

 

 

 

 

fVal04

 

9.56

 

 

 

bEn05

FALSE

 

 

 

 

fVal05

 

16.5

 

 

 

bEn06

TRUE

 

 

 

 

fVal06

 

32.781

 

 

 

bEn07

FALSE

 

 

 

 

fVal07

 

25.4

 

 

 

bEn08

TRUE

 

 

 

 

fVal08

 

44.5

 

 

 

Ist keine der Prioritäten freigegeben, so fällt der Ausgang bQ auf FALSE. An den Ausgängen fVal und nActvPrio 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

 

fVal01

 

32.5

fVal

 

0.0

bEn02

FALSE

 

nActvPrio

 

0

fVal02

 

17.4

 

 

 

bEn03

FALSE

 

 

 

 

fVal03

 

5.84

 

 

 

bEn04

FALSE

 

 

 

 

fVal04

 

9.56

 

 

 

bEn05

FALSE

 

 

 

 

fVal05

 

16.5

 

 

 

bEn06

FALSE

 

 

 

 

fVal06

 

32.781

 

 

 

bEn07

FALSE

 

 

 

 

fVal07

 

25.4

 

 

 

bEn08

FALSE

 

 

 

 

fVal08

 

44.5

 

 

 

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

FB_BA_PrioSwi_XX 2: Eingänge

VAR_INPUT
  bEn01   : BOOL;
  fVal01  : LREAL;
  bEn02   : BOOL;
  fVal02  : LREAL;
  bEn03   : BOOL;
  fVal03  : LREAL;
  bEn04   : BOOL;
  fVal04  : LREAL;
  bEn05   : BOOL;
  fVal05  : LREAL;
  bEn06   : BOOL;
  fVal06  : LREAL;
  bEn07   : BOOL;
  fVal07  : LREAL;
  bEn08   : BOOL;
  fVal08  : LREAL;
END_VAR

Name

Typ

Beschreibung

bEn01...bEn08

BOOL

Freigabe des Prioritätswertes

fVal01...fVal08

LREAL

Prioritätswert

FB_BA_PrioSwi_XX 3: Ausgänge

VAR_OUTPUT
  bQ         : BOOL;
  fVal       : LREAL;
  nActvPrio  : UDINT;
END_VAR

Name

Typ

Beschreibung

bQ

BOOL

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

fVal

LREAL

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

nActvPrio

UDINT

Aktuelle (höchste) Priorität, die freigegeben ist.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.22

Tc3_BA2 ab v5.2.5.0