Acht Möglichkeiten zur Verbesserung der Leistung von GPIB-Systemen

Überblick

Beim Aufbau eines automatisierten Messsystems kann man nie genug Leistung haben. Jede Leistungssteigerung hat klare Auswirkungen auf Produktionstests und GPIB-basierte Datenerfassungsanwendungen. Durch die Erhöhung der Systemleistung können Sie:

- den Testdurchsatz erhöhen und mehr Produkte in kürzerer Zeit testen
- neue Produkte schnell validieren, um die Konkurrenz auf dem Markt zu schlagen
- die Investitionsausgaben für Testgeräte minimieren

Zeitersparnis bedeutet im Wesentlichen, dass die Liefererwartungen der Kunden schneller übertroffen werden Produktentwicklung und intelligentere Investitionen in Testgeräte, die sich positiv auf das Endergebnis auswirken. Da der IEEE-488-Bus (GPIB) das Rückgrat vieler automatisierter Messsysteme darstellt, ist es sinnvoll, verschiedene Optionen auszuwerten, mit denen Sie die Leistung von GPIB-Systemen steigern können. Test- und F&E-Ingenieure verwenden weiterhin GPIB, da es sich um eine benutzerfreundliche, bewährte Schnittstelle handelt, die die breiteste Palette von Messgeräten bietet, die Sie in ein automatisiertes Messsystem integrieren können. Aus diesen Gründen wird in diesem Anwendungshinweis auf acht Optionen eingegangen, mit denen Sie die Systemleistung verbessern können.

Inhalt

Lösungen umfassen Software und Hardware

Die folgenden acht Lösungen umfassen sowohl Hardware- als auch Softwareoptionen, die Sie direkt verwenden können, um die GPIB-Systemleistung zu steigern. Sie können diese acht Lösungen zusammen oder unabhängig voneinander verwenden und die Vorschläge integrieren, die für Ihr spezielles System am sinnvollsten sind.

1. Verwenden Sie GPIB-Schnittstellen, die DMA zulassen

PCI bietet eine hervorragende Datenübertragungsleistung, sobald die Daten über GPIB empfangen wurden. Im Gegensatz zu einem ISA-basierten Computer gibt es in einem PCI-basierten Computer keinen dedizierten DMA-Controller, der von Peripheriekarten gemeinsam genutzt werden kann, um Daten direkt an den PC-Speicher zu übertragen. Für maximale Leistung müssen PCI-Peripherieplatinen über einen eigenen geräteeigenen DMA-Controller verfügen, um Daten effizient an den PC-Speicher zu übertragen, sodass die Daten vom Mikroprozessor verarbeitet werden können. Karten mit dieser Funktion werden als Bus-Master bezeichnet, d. h. sie können die Steuerung des PCI-Busses übernehmen und Daten unabhängig vom Mikroprozessor im System übertragen.

Peripheriekarten, die keine Bus-Master-Funktionen haben, unterbrechen den Mikroprozessor, wodurch er alle Verarbeitungsaufgaben stoppen muss, nur um Daten zu übertragen. Diese Unterbrechungen können Ihre Anwendung verlangsamen und die Gesamtsystemleistung erheblich beeinträchtigen.

2. Verwenden Sie 8-MB/s-kompatible GPIB-Controller und -Messgeräte

HS488 ist eine Hochgeschwindigkeitserweiterung auf IEEE 488, die den maximalen Durchsatz von GPIB auf 8 MB/s erhöht. Benchmarks haben Leistungsverbesserungen von 25 bis 3.000 Prozent ergeben. Ein kürzlich durchgeführter Benchmark mit einem Oszilloskop zeigte Datenübertragungsraten von bis zu 7,4 MB/s zwischen dem PC und dem Instrument. HS488 ist einfach zu verwenden, da es in der GPIB-Controller-Hardware implementiert ist; Sie müssen keine Änderungen an der Anwendungssoftware vornehmen, um die Vorteile der höheren Leistung nutzen zu können. HS488 ist praxiserprobt und vollständig kompatibel mit bestehenden IEEE 488-Instrumenten. Sowohl Hochgeschwindigkeits- als auch Standard-IEEE-488-Instrumente können ohne Kompatibilitätsprobleme in denselben Systemen koexistieren.

HS488-kompatible GPIB-Controller sind ab sofort bei NI erhältlich. Weitere Informationen zu HS488 finden Sie unter den folgenden Links.

3. Suchen Sie nach GPIB-Geräten mit optimierten Mess- und Befehlsanalysefunktionen

Das Verarbeiten von Befehlen und das Ablegen von Messinformationen in den GPIB-Ausgangspuffer des Instruments kann eine zeitaufwändige Aufgabe sein, wenn Messungen von einem GPIB-Instrument erfasst werden. Gerätehersteller müssen diese potenziellen Engpässe optimieren, um die schnellstmögliche Messleistung sicherzustellen. Die Geschwindigkeit und Art des integrierten Mikroprozessors und des internen Systembusses können Ihnen Hinweise auf die Verarbeitungsfähigkeiten des Geräts geben. Leistungsstarke Hardware kann jedoch ohne optimierte Firmware nicht voll ausgenutzt werden. Wenn der Gerätehersteller diesbezüglich keine Spezifikationen oder Benchmark-Informationen anbietet, müssen Sie meistens mit verschiedenen Geräten experimentieren, um zu sehen, welche die beste Leistung bei der Konfiguration und Erfassung von Messungen über GPIB liefern.

4. Verwenden Sie GPIB-Gerätetreiber, die für hohe Leistung ausgelegt sind

IVI-Treiber sind so konzipiert, dass sie die Systemleistung verbessern, indem sie den Zustand eines bestimmten Messgeräts merken. Eine State-Caching-Engine verfolgt den Status der Hardwareeinstellungen auf dem Instrument. Diese Funktion verbessert die Testleistung erheblich, da sie Ihrem System hilft, sich intelligent zu verhalten, indem Geräte-I/O nur ausgeführt werden, wenn der Wert einer Hardwareeinstellung geändert werden muss. Wenn Sie z. B. die Frequenz eines Erregersignals einfach variieren, möchten Sie nicht immer wieder Daten über Amplitude, Signalverlauf, Phase und andere Signaltypen senden, da diese redundant sind. Aktuelle VXI-Plug&Play--Gerätetreiber bieten keine State-Caching-Funktionen.

Mit IVI-Treibern können Sie Ihre Gerätetreiber auch so konfigurieren, dass sie in speziellen Modi ausgeführt werden, um während der Testentwicklung oder der Systembereitstellung optimale Ergebnisse zu erzielen. So können Sie z. B. den Treiber so konfigurieren, dass der Bereich aller Werte, die an das Gerät gesendet werden sollen, automatisch überprüft und bei Bedarf auf gültige Werte gesetzt wird. Sie können den Treiber auch so einstellen, dass er nach dem Senden jedes Befehls automatisch das Statusbyte Ihres Geräts prüft. Alle diese „Entwicklungsmodus“-Einstellungen können schnell deaktiviert werden, wenn Sie Ihr Testprogramm auf der Produktionsleitung bereitstellen, um eine schnellstmögliche Ausführung zu ermöglichen. Sie erhalten das Beste aus beiden Welten – hervorragende Fehlersuchfunktionen und schnellere Ausführungszeiten.

Ausführliche Informationen zur Nutzung dieser Funktionen finden Sie in der Hilfe zum IVI-Treiber. IVI-Treiber werden basierend auf einer offenen Branchenspezifikation erstellt, die von der IVI Foundation veröffentlicht wird, die aus mehr als 20 verschiedenen Benutzer- und Anbieterunternehmen besteht. 

Benchmark-Beispiel – Messen des Betrags des Systemansprechverhaltens gegenüber der Frequenz
Stellen Sie sich vor, Sie müssten den Frequenzgang eines nicht identifizierten Systems bestimmen. Dazu brauchen Sie sowohl einen Signalverlaufs-/Funktionsgenerator zur Erzeugung von Sinusschwingungen mit verschiedenen Frequenzen als auch ein Digitalmultimeter oder ein Oszilloskop zur Messung der Ausgangsspannung(n) des zu testenden Systems. Unten sehen Sie den Pseudocode für ein Testprogramm, das High-Level-Instrumententreiberaufrufe verwendet, um einen Funktionsgenerator und ein Oszilloskop zu programmieren.

Pseudo-Code und Testeinstellungen für den gewobbelten Sinus-Test:

Oszilloskop initialisieren und konfigurieren
Frequenzgenerator initialisieren und konfigurieren
While (Frequenz < Endfrequenz)
SCHLEIFE STARTEN

Sinusschwingung erzeugen
Erregersignalverlauf lesen (Oszilloskop-Kanal 1)
Antwortsignalverlauf lesen (Oszilloskop-Kanal 2)
Berechnen des Betrags und der Phasendifferenz zwischen Stimulus und Response. Speichern des Betrags und der Phasenerhöhungsfrequenz

SCHLEIFE BEENDEN

Amplituden- und Phasendifferenz plotten
DMM schließen
Frequenzgenerator schließen


Dieser Testprozess wurde mit einem Funktionsgenerator HP 33120A und einem Oszilloskop HP 54645D implementiert. In Tabelle 1 werden die Leistungsunterschiede zwischen IVI- und herkömmlichen Treibern für diesen Test aufgeführt.

 

Tabelle 1: Benchmark für Zustands-Cache

Zustands-CacheTestzeit (s)Leistungsunterschied
Off
(Traditionelle VXI-Plug&Play-Treiber)
35,0)k. A.
On
(IVI-Treiber)
13,2265 %


5. Erwägen Sie das Auslagern der Datenverarbeitung auf den Host-PC

Wir sehen weiterhin Verbesserungen bei den Verarbeitungs- und Analysefunktionen von Messgeräten. Für Gerätehersteller ist es jedoch schwierig, mit der PC-Branche in Verbindung zu bleiben, um Ihnen die neuesten Verarbeitungstechnologien bereitzustellen. Bei der Integration eines neuen Prozessors muss der Hersteller das Gerät oft neu entwerfen. Möglicherweise müssen Sie eine neue Version des Geräts erwerben, um von den besseren Leistungsmerkmalen profitieren zu können.

Um sicherzustellen, dass Sie immer die leistungsstärksten Verarbeitungsfunktionen nutzen, die Ihnen zur Verfügung stehen, sollten Sie erwägen, einige rechenintensive Analysen auf Ihren PC zu verlagern, anstatt sich auf die internen und manchmal veralteten Verarbeitungsfunktionen des Instruments zu verlassen. Im Allgemeinen entwickeln sich die PC-Funktionen schneller als die Gerätefunktionen. Es ist wahrscheinlich, dass Sie Ihre PCs öfter austauschen als Ihre Messgeräte. Mit jeder neuen Generation von PCs können Sie direkt neue Leistungssteigerungen erzielen, indem Sie sich für einige Ihrer Messverarbeitung und -analyse entscheiden, den PC zu verwenden.

Da es sich bei Messgeräten um geschlossene Geräte handelt, können Sie die Analyse außerdem nicht selbst anpassen. Mit dem PC können Sie einfach benutzerdefinierte Analysen hinzufügen, da viele Anbieter von Messsoftware komplette Bibliotheken für Signalverarbeitung, Filterung und allgemeine Analyse anbieten, um die Definition benutzerdefinierter Analyseroutinen erheblich zu vereinfachen.

6. Erwägen Sie Multithreading in Software

Multithreading ist eine Programmiermethode, bei der die Arbeit einer Anwendung in verschiedene Tasks oder Threads aufgeteilt wird. Diese verschiedenen Threads, die vom Haupt-Thread einer Anwendung erstellt werden, können unabhängig von anderen Threads im System ausgeführt werden. Wenn ein Thread seine Aufgabe abgeschlossen hat, wird er beendet. Der Haupt-Thread einer Anwendung schließt die Anwendung, wenn alle Tasks abgeschlossen sind. Wenn Ihr System mehrere Prozessoren hat, können Sie die Leistung Ihrer Anwendung erhöhen, indem Sie einzelne Threads gleichzeitig auf verschiedenen Prozessoren ausführen. Sie können Systeme mit nur einem Prozessor optimieren, um eine höhere Leistung zu erzielen, indem Sie jedem Thread in Ihrer Anwendung angemessene Prozessor-Zeitblöcke zuweisen. Indem Sie die jedem Thread zugewiesene Prozessorzeit konfigurieren, können Sie die Leistung Ihrer Anwendung verbessern, da der Prozessor einen Thread weiter ausführen kann, während er auf externe Ereignisse wartet, bevor er einen anderen Thread ausführt – ein häufiges Szenario in GPIB-Anwendungen.

GPIB-Anwendungen können Multithreading auf vielfältige Weise nutzen. Mit Multithreading können Sie separate Anwendungs-Tasks isolieren, um Systemressourcen effizienter zu verwalten. Sie können Multithreading verwenden, um zeitkritische Tasks in separaten Threads zu trennen, um zeitkritische Ereignisse wie eine Serviceanfrage (SRQ) zu überwachen und gleichzeitig bereits im Speicher verfügbare Daten zu verarbeiten.

So kann z. B. eine Anwendung drei Threads mit unterschiedlichen Aufgaben haben: einen für die Verwaltung der Benutzereingaben, einen für die Erfassung und Protokollierung von Daten und einen dritten für die Verarbeitung und Anzeige von Daten. Die Verarbeitung und Anzeige von Daten kann zeitaufwendig und prozessorintensiv sein. Die Datenmenge und die Häufigkeit, mit der Daten erfasst werden, können variieren. Oft suchen Anwendungen auch ständig nach SRQs von Instrumenten. Im Vergleich zu anderen laufenden Aktivitäten in der Anwendung kann es sich um ein sporadisches Ereignis handeln. Mit Multithreading können Sie diese Tasks isolieren und die Verarbeitungsanforderungen jedes einzelnen Tasks erfüllen. Bei Anwendungen, die mehrere GPIB-Schnittstellen verwenden, kann ein einzelner Thread für die Verwaltung jeder GPIB-Schnittstelle und der Messgeräte jedes Schnittstellenelements verwendet werden.

Die NI-488.2-Software von NI ist multithread-sicher und bietet einen vollständigen Funktionensumfang für Multithread-Anwendungen. NI LabWindowsTM/CVI und LabVIEW bieten außerdem Multithreading-Funktionen für Messgeräte-Steuerungsanwendungen. Weitere Informationen zum Multithreading in LabVIEW und LabWindows/CVI finden Sie unter „Verwenden von LabVIEW zum Erstellen von Multithread-Anwendungen für maximale Leistung und Zuverlässigkeit und Multithreading in LabWindows/CVI“.

7. Verwenden Sie native Messgeräte-Datenformate

Mikroprozessoren führen Messberechnungen im Binärformat durch. Bei der Übertragung von Daten über GPIB werden Daten jedoch häufig in ein alphanumerisches Format (normalerweise ASCII) konvertiert. Die Ausführungsgeschwindigkeit wird beeinträchtigt, da Zeit für zwei Datenkonvertierungen benötigt wird. Die erste Konvertierung findet im Gerät statt, in dem Binärdaten zur Übertragung über GPIB in ASCII umgewandelt werden. Diese Konvertierung kann sehr zeitaufwändig sein, da der Prozessor im Gerät typischerweise nur einen Bruchteil der Verarbeitungsleistung der neuesten heute auf dem Markt erhältlichen PCs hat. Die zweite Konvertierung findet im PC statt, wo Sie eine Datenparsing-Routine schreiben, um Messdaten für die weitere Verarbeitung und Analyse der Daten von ASCII in Binär umzuwandeln. Um den Overhead dieser beiden Vorgänge zu beseitigen, sollten Sie die Daten im nativen Datenformat des Instruments (also binär) übertragen.

8. Erwägen Sie die Verwendung modularer Plug-in-Instrumente für anspruchsvolle Anwendungen

Für Anwendungen, die Datenstreaming, schnelle, kleine Datenübertragungen und sehr präzise Synchronisations- und Triggerfunktionen erfordern, sollten Sie die Verwendung eines modularen Plug-in-Geräts in Betracht ziehen, um einige Ihrer Messungen durchzuführen. Diese Messgeräte sind für PCI-, PXI/CompactPCI- und VXI-Plattformen verfügbar. Mit jeder dieser Plattformen können Sie Ihre GPIB-Geräte problemlos steuern, sodass Sie das Beste aus beiden Welten erhalten können.

Aus Kostenperspektive bietet PXI/CompactPCI eine kostengünstige Lösung für Produktionstestumgebungen, da es robust ist und direkt auf demselben PCI-Bus basiert, den Sie in Ihrem Desktop-PC finden. Modulare Plug-in-Messgeräte, die auf PXI/CompactPCI basieren, bieten viele Vorteile:

 

  • Sieben PCI-Slots
  • Bus-Master-DMA-Funktion für das direkte Streamen von Daten in den Computerspeicher
  • Extrem robuste und modulare Verpackung
  • Backplane-Timing und -Triggerung
  • Standard-Windows-Software – genauso wie bei Desktop-PCs
  • Software von Desktop-PC-Systemen, die auf PXI/CompactPCI-Embedded-Computern funktioniert
  • Kostengünstigere Instrumente und Digitalisierer, die keine Abstriche bei der Messgenauigkeit machen
  • Geringere First-Byte-Wartezeit
  • Einfache Steuerung von GPIB-Messgeräten


Modulare Instrumentierungslösungen sind attraktive Optionen, da diese Systeme drei unterschiedliche Anforderungen erfüllen, die bei Mess- und Automatisierungssystemen bestehen. Die erste Anforderung ist die Möglichkeit, große Datenmengen mit dem PC-Speicher zu streamen. Geräte wie Oszilloskope, Funktionsgeneratoren für beliebige Funktionen und Hochgeschwindigkeitsdigitalisierer benötigen eine ausreichende Busbandbreite, um sicherzustellen, dass Daten in kürzester Zeit in den und aus dem PC-Speicher übertragen werden.

Die zweite Anforderung ist die effiziente Kommunikation mit Geräten, die sehr kleine Datenmengen übertragen, wie z. B. Countern/Timern, Netzteilen und Digitalmultimetern. Die effiziente Kommunikation für diese Geräte hängt in erster Linie von der Zeit ab, die zum Senden des ersten Informationsbytes (First-Byte-Wartezeit) benötigt wird. Dieser Overhead macht einen großen Unterschied, da die Gesamtmenge der zu übertragenden Daten gering ist. Die First-Byte-Wartezeit für PCI, PXI/CompactPCI und VXI liegt zwischen 10 und 100 ns. Bei GPIB beträgt die First-Byte-Wartezeit ca. 100 μs. Eine geringere First-Byte-Wartezeit sorgt für eine schnelle Kommunikation bei Geräten mit geringen Datenmengen.

Die dritte Anforderung besteht darin, in der Lage zu sein, eine Schnittstelle zu bestehenden GPIB-Geräten herzustellen, für die es keine modulare Plattform gibt. Die sofort verfügbaren GPIB-Controller-Karten/Module von NI erfüllen diese Anforderung.

Schlussfolgerungen

Es gibt viele Optionen zur Verbesserung der Leistung von GPIB-Systemen. Die in diesem Anwendungshinweis erörterten Optionen umfassen die Geräte, die Sie verwenden möchten, den GPIB-Controller, den Sie kaufen, und die Software und Designmethodik, die Sie zum Erstellen Ihrer Anwendungen verwenden. Verfassen Sie eine realistische Checkliste basierend auf den oben genannten Tipps oder anderen Ideen, über die Sie selbst denken, und vergewissern Sie sich dann, dass Sie diese direkt mit den geeigneten Maßnahmen umgehen. Sie stellen möglicherweise fest, dass Ihr aktuelles GPIB-System zu Leistungen fähig ist, die Sie noch nicht vollständig ausschöpfen.

Weitere Informationen zu den GPIB- und Instrument Control-Schnittstellen von NI finden Sie unter den entsprechenden Links unten.

Für die Verwendung der Marke LabWindows wurde eine Lizenz bei der Microsoft Corporation eingeholt. Windows ist ein in den USA und anderen Ländern eingetragenes Warenzeichen der Microsoft Corporation.

Was this information helpful?

Yes

No