Funktionsblöcke
Ein Funktionsblock ist ein Anweisungsblock, der Eingabeparameter und Ausgabeparameter umfasst und mit internen Daten (Parametern) funktioniert. Er kann in den Sprachen Strukturierter Text (ST), Kontaktplan (KOP) oder Funktionsblockdiagramm (FBD) geschrieben werden.
Anweisungsblockformat
Ein Anweisungsblock wird durch ein Rechteck dargestellt und verfügt über eine feste Zahl von Ein- und Ausgangsverbindungspunkten. Ein elementarer Anweisungsblock führt eine einzelne Funktion aus.
Beispiel für einen Anweisungsblock

Element | Name | Beschreibung |
|---|---|---|
![]() | Blockname | Der Name der vom Anweisungsblock auszuführenden Funktion steht in dem kleinen Rechteck (oben). |
![]() | Eingang | Jede Eingabe eines Anweisungsblocks ist beschriftet und hat einen bestimmten Typ. |
![]() | Ausgang | Jede Ausgabe eines Anweisungsblocks ist beschriftet und hat einen bestimmten Typ. |
![]() | Eingabeverbindung | Eingaben werden am linken Rand verbunden. |
![]() | Ausgabeverbindung | Ausgaben werden am rechten Rand verbunden. |
![]() | Ausgangswert | Ausgangswerte werden angezeigt, wenn der Controller online ist. Es wird „??“ angezeigt, wenn der Controller offline ist und kein Standardwert vorhanden ist. |
Aufrufen eines Funktionsblocks
Wenn in einem Programm ein Funktionsblock aufgerufen wird, wird eine Instanz des Blocks aufgerufen. Die Instanz verwendet denselben Code, aber die Ein- und Ausgabeparameter werden instanziiert, was bedeutet, dass für jede Instanz des Funktionsblocks lokale Variablen kopiert werden. Die Werte der Variablen einer Funktionsblockinstanz werden von einem Zyklus in den nächsten Zyklus gespeichert.
Ein Funktionsblock kann von einem Programm oder von einem anderen Funktionsblock aufgerufen werden. Funktionsblöcke können nicht von Funktionen aufgerufen werden, weil Funktionen nicht instanziiert werden.
Definieren von Funktionsblock- und Parameternamen
Die Schnittstelle eines Funktionsblocks muss explizit mit einem Typ und einem eindeutigen Namen für jeden seiner aufrufenden Parameter (Eingabe) bzw. seiner Rückgabeparameter (Ausgabe) sein. Funktionsblöcke können mehrere Ausgabeparameter haben. Der Wert eines Rückgabeparameters für einen Funktionsblock hängt von der jeweils verwendeten Programmiersprache (FBD, KOP und ST) ab.
Namen von Funktionsblöcken und deren Parametern können bis zu 128 Zeichen enthalten. Namen von Funktionsblockparametern können mit einem Buchstaben oder Unterstrich beginnen, gefolgt von Buchstaben, Zahlen und einzelnen Unterstrichen.
Rückmeldung geben





