Skip to main content

Modifikatoren und Operatoren in AWL

Tabelle 5. Modifikatoren

Modifikator

Kombiniert mit Operator

Beschreibung

C

JMP, CAL, RET

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

N

JMPC, CALC, RETC

Die Anweisung wird nur ausgeführt, wenn das Ergebnis des vorhergehenden Ausdrucks FALSE ist.

N

ansonsten

Negation des Operanden (nicht des Akkus)



Tabelle 6. Operatoren mit den möglichen Modifikatoren

Operator

N

Bedeutung

Beispiel

LD

N

Lädt den (negierten) Wert des Operanden in den Akkumulator

LD ivar

ST

N

Speichert den (negierten) Inhalt des Akkumulators in den Operanden

ST iErg

S

Setzt den Operanden (Typ BOOL) auf TRUE, wenn der Inhalt des Akkumulators TRUE ist

S bVar1

R

Setzt den Operanden (Typ BOOL) auf FALSE, wenn der Inhalt des Akkumulators TRUE ist

R bVar1

AND

N,(

Bitweises AND des Akkumulatorwerts und des (negierten) Operanden

AND bVar2

OR

N,(

Bitweises OR des Akkumulatorwerts und des (negierten) Operanden

OR xVar

XOR

N,(

Bitweises, exklusives OR des Akkumulatorwerts und des (negierten) Operanden

XOR N,(bVar1,bVar2)

NOT

Bitweise Negation des Akkumulatorwerts

ADD

(

Addition des Akkumulatorwerts und des Operanden

Das Ergebnis wird in den Akkumulator geschrieben.

ADD ivar1

SUB

(

Subtraktion des Operanden vom Akkumulator-Wert

Das Ergebnis wird in den Akkumulator geschrieben.

SUB iVar2

MUL

(

Multiplikation von Akkumulatorwert und Operand

Das Ergebnis wird in den Akkumulator geschrieben.

MUL ivar2

DIV

(

Division des Akkumulatorwerts durch den Operanden

Das Ergebnis wird in den Akkumulator geschrieben.

DIV 44

GT

(

Prüft, ob der Akkumulatorwert größer als der Operandenwert ist

Das Ergebnis (BOOL) wird in den Akkumulator geschrieben.

GT 23

GE

(

Prüft, ob der Akkumulatorwert größer oder gleich dem Operandenwert ist

Das Ergebnis (BOOL) wird in den Akkumulator geschrieben.

GE iVar2

EQ

(

Prüft, ob der Akkumulatorwert gleich dem Operandenwert ist

Das Ergebnis (BOOL) wird in den Akkumulator geschrieben.

EQ iVar2

NE

(

Prüft, ob der Akkumulatorwert ungleich dem Operandenwert ist

Das Ergebnis (BOOL) wird in den Akkumulator geschrieben.

NE iVar1

LE

(

Prüft, ob der Akkumulatorwert kleiner oder gleich dem Operandenwert ist

Das Ergebnis (BOOL) wird in den Akkumulator geschrieben.

LE 5

LT

(

Prüfen, ob der Akkumulator-Wert kleiner als der Operandenwert ist

Das Ergebnis (BOOL) wird in den Akkumulator geschrieben.

LT cVar1

JMP

CN

Unbedingter (bedingter) Sprung zur angegebenen Sprungmarke

JMPN next

CAL

CN

(Bedingter) Aufruf eines Programms oder Funktionsbausteins (wenn der Akkumulator-Wert TRUE ist)

CAL prog1

RET

Verlassen des Bausteins und Rückkehr zum aufrufenden Baustein

RET

RET

C

Wenn der Akkumulatorwert TRUE ist: Verlassen des Bausteins und Rückkehr zum aufrufenden Baustein

RETC

RET

CN

Wenn der Akkumulatorwert FALSE ist: Verlassen des Bausteins und Rückkehr zum aufrufenden Baustein

RETCN

)

Auswerten der zurückgestellten Operation



Beispiel 9. Beispiel
_cds_img_il_example.png


Anwendung

Beschreibung

Beispiele

Mehrere Operanden für 1 Operator

. Möglichkeiten
  • Sie geben die Operanden in aufeinander folgenden Zeilen, getrennt durch Komma in der 2. Spalte ein.

  • Sie wiederholen den Operator in aufeinander folgenden Zeilen.

Variante 1:

_cds_img_il_add_multiple_operands_1.png

Variante 2:

_cds_img_il_add_multiple_operands_2.png

Komplexe Operanden

Für einen komplexen Operanden geben Sie in der ersten Spalte die öffnende Klammer ( an. Die schließende Klammer geben Sie in der ersten Spaltein einer separaten Zeile im Anschluss an die Operandeneinträge der folgenden Zeilen ein.

Ein String wird jeden Zyklus um ein Zeichen rotiert.

_cds_img_il_complex_oparand.png

Funktionsbaustein-Aufruf, Programmaufruf

Spalte 1: Operator CAL oder CALC

Spalte 2: Name der Funktionsbausteins-Instanz oder des Programms und öffnende Klammer (

Wenn keine Parameter folgen, wird hier die schließende Klammer ) eingegeben.

darauf folgende Zeilen:

Spalte 1: Parametername gefolgt von := für Eingabeparamer oder => für Ausgabeparameter

Spalte 2: Parameterwert gefolgt von Komma , wenn weitere Parameter folgen

Nach dem letzten Parameter, wird die schließende Klammer ) eingegeben.

Als Einschränkung bezüglich des IEC-Standards können hier komplexe Ausdrücke nicht verwendet werden. Solche Konstrukte müssen Sie dem Funktionsbaustein oder dem Programm noch vor dem Aufruf zuweisen.

_cds_img_il_fb_call1.png

Funktionsaufruf

Zeile 1: Spalte 1: LD

Spalte 2: Eingabevariable

Zeile 2: Spalte 1: Funktionsname Spalte2: weitere Eingabeparameter durch Komma getrennt

CODESYS schreibt den Rückgabewert in den Akkumulator.

Zeile 3: Spalte 1: ST Spalte 2: Variable, in die der Rückgabewert geschrieben wird

_cds_img_il_function_call.png

Aktionsaufruf

Wie Funktionsbaustein- oder Programmaufruf.

Der Aktionsname wird an den FB-Instanz- oder Programmnamen angehängt.

_cds_img_il_action_call.png

Sprung

Spalte 1: Operator JMP oder JMPC

Spalte 2: Name der Sprungmarke des Ziel-Netzwerks

Bei einem unbedingten Sprung muss die voraus gehenden Anweisungsfolge mit einem der folgenden Kommandos enden: ST,STN, S, R, CAL, RET, JMP

Bei einem bedingten Sprung hängt die Ausführung des Sprungs vom geladenen Wert ab.

_cds_img_il_jmp.png
. Für weitere Informationen siehe: