Acht Wege zur Leistungssteigerung von GPIB-Systemen

Überblick

Bei automatisierten Messsystemen kann die Leistung nie hoch genug sein, da sich Leistungssteigerungen direkt auf den Durchsatz von Produktionsprüf- und GPIB-basierten Datenerfassungsanwendungen auswirken. Folgende Verbesserungen lassen sich durch Leistungssteigerungen erreichen:

- Erhöhung des Prüfdurchsatzes
- Schnellere Produktvalidierung für kürzere Markteinführungszeiten
- Reduzierung von Ausgaben für Prüfgeräte

Zeiteinsparungen bei der Produktionsprüfung resultieren zum einen in einer schnelleren Produktentwicklung und Auslieferung an den Kunden, zum anderen können die dadurch erreichten Einsparungen in Prüfequipment investiert werden. Da der Standard IEEE 488 (GPIB) Grundlage vieler heutiger automatisierter Messsysteme ist, ist es sinnvoll, sich mit verschiedenen Optionen zur Leistungssteigerung von GPIB-Systemen vertraut zu machen. Ingenieure verwenden GPIB primär, da es sich um eine einfach zu handhabende, bewährte Schnittstelle für die größte Auswahl an Messgeräten für automatisierte Messsysteme handelt. Aus diesem Grund werden in diesem Dokument acht Wege zur Leistungssteigerung von GPIB-Systemen vorgestellt.

Inhalt

Hard- und softwareumfassende Lösungen

Die acht vorgestellten Lösungsansätze umfassen sowohl Hard- als auch Softwareoptionen, die direkt zur Verbesserung der Leistung von GPIB-Systemen eingesetzt werden können. Alle acht Lösungen können entweder gemeinsam oder separat eingesetzt werden, je nach Anwendungsanforderungen und Einsatzmöglichkeiten.

1. Einsatz von Bus-Master-GPIB-Controllern


PCI bietet eine überragende Leistung bei der Übertragung von Daten, sobald diese über GPIB empfangen wurden. Im Gegensatz zu ISA gibt es in einem PCI-basierten Computer keinen dedizierten DMA-Controller, der von Peripheriemodulen zur Übertragung von Daten auf den PC-Speicher genutzt wird. Um die höchstmögliche Leistung zu erreichen, sollten PCI-basierte Peripheriegeräte über einen eigenen integrierten DMA-Controller zur Datenübertragung auf den PC-Speicher verfügen, um so eine zügige Weiterverarbeitung auf dem Systemprozessor zu ermöglichen. Module mit dieser Fähigkeit sind sogenannte Bus-Master, was bedeutet, dass sie in der Lage sind, den PCI-Bus zu steuern und Daten unabhängig vom Systemprozessor zu übertragen.

Peripheriemodule, die nicht über Bus-Master-Fähigkeiten verfügen, müssen die Abläufe auf dem Prozessors unterbrechen, um die Daten zu übertragen. Diese Unterbrechung verlangsamt nicht nur Anwendungen, sondern führt unter Umständen zu einer signifikanten Reduzierung der Gesamtsystemleistung.

2. Einsatz von 8-Mbit/s-kompatiblen GPIB-Controllern und -Geräten


HS488 ist eine Hochgeschwindigkeitserweiterung des Standards IEEE 488, welche den maximalen Durchsatz von GPIB auf 8 Mbit/s erhöht. Vergleichstests haben ergeben, dass hiermit Leistungsverbesserungen zwischen 25 und 3000 Prozent erreicht werden können. Ein exemplarischer Vergleich mit einem Oszilloskop ergab eine Datenübertragungsrate von bis zu 7,4 Mbit/s zwischen PC und Messgerät. Da HS488 in die GPIB-Controller-Hardware integriert ist, müssen Anwender keine Änderungen an der Anwendungssoftware vornehmen, um die Vorteile zu nutzen. HS488 wurde umfassend getestet und ist vollständig mit bestehenden IEEE-488-Messgeräten kompatibel. Sowohl HS488- als auch reguläre IEEE-488-Messgeräte können im selben System eingesetzt werden, ohne dass Kompatibilitätsprobleme auftreten.

National Instruments bietet HS488-kompatible GPIB-Controller an. Weitere Informationen zu HS488 entnehmen Sie den nachfolgenden Links.

3. Einsatz von GPIB-Messgeräten mit optimierten Mess- und Befehlsanalysefunktionen


Die Verarbeitung von Befehlen und Weitergabe von Messdaten an den GPIB-Ausgangspuffer des Messgeräts kann zu einer zeitlich aufwendigen Angelegenheit werden. Gerätehersteller müssen diese Umstände berücksichtigen, um die höchstmögliche Messleistung sicherzustellen. Geschwindigkeit und Typ des integrierten Mikroprozessors und internen Busses geben bereits Aufschluss über die Verarbeitungsfähigkeiten des Messgeräts. Jedoch lässt sich das volle Potenzial der Hardware nur mithilfe optimierter Firmware nutzen. Werden vom Hersteller keine Spezifikationen oder Angaben bezüglich der Firmware bereitgestellt, ist es notwendig, mit verschiedenen Messgeräten zu experimentieren, um herauszufinden, welches Gerät die beste Leistung bei der Konfiguration und Erfassung von Messdaten über GPIB bietet.

4. GPIB-Gerätetreiber für hohe Leistung


Eine neue Treiberklasse, die IVI-Treiber (Interchangeable Virtual Instruments), verbessern die Systemleistung, da sie den Konfigurationszustand eines bestimmten Messgeräts speichern. Die Treiber bieten eine leistungsstarke Engine für das Zustands-Caching, der Überwachung der Hardwareeinstellungen eines Messgeräts. Diese Funktion sorgt für eine deutliche Steigerung der Prüfleistung, da IVI-Treiber nur dann Messgeräte-I/O durchführen, wenn der Wert einer Hardwareeinstellung geändert wird. Wird beispielsweise bei einem Erregersignal nur ein Frequenz-Sweep durchgeführt, ist es überflüssig, die Amplitude, Signalverlaufsform, Phase und andere Signalinformationen wieder und wieder zu übertragen. Im Vergleich dazu verfügen aktuelle VXI-plug&play-Messgerätetreiber nicht über Funktionen für das Zustands-Caching.

Mithilfe von IVI-Treibern lassen sich Gerätetreiber so konfigurieren, dass sie für bestmögliche Ergebnisse in allen Betriebsmodi ausgeführt werden. Der Treiber kann beispielsweise so eingestellt werden, dass er automatisch die Bereiche aller zu übertragenden Werte untersucht und sie gegebenenfalls in gültige Werte umwandelt. Des Weiteren kann der Treiber automatisch das Zustands-Byte des Messgeräts nach jedem übertragenen Befehl überprüfen. Alle diese Entwicklungsmodi können genauso schnell deaktiviert werden, wenn das Prüfprogramm in der Produktion eingesetzt wird, um die schnellstmögliche Ausführung zu ermöglichen. Somit werden erstklassige Fehlerbehebungsfunktionen mit schnellen Ausführzeiten kombiniert.

Detaillierte Informationen zu diesen Funktionen entnehmen Sie dem Link Verbesserung der Prüfleistung durch Zustandsüberprüfung bei Gerätetreibern. IVI-Treiber basieren auf einer offenen Industriespezifikation, die von der IVI Foundation veröffentlicht wurde. Die IVI Foundation besteht aus über 20 verschiedenen Unternehmen aus dem Anwender- und Herstellerbereich. Weitere Informationen zu IVI und der IVI Foundation finden Sie auf der Webseite zu IVI (siehe Link in Weitere Informationen). Der nachfolgende Leistungsvergleich zeigt, wie das Zustands-Caching die GPIB-Leistung verbessert.

Leistungsvergleich – Systemreaktion vs. Frequenz
Die Aufgabe liegt darin, die Frequenzantwort eines unbekannten Systems festzustellen. Hierfür sind sowohl ein Signal-/Funktionsgenerator zur Erzeugung von Signalen mit verschiedenen Frequenzen als auch ein Digitalmultimeter bzw. ein Oszilloskop zur Messung der Ausgangsspannung(en) des zu prüfenden Systems erforderlich. Nachfolgend ist der Pseudocode für ein Prüfprogramm aufgelistet, welches High-Level-Gerätetreiberaufrufe zur Programmierung eines Funktionsgenerators und Oszilloskops einsetzt.

Pseudocode und Prüfaufbau für Swept-Sine-Test:

Initialisierung und Konfiguration des Oszilloskops
Initialisierung und Konfiguration des Frequenzgenerators
While (Frequenz < EndFreq)
Schleife starten
Sinusverlauf erzeugen
Stimulussignal lesen (Oszilloskop-Kanal 1)
Antwortsignal lesen (Oszilloskop-Kanal 2)
Bestimmung der Amplituden- und Phasendifferenz zwischen Stimulus und Antwort
Speichern der Amplitude und der Phase
Erhöhung der Frequenz
Schleife beenden
Darstellung der Amplitude und der Phase
DMM deinitialisieren
Frequenzgenerator deinitialisieren


Dieser Test wurde mithilfe eines HP-33120A-Funktionsgenerators und eines HP-54645D-Oszilloskops durchgeführt. Tabelle 1 zeigt den Leistungsunterschied zwischen IVI- und traditionellen Treibern für diesen Test.

Tabelle 1: Vergleichstest zum Zustands-Caching
Zustand-Caching
Prüfzeit (Sekunden)
Leistungsunterschied
Ausgeschaltet
(Traditionelle VXI- plug&play-Treiber)
35,0
keiner
 
Eingeschaltet
(IVI-Treiber)
13,2
265%

Weitere Informationen:
IVI
Verbesserung der Prüfleistung durch Zustandsüberprüfung bei Gerätetreibern

5. Durchführung der Datenverarbeitung auf dem Host-PC


Die Verarbeitungs- und Analysefähigkeiten von Messgeräten werden zunehmend verbessert. Allerdings ist es für Gerätehersteller eine Herausforderung, mit den Fortschritten in der PC-Industrie Schritt zu halten und stets aktuellste Verarbeitungstechnologien bereitzustellen. Oftmals erfordert der Einsatz eines neuen Prozessors auch ein Neudesign des Messgeräts. Aufgrund dessen kann es sein, dass Anwender eine neue Version des Messgeräts erwerben müssen, um die Leistungsverbesserungen nutzen zu können.

Um sicherzustellen, dass stets die leistungsstärksten Verarbeitungsfunktionen zur Verfügung stehen, bietet es sich an, berechnungsintensive Analysen auf dem Host-PC durchzuführen. In der Regel erfahren PC-Funktionen und -Fähigkeiten eine schnellere Weiterentwicklung als Gerätefunktionen. Außerdem ist es sehr wahrscheinlich, dass Anwender ihre PCs schneller austauschen als ihre Messgeräte. Mit jeder neuen PC-Generation können Anwender die Leistungssteigerungen direkt nutzen, indem sie die Datenverarbeitung und -analyse auf dem PC durchführen.

Des Weiteren ist es nicht möglich, die Analysefunktionen von Messgeräten benutzerdefiniert zu gestalten, da diese festgelegt sind. Auf dem PC hingegen lassen sich einfach individuelle Analysefunktionen hinzufügen, da viele Softwarehersteller ganze Bibliotheken für die Signalverarbeitung, Filterung und allgemeine Analyse anbieten, welche die Festlegung benutzerdefinierter Analyseroutinen wesentlich vereinfachen.

6. Multithreading in der Software


Bei Multithreading handelt es sich um eine Programmiermethode, bei der die Ausführung der Anwendung in verschiedene Tasks bzw. Threads aufgeteilt wird. Die verschiedenen Threads, die vom Haupt-Thread der Anwendung erstellt werden, können unabhängig von anderen Threads im System ausgeführt werden. Sobald ein Thread vollständig ausgeführt wurde, ist er beendet. Der Haupt-Thread schließt die Anwendung, nachdem alle Tasks ausgeführt wurden. Verfügt das System über mehr als einen Prozessor, lässt sich die Leistung der Anwendung noch weiter steigern, da einzelne Threads simultan auf verschiedenen Prozessoren ausgeführt werden können. Systeme mit nur einem Prozessor können zudem so eingestellt werden, dass sie jedem Thread der Anwendung einen entsprechenden Zeitabschnitt des Prozessors zuweisen. Die Leistung der Anwendung lässt sich steigern, da der Prozessor einen Thread ausführt, während er auf ein externes Ereignis wartet, um einen weiteren Thread auszuführen. Dies ist oft in GPIB-Anwendungen der Fall.

GPIB-Anwendungen profitieren auf vielfältige Weise von einer Multithreading-Ausführung. Multithreading ermöglicht die Aufteilung einer Anwendung in Teilaufgaben, so dass Systemressourcen effizienter eingesetzt werden können. Zudem lassen sich zeitkritische Aufgaben in separate Threads aufteilen, so dass Anwender zeitkritische Ereignisse, z. B. einen Service Request (SRQ), überwachen und gleichzeitig bereits gespeicherte Daten verarbeiten können.

So verfügt eine Anwendung beispielsweise über drei Threads mit verschiedenen Aufgaben: ein Thread für Benutzereingaben, ein zweiter für die Datenerfassung und -protokollierung und ein dritter Thread für die Datenverarbeitung und -darstellung. Die Datenverarbeitung sowie die anschließende Darstellung kann sich u. U. sehr zeit- und prozessorintensiv gestalten. Außerdem variiert die Menge der Daten sowie die Häufigkeit, mit der Daten erfasst werden. In vielen Fällen sucht die Anwendung zudem fortlaufend nach SRQs von Messgeräten. Im Gegensatz dazu sind Anwendereingaben oft sporadischer Natur verglichen mit anderen fortlaufenden Prozessen in der Anwendung. Mithilfe von Multithreading können diese Aufgaben voneinander getrennt und separat verarbeitet werden. Des Weiteren kann bei Anwendungen, die mehr als eine GPIB-Schnittstelle nutzen, ein Thread zur Verwaltung der verschiedenen GPIB-Schnittstellen und deren Steuerung zugewiesen werden.

Die Software NI-488.2 für Windows NT/98/95 von National Instruments ist Multithreading-fähig und liefert alle notwendigen Funktionen für Multithreading-Anwendungen. Weitere Informationen entnehmen Sie dem nachfolgenden Link Entwicklung von Multithreading-GPIB-Anwendungen in Windows NT und Windows 95. NI LabWindows™/CVI und LabVIEW bieten ebenfalls Multithreading-Funktionen für Anwendungen zur Gerätesteuerung.

Weitere Informationen:
Entwicklung von Multithreading-GPIB-Anwendungen in Windows NT und Windows 95

7. Native Datenformate


Bei der Übertragung über GPIB werden Daten häufig in ein alphanumerisches Format (in der Regel ASCII) umgewandelt. Dies beeinflusst die Leistung der Anwendung, da zur Verarbeitung zwei Datenumwandlungsvorgänge durchgeführt werden müssen. Die erste Umwandlung findet statt, wenn das Messgerät Daten vom Binärformat in ASCII umwandelt, damit sie über GPIB übertragen werden können. Diese Umwandlung kann sehr zeitintensiv sein, da der Prozessor des Messgeräts meist nur über einen Bruchteil der Verarbeitungsleistung eines modernen PC-Prozessors verfügt. Anschließend findet auf dem PC mithilfe einer Datenanalyseroutine die Umwandlung der Messdaten vom ASCII- zurück in das Binärformat zur Weiterverarbeitung und Analyse statt. Um diesen Overhead zu vermeiden, ist es ratsam, die Daten im nativen Datenformat des Messgeräts (Binär) zu übertragen.

8. Modulare Messgeräte für anspruchsvolle Anwendungen


Für Anwendungen, die Daten-Streaming, eine schnelle Übertragung kleiner Datensätze sowie äußerst präzise Synchronisations- und Trigger-Funktionen erfordern, empfiehlt sich der Einsatz modularer Messgeräte. Diese Messgeräte sind für PCI, PXI/CompactPCI und VXI verfügbar. Jede dieser Plattformen kann zur Steuerung von GPIB-Messgeräten eingesetzt werden.

PXI/CompactPCI bietet eine kosteneffiziente Lösung für Produktionsprüfumgebungen, da es eine robuste Plattform zur Verfügung stellt, welche einen PCI-Bus nutzt, vergleichbar einem Desktop-PC. Modulare Messgeräte, die auf PXI/CompactPCI basieren bieten folgende Vorteile:

  • Mehr als 7 PCI/PXI-Steckplätze
  • Bus-Master-DMA-Funktionen für direktes Daten-Streaming
  • Robuster und modularer Aufbau
  • Timing und Triggerung über Backplane
  • Einsatz von Standard-Windows-Software
  • Software von Desktop-PC-Systemen für PXI/CompactPCI-Embedded-Computer
  • Kostengünstigere Messgeräte und Digitizer mit hoher Messgenauigkeit
  • Geringere Latenz
  • Einfache Steuerung von GPIB-Messgeräten


Modulare Plattformen sind eine ansprechende Option, da diese Systeme drei Anforderungen von Mess- und Automatisierungssystemen erfüllen. Die erste Anforderung ist die Fähigkeit des Streaming einer großen Datenmenge in den PC-Speicher. Geräte wie Oszilloskope, Funktionsgeneratoren und Hochgeschwindigkeits-Digitizer benötigen eine ausreichende Busbandbreite, um Daten in kürzester Zeit vom und zum PC-Speicher zu übertragen.

Die zweite Anforderung ist die effiziente Kommunikation mit Geräten die geringe Datenmengen übertragen, u. a. Counter/Timer, programmierbare Netzteile und Digitalmultimeter. Die Effizienz der Kommunikation hängt dabei hauptsächlich von der Zeit ab, die benötigt wird, um das erste Informations-Byte zu senden (Latenz des ersten Bytes). Der auftretende Overhead spielt hierbei eine große Rolle, da nur kleine Mengen an Daten übertragen werden. Die Latenzzeit zur Übertragung des ersten Bytes liegt für PCI, PXI/CompactPCI und VXI zwischen 10 und 100 ns. Für GPIB liegt die Latenzzeit bei ca. 100 µs. Eine geringe Latenz des ersten Bytes bedeutet eine schnellere Kommunikation zwischen Geräten, die nur geringe Datenmengen übertragen.

Die dritte Anforderung liegt in der Anbindung an bestehende GPIB-Messgeräte, die nicht mit modularen Messgeräten kompatibel sind. Die GPIB-Controller und -Module von NI sind in der Lage, diese Anforderung zu erfüllen.

Fazit


Es existiert eine Vielzahl an Möglichkeiten zur Verbesserung der Leistungsfähigkeit von GPIB-Systemen. Die in diesem Dokument vorgestellten Optionen berücksichtigen Messgeräte, GPIB-Controller sowie Software und Entwicklungswerkzeuge zur Erstellung von Anwendungen. Anwender können diese Anregungen sowie eigene Ideen in ihren Anwendungen umsetzen, um das volle Potenzial ihrer GPIB-Systeme zu nutzen.

 

Die Bezeichnung LabWindows ist lizensiert von der Microsoft Corporation. Windows ist ein in den USA und anderen Ländern eingetragenes Warenzeichen der Microsoft Corporation.