EcoStruxure Machine Expert Version 1.1 unterstützt nicht die Controller M258, LMC058 und LMC078.

Programm

Überblick

Ein Programm ist ein POU-Objekt, das bei der Ausführung einen oder mehrere Werte liefert. Die Werte werden von der letzten Ausführung des Programms bis zur nächsten Programmausführung gespeichert. Allerdings werden keine separaten Programminstanzen ausgeführt, wie bei den Funktionsbausteinen. Beim Aufruf eines Funktionsbausteins werden nur die Werte in der betreffenden Instanz des Funktionsbausteins geändert. Die Änderungen sind nur relevant, wenn dieselbe Instanz erneut aufgerufen wird. Änderungen der Programmwerte werden so lange beibehalten, bis das Programm erneut aufgerufen wird, selbst wenn der Aufruf von einer anderen POU aus erfolgt.

Hinzufügen eines Programms

Um ein Programm in einer bereits vorhandenen Anwendung hinzuzufügen, wählen Sie den entsprechenden Anwendungsknoten in der Anwendungsbaumstruktur aus, klicken Sie auf die grüne Plus-Schaltfläche und führen Sie den Befehl POU... aus. Sie können auch mit der rechten Maustaste auf den Knoten Anwendung klicken und den Befehl Objekt hinzufügen > POU im Kontextmenü ausführen. Um eine anwendungsunabhängige POU hinzuzufügen, wählen Sie den Knoten Global der Anwendungsbaumstruktur, und führen Sie dieselben Befehle aus.

Wählen Sie im Dialogfeld POU hinzufügen die Option Programm aus, geben Sie einen Namen für das Programm ein, und legen Sie die gewünschte Implementierungssprache fest. Bestätigen Sie diesen Vorgang mit Öffnen. Daraufhin wird die Editor-Ansicht für das neue Programm geöffnet und Sie können das Programm bearbeiten.

Deklarieren eines Programms

Syntax:

PROGRAMM <Programmname>

Hier folgen die Variablendeklarationen für Eingangs-, Ausgangs- und Programmvariablen, optional auch Access-Variablen.

Beispiel für ein Programm

G-SE-0027221.3.gif-high.gif

 

 

Aufrufen eines Programms

Ein Programm kann von einer anderen POU aufgerufen werden. Aber: Ein Programmaufruf in einer Funktion ist nicht erlaubt. Es gibt auch keine Instanzen von Programmen.

Wenn eine POU ein Programm aufgerufen hat und die Werte des Programms geändert wurden, werden diese Änderungen beibehalten, bis das Programm erneut aufgerufen wird. Dies gilt auch dann, wenn das Programm aus einer anderen POU aufgerufen wird. Beachten Sie, dass sich das vom Aufruf eines Funktionsbausteins unterscheidet. Beim Aufruf eines Funktionsbausteins werden nur die Werte in der betreffenden Instanz des Funktionsbausteins geändert. Die Änderungen sind nur relevant, wenn dieselbe Instanz erneut aufgerufen wird.

Wenn Sie Ein- und/oder Ausgangsparameter für ein Programm beim Programmaufruf festlegen möchten, können Sie dies im Textspracheneditor (z. B. ST) tun, indem Sie den Parametern nach dem Programmnamen in Klammern Werte zuweisen. Für Eingangsparameter wird die Zuweisung mit := angegeben, genauso wie bei der Initialisierung von Variablen im Deklarationsteil. Für Ausgangsparameter wird => verwendet. Siehe folgendes Beispiel.

Wenn das Programm mit der Eingabehilfe  und Option Mit Argumenten einfügen im Implementie­rungsteil eines textuellen Editors eingefügt wird, wird es automatisch gemäß dieser Syntax mit allen Parametern dargestellt. Demzufolge müssen Sie nicht notwendigerweise diese Parameter zuweisen.

Beispiel für Programmaufrufe

Programmaufruf in AWL:

CAL               PRGexample               (
         in_var:= 33                       )
LD                PRGexample.out_var       
ST                erg

Beispiel mit der Zuweisung der Parameter (Eingabehilfe mit der Option Mit Argumenten einfügen):

Programmaufruf in AWL mit Argumenten:

CAL               PRGexample               (
         in_var:= 33                       ,
        out_var=> erg                      )

Beispiel in ST

PRGexample(in_var:= 33);
erg := PRGexample.out_var;

Beispiel mit der Zuweisung der Parameter (Eingabehilfe mit der Option Mit Argumenten einfügen, siehe Beschreibung oben):

PRGexample (in_var:=33, out_var=>erg );

Beispiel in FUP

Programmaufruf in FUP:

G-SE-0027222.2.gif-high.gif