Definition und Zweck:
Ein FB (Funktionsbaustein, engl. Function Block) ist eine Programmiereinheit in der SPS-Programmierung nach IEC 61131-3. Er zeichnet sich dadurch aus, dass er im Gegensatz zu einer reinen Funktion (FC) einen eigenen Speicherbereich besitzt. Dieser Speicherbereich, oft als Instanz-Datenbaustein (Instanz-DB) bezeichnet, ermöglicht es dem Funktionsbaustein, interne Zustände und Daten über mehrere Zyklusdurchläufe hinweg zu speichern.
Das Konzept des Funktionsbausteins ist grundlegend für die strukturierte und objektorientierte Programmierung in der Automatisierungstechnik, da es die Kapselung von Funktionalität und Daten ermöglicht und die Wiederverwendbarkeit von Programmcode fördert.
Merkmale und Vorteile:
- Zustandsbehaftet: Kann interne Zustände speichern (z.B. den aktuellen Wert eines Zählers, den Zustand eines Motors, den Integrationsanteil eines PID-Reglers).
- Instanziierbarkeit: Derselbe Funktionsbaustein kann mehrfach im Programm aufgerufen werden. Jede Instanz erhält dabei ihren eigenen, separaten Instanz-DB, sodass sie unabhängig voneinander arbeiten können.
- Kapselung: Die interne Implementierung des FBs ist von außen verborgen. Der Zugriff erfolgt nur über definierte Ein- und Ausgänge sowie In-Out-Parameter.
- Wiederverwendbarkeit: Einmal erstellte und getestete Funktionsbausteine können in verschiedenen Projekten oder für mehrere gleiche Komponenten in derselben Maschine verwendet werden.
- Modularität: Fördert die Gliederung komplexer Programme in überschaubare, logische Einheiten.
- Fehlerreduzierung: Durch die Verwendung von erprobten und getesteten FBs werden Fehler bei der Programmierung minimiert.
Anwendungsbeispiele:
Funktionsbausteine werden für eine Vielzahl von Aufgaben in der SPS-Programmierung eingesetzt:
- Timer und Zähler: Standardfunktionen, die interne Zustände benötigen.
- PID-Regler: Speichern die Parameter (P, I, D) und den Integrationsanteil.
- Motorsteuerungen: Kapseln die Logik für das Starten, Stoppen, Überwachen und Diagnostizieren eines Motors.
- Ventilsteuerungen: Verwalten den Zustand eines Ventils.
- Positionssteuerungen: Für die Ansteuerung von Achsen.
- Kommunikationsbausteine: Für die Abwicklung von Protokollen.
Funktionsbausteine sind ein unverzichtbares Werkzeug für professionelle SPS-Programmierer, um komplexe Automatisierungslösungen effizient und strukturiert zu entwickeln.
→ Siehe auch: FC (Function), Instanz, Instanz-DB, Baustein, IEC 61131-3, Objektorientierte Programmierung

