LabVIEWForum.de - VISA Error 1073807339 aber nicht mit Lämpchen an

LabVIEWForum.de

Normale Version: VISA Error 1073807339 aber nicht mit Lämpchen an
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum,

ich komme leider mit einem fertigen Treiber für ein Keysight 53320A nicht weiter.

Es wäre Klasse, wenn mir jemand helfen könnte.

Aufbau: Keysight 53320A am USB-Port über Treiberpaket ansprechen.

Problem:
1. Programm bleibt immer im Error-VI hängen.
2. Im Debug-Modus läuft es durch.
3. Im MAX wird der Befehl ohne Probleme ausgeführt.

Danke schonmal an die Spezialisten.

lv19_img
Hallo Hachiko,

kannst du beim Initialize VI einen Read-Time-Out definieren? Bzw. was ist in diesem VI dafür definiert? Denn ganz offenbar bist du im "Nicht-Highlight-Modus" zu schnell.

Gruß, Jens
Hallo Jens,

wir kann ich den Read-Timeout erstellen.

Gibt es für "Read-Timeout" Eigeschaftknoten in VISA dafür?

Mir ist das VI "Default" im Treiber aufgefallen.(siehe Bild Anhang)
Das wurde immer vor dem Error-Vi aufgerufen.

Im MAX habe ich dann den Code von Default und danach *IDN?\n ausgeführt.
Da hatte ich gesehen, dass sich das Gerät aufhängt.
Komischerweiße ging es dann aber zwischendrin im MAX auch mit Default und *IDN?\n.

Jedenfalls habe ich das VI "Default" aus dem Treiber gelöscht, jetzt geht´s. Auch wenn das eher ein Workaround ist.

Das mit dem Read-Timeout würde ich aber gerne nochmal testen.

Mit Timern hatte ich aber bereits schon Versuche gemacht und die Rückmeldung vor und nach der Errorabfrage verzögert. Ging da aber auch nicht


Danke

Hachiko
Hallo Hachiko,

wie geschrieben, hat das Initialize VI der Keysight API irgendwelche Eingänge für Timeout-Settings.

Ansonsten, du kannst per PropertyNode jederzeit das Time-Out der Session per PropertyNode ändern (vgl. auch die Einstellungen von VISA Configure Serial Port):

[attachment=61900]

Gruß, Jens
Hallo Jens,

ich habe den Eigenschaftsknoten mit 2000ms angegeben, jedoch kommt kein Timeout, bzw. das Error-Vi hängt immernoch.
Wenn ich 2ms für Timeout eintrage, kommt direkt nach dem Start eine Timeout-Meldung.

Das Problem, dass das Error-VI aus Timing-Gründen nicht geht, wird vermutlich nicht durch die Eigenschaft Timeout gelöst,
ich bekomme es im Besten Fall angezeigt und das nach der Timeout-Zeit, wenn sie denn geht.

Gibt es eine Lösung, die Ausführung langsamer zu machen oder eine Art Synchronisation?

Gruß

Hachiko
Hallo Hachiko,

vielleicht sind 2 s zu wenig.

Hast du schon mal ergründet, an welcher Stelle im Code der Time-Out-Fehler zuerst auftritt (durch Setzen von Probes, oder durch Aktivieren der "Retain Wire Value Option", nicht durch Highlight-Execution!).

Wobei ich nicht mehr durchblicke, ist deine Aussage, dass es im Error Query hängenbleibt. In einem deiner Screenshots ist hier ein Fehler dargestellt, aber dann bricht die While-Loop doch ab!

Gruß, Jens

EDIT:
Im Wait for Aquisition Complete wird genau das gemacht, was ich vorgeschlagen habe, es wird der Timeout für Read & Write geändert.
[attachment=61902]
Schau doch mal, was der Standard-Time-Out ist, denn im Init-VI der API wird der ja gar nicht definiert.

EDIT2:
Nur zur Sicherheit, meinst du ein 53320A (das finde ich bei Keysight nicht, und auch keinen Treiber bei NI) oder ein 53220A ?
Hallo Jens,

es handelt sich um ein Keysight 53220A.

Ich habe das Problem jetzt gefunden.

Wenn man das Kommando zum Auslesen des Errorcodes schickt, darf man nicht sofort den Puffer auslesen.

Nach dem Einbau einer Verzögerungszeit von 500ms, kann man ohne Problem auslesen.

Der Standard-Timeout war 2000ms.

Nochmals Danke für den Support.

VG

Hachiko
Referenz-URLs