Definition und Zweck:
Ein Funktionsaufruf (oder Bausteinaufruf) ist ein Befehl in einem SPS-Programm oder einer anderen Programmiersprache, der die Ausführung einer Funktion (FC) oder eines Funktionsbausteins (FB) initiiert. Beim Aufruf werden spezifische Parameter an den Baustein übergeben, und der Baustein führt seine vordefinierte Logik aus, um ein Ergebnis zu berechnen oder eine Aktion durchzuführen.
Der Zweck von Funktionsaufrufen ist es, Programme zu strukturieren, modular aufzubauen und Code wiederzuverwenden. Anstatt dieselbe Logik an mehreren Stellen im Programm zu wiederholen, wird sie einmal in einer Funktion oder einem Funktionsbaustein gekapselt und dann bei Bedarf aufgerufen.
Ablauf eines Funktionsaufrufs:
- Parameterübergabe: Die Werte der Eingabeparameter (Input-Variablen) werden an die Funktion oder den Funktionsbaustein übergeben (entweder als Wert (Call-by-Value) oder als Referenz (Call-by-Reference)).
- Ausführung des Bausteincodes: Die Logik innerhalb des Funktionsbausteins oder der Funktion wird ausgeführt.
- Rückgabewert / Parameter aktualisieren: Eine Funktion liefert einen Rückgabewert. Ein Funktionsbaustein kann Ausgangsparameter aktualisieren.
- Rückkehr zum aufrufenden Programm: Nachdem der Bausteincode vollständig ausgeführt wurde, kehrt die Programmausführung an die Stelle zurück, von der der Aufruf erfolgte.
Relevanz in der SPS-Programmierung:
Funktionsaufrufe sind das Rückgrat der modernen, strukturierten SPS-Programmierung:
- Modularität: Komplexe Aufgaben werden in kleinere, handhabbare Einheiten zerlegt.
- Wiederverwendbarkeit: Einmal erstellte und getestete Funktionen oder Funktionsbausteine können in verschiedenen Projekten oder mehrfach im selben Projekt verwendet werden, was den Engineering-Aufwand reduziert.
- Übersichtlichkeit: Der Hauptprogrammcode bleibt schlank und lesbar, da komplexe Details in die Bausteine ausgelagert sind.
- Fehlerreduzierung: Durch die Kapselung und Wiederverwendung von getestetem Code werden Fehler minimiert.
- Hierarchisierung: Programme können hierarchisch aufgebaut werden, wobei höhere Bausteine niedrigere Bausteine aufrufen.
SPS-Programmiersprachen nach IEC 61131-3 (FUP, KOP, ST, AWL) bieten alle Mechanismen für Funktionsaufrufe und die Verwaltung von Bausteinen.
→ Siehe auch: FC (Function), FB (Funktionsbaustein), Baustein, Parameterübergabe, Instanz, SPS-Programmierung

