Auf dem Weg in die Anwendung

Mitte 2007 wurde die Open-Source-Initiative 4DIAC ins Leben gerufen mit dem Ziel, eine IEC-61499-Automatisierungsumgebung bereitzustellen. Jetzt sind erste kommerzielle Produkte am Markt verfügbar und auch die ersten Anwendungen umgesetzt.

Mitte 2007 wurde die Open-Source-Initiative 4DIAC ins Leben gerufen mit dem Ziel, eine IEC-61499-Automatisierungsumgebung bereitzustellen. Jetzt sind erste kommerzielle Produkte am Markt verfügbar und auch die ersten Anwendungen umgesetzt.

Die Steuerungstechnik ist geprägt von einer Vielzahl an konkurrierenden, proprietären Produkten. Obwohl sich in den letzten 15 Jahren der Standard IEC 61131-3 zur einheitlichen Programmierung von Speicherprogrammierbaren Steuerungen (SPSen) durchgesetzt hat, ist er mittlerweile in die Jahre gekommen. Viele aktuell notwendigen Funktionen, wie eine Architektur für verteilte Steuerungssysteme, ereignisgesteuerte Abarbeitung von Applikationen oder die direkte Interaktion mit überlagerten Systemen – um nur einige Beispiele zu nennen – bleiben für den Anwender ungelöst. Die IEC hat daher im Jahr 2005 den Standard IEC 61499 veröffentlicht. Dieser nimmt sich der Defizite der IEC 61131-3 an und definiert eine verteilte und ereignisbasierte Architektur, die Portabilität (Austausch von Steuerungsprojekten unterschiedlicher Tools), Interoperabilität (Kommunikation und Interaktion verschiedener Steuerungs- und Feldgeräte untereinander) und Konfigurierbarkeit (Steuerungs- und Feldgeräte mit einheitlicher Konfigurationsschnittstelle) ermöglichen soll.

Speziell was das Thema Portabilität betrifft, hat auch die PLCopen mit der Definition eines XML-Formats für die Elemente der IEC 61131-3 in jüngster Zeit einen großen Fortschritt erzielt. Allerdings differenzieren sich die Hersteller durch die Erweiterung ihrer Systeme mit spezifischen – und damit wieder proprietären – Sprachkonstrukten, wodurch sich das Portieren von Steuerungsprogrammen erst recht wieder schwierig gestaltet. Hinsichtlich der beiden anderen Punkte bietet die IEC 61131-3 heute praktisch keine direkten Lösungen; außer durch Implementierung zusätzlicher Methoden, wie etwa der Spezifikationen der OPC-Foundation. Trotz dieser Mankos der IEC 61131-3 ist die IEC 61499 in der automatisierungstechnischen Praxis noch sehr wenig verbreitet. Ergo haben das auf industrielle Forschung und Technologie-Entwicklung spezialisierte Unternehmen Profactor mit Sitz im österreichischen Steyr und das Institut für Automatisierungs- und Regelungstechnik der TU Wien im Sommer 2007 eine gemeinsame Open-Source-Initiative gestartet – genannt 4DIAC (Framework for Distributed Industrial Automation and Control). Ziel dieser Initiative ist die Entwicklung und Bereitstellung einer offenen Referenzimplementierung für verteilte Steuerungssysteme auf Basis der IEC 61499, welche die obigen Forderungen nach Portabilität, Konfigurierbarkeit und Interoperabilität erfüllt. Zudem wird 4DIAC von der O3neida unterstützt, einer internationalen Organisation, die sich der Förderung von Anwendungen mit verteilter Automatisierungstechnik verschrieben hat. Aktuell treibt die 4DIAC-Initiative zwei Projekte voran:

  • 4DIAC Runtime Environment (FORTE): eine Laufzeit-Umgebung für IEC-61499-basierte Systeme
  • sowie 4DIAC Integrated Development Environment (4DIAC-IDE): ein Engineering-Werkzeug für IEC 61499.

Die Laufzeit-Umgebung

gebung FORTE standen drei Aspekte im Vordergrund: FORTE soll auch für kleine Plattformen wie etwa Mikrocontroller einsetzbar sein, die Implementierung soll Echtzeit-Anforderungen genügen und FORTE soll möglichst plattformunabhängig sein. Die Wahl fiel daher auf eine C++-Implementierung, welche sich auf ein Betriebssystem aufsetzen lässt. Um eine möglichst große Plattform-Unabhängigkeit zu erreichen, wurde der FORTE-Abstraction-Layer eingeführt. Dieser kapselt Zugriffe auf unterlagerte Funktionalitäten von Hardware und Betriebssystem. Derzeit ist eine Portierung der FORTE für die PCBetriebssysteme Windows und Linux und für das Echtzeit-Betriebssystem ThreadX erhältlich. In diversen Industrie- und Forschungsprojekten sind zurzeit auch andere Plattformen im Einsatz. Im Rahmen der Open-Source-Initiative wird es eine Portierung auf das Echtzeit-Betriebsystem eCos geben, welches für viele, vor allem sehr kleine Systeme zur Verfügung steht (zum Beispiel Lego Mindstorms).

Das Engineering-Werkzeug
Bei der Entwicklung des Engineering-Werkzeugs 4DIAC-IDE stand im Vordergrund, dass die Konzepte für das Engineering von verteilten Applikationen bestmöglich unterstützt werden. Die Erstellung des 4DIAC-IDE erfolgte auf Basis des Eclipse-Framework, da bereits eine Vielzahl an vorgefertigten Komponenten beziehungsweise Plug-Ins verfügbar ist, die die Entwicklung eines solchen Werkzeugs optimal unterstützen. 4DIAC-IDE ist vollständig kompatibel zu den Definitionen der IEC 61499, so dass auf dieser Basis der Austausch

von Daten mit anderen IEC-61499-Engineering-Werkzeugen möglich ist. Beide Projekte – sowohl FORTE als auch 4DIAC-IDE – sind unter der Eclipse-Public-License über die 4DIACHomepage (www.fordiac.org) frei verfügbar. Diese Lizenz erlaubt eine Nutzung in eigenen Produkten, wobei im Gegensatz zu anderen gängigen Open-Source-Lizenzmodellen nur Änderungen am öffentlichen Code zugänglich gemacht werden müssen. Erweiterungen, wie zum Beispiel eigene Funktionsblöcke oder plattformspezifische Code-Teile, bleiben in der Hand des Nutzers und sind nicht zu veröffentlichen.

Zurzeit testen und verwenden mehrere Industrie-Unternehmen 4DIAC und tragen mit ihrem Feedback maßgeblich zur Verbesserung der 4DIAC-Software bei. Eines davon ist die Firma nxtControl, ein junges Unternehmen, das auf Basis der FORTE eine Automatisierungslösung mit IEC 61499 entwickelt. Dabei handelt es sich um eine Software, der ein durchgängig objektorientierter Ansatz zugrunde liegt und die Projektierung von Steuerung und Visualisierung in einem Werkzeug zusammenbringt. Die Software-Plattform bietet die Möglichkeit, Funktionen, Geräte und ganze Anwendungen als Software-Objekte abzubilden. Diese so genannten Composite Automation Types (CATs) vereinen mehrere Aspekte eines realen Steuerungsgerätes beziehungsweise der realen Anlage: Steuerung, Visualisierung, I/O-Anbindung sowie Dokumentation. Da nxtControl auf offenen Standards wie IEC 61499, .NET oder auch OPC-UA aufsetzt, lässt sich der Funktionsumfang relativ einfach erweitern.