Symbol:
In einer Aktion implementieren Sie weiteren Programmcode. Diesen Programmcode können Sie in einer anderen Sprache implementieren als die Basisimplementierung. Die Basisimplementierung ist der Funktionsbaustein oder das Programm, unter der Sie die Aktion eingefügt haben.
Eine Aktion hat keine eigenen Deklarationen und arbeitet mit den Daten der Basisimplementierung. Das bedeutet, dass die Aktion die Eingabe/Ausgabe- und lokalen Variablen ihrer Basisimplementierung verwendet.
Sie fügen eine „Aktion“ einem Funktionsbaustein oder einem Programm mit dem Befehl „Projekt Objekt hinzufügen Aktion“ hinzu.
„Name“ |
Name der Aktion |
„Implementierungssprache“ |
Combobox für die Implementierungssprache |
Eingabeunterstützung beim Erzeugen von erbenden Bausteinen
Wenn Sie objektorientiert programmieren und die Vererbung (Schlüsselwort EXTENDS
) von Bausteinen nutzen, können Sie folgendermaßen Unterstützung erhalten:
Wenn Sie unterhalb eines von einem Basisbaustein abgeleiteten Bausteins eine Aktion, Eigenschaft, Methode oder Transition einfügen, öffnet sich der Dialog „... hinzufügen“. Dort ist das Eingabefeld für den Namen erweitert zu einer Combobox. Die Auswahlliste der Combobox enthält eine gültige Auswahl aus den im Basisbaustein vorhandenen Aktionen, Eigenschaften, Methoden oder Transitionen. Nun können Sie beispielsweise eine Methode des Basisbausteins auf einfache Weise zunächst übernehmen, um sie dann entsprechend für die abgeleitete Funktion des Bausteins anzupassen.
Methoden und Eigenschaften mit dem Zugriffsmodifizierer PRIVATE
erscheinen in dieser Auswahl nicht, da sie auch nicht vererbt werden. Methoden
und Eigenschaften mit dem Zugriffsmodifizierer PUBLIC
erhalten beim Übernehmen in den abgeleiteten Baustein automatisch ein leeres Zugriffsmodifiziererfeld,
was funktional das Gleiche bedeutet.
Beispiel

Aufruf einer Aktion
Syntax:
<program>.<action>
oder <FB-instance>.<action>
Wenn Sie eine Aktion nur innerhalb der Basisimplementierung aufrufen wollen, genügt es, nur den Aktionsnamen anzugeben.
Beispiele
Aufrufe einer Aktion „Reset“ von einer anderen POU aus. Der Aufruf erfolgt also nicht in der Basisimplementierung.
Deklaration:
PROGRAM PLC_PRG VAR Inst : Counter; END_VAR
Aufruf der Aktion „Reset“ in einer AWL-POU
CAL Inst.Reset(In := FALSE) LD Inst.Out ST ERG
Aufruf der Aktion „Reset“ in einer ST-POU:
Inst.Reset(In := FALSE); Erg := Inst.out;
Aufruf der Aktion „Reset“ in einer FUP-POU:

Häufige Verwendung finden Aktionen in der Implementierungssprache AS.
Siehe auch