Systemablösung im Windkanal: Synchrone Steuerung von nichtlinearen Achsen mit LabVIEW Real- Time und PXI
Author(s):
Dipl. El.-Ing. FH Martin Hasler - RUAG Aerospace, Center Aerodynamik
Dipl. Masch. Ing. ETH, NDS Informatik Roger Hodel - RUAG Aerospace, Center Aerodynamik
Dipl. El.-Ing. FH Daniel Herzberg - RUAG Aerospace, Center Aerodynamik
Industry:
Aerospace/Avionics, Research, Industrial Controls/ Devices/ Systems, Electronics
Products:
CAN, PXI/CompactPCI, LabVIEW, Real-Time
The Challenge:
Herstellung und Erneuerung einer synchronen Steuerung von nichtlinearen Achsen mit LabVIEW Real- Time und PXI in einem Windkanal
The Solution:
Lineare und nichtlineare Modellachsen können synchron miteinander über ein grafisches User Interface gesteuert werden. Die Schnittstelle zum Leitrechner ermöglicht eine völlige Automatisierung des komplexen Windkanalmessbetriebs.
"Der Betrieb im Windkanal wurde nach der eigentlichen Entwicklung und Fabrikation nur für kurze Zeit unterbrochen."
Einleitung
Das Center Aerodynamik stellt seine Windkanäle für interne und externe Kunden aus den verschiedensten Industriesparten zur Verfügung. Im LWTE (Large Wind Tunnel Emmen) werden Flugzeuge, Fahrzeuge, Sportler etc. im Wind bis 70 m/s getestet. Zur Erfüllung der Aufgabe werden Messgeräte zur Aufnahme von Druckwerten, Kräften und Beschleunigungen sowie Modellmanipulatoren zur präzisen Ausrichtung der Prüflinge benötigt. Die Messsysteme und Steuerungen werden durch ein Leitsystem kontrolliert.
Die Modellmanipulatoren für einen Windkanal zeichnen sich in der Regel durch mehrere, möglichst synchron laufende Achsen und hohe Anforderungen bzgl. steuerungstechnischer und mechanischer Präzision aus. Aus aerodynamischen Gründen ist die mechanische Aussenform der Manipulatoren deutlich eingeschränkt. Die Achsen haben deshalb häufig einen nichtlinearen Charakter, da kein linearer Zusammenhang besteht zwischen der Bewegung an der Antriebs- und Modellseite. Trotz dieser Erschwernis müssen alle zeitgleich fahrenden Achsen immer genau der gewünschten Positionstrajektorie nachgeführt werden.
Die neue Steuerung (Bild 1) setzt sich aus dem RT-System und dem Bedienrechner zusammen; ein Leitrechner kann im normalen Windkanal-Messbetrieb die Kontrolle über die Steuerung übernehmen. Diese drei Rechner sind über das LAN verbunden. Der Bedienrechner dient der lokalen, manuellen oder automatisierten Ansteuerung der Anlage. Sowohl Leit- wie auch Bedienrechner können Kommandos an das RT-System absetzen. Dieses interpretiert die ankommenden Kommandos, gewährleistet die Sicherheit und steuert synchron sowohl hydraulische wie auch elektrische Achsen an.
Anforderungen an neue Steuerung
Folgende Anforderungen wurden an die neue Steuerung gestellt:
• Zeitsynchrone Fahrt mit bis zu 50 linearen oder nichtlinearen Achsen
• Relativ- oder Absolutbewegungen für Antriebs- und Modellachsen
• Ansteuerung von Servomotoren, Schrittmotoren und hydraulischen Servoventilen
• Grafische Bedienoberfläche
• Verbindung zu Leitsystem
Weiter wollten wir mit dieser Steuerung einen Standard für zukünftige Steuerungen für interne und externe Kunden erarbeiten.
Zur Realisierung wurde LabVIEW und als Software- und PXI als Hardwareplattform verwendet.
Hardware Aufbau und Komponenten
Der Bedienrechner ist ein Standard-PC mit einer Vierfach-Grafikkarte (Bild 2). So lässt sich die Bedienoberfläche bequem über mehrere Monitore verteilen und der Bediener kann ständig alle Betriebsparameter einsehen.
Der Bediener hat zusätzlich eine Schlüsselschalter-Box mit Kontrolllampen und Not-Aus-Schalter. Jede Achse wird mit einem Schlüsselschalter einzeln ein- und ausgeschaltet.
Der Bedienrechner ist via LAN mit dem Server/Leitrechner und dem RT-Controller (PXI-8186-RT) im Schaltschrank verbunden. Mit digitalen I/O Karten (PXI-6528) wird der Status von allen digitalen Eingängen wie Schlüsselschalter, Not-Aus etc. erfasst und die Kontrolllampen, Hydraulikpumpe sowie die Brems- und Freigabeventile angesteuert. Mit einer CAN Bus Karte (PXI-8464) werden die Absolut-Encoder konfiguriert und ausgelesen. Mit der Multifunktionskarte (PXI-6052E) werden analoge Sensoren der Steuerung wie Temperaturen, Drücke etc. erfasst.
Mit zwei UMIs (Universal Motion Interface; UMI-7764) werden die Drives, Endschalter und Inkrementalgeber mit den 8-Achsen Motion Controllern (PXI-7358) verbunden. Die hydraulischen Antriebe verfügen über einen Inkrementalgeber. Bei den elektrischen Antrieben wird das Resolversignal vom Motor durch das Drive in ein Inkrementalgebersignal umgewandelt und via UMI an den Motion Controller weitergegeben. Alle Achsen verfügen zudem über CAN Bus Absolut-Encoder.
Software Aufbau
Die Software ist auf drei physikalisch verschiedene, über das LAN verbundene Rechner verteilt (Bild 3): Leitrechner, Bedienrechner und RT-System.
Die eigenständigen Bedienprogramme MMI (man machine interface) und AP-Player (Ablaufprogramm-Player) laufen auf dem Bedienrechner.
Die Steuerungs-Software (RT-System) besteht aus sechs parallel laufenden, eigenständigen Tasks: CmdServer, Errortask, Statemachine, Achsentask, Sicherheitstask und Inputtask.
In den folgenden Abschnitten werden alle Softwarteile kurz erläutert:
MMI: Das MMI dient zur Systemkonfiguration (Parameter laden/speichern, Achsenkalibrierung, Achsenumkehr etc.) und zum Auslösen von Einzelachsbewegungen.
AP-Player: Mit dem AP-Player werden Ablaufprogramme erstellt und ausgeführt. Ablaufprogramme umfassen beliebig viele, synchron laufende Achsen und definieren in zeitlicher Folge den (synchronen) Bewegungsablauf aller beteiligten Achsen.
Leitrechner: Der Leitrechner ist zuständig für die Ansteuerung aller Messsysteme und für die Koordination der Ablaufprogramme mit der Datenerfassung.
CmdClient/CmdServer: Der CmdClient nimmt die Befehle von den beiden Bedienprogrammen MMI und AP-Player sowie vom Leitrechner entgegen und leitet diese via CmdServer an die Statemachine weiter. Auf jeden Befehl folgt eine Antwort von der Statemachine. Diese kann eine Bestätigung der Befehlsausführung oder eine Fehlermeldung enthalten. Die Antwort wird vom CmdClient an den richtigen Absender des Befehls, also MMI, AP-Player oder Leitrechner, weitergeleitet.
Statemachine: Der Task Statemachine hat, wie der Name schon vermuten lässt, den Aufbau einer Zustandsmaschine. Die möglichen Zustände der Statemachine sind:
- Initialisierung - Wait
- Systemparameter laden - Kalibrierung einer Achse
- Nullposition anfahren - Nullung einer Achse
- Korrekturbefehl vom Leitsystem (Jog) - Bewegung einer Einzelachse
- Geschwindigkeitsvorgabe - Ablaufprogramm laden
- Synchrone Fahrt
Beim Starten werden als erstes alle erforderlichen Systemparameter aus Dateien geladen. Für jede Achse existiert auf dem RT-System eine Datei mit allen erforderlichen Geometriedaten, Regelparametern, Geschwindigkeitswerten, Skalierungen etc. Weitere, alternative Parametersätze, optimiert für andere Versuchskonfigurationen, stehen auf dem Windkanal-Server zur Verfügung und können mittels FTP automatisiert auf das RT-System geladen werden.
Jede Achse muss bei Verwendung eines neuen Testobjektes im Windkanal zuerst kalibriert und genullt werden. Dieser Vorgang definiert den geometrischen Zusammenhang zwischen Motorenposition (Inkremente) und Modellposition (z.B. Grad). In den meisten Fällen ist dieser Zusammenhang nichtlinear, da die mechanische Ansteuerung über diverse, vom Versuch abhängige Hebelarme erfolgt. Die Kalibrierung wird durch manuelles Anfahren der beiden Bereichsendpunkte eingeleitet. Danach beginnt der halbautomatische Kalibriervorgang, der an jeder automatisch angefahrenen Zwischenposition nur die Eingabe der tatsächlichen Modellposition verlangt. Der Zusammenhang zwischen Modellposition und Inkrementalgeberwerten wird grafisch dargestellt (inkl. Interpolationskurve), damit der Messleiter seine Eingaben einfach prüfen kann. Die Kalibrierdaten werden in Dateien gespeichert, welche später bei Bedarf, z.B. bei einem ähnlichen Windkanalversuch, wieder geladen werden können.
Errortask: Alle vom Achsentask, Sicherheitstask und Inputtask ausgehenden Fehler und Warnungen gehen den Weg über den Errortask. Im Fehlerfall informiert der Errortask die Statemachine und die Bedienprogramme.
Achsentask: Der Achsentask hat folgende Hauptaufgaben: Initialisieren, Konfigurieren und synchrones Starten aller aktiven Achsen auf den Motion Controllern und das Verwalten bzw. Abfüllen der berechneten Positions-Stützpunkte auf dem Onboard Memory der Motion Controller.
Sicherheitstask: Der Sicherheitstask überwacht Hardware- und Software-Endschalter, Schlüsselschalter, Status Verstärker, Status Motion Controller, Temperaturen, Drücke etc. Wenn ein Parameter einer aktiven Achse einen bestimmten Wert bzw. Zustand erreicht, so werden automatisch alle Achsen gestoppt und es wird eine entsprechende eindeutige Fehlermeldung abgesetzt. Zusätzlich kann der Sicherheitstask je nach Fehlerart einen Reset des RT-Systems auslösen.
Inputtask: Der Inputtask erfasst die Werte aller Sensoren und Achsen. Die erfassten Werte werden asynchron über den DataSocket-Server auf den Bedienrechner übertragen. Positions- und Geschwindigkeitswerte werden mit 10 Hz, die restlichen Daten wie Status RT-System, Endschalter, Schlüsselschalter, Konfiguration der Achsen, Kalibrierdaten etc. auf gleiche Art und Weise mit 0.5 bis 1 Hz übertragen. Die Werte der Absolut-Encoder werden zusätzlich in RT-Fifos geschrieben und so an die Statemachine übermittelt, wo sie zur Berechnung der kommandierten Fahrten benötigt werden.
Das Prinzip der synchronen Fahrt
Es gibt grundsätzlich drei verschiedene Fahrvarianten:
Geschwindigkeitsvorgabe: Bei der einfachsten Fahrvariante wird einer oder mehreren Achsen eine Geschwindigkeit per Handschieber am Bedienrechner oder via Leitsystem vorgegeben. Diese Fahrvariante dient entweder der manuellen Positionierung von Achsen oder sie kann einer synchronen Fahrt beliebig additiv überlagert werden, um beispielsweise durch Wind hervorgerufene Deformationen korrigieren zu können.
Jog: Bei der zweiten Fahrvariante wird einer einzelnen Achse ein zu fahrender Weg (Jog) vorgegeben. Dieser Weg wird anschliessend in einer konstanten Zeitspanne von z.B. einer Sekunde zurückgelegt. Auch diese Fahrt kann der Fahrt eines Ablaufprogrammes beliebig überlagert werden.
Synchrone Fahrt: Bei der synchronen Fahrt werden die Zielpositionen aller Achsen und die Soll-Geschwindigkeit der treibenden Achse im Ablaufprogramm vorgegeben. Anhand der Ziel-Positionen und der gemessenen Ist-Positionen werden die zu fahrenden Wege bestimmt. Die Fahrzeit der Achsen ergibt sich aus Ist-Position, Ziel-Position und Soll-Geschwindigkeit der treibenden Achse. Das heisst, die Geschwindigkeiten der nicht treibenden Achsen ergeben sich aus der Fahrzeit der treibenden Achse und dem zu fahrenden Weg.
In Bild 4 ist der Ablauf der synchronen Fahrt bei der treibenden Achse mit einem Beispiel schematisch dargestellt.
- Der AP-Player sendet das Ablaufprogramm via CmdClient an die Statemachine: Die Achse soll mit einer Modellgeschwindigkeit von 1°/s den absoluten Modellwinkel von 30° anfahren.
- Die Statemachine lädt und überprüft nun das Ablaufprogramm. Die Überprüfung testet unter anderem, ob die Achse vorhanden, aktiv, skaliert, kalibriert und genullt ist.
- Nach erfolgreichem Laden des Ablaufprogramms wechselt die Statemachine in den Zustand Synchrone Fahrt. Nun wird mittels aktuellem Absolut-Encoderwert und den Kalibrierdaten die Ist-Position bestimmt. Aufgrund von Ist-Position, Ziel-Position und Soll-Geschwindigkeit lässt sich nun die Fahrzeit berechnen. Dabei wird auch überprüft, ob die Soll-Geschwindigkeiten aller Achsen die maximal zulässigen Geschwindigkeiten nicht überschreiten. Falls bei einer oder mehreren Achsen die zulässige Geschwindigkeit überschritten wird, erfolgt ein durch eine Fehlermeldung quittierter Abbruch.
- Als nächstes teilt die Statemachine die Fahrt in Segmente von einer Sekunde Dauer auf und bestimmt jeweils die Soll-Positionen an deren Ende (Segment-Positionen). Diese Segment-Positionen werden mittels Kalibrierdaten in Inkrementalgeberwerte umgerechnet.
- Die Motion Controller werden im Relativ Contouring Modus betrieben. Dies bedeutet in unserem Fall, dass pro Achse alle 10 ms ein zu fahrender Weg vorgegeben wird. Deshalb teilt die Statemachine die vorher berechneten Segmente von einer Sekunde in je 100 Stützpunkte auf. Um grosse Beschleunigungen zu verhindern, wird ein spezielles Filter verwendet. Damit werden die Beschleunigungswerte bei Fahrtbeginn und -ende sowie beim Übergang zwischen Ablaufprogrammschritten limitiert. Dennoch wird ein synchrones Erreichen der Segment-Positionen gewährleistet. Die 100 Stützpunkte pro Achse werden nun per Queue an den Achsentask weitergegeben.
- Der Achsentask schreibt die Punkte von der Queue in ein Schieberegister, von welchem sie schliesslich in den "kleinen" Motion Controller-Buffer kopiert werden. Der Jog-Befehl sowie die manuelle Geschwindigkeitsänderung per Handschieber werden von der Statemachine direkt an den Achsentask weitergeleitet. Damit wird eine für den Bediener sehr wichtige kurze Reaktionszeit zwischen der Betätigung des Handschiebers und der effektiven Achsbewegung erreicht.
- Vor jedem "Nachfüllen" des Motion Controller-Buffers wird geprüft, ob eine manuelle Geschwindigkeitsänderung resp. ein Jog anliegt; falls ja, werden die entsprechenden Werte den Stützpunkten überlagert und dem Motion Controller übergeben.
User Interface
Das User Interface der Steuerung besteht aus zwei Programmen, dem MMI und dem AP-Player. Die beiden Programme können unabhängig voneinander benutzt werden.
Das MMI (Bild 5) erlaubt den direkten Zugriff auf alle Achsen der Steuerung. Eine Achse kann jeweils als Antriebs- oder Modellachse angesprochen werden. Neben dem Auslösen von relativen und absoluten Bewegungen kann der Benutzer auch über einen Schieberegler direkt auf eine Achse einwirken. Weiter können über das MMI Achsen kalibriert und Positions-Nullpunkte gesetzt, Achsenparameter geladen und gesichert, der Drehsinn von Achsen geändert sowie die Steuerung neu initialisiert werden. Alle wichtigen Systeminformationen werden grafisch angezeigt.
Der AP-Player (Bild 6) dient zur Abarbeitung und Bearbeitung von Ablaufprogrammen. Für eine beliebige Anzahl Achsen können zeilenweise Positionsvorgaben gemacht werden. Die Steuerung fährt diese Vorgaben zeilenweise synchron für alle aktiven Achsen an. Wird für eine Achse auf einer Zeile keine Positionsvorgabe gemacht, bleibt sie auf der aktuellen Position stehen. Weiter werden dem Benutzer vielfältige Editierfunktionen wie das Einfügen, Löschen und Kopieren von Zeilen und Achsen, das Markieren der treibenden Achse einer Zeile und das Aktivieren/Deaktivieren einer Achse zur Verfügung gestellt.
Ein Ablaufprogramm kann in eine Datei gespeichert und aus dieser wieder geladen werden. Der AP-Player stellt den Status des Programmablaufes dar: Wenn ein AP läuft, sind alle Zeilen grau dargestellt und nicht editierbar. Die aktuell bzw. zuletzt abgearbeitete Zeile wird speziell markiert. Der Bewegungsablauf kann jederzeit über eine asynchrone- oder auf das Ende einer Zeile mit einer synchronen Stopp-Funktion gestoppt werden. Fehler- und Systemmeldungen werden in tabellarischer Form angezeigt.
Zusammenfassung
Die Erneuerung des Kontrollsystems im Windkanal Emmen wurde mit einer intensiven und erfolgreichen Testphase abgeschlossen. Der Betrieb im Windkanal wurde nach der eigentlichen Entwicklung und Fabrikation nur für kurze Zeit unterbrochen, um die mechanischen und elektrischen Installationen sowie das Tuning und die Abnahmetests durchzuführen. Lineare und nichtlineare Modellachsen können synchron miteinander über ein grafisches User Interface gesteuert werden. Die Schnittstelle zum Leitrechner ermöglicht eine völlige Automatisierung des komplexen Windkanalmessbetriebs.
Durch den modularen Aufbau des Systems können zusätzliche Achsen auf einfache und effiziente Art und Weise integriert und Erweiterungen vorgenommen werden. Mit dem neuen Kontrollsystem, basierend auf modularer PXI-Technik und LabVIEW von National Instruments, steht dem Center Aerodynamik ein state-of-the-art System zur Verfügung, welches die Effizienz und Genauigkeit von unseren Windkanalversuchen messbar steigert.
Related Case Studies
PAC mit LabVIEW Real-Time zur Steuerung eines ReifenprüfstandesEinsatz eines PAC mit LabVIEW Real-Time zum Monitoring von Klimadaten
Implementierung komplexer Steuerungssysteme mit LabVIEW Real-Time
NI PACs und PXI ersetzen SPSen bei der Steuerung und Regelung einer Hochleistungszentrifuge
Zerstörungsfreie Ultraschalltests mit LabVIEW und PXI
|
|

