Die Managementsoftware TestStand

TestStand ist eine Testmanagementsoftware zur schnellen und effektiven Entwicklung automatisierter, sicherer Prüf- und Testsysteme. Mit TestStand werden einzelne Testsequenzen, bestehend aus LabVIEW-VIs, DLL-Aufrufen oder anderen Codemodulen zu komplexen Testsystemen zusammengefügt. Zudem verfügt TestStand über eine konfigurierbare Prüfberichterstellung und Schnittstellen zur Protokollierung der Testergebnisse.

Meine TestStand-Themen

  • Erstellung Testprojekte
  • Integration in Testabläufe
  • Implementierung LabVIEW-VIs
  • Implementierung DLLs
  • Ansteuerung von Schalt-, Stimuli- und Messhardware
  • Optimierung Ablaufsteuerung
  • Verwaltung Mehrfach-Nutzen
  • Visualisierung Seriennummern und PASS/FAIL einzelner Nutzen
  • Erstellung und Anpassung der Prüfprotokolle
  • Programmierung und Anpassung Graphical User Interface (GUI)
  • Ansteuerung PASS/FAIL-Anzeige
  • Datenbankanbindung

Beispiel: Das Testprojekt The Dash

The Dash

In den letzten 10 Jahren hatte ich zahlreiche Projekte mit TestStand realisiert. Eins davon möchte ich hier gerne vorstellen: The Dash der Firma Bragi aus dem Jahr 2016.

Entwicklung eines 12-fach Test- und Programmieradapters (innerhalb meiner Tätigkeit für die Fa. Toptest GmbH) für „The Dash, einem drahtlosen, intelligenten Ohrhörer mit Kommunikations- und Sensortechnik. Bei der ersten Version des Testadapters war nur ein rein sequentielles Testen aufgrund von Abhängigkeiten der Tests untereinander möglich. Bei der Version 3.0 wurden die jetzt autonomen Tests in eine parallel ablaufende TestStand-Sequenz gebracht. Zudem wurden einzelne Sockets priorisiert, um die Hardwareresourcen optimal auszunutzen. Dieses ergab im Vergleich zur Ausgangssituation einen Zeitvorteil von 80%.

Die Aufgabe

The Dash war der weltweit erste, drahtlose und intelligente Ohrhörer mit Kommunikations- und Sensortechnik. Er wurde von der Münchner Firma Bragi ab 2012 entwickelt und kam Anfang 2016 auf den Markt. Die gesamte Technik samt Akku befindet sich in einem Gehäuse, dass kaum größer als ein Ohrhörer ist. Sein fester Halt im Ohr wird durch eine spezielle Konstruktion und eine größenanpassbare Bauform erreicht. Die miniaturisierten Leiterplatten werden als 12er-Panel gefertigt und deren Prozessoren OnBoard programmiert. Anschließend werden wesentliche Basisfunktionen über verschiedene Schnittstellen getestet.

Die Lösung

Die Version 2.0 war eine Modifizierung der TestStand-Testsequenz, in der das sequentielle in ein teilweise paralleles Testen überführt wurde. Mit dieser Maßnahme konnte die Testzeit bereits um 50% reduziert werden. Die TestStand-Testsequenz verarbeitet auch produktspezifischen Daten wie Binärfiles und Seriennummern, die von einem Server abgerufen werden können. Abgleichdaten vom adapterinternen Bluetoothsender/Empfänger werden in den Datenspeicher des Prüflings kopiert. Während der Programmierung bzw. Prüfung werden keine Mess- oder Statuswerte angezeigt. Am Ende der Testdurchlaufs erfolgt eine optische Signalisierung über den Teststatus mit Angabe des Fehlercodes. Die ResultDaten werdem zudem auf einem Server zur Effizienzanalyse transferiert.

Die Optimierung

Zur Optimierung der Testzeit wurden in der Testadapter-Version 3.0 multiple Programmiergeräte und Schnittstellen verbaut, die ein paralleles Testen ermöglichen. TestStand lieferte hierfür die ideale Plattform zur Testzeitreduzierung. Hierfür wurde das adapterinterne Relayboard komplett neu aufgebaut um weitere Hardware zu integrieren.

In V3.0 verwendete Schnittstellen und Spannungsversorgungen:

  • 6x SPI-Schnittstelle
  • 6x SPI-Schnittstelle
  • 3x JTAG-Programmer
  • 3x USB-Schnittstellen
  • 3x serielle Schnittstellen
  • 6x 5V-Spannungsquellen
  • 3x 3.9V-Spannungquellen
  • 2x variable Spannungsquellen
  • 1x Bluetooth Sender/Empfänger

Der Weg von sequentiellen zu parallelen Testabläufen war dank TestStand relativ einfach zu realisieren. Allerdings fehlte eine Prioritätsmethode für den Zugriff auf die verwendete Hardware, die es ermöglicht bestimmte Nutzen bei der Abarbeitung der Testschritte vorzuziehen. Dieses wurde erforderlich, da einer der Tests relativ viel Zeit in Anspruch nahm und die verfügbaren Hardwareresourcen optimal genutzt werden sollten. Die Test- und Programmierzeit konnte von der Version 1.0 zur Version 3.0 um 80% reduziert werden.

Die angewendete Methode bestand darin, dass die einzelnen Testaufrufe in der Main-Sequenz gedoppelt wurden. Als „Precondition“ wurden dem ersten Testaufruf die priorisierten Sockets zugeordnet, beim zweiten die mit minderer Priorität. Somit wartete das Modell stets beim ersten Aufruf und erreichte den zweiten Aufruf erst nach Aktivierung des Sockets für den entsprechend gelockten Test. Hierdurch konnte auf relativ einfache Weise der Zugriff auf die einzelnen Sockets weitestgehend gesteuert werden und der Testablauf weiter optimiert werden.


Ganzen Artikel lesen