Objekt Programm

Ein Programm ist eine POU, die bei der Ausführung einen oder mehrere Werte liefert. Alle Werte bleiben nach einer Ausführung des Programms bis zur nächsten Ausführung erhalten. Die Aufrufreihenfolge der Programme innerhalb eines SPS-Projekts definieren Sie in Taskobjekten.

Im SPS-Projektbaum haben die Programm-POUs das Suffix (PRG). Der Editor eines Programms besteht aus dem Deklarationsteil und dem Implementierungsteil.

Die oberste Zeile des Deklarationsteils enthält folgende Deklaration:

PROGRAM <program>

Programm aufrufen

Programme und Funktionsbausteine können ein Programm aufrufen. In einer Funktion ist ein Programmaufruf nicht erlaubt. Von Programmen gibt es keine Instanzen.

Wenn eine POU ein Programm aufruft und sich dadurch Werte des Programms verändern, bleiben diese Änderungen bis zum nächsten Programmaufruf erhalten. Die Werte des Programms bleiben auch dann erhalten, wenn der erneute Aufruf durch eine andere POU erfolgt. Dies unterscheidet sich vom Aufruf eines Funktionsbausteins. Beim Funktionsbaustein-Aufruf ändern sich nur die Werte der jeweiligen Instanz des Funktionsbausteins. Die Änderungen sind nur zu beachten, wenn eine POU dieselbe Instanz erneut aufruft.

Sie können für ein Programm die Eingabe- und/oder Ausgabeparameter auch direkt beim Aufruf setzen.

Syntax:

<program>(<input variable> := <value>, <output value> => <value>):

Wenn Sie einen Programmaufruf über die Eingabehilfe einfügen und dabei in der Eingabehilfe die Option Mit Argumenten einfügen aktiviert ist, fügt TwinCAT dem Programmaufruf Eingabe- und/oder Ausgabeparameter gemäß der Syntax zu.

Beispiele:

AWL:

Objekt Programm 1:

Mit Zuweisung der Parameter:

Objekt Programm 2:

ST:

SampleProg();
nRes := SampleProg.nOut2;

Mit Zuweisung der Parameter:

SampleProg(nIn1 := 2, nOut2 => nRes);

FUP:

Objekt Programm 3: