In der IEC EN 61499 wird beschrieben, wie die Automatisierung von Maschinen und Anlagen mit Hilfe verteilter Steuerungen realisiert werden kann. Die Norm setzt auf dem Automatisierungsstandard IEC 61131 auf, der in der Industrie weit verbreitet ist.
Die Basis der Norm bildet der Funktionsbaustein, der sogenannte Function Block, der sich nicht nur durch Datenein- und Ausgänge auszeichnet, sondern darüber hinaus auch über Ein- und Ausgänge für sogenannte Events bietet. Während in einer IEC-61131-SPS die Programmschritte zyklisch abgearbeitet werden, rufen sie sich in einem IEC-61499-System gegenseitig mit Hilfe der Events auf. Ein Netz solcher Function Blocks steuert die Abläufe in einer Anlage.
Ein wesentlicher Unterschied zur IEC 61131 besteht darin, dass die Norm eine freie Zuordnung von Teilen dieses Netzes zu den einzelnen Steuerungen einer Anlage ermöglicht. Die in der Norm als Device bezeichneten Steuerungen sind in der Lage, beispielsweise über Ethernet miteinander zu kommunizieren. Diese Devices, für die ein IEC-61499-Laufzeitsystem verfügbar ist, können beliebig zusammenarbeiten. Damit ist die IEC EN 61499 ideal für den Aufbau verteilter Lösungen geeignet.
Laut der definierten Befehlsumfänge ist es in einem IEC-61499-System auch möglich, mittels entsprechender Devices eine Umprogrammierung anderer Devices durchzuführen. So ist der Aufbau sich selbstkonfigurierender Systeme möglich.
Funktionen als Function Blocks
Gemäß IEC 61131 wird die Funktionalität von Automatisierungssystemen in Programmen, Funktionsbausteinen sowie Funktionen bzw. sogenannten Programm-Organisationseinheiten (POE) gekapselt, die hierarchisch abgearbeitet werden. Die sogenannten Tasks rufen die Programme meist zyklisch, aber auch zeit- oder ereignisgesteuert auf.
In aller Regel erfolgt der Programmablauf als zyklische Abarbeitung des Programmcodes in der Runtime. Die einzelnen Programmteile werden dabei zyklisch wiederholt. So liest die Steuerung die Sensorsignale eines Prozesses zyklisch ein, berechnet die Ausgangsvariablen zyklisch und gibt sie an die Hardwareausgänge der Steuerung aus. Dabei wird in der Regel der gesamte Programmcode durchlaufen, auch dann, wenn sich am eigentlichen Prozess nichts geändert hat.
Die IEC 61499 weicht davon ab und basiert auf dem Konzept der sogenannten Function Blocks. Mit Hilfe dieser Function Blocks können netzartige Programmstrukturen zur Realisierung von Automatisierungsanwendungen aufgebaut werden. Im Unterschied zu den Funktionsbausteinen der IEC 61131 haben die Function Blocks nicht nur Daten-Ein- und Ausgänge, sondern eben auch Ein- und Ausgänge für Ereignissignale.
Function Blocks können dabei über einen Eventausgang die Ausführung weiterer Function Blocks auslösen. Dabei laufen die Function Blocks nicht zyklisch ab, sondern werden ereignisgesteuert ausgeführt. Die Funktionsbausteine in einem Device bzw. einer Steuerung werden nur dann bearbeitet, wenn sie von entsprechenden Events aufgerufen werden, sodass der häufige Leerlauf der zyklischen Programmbearbeitung entfällt. Die Datenkommunikation bei verbundenen Steuerungen entfällt, da nur im Ereignisfall kommuniziert wird. Function Blocks können dabei objektorientiert aufgebaut sein, sie bilden so ein Objekt in einer Anlage mit allem physischen und logischen Verhalten ab.
Zusammenfassung komplexerer Funktionen
Der Composite Function Block fasst die Funktionen mehrerer Function Blocks zusammen, sodass sie als Gesamtheit aufgerufen werden können. Nach außen hin erscheint er mit seinen Schnittstellen wie ein Basic Function Block, im Inneren enthält er jedoch ein Netz von mehreren Function Blocks. Die nach außen benötigten Signale bilden das Interface. (ge)