Teil 2 von 2:

Automatisieren mit der IEC61499

Die internationale Norm IEC61499 beschreibt die Automatisierung von Geräten, Anlagen und Gebäuden mithilfe von verteilten Steuerungen. Sie ist damit ein Nachfolger des Automatisierungsstandards IEC61131. Teil 2 des Beitrags beschreibt die Anwendung der Norm anhand von Beispielen. Der erste Teil ist in der Ausgabe 4 erschienen. Darin wurden die Unterschiede zwischen beiden Normen beschrieben und die Konzepte der IEC61499 erläutert.

Autor: Prof. Dr. Ewald Matull, Fachhochschule Emden.


Applikationen (Anwendungen) zur Automatisierung eines verteilten Systems

IEC61499-Applications sind Netzwerke aus Function-Block-Instanzen. Ähnlich der Instanziierung der Funktionsbausteine in der SPS-Norm 61131 werden auch hier Exemplare der Function-Block-Typen mit jeweils eigenem Speicherraum und eigenem Namen erzeugt und miteinander vernetzt. Die Gesamtheit der vernetzten FB-Instanzen definiert die Funktionalität der Automatisierungslösung. Eine Applikation hat kein Interface, sie bildet keinen eigenen Typ und kann daher auch nicht erneut instanziiert werden. Typische Applikationen sind eine komplette Heizungs- oder Lüftungsanlage, eine Fertigungsmaschine, eine Verpackungsanlage. Der Konstrukteur kann eine Applikation entwickeln, ohne zuvor festzulegen, auf welchen und auf wie vielen Devices die Anwendung ablaufen soll. Er kann sich zunächst auf die Logik und den Zusammenhang der Prozessautomatisierung konzentrieren, erst im Nachhinein die Device-Anzahl festlegen und dann die entwickelten Function Blocks auf die beteiligten Steuerungen verteilen. Motive zur Verteilung könnten z.B. sein, spezielle Devices für Eingänge oder Ausgänge zur Prozessanbindung zu verwenden, die Devices prozessnah in einem weitläufigen Prozess zu verteilen oder spezielle Devices für schnelle Berechnungen oder zur Speicherung von Daten einzusetzen. Bild 4 zeigt im unteren Teil ein automatisiertes System aus vier Devices, auf denen die Applications A, B und C angesiedelt sind. Die Anwendung A umfasst beispielhaft drei Function Blocks, die verteilt auf den Devices 1 bis 3 angesiedelt sind. Um ihre gemeinsame Aufgabe zu erfüllen, müssen sie über das Kommunikationsnetz Daten und Events austauschen, anstatt Device-intern zu kommunizieren. Diese erst durch die Verteilung notwendige Kommunikation wird durch die oben genannten Service Function Blocks verwirklicht.

Anzeige

Verteilung einer Anwendung auf mehrere Devices

Die Zuordnung von Teilen einer Applikation auf die beteiligten Devices wird Mapping genannt. In der Entwicklungsoberfläche nxtStudio (Fa. nxtControl GmbH, www.nxtControl.com) kann der Anwender ausgewählte Teile seines Applikationsnetzwerks besonders einfach markieren und einem der im System verfügbaren Devices zuordnen. Bild 1 zeigt im oberen Fenster die gesamte Applikation. Im unteren Fenster erkennt man die auf das ausgewählte Device DEV0 gemappten Bausteine inputXY, ctlX und compcyl1, die im oberen Fenster weiß (das heißt, bereits gemappt) dargestellt sind. Der unten gezeigte Start-Block befindet sich per Default auf der Device-Ressource RES0 (als CPU des Devices zu verstehen), stellt die Verbindung zum Laufzeitsystem der Ressource her und generiert das INIT-Signal beim Kaltstart des Devices. Beim Mappen werden auf diese Weise alle Teile der Applikation einem der Devices zugeordnet. nxtStudio nimmt dem Programmierer die manuelle Erstellung der Kommunikationsverbindungen zwischen den verteilten Bestandteilen ab und erzeugt sie selbsttätig. Dies erspart erhebliche Projektierungsarbeit und unterstützt damit die Verteilung. Auch die nachträgliche Änderung der Verteilung wird dadurch sehr einfach. Beim Download der Applikation auf die beteiligten Steuerungen - dem sogenannten Deployment - erhält jedes Device automatisch diejenigen Teile der Applikation, die ihm beim Mappen zugeordnet wurden.

CAT: Objektorientierte Automatisierung mit dem nxtStudio

Die Entwicklungsoberfläche nxtStudio bietet als Erweiterung zu den Function-Block-Möglichkeiten der 61499-Norm einen weiteren Block-Typ, den sogenannten Composite Automation Type, abgekürzt CAT. Der CAT stellt ein Software-Objekt dar, mit dem man im Sinne der objektorientierten Programmierung Objekte einer automatisierten Anlage abbilden kann.

Ein CAT umfasst

  • • die Steuerungslogik für das Objekt,
  • • dessen visuelle Darstellung mit Symbolen und Bediendialogen sowie
  • • die Prozessanbindung, das heißt, die Anschaltung an die hardwarespezifischen Ein- und Ausgänge des Devices.

Der CAT wird im Projekt oder in einer Bibliothek als Bausteintyp angelegt und kann für gleiche Komponenten der Anlage per Drag & Drop beliebig oft instanziiert werden. Da ein CAT in einem übergeordneten CAT verwendet werden kann, können hierarchische CAT-Strukturen erzeugt werden, mit denen der Projekteur zusammengesetzte Teilanlagen abbilden kann. In Bild 2 und Bild 3 werden die Visualisierung und der hierarchische Aufbau eines Composite Automation Type gezeigt. Der Composite Automation Type bietet eine hervorragende Möglichkeit, Maschinenobjekte funktionell abzubilden und nach ausführlichen Tests in einer Bibliothek zur Wiederverwendung bereitzuhalten. Durch die Drag & Drop-Nutzung können Anlagen, die aus bekannten Komponenten bestehen, in einer neuen Applikation sehr einfach und zeitsparend zusammengestellt werden. Neben dem CAT-Konzept bietet das nxtStudio auch eine interessante Visualisierungsmöglichkeit zum Bedienen und Beobachten (B & B) an. In einer HMI-Laufzeitumgebung werden Visualisierungsoberflächen, sog. Leinwände (engl. canvas), dargestellt. Diese können dynamisierte Grafiken sowie grafische Bedienelemente (Taster, Radio-Buttons, Schiebelemente...) zur Bedienung der Anlage enthalten. Die HMI-Laufzeitumgebung kann auf jedem Device ausgeführt werden, das über ein grafisches Display verfügt und Microsofts .NET enthält. Die Canvases werden im nxtStudio mit einem grafischen Editor erstellt. Dort kommen insbesondere Instanzen der Symbole und Bedienoberflächen der verschiedenen CATs zum Einsatz. Die Integration von Automatisierung und Bedienen und Beobachten unterstützt die objektorientierte Entwicklung von Automatisierungslösungen zusätzlich.

Empfehlungen der Redaktion

Einsetzbare Controller

Typische Devices sind Industrie-PCs, die mit einem 61499-Laufzeitsystem versehen werden. Als Beispiele sind ausgewählte Beckhoff- oder Wago-Controller zu nennen, Siemens-Microbox-IPC bzw. die Embedded Controller S7-mEC sowie bestimmte ADAM-IPCs (Fa. Advantech). Rockwell-Controller sind im Zusammenhang mit der ISaGraf-Entwicklungsumgebung einsetzbar. IEC61499-Laufzeitsysteme werden von den Herstellern von 61499-Entwicklungsumgebungen zur Verfügung gestellt. Hier ist insbesondere die Fa. nxtControl in Österreich mit der Entwicklungsumgebung nxtStudio zu nennen. Weiterhin bietet die Fa. ISaGraf eine Integration der 61499 in ihre 61131-Entwicklungsumgebung an. Das Function Block Development Kit (FBDK) ist ursprünglich eine Prototypenentwicklung der Fa. Rockwell. Es wird aktuell von der Fa. Holobloc Inc. (www.holobloc.com) unterstützt und an Hochschulen für Forschungs- und Ausbildungszwecke eingesetzt. Die Initiative 4DIAC hat eine Entwicklungsumgebung und das Laufzeitsystem Forte zu gleichen Zwecken entwickelt. Die Laufzeitumgebung nxtRuntime von nxtControl setzt auf der Open Source-Runtime Forte auf.

Anwendungsbeispiele

Als interessante Beispiele einer Automatisierung mit der IEC61499 können verschiedene Projekte der Fa. nxtControl genannt werden:

  • • Gebäudeautomation in einem sehr namhaften Hotel in Wien
  • • Prozessautomatisierung in einer Düngemittelfabrik (Timac Agro in Pischelsdorf, Österreich)
  • • Automation einer großen Produktionshalle (Gebäudetechnik sowie Versorgung mit technischen Gasen) eines Premiumautoherstellers (Deutschland)
  • • Automation für das Weingut Mariel (Österreich)
  • • Automation einer CO2-Extraktionsanlage (Fa. Natex (Österreich)
Anzeige

Ausblick

Die IEC61499 unterstützt in hervorragender Weise die verteilte Automatisierung von Gebäuden, Maschinen und Anlagen. Die einfache Distribution einer Automatisierungsanwendung auf verschiedene Steuerungen, der mögliche Einsatz von Controllern verschiedener Hersteller sowie besonders die objektorientierte Automatisierung bieten interessante wirtschaftliche Vorteile. Die weitere Entwicklung dieses Automatisierungsbereichs am Markt sollte aufmerksam beobachtet werden.

Quellen

[01] Christensen, J. et al.: The IEC 61499 Function Block Standard: Software Tools and Runtime Platforms, www.holobloc.com/papers/iec61499/ 61499_SWT_RTP.pdf, Feb. 2014

[02] Hegny, I., et al.: Integrating software agents and IEC 61499 realtime control for reconfigurable distributed manufacturing systems, International Symposium on Industrial Embedded Systems, 2008

[03] Herkommer, G., Mayer, H.: Brückenschlag von IEC 61131 zu IEC 61499, Computer & Automation, 2013, www.computerautomation.de/steuerungsebene/ steuernregeln/artikel/93521

[04] Mayer, H.: Brücke gebaut, Computer & Automation, 2013, www.vyatkin.org/ publ/NxtControl%20Paper% 20Horst%20Mayer%20Brucke%20Gebaut.pdf

[05] Strasser, T., et al.: The IEC 61499 Function Block Standard: Launch and Takeoff, www.holobloc.com/papers/ iec61499/61499_LTO.pdf, Feb. 2014

[06] Vyatkin, V.: IEC 61499 Function Blocks für den Entwurf von Eingebetteten und Verteilten Systemen, Research Triangle Park: International Society of Automation (ISA), 2014, www.isa.org

[07] Vyatkin, V.; Schemm, C.: IEC 61499 - Die neue IEC 61131?, Nürnberg: Vortrag Automation Day 2011, www.vyatkin.org/ talks/talk.pdf, Feb. 2014

[08] nxtControl GmbH, Österreich: www.nxtcontrol.com

[09] ICS Triplex ISaGRAF: www.isagraf.com

[10] IEC61499 FAQ auf LinkedIn: www.linkedin.com/groups/IEC-61499-FAQ-4335830

Anzeige