7. Gerätefehlerprüfung

Die Gerätefehlerprüfung (im Folgenden einfach als Fehlerprüfungbezeichnet) ist der zweitwichtigste Aspekt Ihrer Fernsteueranwendung. Das Ziel der Fehlerprüfung ist sicherzustellen, dass bei der Kommunikation mit dem Gerät keine Fehler aufgetreten und somit alle gewünschten Einstellungen korrekt durchgeführt und die erhaltenen Messergebnisse mit den gewünschten Einstellungen erfasst wurden.

Das Status Subsystem eines Messgeräts umfasst einen Fehlermeldungspuffer namens Error Queue. Wenn Sie beispielsweise einen SCPI-Befehl senden, den das Gerät nicht erkennt, generiert es in dieser Error Queue oder Fehlerwarteschlange einen neuen Eintrag. Die Fehlerwarteschlange hat eine endliche Länge, normalerweise 10 Einträge, und der älteste Eintrag wird jeweils entfernt, um Platz für einen neuen zu schaffen.

Das im Kapitel Messsynchronisation erläuterte Status Byteenthält auch das Bit 2 - Error Message Available(Fehlermeldung verfügbar). Um herauszufinden, ob die Fehlerwarteschlange leer ist, fragen Sie *STB? bit 2 ab. Wenn dessen Wert 0 ist, fahren Sie ohne weitere Aktionen fort. Andernfalls verwenden Sie die SCPI-Query SYSTem:ERRor?. Das Gerät gibt dann den zuletzt generierten Fehler zurück, z. B. -113,"Undefined Header". Gleichzeitig wird dieser Eintrag aus der Fehlerwarteschlange gelöscht. Um alle Einträge auszulesen, müssen Sie SYSTem:ERRor? in einer Schleife so lange aufrufen, bis Sie die Antwort 0,"No Error"erhalten, die darauf hinweist, dass keine Fehler mehr vorliegen.

Das folgende VISA-Protokoll zeigt den Verlauf einer Fehlerprüfung:

  • Der erste Befehl *RSTwird korrekt gesendet, sodass kein Fehler generiert wird.
  • Der zweite Befehl *RSaTist falsch geschrieben, was zu dem Fehler -113,"Undefined Header"führt. Die SYST:ERR? Query wird in einer Schleife gesendet, bis die Antwort 0,"No Error" zurückgegeben wird.
RsVisaTraceTool-Protokoll mit Fehlerprüfung
RsVisaTraceTool-Protokoll mit Fehlerprüfung
Lightbox öffnen

Wenn Sie Gerätetreiber verwenden, ist die Fehlerprüfung bereits implementiert und wird in jeder Funktion und nach dem Setzen jeder Eigenschaft (Attribut) durchgeführt. Dies ist praktisch, da Sie sofort informiert werden, welcher Fehler nach welchem Befehl aufgetreten ist. Ist maximale Geschwindigkeit erforderlich, bieten die Treiber die Möglichkeit, diese Funktion auszuschalten (siehe erster Tipp im folgenden Kapitel 8: Geschwindigkeitsoptimierung).

Wenn Sie direkte SCPI-Befehle verwenden, müssen Sie sich selbst um die Fehlerprüfung kümmern. Wir empfehlen, die Fehlerprüfung nach einem logischen Befehlsblock durchzuführen. Beachten Sie, dass es schwieriger wird, den konkreten Befehl zu ermitteln, der einen Fehler erzeugt hat, wenn ein Block viele Befehle umfasst.

Nehmen wir das Beispiel aus dem vorherigen Kapitel 6: Messsynchronisationund konzentrieren uns nur auf die Abläufe im PC. Die praktische Umsetzung der Fehlerprüfung zeigen wir in den in diesem Kapitel verlinkten Beispielen. Das Bild unten zeigt die Fehlerprüfung nach logischen Befehlsblöcken:

Request information

Do you have questions or need additional information? Simply fill out this form and we will get right back to you.

Marketing-Einverständniserklärung

Ihre Anfrage wurde erfolgreich versendet. Wir nehmen in Kürze Kontakt mit Ihnen auf.
An error is occurred, please try it again later.