Technische Artikel

Entwicklung von Testsoftware für automatisierte Testsysteme der US-Marine

Von Cameron McNatt, Eagle Systems, Inc.


Flugzeuge der US-Marine und des Marine Corps wie die FA-18 Hornet, der V22 Osprey, der AV8B Harrier und der EA-6B Prowler müssen in ständiger Einsatzbereitschaft gehalten werden. Wenn ein elektronisches oder avionisches System eines Flugzeugs ausfällt, überprüft das Wartungspersonal in der Regel die Komponente, in der die Fehlfunktion vermutet wird, mit einer Kombination von Testprogrammen (Test Program Sets, TPS) oder einem Automatisierten Testsystem (ATS). Das wichtigste ATS der US-Marine ist das Consolidated Automated Support System (CASS). Es wird in Reparaturstützpunkten der Marine, auf Flugzeugträgern und in mobilen Einrichtungen des Marine Corps eingesetzt. Dieser Artikel beschreibt, wie Cameron McNatt, Elektroingenieur bei Eagle Systems, im Auftrag des Naval Air Systems Command (NAVAIR) MATLAB zur Entwicklung einer Software eingesetzt hat, die die Entwicklung vektorisierter Test Program Sets (VTPS) unterstützt.

Mit VTPS durchgeführte Tests sind effizienter, weil sie Ein- und Ausgabesignale in Vektorform parallel einspeisen, messen und analysieren. Sie wurden entwickelt, damit Testingenieure realistische Betriebsbedingungen simulieren und die erst kürzlich im CASS installierte automatisierte Testausrüstung nutzen können. Als das CASS in den frühen 90er Jahren bei der Marine in Dienst gestellt wurde, stammte dessen Technologie noch aus den 80ern. Die CASS Hardware und Software beschränkten daher den Entwurf von Testprogrammen (TPS) auf lineare, Schritt für Schritt abzuarbeitende Methoden.

Als Teil eines Programms zur Modernisierung des CASS baute die US-Marine in jedes System drei Teradyne Ai-710 ein. Diese parallel arbeitenden analogen Testinstrumente verfügen über 32 programmierbare Kanäle, die jeweils die Funktion von sechs verschiedenen Instrumenten übernehmen können: als Funktionsgenerator für beliebige Signalverläufe, als normaler Funktionsgenerator, als Digital-Multimeter, als Timer/Counter, als Signal-Digitalisierer oder als Schwellwert-Detektor. Dabei können gleichzeitig mehrere Instrumente pro Kanal – inklusive Signalquellen und Messinstrumente – sowie mehrere Kanäle genutzt werden. Vorher verfügte das CASS über weniger als ein Dutzend Niederfrequenz-Kanäle. Mit drei Ai-710 besitzt es nun 96 synchronisierte Niederfrequenz-Kanäle für Messungen und Signalquellen.

Durch die parallele Auslegung des Teradyne Ai-710 können Testingenieure Quellsignale auf mehrere Eingänge gleichzeitig aufgeben und Ausgaben von Tests einer Geräteeinheit (Unit Under Test - UUT) simultan aufzeichnen. Bislang haben allerdings nur wenige Ingenieure die Möglichkeiten der neuen Hardware genutzt, wofür es eine Reihe von Gründen gibt: Das Ai-710 ist noch relativ neu im CASS, die Ingenieure sind noch serielle Testprogramme gewohnt, und es fehlt an Software, die parallele analoge Tests unterstützt.

Parallelisierung analoger Tests in MATLAB

In einem Gemeinschaftsprojekt haben NAVAIR, Eagle Systems und The MathWorks in MATLAB eine Testsoftware entwickelt, mit der VTPS effizient eingesetzt werden kann und so den Testingenieuren hilft, die Fähigkeiten der parallelen Architektur der Ai-710 auszuschöpfen.

Einer der ausschlaggebenden Beweggründe für die Wahl von MATLAB als Basis für die TPS-Entwicklungssoftware war dessen Fähigkeit, Instrumente und andere Testhardware konfigurieren und steuern zu können. MATLAB ermöglicht die Kommunikation mit Geräten wie dem Teradyne Ai-710 über die Instrument Control Toolbox, die Schnittstellen zu kommerziellen Treiberumgebungen wie VXIplug&play und IVI bereit stellt. Im vorliegenden Projekt bildete die Instrument Control Toolbox die Schnittstelle zwischen dem Ai-710 und einem VXIplug&play-Instrumententreiber von Teradyne. Mit MATLAB lässt sich das Ai-710 sowohl über GUIs als auch von der Kommandozeile aus konfigurieren und steuern, was das Senden und Empfangen von Daten vereinfacht.

Bei herkömmlichen TPS-Testmethoden wird jeweils nur ein einzelnes Eingabe/Ausgabe-Paar einer UUT untersucht. Mit VTPS dagegen werden die Eingabe- und Ausgabedaten als Vektoren von Amplitude und Zeit definiert. So werden mehrere Vektoren simultan an die UUT-Eingaben übergeben und gleichzeitig die UUT-Ausgaben gemessen. Jeder Ausgabevektor ist eine Funktion des Eingabevektors und der UUT. MATLAB als mathematische und algorithmische Sprache eignet sich hervorragend zur Analyse der anfallenden großen Datensätze sowie zur Ermittlung der Beziehungen zwischen den Ein- und Ausgabesignalen.

Mit MATLAB lassen sich Eingabe- und Ausgabesignale testen. Sobald ein Eingabevektor an die UUT übergeben wird und die Ausgabedaten empfangen werden, können diese mit einem Vektor der erlaubten oberen bzw. unteren Signalschwelle oder beiden verglichen werden (Abb. 1). In MATLAB ist ein solcher Vektorvergleich eine einzige Operation, die als Array vorliegenden Daten müssen also nicht in einer Schleife abgearbeitet werden. Da auch die Eingabedaten in Vektorform vorliegen, lässt sich die Einhaltung vorgegebener Testparameter mit der gleichen Methode sicherstellen.

naval_fig1_w.gif
Abb. 1: Die in MATLAB entwickelte VDT-Anwendung verfügt über eine eingebaute Kriteriumsfunktion. Mit einem einzigen vektorisierten Vergleich kann ein Testingenieur ebenso viele Informationen sammeln, wie mit vielen wiederholten konventionellen Testläufen.

Um die Entwicklung von Testprogrammen zu vereinfachen, erzeugte das Team in MATLAB eine grafische Anwendung namens VTPS Development Tool, kurz VDT. Mit diesem Programm können Anwender die Eingaben und Ausgaben der UUT bestimmten Kanälen des Ai-710 zuordnen. Außerdem lassen sich damit Eingabesignale, Datenerfassungsraten und Testdauer festlegen sowie Tests starten. Die Anwendung zeigt die ausgewählten Testdaten in Form mehrerer Grafiken mit einer universellen Zeitachse an.

In der MATLAB-Umgebung können die Testingenieure dann die gesammelten Ein- und Ausgabedaten weiter analysieren. Alternativ lässt sich auch eine Funktion mit Kriterien für das Bestehen oder Verfehlen des Testziels definieren.

Test der A7-Platine: Demonstration eines VTPS

Um zu demonstrieren, dass vektorisierte Test Programm Sets eine zweckmäßige Alternative zu konventionellen TPS-Tests sind, entwickelte das Team ein VTPS für die Analog-Buffer-Platine A7. Diese Platine wird im AV-8B Harrier eingesetzt und leitet dort verschiedene Wechselstromsignale an einen Mikroprozessor weiter, der dann durch Schaltung eines Analog-Multiplexers (MUX) bestimmt, welches Signal wohin weitergeleitet wird. Die primär interessanten Kanäle im A7 sind die Wechselstromeingänge, die MUX-Steuereingänge und der eine vorhandene analoge Ausgabekanal.

naval_fig2_w.gif
Abb.2: Schematische Darstellung der getesteten Analog-Bufferkarte A7.

Bei einem herkömmlichen TPS wird jede Eingabe auf die A7-Buffer-Karte separat getestet. Bei dieser Vorgehensweise richtet der Tester einen Kanal nach dem anderen ein, was bis zu 50% der gesamten Testzeit verschlingen kann. Tests der A7-Karte mit einem VTPS, das in der MATLAB-Anwendung läuft, sind erheblich effizienter und bilden außerdem die Bedingungen im Realbetrieb viel genauer nach. Durch die Mehrkanalfähigkeit des Ai-710 werden alle I/O-Kontakte des A7 nur einmal zu Testbeginn mit dem Instrument verbunden, der Tester muss also nicht ständig Kabel an- und wieder abklemmen. Alle Signalgeneratoren werden am Anfang eines Testlaufs gestartet, wodurch Verzögerungen durch ihre spätere Einrichtung vermieden werden.

Je nach der MUX-Auswahl muss die Ausgabe der A7-Karte innerhalb eines bestimmten Zeitfensters geschaltet werden. Bei konventionellen TPS ist diese Schaltzeit schwer zu messen, weil man nur begrenzte Kontrolle über die Timing-Charakteristik der Instrumente hat. Mit dem Ai-710 und der VDT-Anwendung ist das deutlich einfacher, da diese für die Anzeige von Timing-Beziehungen und Wechselwirkungen zwischen den Kanälen ausgelegt sind.

Der erste Schritt beim Einsatz des VDT besteht in der Zuordnung der I/O-Kontakte der UUT zu den Kanälen des Ai-710 (Abb. 3). Danach werden die Stimuli auf die zu untersuchenden Kanäle aufgeschaltet. Für jeden Eingangskanal werden dazu Signaltyp, Signalparameter und Testdauer festgelegt. Alle Signalstimuli werden auf einer gemeinsamen Zeitachse angezeigt, wodurch die Timing-Beziehungen zwischen den Kanälen sofort erkennbar sind.

naval_fig3_w.gif
Abb. 3: Das VTPS Development Tool ermöglicht die Auswahl und Konfiguration von Ein- und Ausgabekanälen.

Anschließend werden noch die zu messenden Ausgabekanäle ausgewählt. Nach Abschluss des Testlaufs zeigt die Anwendung die digitalisierten Ein- und Ausgaben gemeinsam auf einer universellen Zeitachse an. Der Anwender kann sich also die tatsächlich gemessenen Timing-Beziehungen anzeigen lassen und so das Verhalten der UUT genauer verstehen (Abb. 4).

naval_fig4_w.gif
Abb. 4: Die VDT-Anwendung stellt Ein- und Ausgabesignale nebeneinander auf einer Zeitachse dar. Zum Vergrößern auf das Bild klicken.

Durch Definition einer Funktion mit Erfolgskriterien lässt sich zudem ein VTPS erzeugen, das automatisch feststellt, ob ein Test bestanden wurde. Die Kriteriumsfunktion vergleicht den Ausgabevektor mit einer oberen und unteren Signalschwelle. Eine solche Funktion hat in MATLAB beispielsweise die folgende Form:

if (all(~fData > LimHigh)) &&
    all(~(fData < LimLow)))
    fStatus(jdx) =1;
else
    fStatus(jdx) =0;
end

Aufgrund der vektor- und matrizenorientierten Arbeitsweise in MATLAB ist die Einrichtung dieses Vergleichs für einen ganzen Testdatensatz unkompliziert.

Weitere Schritte

Um dem Wartungspersonal zu vermitteln, welches Potenzial VTPS bezüglich möglicher Zeitersparnisse und einer Verbesserung der Testeffektivität besitzt, sind mehrere Schritte erforderlich. Die in der ersten Phase durchgeführten Demonstrationen mit einem einzelnen Ai-710 wurden von Angehörigen der US-Marine positiv bewertet. MATLAB hat sich in diesem Projekt aufgrund seiner Fähigkeit, Testhardware steuern und VTPS analysieren zu können, als zweckmäßige und den praktischen Erfordernissen gewachsene Software-Umgebung für die Entwicklung effizienter paralleler Testsysteme bewährt.

In der zweiten Phase wird dem Personal das MATLAB-basierte VDT sowie die Durchführung von VTPS auf dem CASS mit mehreren Teradyne Ai-710-Instrumenten demonstriert. Zusätzlich ist ge­plant, die Visualisierungsfähigkeiten und Kriteriumsfunktionen der Anwendung zu erweitern. Die VTPS sollen außerdem um die Fähigkeit eines echten Komponenten-Deguggings erweitert werden, um die Ursache von Fehlfunktionen direkt isolieren zu können. Der zukünftige Einsatz von VTPS mit den beschriebenen Testsystemen ist natürlich auch davon abhängig, ob man den Testingenieuren und der US-Marine diese Methodik erfolgreich vermitteln kann.

Veröffentlicht 2007 - 91478v00

Eingesetzte Produkte

Weitere Informationen

Artikel für ähnliche Einsatzgebiete anzeigen

Artikel für verwandte Branchen anzeigen