Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
11.10.2020
Размер:
3.68 Mб
Скачать

Die IEC Operatoren 317

Vergleichsoperatoren

LIMIT 30,80

ST Var1 (* Ergebnis ist 80 *)

Beispiel in ST:

Var1:=LIMIT(30,90,80); (* Ergebnis ist 80 *);

12.5.5MUX

Multiplexer

OUT := MUX(K, IN0,...,INn) bedeutet:

OUT := INK.

IN0, ...,INn und OUT können von beliebigem Typ sein. K muß von den Typen BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT oder UDINT sein. MUX wählt aus einer Menge von Werten den K-ten aus. Der erste Wert entspricht K=0. Ist K größer als die Anzahl der weiteren Eingänge (n) , so wird der letzte Wert weiter gegeben (INn).

Beispiel in AWL:

LD 0

MUX 30,40,50,60,70,80

ST

Var1 (* Ergebnis ist 30 *)

Beispiel in ST:

Var1:=MUX(0,30,40,50,60,70,80); (* Ergebnis ist 30 *);

Hinweis:

Zum Zweck der Laufzeitoptimierung wird nur der Ausdruck, der INK vorgeschaltet ist, berechnet !

In der Simulation dagegen werden alle Zweige berechnet.

12.6 Vergleichsoperatoren

12.6.1GT

Größer als

Ein boolscher Operator mit dem Ergebnis TRUE, wenn der erste Operand größer als der zweite ist. Die Operanden können vom Typ BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME und STRING sein.

Beispiel in AWL:

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

318 Die IEC Operatoren

Vergleichsoperatoren

LD

20

GT

30

ST

Var1 (* Ergebnis ist FALSE *)

Beispiel in ST:

VAR1 := 20 > 30 > 40 > 50 > 60 > 70;

Beispiel in FUP:

12.6.2LT

Kleiner als

Ein boolscher Operator mit dem Ergebnis TRUE, wenn der erste Operand kleiner als der zweite ist. Die Operanden können vom Typ BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME und STRING sein.

Beispiel in AWL:

LD

20

LT

30

ST

Var1 (* Ergebnis ist TRUE *)

Beispiel in ST:

VAR1 := 20 < 30;

Beispiel in FUP:

12.6.3LE

Kleiner oder gleich.

Ein Boolscher Operator mit Ergebnis TRUE, wenn der erste Operand kleiner als der zweite Operand oder gleich groß wie der zweite Operand ist. Die Operanden können vom Typ BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME und STRING sein.

Beispiel in AWL:

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

Die IEC Operatoren 319

Vergleichsoperatoren

LD

20

LE

30

ST

Var1 (* Ergebnis ist TRUE *)

Beispiel in ST:

VAR1 := 20 <= 30;

Beispiel in FUP

12.6.4GE

Größer oder gleich

Ein Boolscher Operator mit Ergebnis TRUE, wenn der erste Operand größer als der zweite Operand oder gleich groß wie der zweite Operand ist. Die Operanden können vom Typ BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME und STRING sein.

Beispiel in AWL:

LD

60

GE

40

ST

Var1 (* Ergebnis ist TRUE *)

Beispiel in ST:

VAR1 := 60 >= 40;

Beispiel in FUP:

12.6.5EQ

Gleichheit

Ein Boolscher Operator mit Ergebnis TRUE, wenn die Operanden gleich sind. Die Operanden können vom Typ BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME und STRING sein.

Beispiel in AWL:

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32