Serie LabVIEW in der Praxis Mit einem Multifunktionsprüfsystem die gesamte Elektronikfertigung steuern

Autor / Redakteur: Jürgen Dodek* / Dipl.-Ing. (FH) Hendrik Härter

StepTyp ist ein Multifunktionsprüfsystem für die Fertigung von elektronischen Bauteilen. Ohne Programmierkenntnisse in den Sprachen LabVIEW oder C++ sowie SCPI-Kommandos lassen sich alle erforderlichen Geräte über eine Bedienoberfläche ansteuern.

Anbieter zum Thema

Als Hersteller von schnelllaufenden Dieselmotoren im Leistungsbereich von 20 bis 9100 kW entwickelt und fertigt die MTU in Friedrichshafen elektronisches Motormanagement-, sowie Automatisierungs- und Überwachungssysteme für Motoren. Alle produzierten elektronischen Baugruppen und Geräte werden auf Prüfadaptern mit unterschiedlichsten Prüfgeräten getestet. Die Prüfgeräte sind hauptsächlich Eigenentwicklungen. Das bedeutet, dass Mess- und Stimulationsgeräte wie Multimeter oder Spannungsquellen am Markt zugekauft und mit einem Industrie-PC zu einem Prüfsystem integriert werden.

Als Entwicklungsumgebung dient TestStand. Bisher wurden zur Programmerstellung ausschließlich die Standard Step Types von TestStand benutzt. So konnten beim „NumericLimit“ Step-Type-Adaptoren wie LabView, CVI und DLLs benutzt werden. Dabei wurde immer nur auf ein Gerät zugegriffen.

Folge war, dass für eine bestimmte Messaufgabe mehrere „Action“, „Statement“ und „Wait“ Step-Types zuvor aufgerufen sein mussten. Daraus resultierte, dass die Programme groß und komplex wurden.

GUI soll das Prüfsystem einfach bedienen lassen

Als das Funktionstestsystems NOVA entwickelt wurde, musste die enorme Freiheit, die TestStand dem Entwickler eröffnet, begrenzt werden. Mess- und Stimuligeräte mussten einfach einzustellen sein. Resultat war ein Step-Type, mit dem sich alle Geräte des Prüfsystems über ein User-Interface-Panel grafisch editieren lassen und in der Laufzeitumgebung die Einstellungen automatisch durchläuft.

Der Aufbau des Funktionstesters

Der Funktionstester Nova besteht aus mehreren Geräten mit unterschiedlichen Kommunikationsschnittstellen. Alle Komponenten befinden sich in einem mobilen 19"-Prüfturm. Das Prüfgerät besteht im Wesentlichen aus:

  • Standart Industrie-PC mit: PCI/PXI Bridge, USBtoGPIB, CAN, RS422
  • 12 Slot PXI Chassis mit: NI-PXI/PCI Bridge, NI-PXI 5401 (Funktionsgenerator), NI-PXI 6624 (Zähler), NI-PXI 6704 (analoger Output), NI-PXI 6224 (analoger Input) und NI-PXI 4072 (DMM)
  • 12 Slot SCXI Chassis mit: 4 × NI-SCXI 1129 (Matrix), 2 × NI-SCXI 1130 (Multiplexer), 3 × NI-SCXI 1169 (SPDT-Relais) und 3 × NI-SCXI 1166 (General-Purpose-Relais)
  • DC-Spannungsquellen: Agilent 6700 (N6752A, N6744B, N6743B, N6742A) und Gossen SSP 1000-52
  • Sonstiges: Burster RTD 4530 (Widerstandssimulator) und Burster 4462 (Kalibierquelle)

Das Herzstück des Funktionstesters ist die PCI/PXI-Bridge. Über sie wird das PXI-Chassis mit dem Industrie-PC verbunden. Es wurde bei dieser Entwicklung bewusst auf einen PXI-Controller verzichtet, da keine Echtzeitanforderungen und keine hohen Messdatenraten zu erwarten waren.

Relais sind im SCXI-Chassis integriert

Ein Industrie-PC bietet die Standartschnittstellen Seriell, Parallel, CAN, Ethernet und USB zu einem besseren Preis/Leitungsverhältnis an. Das PXI-Chassis wurde aufgrund seiner hohen Dichte an sehr kompakten Mess- und Stimulieinheiten gewählt. Sämtliche Relais befinden sich im SCXI-Chassis, das im Vergleich zu PXI-Relaiskarten eine noch höhere Relaisdichte hat. Gesteuert wird das Chassis über das NI PXI 4072 Multimeter mit der Aux I/0 Leitung. Sämtliche weiteren Geräte sind über GPIB angeschlossen

Softwareumsetzung in C++

Der StepType wurde als Windows Dynamic Linked Library (DLL) entwickelt. Als Programmierentwicklungsumgebung wurde Visual Studio C++ mit MFC (Microsoft Foundation Classes) gewählt. Die gesamte Bedienoberfläche wurde unter LabWindows/CVI erstellt und anschließend in das Visual Studio Projekt integriert. Dadurch konnte die Mächtigkeit von C++-Objekten und die Einfachheit von CVI-Panels und deren Controls gebündelt werden.

Als Gerätetreiberschnittstellenarchitektur wurde IVI (Interchangeable Virtual Instruments) benutzt, weil:

  • die meisten der benutzten Geräte IVI-fähige Treiber besaßen und
  • IVI-Architektur mehre Möglichkeiten der Simulation bietet. Grundsätzlich haben alle IVI-Treiber intern einen Simulator, der Pseudo- oder Defaultwerte zurück gibt. Eine weitere Option wäre der Einsatz von speziellen Simulationstreibern. Durch die Simulation ist es möglich, den StepType auf Desktop–PCs ohne die vorhandene Hardware auszuführen. Nicht vorhandene IVI–Gerätetreiber wurden mit dem LabWindows/CVI IVI Treiberwizard erstellt.

Schnittstelle zum Teststand

Die DLL besitzt zwei globale Zugriffsfunktionen: EditStep und PostStep. Bei beiden Funktionsaufrufen muss der TestStand Sequnence-Context übergeben werden. Damit wurde eine Schnittstelle zu Teststand geschaffen, die den Step schon während des Programmierens eines Prüfprogramms im Editor laufenzulassen. Dadurch ist es früh möglich Fehler und Toleranzverschiebungen zu finden oder in der Laufzeitumgebung den StepType graphisch zu „debuggen“.

Auswahl der geeigneten Messart

Bild 1: Screenshot Multimeter mit Scanliste (links) und Matrix (rechts) (Archiv: Vogel Business Media)

Die Messartenauswahl des Multimeters erfolgt durch aktivieren des jeweiligen Messartenbuttons (Bild 1 links). Je nach Messauswahl sind die Steuerelemente für den Wertebereich sowie die Auflösung automatisch angepasst. Die Scan-Liste wird editiert, in dem mit einem Klick in der Tabelle ein Popup-Fenster erzeugt wird, in dem der Messkanal, der Messname sowie die Min- und Maxwerte angeben werden können.

Über die Buttons Einzel- und Scanmessung kann während der Programmerstellung auf das Messsystem zugegriffen und eine Messung oder komplette Scanlisten-Messung umgesetzt werden. Das Ergebniss wird anschließend in einer Tabelle dokumentiert.

Das Layout der 2-Drahtmatrix (Bild 1 rechts) wurde an die benutzte Virgina-Panel-Receiverschnittstelle des Prüfgeräts angepasst. Grundsätzlich zwei Pins(+,-) bilden einen Spaltenkanal der Matrix. Über die vier Bus-Toggle-Buttons werden die Zeilen der Matrix bestimmt. Der jeweils Aktive bestimmt den aktuellen Bus. Ein Klick auf einen Spaltenkanal legt die Spalte auf den Bus und umgekehrt. In Bild 1 ist Spalte 9 mit Spalte 19 über Bus 3 verbunden.

Relais steuern und Kanäle bedienen

Bild 2: Screenshot Relais (links) und DC-Stromversorgung (rechts) (Archiv: Vogel Business Media)

Es wird immer der Soll-Zustand der Relais angezeigt. Ein Klick auf das Relais lässt es „toggeln“. Das Panel für die DC-Spannungsversorgung deckt den Grundumfang eines Kanals ab. Hat ein Gerät mehere Kanäle, so wird es Panel mit der jeweiligen Kanalzahl mehrfach als Childpanel im Gerätepanel implementiert und initialisiert.

Wichtig für die Prüfprogrammerstellung ist hierbei die Freischaltung des Kanals (Checkbox überhalb der Kanalnummer). Damit kann der Netzgerätekanal einmalig eingestellt werden und bleibt solange über mehere Steps hinweg erhalten, bis erneut eine Freischaltung erfolgt.

Zukünftige Entwicklung des StepTypes

Nach Fertigstellung des Prüfgeräts und des StepTypes wurde ein weiteres Prüfgerät entwickelt, welches prinzipiell eine Untermenge des Bestehenden darstellt. Aufgrund der modularen Softwareobjekte wurde mit geringem Zeitaufwand ein zugehöhriger StepType neu erzeugt.

Problem: es exitieren nun zwei StepTypes. Langfristiges Ziel sollte es sein, nur einen StepType für unterschiedliche Prüfgeräte zu haben. Der StepType muss während seiner Initialisierung prüfen, welche Station TestStand benutzt und sich dementsprechend selbst zusammmenzusetzen.

*Jürgen Dodek arbeitet in der Abteilung TEE – Elektronik Entwicklung bei der MTU Friedrichshafen GmbH.

(ID:270964)