Navigation:  SPS > Programm >

Funktionen

Vorherige SeiteKapitelübersichtNächste Seite

 

1        Aufgabe

In Funktionen formulieren Sie Unter-Aufgaben des Programms. Wenn Sie im OB 1 oder einem anderen Baustein eine Funktion aufrufen, werden die Anweisungen der Funktion bearbeitet. Am Ende der Funktion wird die Bearbeitung im aufrufenden Baustein nach dem Aufruf fortgesetzt.

 

 

Funktionen können auch geschachtelt aufgerufen werden, d.h. Sie können innerhalb einer Funktion eine weitere aufrufen. Funktionen, die häufig wiederkehrende Aufgaben zu erfüllen haben, können auch mehrfach aufgerufen werden.

 

2        Parameter

Funktionen können auch mit Parametern (Platzhaltern) versehen werden. Dadurch ist es möglich, die Funktion bei jedem Aufruf mit anderen Ausgangsdaten arbeiten zu lassen und von der Funktion Werte an den aufrufenden Baustein zurückzugeben. Innerhalb einer Funktion werden die Parameter Formal-Parameter genannt.

Bei der Programmierung der Funktion verwenden Sie die Parameter wie Ein- und Ausgänge, Merker oder Datenwörter. Welche Daten dann von der SPS tatsächlich verwendet werden legen Sie beim Aufruf der Funktion fest. Diese Daten heißen dann Aktual-Parameter.

Welche Parameter Ihre Funktion haben soll, legen Sie im Kopf der Funktion fest. Für jeden Parameter müssen Sie diese Eigenschaften festlegen (deklarieren), die im Weiteren erläutert werden:

 

1. Deklarationstyp

In,Out,InOut,Temp

2. Name

Dadurch bezeichnen Sie den Parameter innerhalb der Funktion

3. DatenTyp

Dadurch legen Sie u.a. die Größe des Parameters fest

4. Anfangswert

Hat bei Funktionen keine Bedeutung

5. Kommentar

Damit auch andere Ihr Programm verstehen können

 

3        Deklarationstyp

Bei Funktionen gibt es drei Arten von Parametern und eine Art von Variablen:

 

In - Parameter
Out - Parameter
In - Out – Parameter
Temporäre Variablen

 

In-Parameter werden beim Aufruf der Funktion mit dem Wert des Aktual-Parameters belegt. In-Parameter sollten innerhalb der Funktion nur gelesen werden. Sie können sie zwar auch auf In-Parameter schreibenund dann innerhalb der Funktion mit dem geänderten Wert arbeiten, aber diese Änderung wirkt sich nicht auf die Aktual-Parameter im aufrufenden Baustein aus.

 

Die an Out-Parameter angeschlossenen Operanden werden bei der Rückkehr zum aufrufenden Baustein mit dem in der Funktion ermittelten Wert belegt. Sie können innerhalb einer Funktion Out-Parameter auch lesen, wenn Sie dies jedoch tun, bevor Sie dem Parameter einen Wert zugewiesen haben, wird das Abfrageergebnis zufällig sein, da Out-Parameter beim Aufruf einer Funktion nicht mit dem Wert des angeschlossenen Operanden belegt werden.

 

In-Out-Parameter schließlich vereinigen das Verhalten der In- und Out-Parameter. Beim Aufruf einer Funktion werden sie mit dem Wert des angeschlossenen Operanden belegt. Sie können innerhalb der Funktion gelesen und verändert werden. Bei der Rückkehr zum aufrufenden Baustein wird der geänderte Wert in den angeschlossenen Operanden übertragen.

 

Das von TrySim verwendete Parametermodell unterscheidet sich in Details von dem einer S7. Beachten Sie dazu bitte das Kapitel Abweichend implementierte Eigenschaften.

 

Zur Speicherung von Zwischenergebnissen, die nur innerhalb der Funktion benötigt werden, können Sie die temporären Variablen verwenden.

 

4        Name

Die Parameter und die Variablen erhalten je einen Namen, den Sie beim Programmieren verwenden, um darauf zuzugreifen. Im Programmcode werden die Namen immer mit einem vorangestellten ‚#‘ (Doppelkreuz,Gartenzaun) gekennzeichnet. Bei eindeutigen Namen, die nicht auch in der Symboltabelle verwendet werden oder einem Schlüsselwort entsprechen, brauchen Sie das Zeichen ‚#‘ nicht einzugeben, lediglich wenn Verwechslungsmöglichkeiten bestehen ist die Eingabe erforderlich.

 

5        Datentyp

Außer der Festlegung, ob ein Parameter In-, Out- oder InOut- Eigenschaften haben soll, müssen Sie auch den Datentyp des Parameters bestimmen (deklarieren). Das sind z.B.

 

Typ

Größe

Beispiel für anschließbaren Aktualparameter

BOOL

1 Bit

M 1.2

BYTE

1 Byte

EB 2

CHAR

1 Byte

MB 5

INT

2 Bytes

AW 10

WORD

2 Bytes

DBW 10

REAL

4 Bytes

DBD 20

 

Siehe auch: Datentypen

 

6        Anfangswert

Diese Spalte ist nur bei den Funktionsbausteinen relevant.

 

7        Kommentar

Hiermit können Sie die Aufgabe der Parameter und Variablen erläutern, sodass auch Andere Ihr Programm verstehen können. Da Sie selbst in spätestens einem Jahr ebenfalls ein “Anderer” sind, sollten Sie von dieser Möglichkeit ausgiebig Gebrauch machen.

 

8        ENO-Ausgang

Wenn Sie eine Funktion in FUP oder KOP aufrufen, können Sie, in Abhängigkeit von Berechnungsergebnissen in der Funktion, andere Operationen (oder weitere Aufrufe) durchführen lassen, indem Sie sie an den ENO-Ausgang der Funktion anschließen. Die an diesen Ausgang angeschlossenen Operationen werden ausgeführt, wenn das BIE-Bit innerhalb der Funktion auf “1” gesetzt worden ist. Sie werden übersprungen, wenn das BIE-Bit “0” ist.

 

 

Siehe auch:

Organisationsbausteine

Funktionsbausteine

 

 

STEP®5, STEP®7, S7-300 und S7-400 sind eingetragene Warenzeichen der Siemens AG.