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

10 - ANHANG

Anhang E Übersicht: Operatoren und Bibliotheksbausteine

Die untenstehenden Tabelle zeigen eine Übersicht der Operatoren und Bibliotheksbausteine, die in CoDeSys bzw. den Bibliotheken Standard.lib und Util.lib zur Verfügung stehen. Dargestellt ist die Schreibweise für die Texteditoren ST und AWL. Für AWL sind außerdem die verfügbaren Modifikatoren aufgelistet.

Beachten Sie für die Spalte 'Operator AWL': Es wird nur die Zeile dargestellt, in der der Operator verwendet wird. Vorausgesetzt wird ein in der vorangehenden Zeile erfolgtes Laden des (ersten) benötigten Operanden (z.B. LD in).

Die Spalte 'Mod.AWL' zeigt die möglichen Modifikatoren in AWL:

CDie Anweisung wird nur ausgeführt, wenn das Ergebnis des vorhergehenden Ausdrucks TRUE ist.

Nbei JMPC, CALC, RETC: Die Anweisung wird nur ausgeführt, wenn das Ergebnis des vorhergehenden Ausdrucks FALSE ist.

N sonst: Negation des Operanden (nicht des Akku)

( Klammerung begrenzt Operator, erst nach Erreichen der abschließenden Klammer wird die der Klammer vorangestellte Operation ausgeführt

Die detaillierte Beschreibung zur Anwendung entnehmen Sie bitte den entsprechenden Anhängen zu den Operatoren in CoDeSys bzw. den Bibliotheken.

10.20 Operatoren in CoDeSys:

in ST

in AWL

Mod.

Bedeutung

 

 

AWL

 

'

 

 

Stringbegrenzung (z.B.

 

 

 

'string1')

..

 

 

Array: Darstellung des Array-

[ ]

 

 

Bereichs (z.B. ARRAY[0..3]

 

 

 

OF INT)

:

 

 

Trennzeichen zwischen

 

 

 

Operand und Typ bei der

 

 

 

Deklaration (z.B. var1 : INT;)

;

 

 

Abschluss Anweisung (z.B.

 

 

 

a:=var1;)

^

 

 

Dereferenziere Pointer (z.B.

 

 

 

pointer1^)

 

LD var1

N

Lade Wert von var1 in den

 

 

 

Akku

:=

ST var1

N

Speichere aktuelles Ergebnis

 

 

 

an die Operandenstelle var1

 

S boolvar

 

Setze den Bool-Operanden

 

 

 

boolvar genau dann auf

 

 

 

TRUE, wenn das aktuelle

 

 

 

Ergebnis TRUE ist

CoDeSys V2.3

10-63

Operatoren in CoDeSys:

in ST

in AWL

Mod.AWL

Bedeutung

 

R boolvar

 

Setze den Bool-Operand

 

 

 

genau dann auf FALSE, wenn

 

 

 

das aktuelle Ergebnis TRUE

 

 

 

ist

 

JMP marke

CN

Springe zur Marke

<Programmname>

CAL prog1

CN

Rufe Programm prog1 auf

<Instanzname>

CAL inst1

CN

Rufe Funktionsblockinstanz

 

 

 

inst1 auf

<Fktname>(vx, vy,..)

<Fktname> vx, vy

CN

Rufe Funktion auf und

 

 

 

übergebe Variablen vx, vy

RETURN

RET

CN

Verlasse den Baustein und

 

 

 

kehre ggf. zurück zum

 

 

 

Aufrufer.

 

(

 

Wert, der der Klammer folgt,

 

 

 

wird als Operand gesehen,

 

 

 

vorherige Operation wird

 

 

 

zurückgestellt, bis Klammer

 

 

 

geschlossen wird

 

)

 

Werte zurückgestellte

 

 

 

Operation aus

AND

AND

N,(

Bitweise AND

OR

OR

N,(

Bitweise OR

XOR

XOR

N,(

Bitweise exklusives OR

NOT

NOT

 

Bitweise NOT

+

ADD

(

Addition

-

SUB

(

Subtraktion

*

MUL

(

Multiplikation

/

DIV

(

Division

>

GT

(

größer

>=

GE

(

größer/gleich

=

EQ

(

gleich

<>

NE

(

ungleich

<=

LE

(

kleiner/gleich

<

LT

(

kleiner

MOD(in)

MOD

 

Modulo Division

INDEXOF(in)

INDEXOF

 

interner Index eines Bausteins

 

 

 

in1; [INT]

SIZEOF(in)

SIZEOF

 

benötigte Byte-Anzahl für geg.

 

 

 

Datentyp von in

10-64

CoDeSys V2.3

10 - ANHANG

in ST

in AWL

Mod.AWL Bedeutung

SHL(K,in)

SHL

bitweises Links-Shift eines

 

 

Operanden um K

SHR(K,in)

SHR

bitweises Rechts-Shift eines

 

 

Operanden um K

ROL(K,in)

ROL

bitweise Linksrotation eines

 

 

Operanden um K

ROR(K,in)

ROR

bitweise Rechtsrotation eines

 

 

Operanden um K

SEL(G,in0,in1)

SEL

binäre Selektion zw. 2

 

 

Operanden in0 (G ist FALSE)

 

 

und in1 (G ist TRUE)

MAX(in0,in1)

MAX

liefert von 2 Werten den

 

 

größeren

MIN(in0,in1)

MIN

liefert von 2 Werten den

 

 

kleinsten

LIMIT(MIN,in,Max)

LIMIT

Limitierung des Wertebereichs

 

 

(in wird bei Überschreitung auf

 

 

Min bzw. Max zurückgesetzt)

MUX(K,in0,...in_n)

MUX

Auswahl des K-ten Wertes aus

 

 

einer Anzahl von Werten (in0

 

 

bis In_n)

ADR(in)

ADR

Adresse des Operanden in

 

 

[DWORD]

BITADR(in)

BITADR

Bit-Offset des Operanden in

 

 

[DWORD]

BOOL_TO_<type>(in)

BOOL_TO_<type>

Typkonvertierung des

 

 

boolschen Operanden in

 

 

anderen elementaren Typ

<type>_TO_BOOL(in)

<type>_TO_BOOL

Typkonvertierung des

 

 

Operanden nach BOOL

INT_TO_<type>(in)

INT_TO_<type>

Typkonvertierung des INT-

 

 

Operanden in anderen

 

 

elementaren Typ

REAL_TO_<type>(in)

REAL_TO_<type>

Typkonvertierung des REAL-

 

 

Operanden in anderen

 

 

elementaren Typ

LREAL_TO_<type>(in)

LREAL_TO_<type>

Typkonvertierung des LREAL-

 

 

Operanden in anderen

 

 

elementaren Typ

TIME_TO_<type>(in)

TIME_TO_<type>

Typkonvertierung des TIME-

 

 

Operanden in anderen

 

 

elementaren Typ

CoDeSys V2.3

10-65

Bibliotheksbausteine der Standard.lib:

in ST

in AWL

Mod.AWL Bedeutung

TOD_TO_<type>(in)

TOD_TO__<type>

Typkonvertierung des TOD-

 

 

Operanden in anderen

 

 

Telementaren yp

DATE_TO_<type>(in)

DATE_TO_<type>

Typkonvertierung des

 

 

Operanden in anderen

 

 

elementaren Typ

DT_TO_<type>(in)

DT_TO_<type>

Typkonvertierung des

 

 

Operanden in anderen

 

 

elementaren Typ

STRING_TO_<type>(in)

STRING_TO_<type>

Typkonvertierung des

 

 

Operanden in anderen

 

 

elementaren Typ, in muss

 

 

gültigen Wert des Zieltyps

 

 

enthalten

TRUNC(in)

TRUNC

Konvertierung von REAL nach

 

 

INT

ABS(in)

ABS

Absolutwert des Operanden

SQRT(in)

SQRT

Quadratwurzel des Operanden

LN(in)

LN

natürlicher Logarithmus des

 

 

Operanden

LOG(in)

LOG

Logarithmus des Operanden

 

 

zur Basis 10

EXP(in)

EXP

Exponentialfunktion des

 

 

Operanden

SIN(in)

SIN

Sinus des Operanden

COS(in)

COS

Cosinus des Operanden

TAN(in)

TAN

Tangens des Operanden

ASIN(in)

ASIN

Arcussinus des Operanden

ACOS(in)

ACOS

Arcuscosinus des Operanden

ATAN(in)

ATAN

Arcustangens des Operanden

EXPT(in,expt)

EXPT expt

Potenzierung des Operanden

 

 

um expt

10.21 Bibliotheksbausteine der Standard.lib:

in ST

in AWL

Bedeutung

LEN(in)

LEN

Stringlänge des Operanden

LEFT(str,size)

LEFT

linker Anfangsstring (Größe size) von String str

RIGHT(str,size)

RIGHT

rechter Anfangsstring (Größe size) von String str

10-66

CoDeSys V2.3

10 - ANHANG

MID(str,size)

MID

Teilstring der Größe size aus String str

in ST

in AWL

Bedeutung

CONCAT('str1','str2')

CONCAT 'str2'

Aneinanderhängen zweier Strings

INSERT('str1','str2',pos)

INSERT 'str2',p

Einfügen String str1 in String str2 an Position pos

DELETE('str1',len,pos)

DELETE

Lösche Teilstring mit Länge len, beginnend an Position

 

len,pos

pos von str1

REPLACE('str1','str2',len,pos)

REPLACE

Ersetze Teilstring von Länge len, beginnend an

 

'str2',len,pos

Position pos von str1 durch str2

FIND('str1','str2')

FIND 'str2'

Suchen eines Teilstrings str2 in str1

SR

SR

Bistabiler FB wird dominant gesetzt

RS

RS

Bistabiler FB wird zurückgesetzt

SEMA

SEMA

FB: Software Semaphor (unterbrechbar)

R_TRIG

R_TRIG

FB: ansteigende Flanke wird erkannt

F_TRIG

F_TRIG

FB: fallende Flanke wird erkannt

CTU

CTU

FB: Aufwärtszähler

CTD

CTD

FB: Abwärtszähler

CTUD

CTUD

FB: Aufund Abwärtszähler

TP

TP

FB: Pulsgeber

TON

TON

FB: Einschaltverzögerung

TOF

TOF

FB: Ausschaltverzögerung

RTC

RTC

FB: Laufzeit-Uhr

10.22 Bibliotheksbausteine der Util.lib:

Baustein

Bedeutung

BCD_TO_INT

Konvertierung eines Bytes vom BCD zu INT-Format

INT_TO_BCD

Konvertierung eines Bytes von INTzu BCD-Format

EXTRACT(in,n)

Das n-te Bit von DWORD in wird in BOOL ausgegeben

PACK

bis zu 8 Bits werden in ein Byte gepackt

PUTBIT

ein Bit in einem DWORD wird auf best. Wert gesetzt

UNPACK

ein Byte wird in Einzelbits umgewandelt

DERIVATIVE

Ableitung

INTEGRAL

Integral

STATISTICS_INT Min.,Max, Durchschnittswert in INT

CoDeSys V2.3

10-67

Bibliotheksbausteine der Util.lib:

STATISTICS_REAL

Min.,Max, Durchschnittswert in REAL

VARIANCE

Varianzberechnung

PD

PD-Regler

PID

PID-Regler

BLINK

pulsierendes Signal

GEN

periodische Funktionen

CHARCURVE

lineare Funktion

RAMP_INT

Begrenzung des Anstiegs/Abfalls einer Funktion, (INT)

RAMP_REAL

Begrenzung des Anstiegs/Abfalls einer Funktion, (REAL)

HYSTERESIS

Hysterese

LIMITALARM

Grenzüberschreitung eines Eingabewertes wird geprüft

10-68

CoDeSys V2.3

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