Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich hab über USB ein Keithley 2100 Digitalmultimeter angeschlossen und möchte über VISA Spannungen auslesen. Grundsätzlich klappt das auch, nur die Messzeit (bzw. Auslesezeit) variiert manchmal um etwa 600ms. Dabei ist mir aufgefallen, dass, obwohl ich 10 Samples vorgegeben habe, manchmal 12 ausgelesen werden. Daher meine Frage: Muss ich für ein USB-Gerät die Visa Schnittstelle initialisieren, sprich Baudrate usw. angeben?
Grüßle
S.
P.S.: Die Puffergröße bei dem Multimeter beträgt 4096. Für meine Messung benötige ich aber eher nur so 200....Weiß jemand, ob man das verändern kann? Wenn ich weniger als die 4096 auslese, bekomme ich nen Timeoutfehler.
' schrieb:P.S.: Die Puffergröße bei dem Multimeter beträgt 4096. Für meine Messung benötige ich aber eher nur so 200....Weiß jemand, ob man das verändern kann? Wenn ich weniger als die 4096 auslese, bekomme ich nen Timeoutfehler.
Wenn du einen Timeout-Fehler bekommst, wartet deine Software ja auf ein Abschlusszeichen (CR, LF, o. ä.)? Prüfst du das richtige Zeichen ab? War bei mir nämlich auch mal ein Fehler...
Hm, Abschlusszeichen?! Ich geb an das Multimeter nur den Befehl "READ?" und lese dann den Speicher mit 4096 Zeichen aus (hab leider kein LV am Rechner grad, daher kann ich kein VI posten). Die Konfiguration, was gemesssen werden soll, mach ich am Anfang meines Programms....
' schrieb:Hm, Abschlusszeichen?! Ich geb an das Multimeter nur den Befehl "READ?" und lese dann den Speicher mit 4096 Zeichen aus (hab leider kein LV am Rechner grad, daher kann ich kein VI posten). Die Konfiguration, was gemesssen werden soll, mach ich am Anfang meines Programms....
Wenn das Multimeter doch nur einen Messwert ausgibt (Spannung in xV), dann wird dieser ja nicht die kompletten 4096 Bytes "ausfüllen", sprich, über die serielle Schnittstelle wird das Messgerät ja irgendwann das Ende der Übertragung signalisieren wollen - mittels des Abschlusszeichens. Versuch doch mal mit dem Programm HTerm dich mit dem Multimeter zu verbinden, schicke dein Kommando hin und schau dir die Antwort an, da siehst du nämlich direkt den Aufbau mit allen Steuerzeichen...
Leider kriege ich mit Hterm keine Verbindung mit meinem Gerät. Geht das überhaupt mit USB?
Als Werte bekomme ich 10 Spannungen, das sind dann 159Bytes. Aber wenn ich nur die auslese kommt entweder der Timeoutfehler oder ich bekomme eine Fehlermeldung, dass noch was vom vorherigen Befehl im Puffer ist, wenn ich das Kommando erneut ausführe....
Ich kenne zwar dein Gerät nicht, aber aber ich nutze viele andere Geräte von KEITHLEY und bis jetzt haben mir die Treiber eigentlich immer ganz gut geholfen. Die Nutzen auch nur die Visa-Schnittstelle, aber man kann sich gut anschauen was die machen und das an seine eigenen Bedürfnisse anpassen. Man muss aber aufpassen bzw. bedenken das die Vi's von Übersee kommen und die anstatt eines Kommas einen Punkt verwenden (lässt sich aber leicht anpassen wenn es zu Problemen führt)
' schrieb:Leider kriege ich mit Hterm keine Verbindung mit meinem Gerät. Geht das überhaupt mit USB?
Als Werte bekomme ich 10 Spannungen, das sind dann 159Bytes. Aber wenn ich nur die auslese kommt entweder der Timeoutfehler oder ich bekomme eine Fehlermeldung, dass noch was vom vorherigen Befehl im Puffer ist, wenn ich das Kommando erneut ausführe....
Oh, entschuldigung! Ich hatte das mit dem USB überlesen bzw. bin davon ausgegangen, dass es sich irgendwie um USB to serial handelt. Dann kann das mit HTerm nicht funktionieren
Ich kenne zwar dein Gerät nicht, aber aber ich nutze viele andere Geräte von KEITHLEY und bis jetzt haben mir die Treiber eigentlich immer ganz gut geholfen. Die Nutzen auch nur die Visa-Schnittstelle, aber man kann sich gut anschauen was die machen und das an seine eigenen Bedürfnisse anpassen. Man muss aber aufpassen bzw. bedenken das die Vi's von Übersee kommen und die anstatt eines Kommas einen Punkt verwenden (lässt sich aber leicht anpassen wenn es zu Problemen führt)
Gruß Ome
Hallo Ome,
ja, die Treiber habe ich mir auch schon mal angeschaut und die dann auch für meine Anwendung nachgebaut. Daher kommen auch die 4096 Bytes. Aber das mit dem Punkt habe ich nicht bedacht....da schau ich noch mal nach.
wenn's nur über USB geht, dann brauchst du das nicht. Das macht schon der USB-Treiber mit dem Gerät aus (Stichwort USB1.1 vs. 2.0).
USB verwendet auch ein anderes Protokoll als die serielle Schnittstelle, da gibt es keine baudrate, parity oder Stopp-Bits...