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

Die IEC Operatoren

321

Aufrufoperator

 

 

 

LD Var1

ADR

ST Var2

man_fun1

12.7.2Inhaltsoperator

Die Dereferenzierung eines Pointers erfolgt über den Inhaltsoperator "^" nach dem Pointerbezeichner.

Beispiel in ST:

pt:POINTER TO INT; var_int1:INT; var_int2:INT;

pt := ADR(var_int1); var_int2:=pt^;

12.8 Aufrufoperator

12.8.1CAL

Aufruf eines Funktionsblocks

Mit CAL ruft man in AWL die Instanz eines Funktionsblock auf. Nach dem Namen der Instanz eines Funktionsblocks folgt, in runde Klammern gesetzt, die Belegung der Eingabevariablen des Funktionsblocks.

Beispiel: Aufruf der Instanz Inst eines Funktionsblocks mit Belegung der

Eingabevariablen Par1, Par2 auf 0 bzw. TRUE.

CAL INST(PAR1 := 0, PAR2 := TRUE)

12.9 Typkonvertierungen

Es ist nicht erlaubt, von einem "größeren" Typ auf einen "kleineren" implizit zu konvertieren (beispielsweise von INT nach BYTE oder von DINT nach WORD). Wenn man das tun will, muß man spezielle Typkonvertierungen anwenden. Grundsätzlich kann von jedem elementaren Typ zu jeden anderen elementaren Typ konvertiert werden.

Syntax:

<elem.Typ1>_TO_<elem.Typ2>

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

322 Die IEC Operatoren

Typkonvertierungen

Beachten Sie bei ...TO_STRING Konvertierungen, daß der string "linksbündig" generiert wird. Wenn er zu kurz defniert ist, wird von rechts her abgeschnitten.

12.9.1BOOL_TO-Konvertierungen

Konvertierung vom Typ BOOL zu einem anderen Typ:

Bei Zahlentypen ist das Ergebnis 1, wenn der Operand TRUE ist, und 0, wenn der Operand FALSE ist.

Beim Typ STRING ist das Ergebnis 'TRUE' bzw. 'FALSE'.

Beispiele in AWL:

LD

TRUE

 

BOOL_TO_INT

 

ST

i

(* Ergebnis ist 1 *)

LD

TRUE

 

BOOL_TO_STRING

ST

str

(* Ergebnis ist 'TRUE' *)

LD

TRUE

 

BOOL_TO_TIME

ST

t

(* Ergebnis ist T#1ms *)

LD

TRUE

 

BOOL_TO_TOD

 

ST

tof

(* Ergebnis ist TOD#00:00:00.001 *)

LD

FALSE

 

BOOL_TO_DATE

ST

dat

(* Ergebnis ist D#1970-01-01 *)

LD

TRUE

 

BOOL_TO_DT

 

ST

dandt (* Ergebnis ist DT#1970-01-01-00:00:01 *)

Beispiele in ST:

i:=BOOL_TO_INT(TRUE);

(* Ergebnis ist 1 *)

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

 

Die IEC Operatoren 323

 

Typkonvertierungen

 

 

str:=BOOL_TO_STRING(TRUE);

(* Ergebnis ist 'TRUE' *)

t:=BOOL_TO_TIME(TRUE);

(* Ergebnis ist T#1ms *)

tof:=BOOL_TO_TOD(TRUE);

(* Ergebnis ist

TOD#00:00:00.001 *)

 

dat:=BOOL_TO_DATE(FALSE);

(* Ergebnis ist D#1970-01-01

*)

 

dandt:=BOOL_TO_DT(TRUE);

(* Ergebnis ist DT#1970-01-

01-00:00:01 *)

 

Beispiele in FUP:

(* Ergebnis ist 1 *)

(* Ergebnis ist 'TRUE' *)

(* Ergebnis ist T#1ms *)

(* Ergebnis ist

TOD#00:00:00.001 *)

(* Ergebnis ist D#1970-01-01

*)

(* Ergebnis ist DT#1970-01- 01-00:00:01 *)

12.9.2TO_BOOL-Konvertierungen

Konvertierung von einem Typ zum Typ BOOL:

Das Ergebnis ist TRUE, wenn der Operand ungleich 0 ist. Das Ergebnis ist FALSE, wenn der Operand gleich 0 ist.

Beim Typ STRING ist das Ergebnis TRUE, wenn der Operand 'TRUE' ist, ansonsten ist das Ergebnis FALSE.

Beispiele in AWL:

LD 213

BYTE_TO_BOOL

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

324 Die IEC Operatoren

Typkonvertierungen

ST

b

(* Ergebnis ist TRUE *)

LD

0

 

 

INT_TO_BOOL

 

 

ST

b

(* Ergebnis ist FALSE *)

LD

T#5ms

 

 

TIME_TO_BOOL

 

ST

b

(* Ergebnis ist TRUE *)

LD

'TRUE'

 

STRING_TO_BOOL

 

ST

b

(* Ergebnis ist TRUE *)

Beispiele in ST:

 

 

b := BYTE_TO_BOOL(2#11010101);

(* Ergebnis ist TRUE

 

*)

 

 

b := INT_TO_BOOL(0);

(* Ergebnis ist FALSE

 

*)

 

 

b := TIME_TO_BOOL(T#5ms);

(* Ergebnis ist TRUE

 

*)

 

 

b := STRING_TO_BOOL('TRUE');

(* Ergebnis ist TRUE

 

*)

 

 

Beispiele in FUP:

(* Ergebnis ist TRUE *)

(* Ergebnis ist FALSE *)

(* Ergebnis ist TRUE *)

(* Ergebnis ist TRUE *)

12.9.3Konvertierungen zwischen ganzzahligen Zahlentypen

Konvertierung von einem ganzzahligen Zahlentyp zu einem anderen

Zahlentyp:

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

Соседние файлы в папке 759-332