Erschienen am: 29.01.2014, Ausgabe SPS-MAGAZIN 1+2 2014

Neue Real-Time-Perspektiven

Mit dem cRIO-9068 führt National Instruments (NI) eine neue Baureihe von CompactRIO-Controllern ein, die neben einem attraktiven Preis eine höhere Performance bieten. Die Hardware basiert auf der Zynq-Plattform von Xilinx, die Software auf dem Betriebssystem Linux. Mit Standard-Tools (z.B. VPN Server, Firewall, SSH/SFTP, WebDAV) aus der Linux-Welt kann das System auch ohne vorgeschaltete Sicherheitsmaßnahmen in Umgebungen mit hohen Anforderungen an die Sicherheit betrieben werden.

Autoren: Wolfram Koerver, S.E.A. Datentechnik GmbH;
Jörg Heßdörfer, S.E.A. Datentechnik GmbH.


Bild 1: Vergleich der Betriebssysteme für den Entwickler
Bild: S.E.A. Datentechnik GmbH

Das cRIO-9068 ist ein 8-Slot cRIO-Chassis mit integriertem Real-Time-Controller. Der neue Zynq-SOC (System on Chip) von Xilinx vereint dabei die CPU und den FPGA-Baustein des cRIO-Systems in einem einzigen Chip. Damit gehen eine reduzierte Leistungsaufnahme und der reduzierte Platzbedarf einher. Ein schnellerer Datenaustausch zwischen den beiden Komponenten ist durch die nunmehr 16 freien DMA-Kanäle möglich. Der implementierte CPU-Kern CPU ist ein Dual-Core ARM (Cortex A9) Prozessor mit 667MHz Taktfrequenz. Damit ist auch die Rechenleistung der CPU im oberen Bereich der bisherigen cRIO-Real-Time-Controller einzuordnen. Der CPU stehen 512MB RAM und 1GB Flash-Speicher zur Verfügung. Die für Entwickler und Anwender wohl weitreichendere Neuerung ist das Linux-Betriebssystem des Real-Time-Controllers. NI setzt hier einen aktuellen Linux-Kernel ein, der um zusätzliche Erweiterungen für den Real-Time-Betrieb ergänzt wurde. Während die cRIO-Real-Time-Plattform unter VxWorks für den Entwickler wie ein monolithischer Block aus OS und Applikation erscheint, in welchem die LabView-Programme in Echtzeit ablaufen, so können jetzt bei Bedarf weitere Programme oder Dienste hinzugefügt werden. Das LabView-Programm ist damit nur noch ein Programm unter vielen - wie etwa unter Windows oder Linux auf einem Desktop-PC. NI setzt das OpenEmbedded/ ngström-Linux-System ein, sodass der Anwender sämtliche Komponenten des Systems (mit Ausnahme von einigen NI-Diensten) sowie auch den Linux-Kernel selber übersetzen und verändern kann.

Programmierung mit C/C++

NI stellt für das cRIO-9068 eine auf Eclipse basierende C/C++-Entwicklungsumgebung zur Verfügung, mit der man eigene Programme für die neue Plattform entwickeln kann. Schnittstellen-Module zur Kommunikation mit dem FPGA-Baustein sind ebenfalls in dem Paket enthalten, sodass zur Entwicklung eines kompletten Systems neben der bisherigen LabView-Programmierung mit LV-RT und LV-FPGA auch eine Programmierung mit C/C++ möglich gemacht wird. Dies war zwar bisher grundsätzlich unter VxWorks ebenfalls möglich, bedurfte jedoch umfangreicher Kenntnisse und kostspieliger Entwicklungswerkzeuge. Die Programmierung des FPGA selbst kann weiterhin nur mit LabView FPGA erfolgen, dies ist mit C/C++ nicht möglich. Des Weiteren besteht unter Linux (und damit auch auf dem cRIO-9068) die Möglichkeit, sogenannte 'Shell'-Skripte zu nutzen. Diese stellen eine wesentlich mächtigere Variante von aus DOS/Windows bekannten Batch-Dateien dar. Mithilfe dieser Skripte und den zahlreichen zur Verfügung stehenden Tools können Lösungen für Teilaspekte eines Projektes, z.B. zum Datenaustausch mit übergeordneten Systemen ohne Programmierung in C/C++ oder LabView realisiert werden. Durch Installation weiterer Software-Pakete (z.B. Python) lassen sich auch diese Programmiersprachen direkt auf dem RT-Controller nutzen. Hierfür müssen jedoch mithilfe der Open Embedded/ ngström-Distribution die Pakete zunächst angepasst und übersetzt werden.

Updates ohne Neustart

Die Systemarchitektur des neuen Zynq-Chips bedingt, dass bei einem Reboot des Systems auch der FPGA gestoppt wird und erst wieder neu gestartet werden muss. Dies hört sich jedoch schlimmer an, als es sich in der Praxis darstellt. Im Gegensatz zum VxWorks-basierten System muss nämlich nicht das komplette System neu gestartet werden, wenn eine Applikation (z.B. das LabView Real-Time-Programm) beendet werden muss oder gar abstürzt. Die Applikation kann dann einfach neu gestartet werden, ohne den Rest des Systems weiter zu beeinflussen. Die FPGA-Applikation läuft einfach weiter. Auf diese Weise können nun auch Updates der Applikationssoftware ohne Neustart des Controllers durchgeführt werden. Durch die oben dargestellte mögliche Trennung einzelner Aufgaben in separate Anwendungsprogramme oder Skripte kann das System erheblich toleranter gegen Fehlverhalten einzelner Komponenten ausgelegt werden, als das bisher der Fall war. Das cRIO-9068 lässt sich deutlich weitgehender über einen Web-Browser warten und konfigurieren. So können nun z.B. auch LabView Real-Time-Programme und FPGA-Bitfiles über den Web-Browser installiert werden. Dabei lassen sich Nutzer und Gruppen mit unterschiedlichen Zugriffsrechten auf den Controller anlegen und verwalten.

Sichere Fernüberwachung

Mit Linux als Betriebssystem stehen dem Entwickler darüber hinaus Mittel, wie z.B. eine Firewall oder Tools zur verschlüsselten Datenübertragung, zur Verfügung. Über die im Linux-Kernel integrierte Firewall lässt sich dabei das System gezielt absichern, indem etwa der Zugang vom Internet aus auf alle außer den für kontrollierten Zugriff von außen notwendigen Ports blockiert wird. Ebenso lässt sich verhindern, dass von etwaigen im Anlagennetz angeschlossenen Geräten eine ungewollte oder unsichere Verbindung nach außen aufgenommen wird. In der Industrie sind in den letzten Jahren bereits viele sicherheitsrelevante Systeme mit Linux realisiert worden, sodass nicht nur die Akzeptanz einer solchen Lösung auch in sensitiven Bereichen, z.B. in der Produktion, recht hoch ist, sondern auch die nachweisbare Zuverlässigkeit gegeben ist. Viele der von S.E.A.-Datentechnik auf Basis von cRIO entwickelten Systeme sind im mobilen Einsatz, z.B. in Fahrzeugen, oder werden an wechselnden Standorten betrieben. Da diese Systeme oft über einen langen Zeitraum in Betrieb sind, ist es essenziell, ständig über den Betriebszustand der Anlagen informiert zu sein. Im einfachsten Fall können dazu Statusinformationen an einen Server übermittelt werden, z.B. via Dateiübertragung oder SMS-Nachrichten über Mobilfunknetze oder auch über vorhandene WAN-Netzwerke. Ist jedoch ein Eingriff in das System nötig, so ist ein gesicherter Zugang zum Controller und etwaiger weiterer Komponenten im Anlagennetz - innerhalb und außerhalb des Messwerterfassungssystems - notwendig. Da hierbei oft ein Zugriff über ungesicherte Netzwerke erforderlich ist, muss der Schutz des Anlagensystems über Zugangskontrolle und eine sichere Netzwerkkommunikation gewährleistet sein.

Sichere drahtlose Datenkommunikation

Für derartige Systeme entwickelt und fertigt S.E.A. seit Jahren Kommunikationslösungen in Form von Einsteckmodulen für die cRIO-Plattform. Diese ermöglichen die sichere Kommunikation über sogenannte VPN-Protokolle (Virtual Private Network). Dabei wird eine verschlüsselte 'Brücke' zwischen dem Anlagennetz und dem PC des Service-Personals über das öffentliche Internet aufgebaut, sodass der PC direkt mit dem Anlagennetz verbunden ist. Nun kann man mit der Anlage fast so arbeiten, als wäre sie direkt am PC eingesteckt. Aufgrund der flexiblen und offenen Linux-Architektur ist es möglich, die VPN-Softwaretechnologie und Schutzmechanismen direkt auf dem cRIO-9068 zu installieren und zu betreiben. Dies war der ideale Ausgangspunkt für S.E.A., um zwei perfekt darauf abgestimmte neue 3G/4G-Kommunikationsmodule (SEA 9751 und SEA 9754 mit GSM/UMTS/LTE-Protokoll sowie GPS-Empfang) speziell für diese CompactRIO Plattform zu entwickeln, die die Vorteile des Linux-Betriebssystems perfekt ausnutzen. Da die neuen Module über den USB-Port des Controllers angeschlossen werden, bleibt der Netzwerk-Anschluss des Controllers im Gegensatz zu früheren Lösungen ohne weiteren Netzwerk-Switch nutzbar. Die Module stellen dabei wiederum einen freien USB-Anschluss zur Verfügung, der über einen im Modul integrierten USB-Hub an den Controller angeschlossen ist, sodass sich auch hier keine Einschränkungen ergeben. Ein ebenfalls integrierter GPS-Empfänger stellt zusätzlich noch Zeit- und Positionsinformationen direkt in LabView zur Verfügung. Die zum Betrieb benötigte Software lässt sich per MAX auf dem cRIO-Modul installieren und per Web-Browser konfigurieren.

Diesen Artikel bookmarken

Diese Seite zu Mister Wong hinzuf�gen Diesen Beitrag bei Webnews verlinken Diesen Artikel bei YiGG ablegen Diesen Artikel bei delicious speichern Diesen Beitrag bei MySpace posten