LabVIEWForum.de
Falsche Messergebnisse mit Keithley 3706 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Falsche Messergebnisse mit Keithley 3706 (/Thread-Falsche-Messergebnisse-mit-Keithley-3706)



Falsche Messergebnisse mit Keithley 3706 - Elektrotechniker - 16.06.2008 10:12

Hallo liebe Community,

hat jemand von Euch schon mit einem Keithley 3706 gearbeitet? Ich kann am Frontpanel manuell wunderbar Messwerte ablesen, funktioniert einwandfrei. Um die Messung mit LabVIEW zu automatisieren verwende ich dann das vom Hersteller mitgelieferte VI "Simple Measurement Example". Es erfolgt keine Fehlermeldung - das VI laeuft ohne Probleme. Jedoch werden falsche Messwerte ausgegeben! Ich weiss leider auch nicht, was ich Euch posten kann. Im Display wird der richtige Channel angezeigt, ich messe also nicht im Nirvana. Eine Untersuchung des Vi bis auf seine sub-VI's auf der VISA-Ebene hat auch keine Klarheit gebracht. Gibt es jemanden in der Community, der bereits Erfahrungen mit dem Keithley 3706 gesammelt hat? Vielleicht ein funktionierendes VI anbieten kann, damit ich mal dahinter komme, was eigentlich schief laeuft.

Bin ueber jeden Beitrag dankbar.

Gruss Boris


Falsche Messergebnisse mit Keithley 3706 - kpa - 16.06.2008 11:13

Hallo Boris,

vielleicht liest Du alte Werte und hast die neuen in einer Queue.
Probiere mal alle Daten zu lesen die da sind ("Bytes to read").

Grüsse

kpa


Falsche Messergebnisse mit Keithley 3706 - Elektrotechniker - 17.06.2008 07:18

Ich verstehe leider nicht ganz, was Du meinst. Ich lese den Messwert in einen Buffer ein, den ich eigens dafuer mit dem Original-VI "Create Measurement Buffer" erzeugt habe. Daraufhin lese ich den Messwert mit dem Original-VI "Read Measurement Buffer" aus. Wo hat sich in dieser Abfolge Deiner Meinung nach ein alter Messwert "eingeschlichen" ?

Meinst Du weiterhin die Messung mit "dmm.measure", oder die Messung mit dem "scan"-Befehl?

Ich habe mittlerweile eine Messung mit dem "scan"-Befehl zustandegekriegt, jedoch werde ich aus dem urspruenglich gewollten "dmm.measure" nicht schlau. Es hat doch bestimmt schon einer aus der Community Quellcode fuer den Keithley 3706 geschrieben... !?

Freue mich auch weiterhin ueber rege Zuschrift

Gruss Boris


Falsche Messergebnisse mit Keithley 3706 - Elektrotechniker - 17.06.2008 09:49

OK. Ich habe mich von den Hersteller-IV´s verabschiedet und damit sehr gute Ergebnisse erzielt. Fuer alle, die es interessiert:

1. Die von Keithley gelieferte Context-Help ist fehlerhaft! So wird zum Beispiel fuer das sub-VI "Configure Measurement" die Funktion 1 der Messung der Wechselspannung "AC Volts", und die Funktion 2 der Messung der Gleichspannung zugewiesen. Leider ist es genau umgekehrt!

2. Der gleiche Fehler betrifft die Funktionen 3 und 4, bei denen Wechselsstrom "AC Current" und Gleichstrom "DC Current" miteinander vertauscht worden sind.

3. Um den "dmm.measure()"-Befehl fuer mich nutzen zu koennen, habe ich das sub-Vi "Initialize" weggelassen und einfach folgende Reihenfolge der Befehle angewandt:


dmm.reset("all")
MyBuffer=dmm.makebuffer(100)
MyBuffer=appendmode=1
dmm.measurecount=1
dmm.func=dmm.DC_VOLTS


Man kann alle oben genannten Befehle in dieser Reihenfolge direkt an einen "VISA-Write"-Block senden. Viel einfacher als die Hersteller-VI´s.
Buffergroesse x(dmm.makebuffer(x)), und Buffername y (hier: MyBuffer) koennen natuerlich frei gewaehlt werden (ich sage es nur der Vollstaendigkeit halber).

Ich hoffe, dass ich damit anderen die gleiche Sackgasse erspare, in die ich mich verrannt habe. Viel Spass noch mit dem Keithley "3706 System SWITCH/MULTIMETER"


Falsche Messergebnisse mit Keithley 3706 - rolfk - 17.06.2008 09:49

' schrieb:Ich verstehe leider nicht ganz, was Du meinst. Ich lese den Messwert in einen Buffer ein, den ich eigens dafuer mit dem Original-VI "Create Measurement Buffer" erzeugt habe. Daraufhin lese ich den Messwert mit dem Original-VI "Read Measurement Buffer" aus. Wo hat sich in dieser Abfolge Deiner Meinung nach ein alter Messwert "eingeschlichen" ?

Meinst Du weiterhin die Messung mit "dmm.measure", oder die Messung mit dem "scan"-Befehl?

Ich habe mittlerweile eine Messung mit dem "scan"-Befehl zustandegekriegt, jedoch werde ich aus dem urspruenglich gewollten "dmm.measure" nicht schlau. Es hat doch bestimmt schon einer aus der Community Quellcode fuer den Keithley 3706 geschrieben... !?

Freue mich auch weiterhin ueber rege Zuschrift

Gruss Boris

Könnte es sein dass Dein Keithley VI Dezimalzahlen lesen soll und die Keithley Treiber davon ausgehen dass das Dezimalkomma eben ein Punkt ist und nicht ein Komma?

Messinstrumente senden fast immer Dezimalzahlen mit einem Punkt, so sicher auch das Keithley Instrument aber LabVIEW's Stringfunktionen passen sich default an die Einstellung Deines Window Systems an. Wenn Du deutsche Einstellungen verwendest ist das aber ein Komma. Dann suchen die String zu Zahlen Funktionen nach einem Komma aber das ist nirgends zu sehen und deshalb stoppen sie beim Punkt automatisch und geben nur den Ganzzahlenwert zurück.

Wenn das das Problem ist kannst Du das ganz einfach in Deinem Treiber anpassen je nachdem welche Funktion verwendet wird. Bei Scan from String fügst Du ein %.: vorne an den Formatstring und bei Fract/Exp String To Number setzt Du den "use System Dezimal Point" Eingang auf False.

Rolf Kalbermatter