Funktionen/Funktionsbausteine: Einfügen

 

Syntax für den Funktionsaufruf

Ein Funktionsaufruf in ST hat grundsätzlich folgende Syntax:

OutVariable := functionName(InVar1, InVar2);

Die Namen der erforderlichen Eingangsvariablen (Formalparameter) stehen, eingeschlossen in runde Klammern, hinter dem Funktion­snamen. Der Rückgabewert (das Ergebnis der Funktion) muss einer Variablen zugewiesen werden.

Alle Formalparameter einer Funktion müssen angegeben werden.

Syntax für den Aufruf eines Funktionsbausteins

Der Aufruf eines Funktionsbausteins in ST hat grundsätzlich die folgende Syntax:

instance(invar1:=1, invar2:=2);

a:= instance.outvar1;

b:= instance.outvar2;

In dem hier gezeigten Beispiel wird der Funktionsbaustein mit dem Instanznamen 'instance' und den Eingangsparametern invar1 und invar2 aufgerufen (jedem Parameter ist dabei ein Wert zugewiesen). Die FB-Instanz schreibt ihre Ergebniswerte in die Ausgangsparameter outvar1 und outvar2. Im hier gezeigten Beispiel werden die Ausgang­swerte den Variablen a und b zugewiesen.

Eingangs-/Ausgangsformalparameter können bei FBs weggelassen werden, da sie nicht obligatorisch sind.

Daher sind auch folgende Aufrufvarianten für das obige Beispiel zulässig:

instance(invar2:=2);

oder

instance();

Wertezuweisungen an FB-Eingangsformalparameter sind optional. Wenn sie weggelassen werden, wird der Standard-Anfangswert des erwarteten Datentyps verwendet.

So rufen Sie Funktionen/Funktionsbausteine auf

Einfügen von Funktionen und Funktionsbausteinen mit dem Editor-Assistenten

  1. Ziehen Sie das Element bei gedrückter linker Maustaste aus dem Editor-Assistenten in den Texteditor und lassen Sie die Taste an der gewünschten Codeposition los.

  2. Beim Einfügen eines Funktionsbausteins:

    Beim Ablegen des Code-Elements erscheint ein Dialog und schlägt einen Namen für die neue FB-Instanz vor. Wählen Sie einen Namen aus oder geben Sie einen neuen ein und bestätigen Sie den Dialog.

    Beim Einfügen des FB-Codes wird seine Instanzvariable in das lokale Variablen-Arbeitsblatt eingefügt.

  3. Ersetzen Sie alle Platzhalter durch die "echten" Variablen.

Einfügen eines Funktions-/Funktionsbaustein-Aufrufs mit IntelliSense

  1. Um einen Funktionsbaustein aufzurufen, fügen Sie zuerst im lokalen Variablen-Arbeitsblatt der ST-POE eine Instanzvariable ein.

    Beispiel: Variable CTD1 ist eine Instanz des Funktionsbausteins CTD ('Datentyp' CTD):

    FunctionInstanceVar.gif 

    Für Funktionen sind keine Instanzvariablen notwendig.

  2. Geben Sie im ST-Code den Funktions-/Funktionsbaustein-Aufruf ein.

    Beispiel für den Aufruf eines Funktionsbausteins:

    FunctionBlockTyped.gif

    IntelliSense  unterstützt Sie während der Texteingabe beim Finden und Einfügen der korrekten Namen für Funktionen/Funktions­bausteine und Variablen.

    Der Tooltip, der nach Eingabe der linken Klammer erscheint, zeigt die erforderliche Syntax für Funktions-/Funktionsbaustein-Aufrufe, einschließlich der Parameter.

    Beispiel:

    FunctionBlockTooltip.png

    Wenn Sie den Funktions-/Funktionsbaustein-Aufruf abges­chlossen haben, können Sie die Syntax wieder anzeigen lassen, indem Sie die linke Klammer löschen und erneut eintippen.

  3. Wenn Sie Eingangsvariablen zu Formalparametern zugewiesen haben oder wenn Sie Formalparameter Ausgangsvariablen zuge­wiesen haben, dann müssen Sie diese Variablen im lokalen Vari­ablen-Arbeitsblatt Ihrer ST-POE deklarieren.

Mischen von sicherheitsbezogenen Variablen und Standard-Vari­ablen in ST

Sicherheitsbezogene und Standard-Variablen können zusammen in einer Anweisung verwendet werden, wenn bestimmte Regeln einge­halten werden. Prinzipiell ist es erlaubt, sicherheitsbezogene Variablen Standard-Variablen zuzuweisen, aber nicht umgekehrt.

Weitere Informationen

Weitere Informationen finden Sie im Thema "Mischen von sicher­heitsbezogenen Variablen und Standard-Variablen in ST".