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 Funktionsnamen. 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 Ausgangswerte 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
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.
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.
Ersetzen Sie alle Platzhalter durch die "echten" Variablen.
Einfügen eines Funktions-/Funktionsbaustein-Aufrufs mit IntelliSense
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):
Für Funktionen sind keine Instanzvariablen notwendig.
Geben Sie im ST-Code den Funktions-/Funktionsbaustein-Aufruf ein.
Beispiel für den Aufruf eines Funktionsbausteins:
IntelliSense unterstützt Sie während der Texteingabe beim Finden und Einfügen der korrekten Namen für Funktionen/Funktionsbausteine 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:
Wenn Sie den Funktions-/Funktionsbaustein-Aufruf abgeschlossen haben, können Sie die Syntax wieder anzeigen lassen, indem Sie die linke Klammer löschen und erneut eintippen.
Wenn Sie Eingangsvariablen zu Formalparametern zugewiesen haben oder wenn Sie Formalparameter Ausgangsvariablen zugewiesen haben, dann müssen Sie diese Variablen im lokalen Variablen-Arbeitsblatt Ihrer ST-POE deklarieren.
Mischen von sicherheitsbezogenen Variablen und Standard-Variablen in ST
Sicherheitsbezogene und Standard-Variablen können zusammen in einer Anweisung verwendet werden, wenn bestimmte Regeln eingehalten werden. Prinzipiell ist es erlaubt, sicherheitsbezogene Variablen Standard-Variablen zuzuweisen, aber nicht umgekehrt.
Weitere Informationen
Weitere Informationen finden Sie im Thema "Mischen von sicherheitsbezogenen Variablen und Standard-Variablen in ST".