Modifikatoren und Operatoren in AWL
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). | 
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; Ergebnis wird in den Akkumulator geschrieben. | ADD ivar1 | 
| SUB | ( | Subtraktion des Operanden vom Akkumulator-Wert; Ergebnis wird in den Akkumulator geschrieben. | SUB iVar2 | 
| MUL | ( | Multiplikation von Akkumulatorwert und Operand; Ergebnis wird in den Akkumulator geschrieben. | MUL ivar2 | 
| DIV | ( | Division des Akkumulatorwerts durch den Operanden; Ergebnis wird in den Akkumulator geschrieben. | DIV 44 | 
| GT | ( | Prüft, ob der Akkumulatorwert größer als der Operandenwert ist; Ergebnis (BOOL) wird in den Akkumulator geschrieben; > | GT 23 | 
| GE | ( | Prüft, ob der Akkumulatorwert größer oder gleich dem Operandenwert ist; Ergebnis (BOOL) wird in den Akkumulator geschrieben. | GE iVar2 | 
| EQ | ( | Prüft, ob der Akkumulatorwert gleich dem Operandenwert ist; Ergebnis (BOOL) wird in den Akkumulator geschrieben. | EQ iVar2 | 
| NE | ( | Prüft, ob der Akkumulatorwert ungleich dem Operandenwert ist; Ergebnis (BOOL) wird in den Akkumulator geschrieben. | NE iVar1 | 
| LE | ( | Prüft, ob der Akkumulatorwert kleiner oder gleich dem Operandenwert ist; Ergebnis (BOOL) wird in den Akkumulator geschrieben. | LE 5 | 
| LT | ( | Prüfen, ob der Akkumulator-Wert kleiner als der Operandenwert ist; 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:

| Anwendung | Beschreibung | Beispiel | 
|---|---|---|
| Mehrere Operanden für 1 Operator | Möglichkeiten 
 | Variante 1: 
 Variante 2: 
 | 
| 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 Spalte in einer separaten Zeile im Anschluss an die Operandeneinträge der folgenden Zeilen ein. | Ein String wird jeden Zyklus um ein Zeichen rotiert: 
 | 
| 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. | 
 | 
| Funktionsaufruf | Zeile 1: Spalte 1: LD Spalte 2: Eingabevariable Zeile 2: Spalte 1: Funktionsname Spalte2: weitere Eingabeparameter durch Komma getrennt. TwinCAT schreibt den Rückgabewert in den Akkumulator. Zeile 3: Spalte 1: ST Spalte 2: Variable, in die der Rückgabewert geschrieben wird | 
 | 
| Aktionsaufruf | Wie Funktionsbaustein- oder Programmaufruf. Der Aktionsname wird an den FB-Instanz- oder Programmnamen angehängt. | 
 | 
| 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. | 
 | 
Siehe auch:






