Python Multimeter zyklisch ansprechen mit VISA

chillking

Lieutenant
Registriert
Juni 2010
Beiträge
847
Tag zusammen,

kurze Beschreibung der Anwendung:
Ich möchte einen PT100 mit verschiedenen Strömen beaufschlagen und die Erwärmung mittels Multimeter messen.

Habe bisher ein Python-Skript geschrieben, das mittels VISA die Stromquelle einstellt und den Ausgang einschaltet.
Danach messe ich mittels Multimeter die Spannung über den PT100. Dies mache ich bisher, indem ich in einer Schelife folgenden Code ausführe:
Code:
uheiz=Multi.query("MEAS:VOLT:DC?")

Multi ist hier das Multimeter.

Funktioniert soweit auch, nur braucht diese Methode für jede Messung ca. 0,5 s, was für eine spätere Analyse etwas langsam ist.

Multimeter ist ein Agilent 34401A, per GPIB Interface angeschlossen.
Habt ihr Erfahrungen mit VISA und der automatisierten Messung damit?
Kann ich den Messvorgang irgendwie beschleunigen?
Gibt es extra SCPI-Befehle, um beispielsweise mittels Befehl eine zyklische Messung zu starten und das Multimeter schickt dann mit angegebener Frequenz die Messwerte raus? Habe bisher nichts passendes gefunden.

Danke schon mal!

p.s. Python-Neuling...aber nach und nach wird es.
 
Hallo,
Ich beschäftige mich beruflich viel mit solchen Themen. (aber kein python)
Eine Möglichkeit von mir wäre noch das Multimeter...
Mit welcher Auflösung(digits) betreibst du es bei deiner Messung?
Beim kurzen test hier sind es ungefähr 0.5sekunden bis es den nächsten Messwert anzeigt. Wohlgemerkt bei 6digits! Bei 4sind es wenige Millisekunden.
Grüße
 
Hi,

daran habe ich bisher nicht geschraubt, daher wird es wohl die maximale Auflösung sein.
Guter Tipp, dank Dir! Dann schau ich mal, wie ich die Auflösung einstellen kann.

Wie sprichst du die Geräte an?


Für alle die auch danach suchen, ich habe den oberen Code geändert in
Code:
uheiz=Multi.query("MEAS:VOLT:DC? AUTO,MAX")

"AUTO" steht hierbei für den Messbereich, möglich ist 1A|3A|MIN|MAX|DEF|AUTO.
"MAX" stellt die Auflösung ein, möglich ist resolution| MIN | MAX | DEF, wobei MIN und MAX aus einer Tabelle entsprechend des Messbereichs abzulesen sind. MIN entspricht bei mir 6 Digits, MAX 4 Digits.


Quelle: Agilent E1412A User’s Manual and SCPI Programming Guide
Befehl ist auf Seite 87, die erwähnte Tabelle auf Seite 71.

Somit komme ich von vorher 0,5 s (bei 6 Digits) auf 0,04 s (bei 4 Digits).

Danke nochmal Blöde für den Tipp!
 
Zuletzt bearbeitet:
Wir sprechen die Geräte hier, über selbst geschriebene Programme in C++ (zum teil auch mit der VISA Bibliothek) und über Fluke MetCal an.

Nix zu danken. Falls du noch mehr fragen hast, schreib mir einfach eine PN. ;)
 
Zurück
Oben