Ein Funktionsbaustein ist eine POU, die bei der Ausführung eines SPS-Programms einen oder mehrere Werte liefert. Im Gegensatz zu einer Funktion werden die Werte der Ausgangsvariablen und der erforderlichen internen Variablen von einer Ausführung des Funktionsbausteins bis zur nächsten gespeichert. Somit werden beim Aufruf eines Funktionsbausteins mit denselben Argumenten (Eingabeparametern) nicht unbedingt dieselben Ausgabewerte geliefert.
Zusätzlich zur durch den Standard IEC11631-3 beschriebenen Funktion, wird objektorientiertes Programmieren unterstützt und Funktionsbausteine können als Erweiterungen anderer Funktionsbausteine definiert werden. Sie können Schnittstellendefinitionen hinsichtlich des Methodenaufrufs enthalten. Dies bedeutet, dass beim Programmieren mit Funktionsbausteinen das Prinzip der Vererbung angewendet werden kann.
Ein Funktionsbaustein wird immer über eine Instanz aufgerufen, die eine Reproduktion (Kopie) des Funktionsbausteins ist.
Um einer bestehenden Applikation einen Funktionsbaustein hinzuzufügen, wählen Sie den entsprechenden Knoten in der
aus, klicken Sie auf die grüne Plus-Schaltfläche und führen Sie den Befehl aus. Alternativ können Sie mit der rechten Maustaste auf den Knoten klicken und den Befehl ausführen. Um einen applikationsunabhängigen Funktionsbaustein zu erstellen, wählen Sie den Knoten der aus.Wählen Sie im Dialogfeld
die Option aus, geben Sie einen (<Bezeichner>) für den Funktionsbaustein ein, und legen Sie die gewünschte fest.Außerdem können Sie folgende Optionen festlegen:
Option |
Beschreibung |
---|---|
|
Geben Sie hier den Namen eines anderen Funktionsbausteins aus dem Projekt ein, der als Basis für den aktuellen Baustein verwendet werden soll. Für eine detaillierte Beschreibung siehe Erweiterung eines Funktionsbausteins. |
|
Geben Sie hier die Namen der im Projekt definierten Schnittstellen an, die im aktuellen Funktionsbaustein implementiert werden sollen. Mehrere Schnittstellen können durch Kommata getrennt angegeben werden. Eine detaillierte Beschreibung finden Sie unter Implementieren von Schnittstellen. |
|
Aus Kompatibilitätsgründen sind die Zugriffsbezeichner optional. Bezeichner ist äquivalent mit dem Angeben keines Bezeichners.Alternativ kann eine der Optionen aus der Auswahlliste entnommen werden:
|
|
Wählen Sie die gewünschte Programmiersprache für alle Methoden- und Eigenschaftsobjekte aus, die über die Schnittstellenimplementierung erstellt werden, unabhängig von der für den Funktionsbaustein festgelegten Programmiersprache. |
Klicken Sie auf
, um die Einstellungen zu bestätigen. Die Editoransicht für den neuen Funktionsbaustein wird geöffnet und Sie können mit der Bearbeitung beginnen.Syntax
FUNCTION_BLOCK<Zugriffsbezeichner> <Funktionsbausteinname> | EXTENDS <Funktionsbausteinname> | IMPLEMENTS <Mit Komma geteilte Liste an Schnittstellennamen>
Hier folgen die Variablendeklarationen. Sie können die Eingänge und Ausgänge auch für schnelles Ein- und Ausblenden gruppieren, wenn der Funktionsbaustein in einem FBD- oder LD-Editor verwendet wird. Siehe Kapitel Attribut-Anschlussgruppe.