FB_BA_MMUX_XX

Der Funktionsbaustein schaltet in Abhängigkeit eines Selektors und der entsprechenden Eingangs-Selektorbedingung einen Eingangswert auf den Ausgang.

Die Multiplexer-Bausteine existieren für verschiedene Variablentypen ( BOOL, INT, LREAL, REAL, USINT, UINT und UDINT) und in verschiedenen Eingangsgrößen (4, 8, 12, 16 und 24), haben jedoch alle die gleiche Funktionalität.
Exemplarisch wird hier der Baustein FB_BA_MMUX_R16 beschrieben.

FB_BA_MMUX_XX 1:

Funktionsbeschreibung

Der Funktionsbaustein schaltet im aktivierten Zustand (bEn=TRUE) in Abhängigkeit eines Selektors udiSel und der entsprechenden Eingangs-Selektorbedingung udiEnxx einen von den Eingangswerten rValxx auf den Ausgang rVal.
Wenn mehrere Eingangs-Selektorbedingungen udiEn01...udiEn16 gleich sind und der Selektor udiSel einer Bedingung entspricht, dann wird der Eingangswert rVal01...rVal16 der tiefsten aktiven Selektorbedingung auf den Ausgang rVal geschaltet. udiEn01 ist die tiefste, udiEn16 die höchste Selektorbedingung.

Die Ausgangsvariable bQ zeigt an, dass der Selektor udiSel mit einer Eingangs-Selektorbedingung udiEnxx übereinstimmt.

Die Ausgangsvariable udiActvPrio zeigt die aktive Selektorbedingung an.

Ist keine Selektorbedingung aktiv, so wird rReplVal an rVal ausgegeben. bQ ist dann FALSE und udiActvPrio zeigt eine 255 an.

Beispiel:

Eingänge

Ausgang

Variable

Wert

Variable

Wert

bEn

TRUE

bQ

TRUE

udiSel

5

rVal

1,123

udiEn01

4

udiActvPrio

7

rVal01

123

 

 

udiEn02

 

 

 

rVal02

 

 

 

udiEn03

3

 

 

rVal03

321

 

 

udiEn04

 

 

 

rVal04

 

 

 

udiEn05

8

 

 

rVal05

345

 

 

udiEn06

 

 

 

rVal06

 

 

 

udiEn07

5

 

 

rVal07

1,123

 

 

udiEn08

 

 

 

rVal08

 

 

 

udiEn09

5

 

 

rVal09

5,4321

 

 

udiEn10

 

 

 

rVal10

 

 

 

udiEn11

 

 

 

rVal11

 

 

 

udiEn12

 

 

 

rVal12

 

 

 

udiEn13

 

 

 

rVal13

 

 

 

udiEn14

 

 

 

rVal14

 

 

 

udiEn15

 

 

 

rVal15

 

 

 

udiEn16

 

 

 

rVal16

 

 

 

rReplVal

 

 

 

Ein-/Ausgänge

VAR_INPUT

bEn       : BOOL;
udiSel    : UDINT;
udiEn01   : UDINT := 255;
rVal01    : REAL;
udiEn02   : UDINT := 255;
rVal02    : REAL;
udiEn03   : UDINT := 255;
rVal03    : REAL;
udiEn04   : UDINT := 255;
rVal04    : REAL;
udiEn05   : UDINT := 255;
rVal05    : REAL;
udiEn06   : UDINT := 255;
rVal06    : REAL;
udiEn07   : UDINT := 255;
rVal07    : REAL;
udiEn08   : UDINT := 255;
rVal08    : REAL;
udiEn09   : UDINT := 255;
rVal09    : REAL;
udiEn10   : UDINT := 255;
rVal10    : REAL;
udiEn11   : UDINT := 255;
rVal11    : REAL;
udiEn12   : UDINT := 255;
rVal12    : REAL;
udiEn13   : UDINT := 255;
rVal13    : REAL;
udiEn14   : UDINT := 255;
rVal14    : REAL;
udiEn15   : UDINT := 255;
rVal15    : REAL;
udiEn16   : UDINT := 255;
rVal16    : REAL;
rReplVal  : REAL;

bEn: Aktivierung der Bausteinfunktion

udiSel: Selektor

udiEn01..udiEn16: Eingangs-Selektorbedingung
Die Eingangsvariablen sind auf den Wert 255 vorinitialisiert.

rVal01...rVal16: Eingangswerte, aus denen gewählt werden soll.

rReplVal: Ersatzwert, wenn keine Eingangs-Selektorbedingung aktiv ist.

VAR_OUTPUT

bQ           : BOOL;
rVal         : REAL;
udiActvPrio  : UDINT;

bQ: Ist TRUE, wenn der Selektor udiSel mit einer Eingangs-Selektorbedingung udiEnxx übereinstimmt.

rVal: Wert der gewählten Eingangs-Selektorbedingung

udiActvPrio: Zeigt an, welche Eingangs-Selektorbedingung aktiv 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