Eine detaillierte Beschreibung der Nutzung entnehmen Sie bitte den entsprechenden Anhängen zu den IEC-Betreibern.
Betreiber in CODESYS:
in ST |
in AWL |
Mod. AWL |
Beschreibung |
---|---|---|---|
' |
|
|
Begrenzungszeichen für Zeichenketten (z. B. 'string1') |
.. [ ] |
|
|
Größe des Array-Bereichs (z. B. ARRAY[0..3] OF INT) |
: |
|
|
Trennzeichen zwischen Operand und Typ in einer Deklaration (z. B. var1 : INT;) |
; |
|
|
Beendigung der Anweisung (z. B. a:=var1;) |
^ |
|
|
Dereferenzierter Zeiger (z. B. pointer1^) |
|
LD var1 |
N |
Wert von var1 in Puffer laden |
:= |
ST var1 |
N |
Aktuelles Ergebnis in var1 speichern |
|
S boolvar |
|
Booleschen Operanden boolvar genau dann auf TRUE setzen, wenn das tatsächliche Ergebnis TRUE ist |
|
R boolvar |
|
Den booleschen Operanden boolvar genau dann auf FALSE setzen, wenn das tatsächliche Ergebnis TRUE ist
|
in ST |
in AWL |
Mod. AWL |
Beschreibung |
---|---|---|---|
|
JMP-Etikett |
CN |
Zum Etikett springen |
<Name des Programms> |
CAL prog1 |
CN |
Programm prog1 aufrufen |
<Name der Instanz> |
CAL inst1 |
CN |
Aufruf der Funktionsblockinstanz inst1 |
<Fctname>(vx, vy,..) |
<Fctname> vx, vy |
CN |
Aufruf der Funktion fctname und Übertragung der Variablen vx, vy |
RETURN |
RET |
CN |
POU verlassen und zurück zum Anrufer gehen |
|
( |
|
Der Wert nach der Klammer wird als Operand behandelt, die Operation vor der Klammer wird nicht vor dem Ausdruck in der Klammer ausgeführt. |
|
) |
|
Führen Sie nun den zurückgestellten Vorgang aus |
UND |
UND |
N,( |
Bitweises UND |
OR |
OR |
N,( |
Bitweises ODER |
XOR |
XOR |
N,( |
Bitweises exklusives ODER |
NOT |
NOT |
|
Bitweise NICHT |
+ |
ADD |
( |
Addition |
- |
SUB |
( |
Subtraktion |
* |
MUL |
( |
Multiplikation |
/ |
DIV |
( |
Division |
> |
GT |
( |
Größer als (Greater Than) |
>= |
GE |
( |
Größer oder gleich |
= |
EQ |
( |
Gleichheit (Equal) |
<> |
NE |
( |
Ungleichheit (Not Equal) |
<= |
LE |
( |
Weniger oder gleich |
< |
LT |
( |
Kleiner als |
MOD(in) |
MOD |
|
Modulo-Division |
INDEXOF(in) |
INDEXOF |
|
Interner Index der POU in1; [INT] |
GRÖSSE(in) |
SIZEOF |
|
Anzahl der erforderlichen Bytes für den angegebenen Datentyp von in |
SHL(K,in) |
SHL |
|
Bitweise Linksverschiebung des Operators in durch K |
SHR(K,in) |
SHR |
|
Bitweise Rechtsverschiebung des Operators in durch K |
ROL(K,in) |
ROL |
|
Bitweise Drehung nach links des Operators in durch K |
ROR(K,in) |
ROR |
|
Bitweise Drehung nach rechts des Operators in um K |
SEL(G,in0,in1) |
SEL |
|
Binäre Auswahl zwischen 2 Operanden in0 (G ist FALSE) und in1 (G ist TRUE) |
MAX(in0,in1) |
MAX |
|
Gibt den größeren von 2 Werten zurück |
MIN(in0,in1)
|
MIN |
|
Gibt den kleineren von 2 Werten in0 und in1 zurück |
LIMIT(MIN,in,Max) |
LIMIT |
|
Begrenzt den Wertebereich (bei Überschreitung des Bereichs wird in auf MIN oder MAX zurückgesetzt)
|
in ST |
in AWL |
Mod. AWL |
Beschreibung |
---|---|---|---|
MUX(K,in0,...in_n) |
MUX |
|
Auswahl des K-ten Wertes aus einer Gruppe von Werten (in0 bis In_n) |
ADR(in) |
Adr |
|
Adresse des Operanden in [DWORD] |
ADRINST() |
ADRINST()
|
|
Adresse der Funktionsblockinstanz, von der aus Sie den Operator aufrufen. |
BITADR(in) |
BITADR |
|
Bitoffset des Operanden in [DWORD] |
BOOL_TO_<type>(in) |
BOOL_TO_<type> |
|
Typkonvertierung des booleschen Operanden |
<type>_TO_BOOL(in) |
<type>_TO_BOOL |
|
Typumwandlung in BOOL |
INT_TO_<Typ>(in) |
INT_TO_<type> |
|
Typkonvertierung eines INT-Operanden in einen anderen elementaren Typ |
REAL_TO_<type>(in) |
REAL_TO_<type> |
|
Typkonvertierung eines REAL-Operanden in einen anderen elementaren Typ |
LREAL_TO_<type>(in) |
LREAL_TO_<type> |
|
Typkonvertierung eines LREAL-Operanden in einen anderen elementaren Typ |
TIME_TO_<type>(in) |
TIME_TO_<type> |
|
Typkonvertierung eines TIME-Operanden in einen anderen elementaren Typ |
TOD_TO_<type>(in) |
TOD_TO__<type> |
|
Typkonvertierung eines TOD-Operanden in einen anderen elementaren Typ |
DATE_TO_<type>(in) |
DATE_TO_<type> |
|
Typkonvertierung eines DATE-Operanden in einen anderen elementaren Typ |
DT_TO_<type>(in) |
DT_TO_<type> |
|
Typkonvertierung eines DT-Operanden in einen anderen elementaren Typ |
STRING_TO_<Typ>(in) |
STRING_TO_<type> |
|
Typkonvertierung eines String-Operanden in einen anderen elementaren Typ, in muss einen gültigen Wert des gewünschten Typs enthalten |
TRUNC(in) |
TRUNC |
|
Umwandlung von REAL in INT |
ABS(in) |
ABS |
|
Absoluter Wert des Operanden in |
SQRT(in) |
SQRT |
|
Quadratwurzel des Operanden in |
LN(in) |
LN |
|
Natürlicher Logarithmus des Operanden in |
LOG(in) |
LOG |
|
Logarithmus des Operanden in, Basis 10 |
EXP(in) |
EXP |
|
Exponentialfunktion des Operanden in |
SIN(in) |
SIN |
|
Sinus des Operanden in |
COS(in) |
COS |
|
Kosinus des Operanden in |
TAN(in) |
TAN |
|
Tangens des Operanden in |
ASIN(in) |
ASIN |
|
Arcussinus des Operanden in |
ACOS(in) |
ACOS |
|
Arcuskosinus des Operanden in |
ATAN(in) |
ATAN |
|
Arcustangens des Operanden in |
EXPT(in,expt) |
EXPT expt |
|
Potenzierung des Operanden in mit expt |
Elemente der Standardbibliothek
Strukturierter Text |
Beschreibung |
---|---|
LEN(in) |
Stringlänge des Operanden in |
LEFT(str,size) |
Linke einleitende Zeichenkette der gegebenen Größe der Zeichenkette str |
RIGHT(str,size) |
Richtige Anfangszeichenkette der gegebenen Größe von string str |
MID(str,size,pos) |
Teilstring von str mit gegebener Größe an Position pos |
CONCAT('str1','str2') |
Verkettung von zwei aufeinanderfolgenden Zeichenfolgen |
INSERT('str1','str2',pos) |
String str1 in String str2 an Position pos einfügen |
DELETE('str1',len,pos) |
Teilstring löschen (Länge len), beginnend an Position pos von str1 |
REPLACE('str1','str2',len,pos) |
Ersetzen einer Teilzeichenkette der Länge len durch str2, beginnend an der Position pos von str1 |
FIND('str1','str2') |
Suche nach Teilstring str2 in str1 |
SR |
Bistabiler Funktionsblock ist dominant eingestellt |
RS |
Bistabiler Funktionsblock wird zurückgesetzt |
SEMA |
FB: Software-Semapher (unterbrechbar) |
R_TRIG |
FB: steigende Flanke wird erkannt |
F_TRIG |
FB: fallende Flanke wird erkannt |
CTU |
FB: Zählungen upv |
CTD |
FB: Herunterzählen |
CTUD |
FB: Vorwärts-/Rückwärtszähler |
TP |
FB: Auslöser |
TON |
FB: bei Verzögerungstimer |
TOF |
FB: Ausschaltverzögerungstimer |
RTC |
FB: Echtzeituhr |
Elemente der util-Bibliothek
Element |
Beschreibung |
---|---|
BCD_TO_INT |
Umwandlung eines Bytes: BCD-zu-INT-Format |
INT_TO_BCD |
Konvertierung eines Bytes: INT-zu-BCD-Format |
EXTRACT(in,n) |
Das n-te Bit von DWORD in wird in BOOL zurückgegeben |
PACK |
Bis zu 8 Bits werden in ein Byte gepackt |
PUTBIT |
Ein Bit eines DWORD wird auf einen bestimmten Wert gesetzt |
UNPACK |
Ein Byte wird als einzelne Bits zurückgegeben |
DERIVATIVE |
Lokale Ableitung |
INTEGRAL |
Integral |
LIN_TRAFO |
Umwandlung von REAL-Werten |
STATISTICS_INT |
Minimal-, Maximal- und Durchschnittswerte im INT-Format |
STATISTICS_REAL |
Min., Max., Durchschnitt im REAL-Format |
VARIANZ |
Abweichung |
PD |
PD-Regler |
PID |
PID-Regler |
BLINK |
Pulsierendes Signal |
FREQ_MEASURE |
Messfrequenz des booleschen Eingangssignals |
GEN |
Periodische Funktionen |
CHARCURVE |
Lineare Funktionen |
RAMP_INT |
Begrenzung des Aufstiegs oder des Abstiegs der zuzuführenden Funktion (INT) |
RAMP_REAL |
Begrenzung des Aufstiegs oder des Abstiegs der zuzuführenden Funktion (REAL) |
HYSTERESIS |
Hysterese |
LIMITALARM |
Überwacht, ob der Eingangswert die Grenzen eines definierten Bereichs überschreitet |