Computerbasierte Steuerungen werden in der Automatisierungstechnik immer häufiger eingesetzt. Die Verfügbarkeit von Libraries und Betriebssystemen versprechen einen schnellen Entwicklungszyklus, sowie niedrigere Entwicklungskosten. In der Automatisierungstechnik werden mehrere Steuerungen, die zur Bearbeitung eines Prozesses notwendig sind, miteinander verbunden. Oft muß die Kommunikation zwischen den Steuerungen harte Echtzeitbedingungen erfüllen. Im Idealfall sollte eine Kommunikation in Echtzeit mit PC Standardkomponenten möglich sein, da zusätzliche Hardware nur mit entsprechenden Treibern funktioniert. Diese müßten für alle erdenklichen Zielplattformen und Betriebssysteme implementiert werden.
Momentan hat sich für eine plattformunabhängige Echtzeitkommunikation, welche den beschriebenen Kriterien in der Automatisierungstechnik genügt, kein Standard etabliert. Es gibt nur einen Standard, welcher die geforderten Kriterien erfüllt: die OMG Spezifikation Real-time CORBA. Das ACE/TAO Framework von Douglas C. Schmidt ist die umfassenste Implementation des Real-time CORBA Standards in C++ und steht für unzählige Plattformen zur Verfügung.
In dieser Arbeit wurde evaluiert, ob das ACE/TAO Framework für den Einsatz in einer auf Real-time Linux basierenden Lasersteuerung geeignet ist.
Zur Ermittlung der Performance von ACE/TAO wurden Ende zu Ende Messungen zwischen mehreren embedded Real-time Linux Systemen durchgeführt. Es wurde festgestellt, dass ein 1kByte großes Prozessabbild garantiert innerhalb 1 ms via Real-time CORBA zwischen zwei embedded Systemen übertragen werden kann. Desweiteren wurden Messungen durchgeführt, bei denen mehrere embedded Systeme verschieden priorisierte Nachrichten versenden. Eine Priority Inversion konnte bei korrekter Programmierung nicht nachgewiesen werden.
Zur Laufzeit wurde zu keinem Zeitpunkt ein Footprint größer 1 Megabyte im Arbeitsspeicher festgestellt. Die Libraries für die gängigen ACE/TAO Funktionen benötigen circa 30 Megabyte Massenspeicher.
Um einen Zugriff auf die Daten der Steuerungen von .NET/C# aus zu ermöglichen, wurden verschiedene Ansätze zur Integration von CORBA in das .NET Framework untersucht. Als Machbarkeitsstudie wurde eine Applikation mit IIOP.NET zur Kopplung an .NET Remoting und GTK# für die grafische Bedienoberfläche entwickelt. Es wurde gezeigt, dass es möglich ist mittels IIOP.NET in C# ein CORBA Objekt zu hosten und auf via ACE/TAO Applikation gehostete CORBA Objekte zuzugreifen.
Manuel Traut 2007-02-25