Aktionen können definiert und Funktionsbausteinen und Programmen zugewiesen werden. Eine Aktion ist eine zusätzliche Implementierung, die in einer anderen Sprache geschrieben sein kann als die Basisimplementierung. Jede Aktion erhält einen Namen.
Eine Aktion arbeitet mit den Daten des Funktionsbausteins oder des Programms, dem sie zugewiesen ist. Sie verwendet dessen Ein/Ausgangs- und lokale Variablen und enthält keine eigenen Deklarationen.
Im Folgenden wird eine Aktion in FB dargestellt
In diesem Beispiel erhöht oder verringert jeder Aufruf des Funktionsbausteins FB1
die Ausgangsvariable out
, abhängig vom Wert der Eingangsvariablen in
. Ein Aufruf der Aktion Reset
des Funktionsbausteins setzt die Ausgangsvariable out
auf Null. In beiden Fällen wird dieselbe Variable out
geschrieben.
Um eine Aktion hinzuzufügen, wählen Sie entsprechende Programm oder den Funktionsbausteinknoten in der
bzw. im Knoten der aus, klicken Sie auf die grüne Plus-Schaltfläche, und führen Sie den Befehl aus. Alternativ können Sie mit der rechten Maustaste auf das Programm oder den Funktionsbausteinknoten klicken und die Befehle ausführen. Geben Sie im Dialogfeld den der Aktion und die gewünschte ein.EcoStruxure Machine Expert erleichtert die objektorientierte Programmierung durch die Verwendung der Vererbungsfunktion in den Funktionsbausteinen: Wenn Sie den Befehl für einen Funktionsbaustein ausführen, der von einem anderen Funktionsbaustein erbt, werden die im Basisfunktionsbaustein verwendeten Elemente , , und zur Auswahl gestellt:
Die Elemente
, , und , für die im Basisfunktionsbaustein ein = , oder definiert wurde, stehen zur Auswahl. Sie können die Definition für das geerbte Objekt anpassen. Im geerbten Objekt wird derselbe wie bei den Quellelementen zugewiesen.Die Elemente
, , und , für die der = definiert wurde, stehen nicht zur Auswahl, da der Zugriff auf den Basisfunktionsbaustein beschränkt ist.Syntax
<Program_name>.<Action_name>
oder
<Instance_name>.<Action_name>
Beachten Sie die Notation in FBD (siehe Beispiel unten).
Wenn eine Aktion innerhalb des eigenen Bausteins aufgerufen werden soll – d. h. des Funktionsbausteins oder Programms, zu dem sie gehört –, genügt es, nur den Aktionsnamen anzugeben.
In diesem Abschnitt finden Sie Beispiele für Aufrufe der oben genannten Aktion von einer anderen POU aus.
Deklaration für alle Beispiele:
PROGRAM PLC_PRG
VAR
Inst : Counter;
END_VAR
Aufruf der Aktion Reset
in einer anderen POU, die in IL (AWL) programmiert ist:
CAL Inst.Reset(In := FALSE)
LD Inst.out
ST ERG
Aufruf der Aktion Reset
in einer anderen POU, die in ST programmiert ist:
Inst.Reset(In := FALSE);
Erg := Inst.out;
Aufruf der Aktion Reset
in einer anderen POU, die in FBD programmiert ist:
Aktion in FBD