Eine weitere Alternative zur Standalone-Lösung stellt INtime for Windows dar, das eine zusätzliche Echtzeitumgebung auf einem Windows-Rechner installiert und damit die Windows- und RTOS-Welten auf wünschenswerte Art und Weise zusammenführt. Auf diesem Weg stehen Windows- und Echtzeit-Anwendungen im Zusammenspiel auf einer einzigen PC-Plattform zur Verfügung. Das Besondere daran ist die Tatsache, dass sich die Systeme grundsätzlich gegenseitig nicht beeinflussen, aber miteinander kommunizieren können, um Daten auszutauschen. Damit gelingt das Konsolidieren von Windows- und Echtzeitapplikationen auf einem gemeinsamen PC.
Mit INtime for Windows lassen sich aber auch dedizierte Echtzeit-Steuerungen realisieren, die ausgefeilte Bedienoberflächen erfordern. Das ist beispielsweise bei der grafischen Darstellung und Programmierung von Antriebs- oder Robotersteuerungen unter Windows der Fall. Dazu gehören auch die Disziplinen des Post- und Preprocessing, bei denen große Datenmengen, die beispielsweise bei der Computersimulation entstehen, von einer Windows-Instanz grafisch aufbereitet werden. Dadurch können Vorgänge, die auf der Echtzeitseite Hardware direkt steuern, auch Visualisierungen auf der Windows-Seite treiben. Damit kommt INtime for Windows bei der Systemkonsolidierung innerhalb von komplexen IT-Strukturen eine besondere Rolle zu, die sowohl deterministische als auch nicht deterministische IT-Applikationen aufweisen.
            
                Virtualisieren von Linux und Co: eVM for Windows
eVM for Windows stellt einen Embedded Hypervisor bereit, der analog zu INtime for Windows eine Echtzeitumgebung für ein Gast-Echtzeit-Betriebssystem durch Partitionierung eines Windows-Rechners ermöglicht. Damit lassen sich zahlreiche Gastbetriebssysteme auf einem Windows-PC installieren, die nicht zur INtime-RTOS-Familie zählen. Dazu gehören Echtzeitbetriebssysteme anderer Hersteller wie z.B. QNX, VxWorks, aber auch Linux und weitere Echtzeitbetriebssysteme. Auch hierbei werden bestimmte Ressourcen des x86-Rechners einer Gastmaschine zugewiesen, die diese losgelöst vom restlichen System für ihre Zwecke nutzen kann (Bild 2). Hierfür müssen keine Veränderungen am Gastbetriebssystem vorgenommen werden, da eVM eine Standardmaschinenumgebung virtualisiert bereitstellt.
Mit eVM for Windows kann man also wie mit INtime for Windows Standard-Windows-Anwendungen parallel zu einer Echtzeit-Applikation auf demselben PC ausführen, ohne dass sich die Systeme gegenseitig beeinflussen. Besser noch: Dank Shared Memory und virtualisierten Kommunikationskanälen können beide Seiten Daten austauschen, woraus sich eine konsolidierte Maschine ergibt, die die Vorteile der Windows- und Echtzeitwelten kombiniert. Das gleiche Niveau einer INtime-Software-Integration mit Windows wird zwar nicht erreicht, aber man erspart sich ein zusätzliches System. Mit Hilfe von eVM kann man aber auch andere, gekapselte Applikationen wie eine Embedded Firewall auf einem Windows-Rechner parallel instanziieren, die im Hintergrund die Rechnerkommunikation auf mögliche Schad-Software-Angriffe von außen und innen überwacht.
            
                Neue Anwendungsfelder erschließen
Der besondere Clou an der TenAsys Software Platform ist die beliebige Mixtur der drei Komponenten INtime RTOS, eVM Hypervisor und Windows auf einem einzigen Rechner. Damit sind zahlreiche Kombinationen und Anwendungsbeispiele denk- und realisierbar. Den limitierenden Faktor stellen lediglich die vorhandenen Systemressourcen wie Prozessorkerne, I/O-Schnittstellen und Arbeitsspeicher dar, die sich mit den notwendigen Instanzen verbinden lassen.
Eine häufig eingesetzte Anwendung im RTOS-Umfeld ist die PLCopen-Programmierung, wie sie beispielsweise bei der Entwicklung von Roboter-Applikationen zur Anwendung kommt. Hierbei wird der Rechner in zwei Bereiche unterteilt: Der eine Teil des Systems kümmert sich um die Windows-gestützte Steuerung und Programmierung der Motion-Controller-Applikation, der andere Teil stellt sicher, dass der Motion-Kern und die Feldbus-Kommunikation zwischen Rechner und Roboterantrieben zuverlässig funktionieren (Bild 3). Dabei ist vor allem das Zeitverhalten wichtig, um gewährleisten zu können, dass die Roboteranwendung zuverlässig arbeitet. In diesen Fällen kommt bevorzugt INtime for Windows zum Einsatz, häufig in Verbindung mit dem Intel Ethernet Controller I210. Mehr dazu siehe Kasten Echtzeit-Ethernet mit I210.
Neben den Echtzeit-Anwendungen, die sich mit Hilfe der TenAsys-Software realisieren lassen, stellen gekapselte Applikationen einen weiteren möglichen Baustein im „Embedded-Universum“ dar. So lassen sich beispielsweise auf ein und derselben Maschine Echtzeit- und Windows-Anwendungen in¬stallieren, die ihrerseits von einer Software-gestützten Firewall geschützt werden. Hierfür kommt eVM zum Einsatz, mit dessen Hilfe ein geschützter Bereich auf dem x86-PC eingerichtet wird, in dem beispielsweise eine Linux-Firewall den kompletten Schutz des Gesamtsystems übernimmt. Das Besondere daran: Der Windows-Teil des virtualisierten Rechners kommuniziert nur noch über eine virtuelle Ethernet-Schnittstelle mit der gekapselten Firewall. Die Firewall überwacht die Kommunikation an der Ethernet-Schnittstelle nach außen. Das schützt die Windows- und INtime-Partitionen vor externen Angriffen. So kann höchstens die Firewall-Partition direkt von Angriffen betroffen werden.
| Kasten: Echtzeit-Ethernet mit I210 | 
|---|
| Gerade beim Einsatz von industriellen Ethernet-Feldbussen kommt dem richtigen Timing eine ganz besondere Rolle zu. Die Datenpakete auf Basis des Ethernet-Protokolls müssen rechtzeitig versendet werden – in Zyklen von 125 Mikrosekunden und darunter, um sicherstellen zu können, dass die Feldbus-Signale genau dann ankommen, wenn sie benötigt werden. Für dieses optimale Laufzeitverhalten hat TenAsys mit INtime die Grundlage geschaffen, indem der High-Performance-Ethernet-Treiber von INtime so erweitert wurde, dass dieser den Intel Ethernet Controller i210 mit seinen zusätzlichen Möglichkeiten unterstützt. Damit kann ein deterministisches Laufzeitverhalten von Echtzeit-Anwendungen in anspruchsvollen Feldbus-Umgebungen sichergestellt werden. Das betrifft sowohl das Timing- als auch das Jitter-Verhalten innerhalb einer Standard-Ethernet-Feldbusimplementierung auf Basis des Intel Ethernet Controller I210. | 
Darüber hinaus kommen Teile der TenAsys Software Platform immer häufiger bei in Software realisierten Echtzeit-Steuerungen zum Einsatz, was deutlich teurere Hardware-Steuerungen überflüssig macht. Diese Software-Steuerungen sind in der Anwendung und Handhabung flexibler und skalierbarer als eine vergleichbare Hardware-Lösung, da die Software einfacher auf Hardware unterschiedlicher Leistungsfähigkeit installiert werden kann, als eine Software, die auf ein bestimmtes Zielsystem optimiert ist.
Der Autor
| Andreas Knape | 
|---|
| ist seit 2008 beim Embedded-Virtualisierungsspezialisten TenAsys als Sales & Marketing Manager Europe tätig. Nach diversen Engagements im IT- und Networking-Umfeld ist Knape seit nunmehr 15 Jahren innerhalb der Embedded-Branche als Hardware- und Software-Experte anerkannt. | 
andreas.knape@tenasys.com