03.07.2006, 10:16
Beitrag #1
|
BeFu
LVF-Gelegenheitsschreiber
Beiträge: 84
Registriert seit: Jun 2006
2011
2006
DE_EN
96450
Deutschland
|
DMM M-3890DT USB
Hallo LabVIEW-Freunde,
für unser Labor möchten wir ein VISA bauen, um verschiedene - vom Voltkraft (Conrad) DMM M-3890DT erfasste - Messwerte in LabVIEW nutzen zu können.
Von Fa. Conrad habe ich eine Übersicht vom USB-Protokoll des M-3890DT bekommen, siehe P.P.S.
Da ich noch keine Kommunikationsroutinen für USB erstellt habe, weiss ich nicht, in welcher Form (Bit-, Byte-Ebenen, CRC, Start- Stop-Bit??)ich die Daten zusammenbauen muss, um mit dem M-3890DT über USB zu kommunizieren.
Toll wäre, wenn mit jemand von Euch die notwendigen Schritte zur Lösung der beschreibenen Aufgabe vermitteln könnte, oder schon das passende VI (VISA) in der Schublade hat, damit ich die Schritte nachvolziehen kann.
Die Vendor-ID meines DMM M-3890DT ist: 0x0925, die Produkt-ID ist: 0x1234
Danke schon mal im Voraus ,
Bernd
P.S.: Grundlagen zur LabVIEW-Programmierung kann man sich im - auf meiner homepage http://www.fu-net.de verlinkten - Tutorium ansehen.
P.P.S.: Die Bytes für das USB-Protokoll lauten gemäß der Mitteilung von Fa. Conrad:
1. Byte: Bit 0 (Vorzeichen): 0 -> plus
1 -> minus
Bit 1, 2 (Dezimalpunkt (DP)):
0 0 -> NODP
0 1 -> LSD
1 0 -> MDP
1 1 -> MSD
Bit 5, 4, 3 (Modell):
0 0 0 -> M-3890D
Bit 6, 7 (Kanal):
0 0 -> MAIN
0 1 -> Sub1
1 0 -> Sub2
- - -> not used
2. Byte: Bit 7, 6, 5, 4 (Funktion)
0 0 0 0 -> DC V 0
0 0 0 1 -> AC V 1
0 0 1 0 -> Widerstand 2
0 0 1 1 -> DC uA 3
0 1 0 0 -> DC mA 4
0 1 0 1 -> DC A 5
0 1 1 0 -> AC uA 6
0 1 1 1 -> AC mA 7
1 0 0 0 -> AC A 8
1 0 0 1 -> Frequenz 9
1 0 1 0 -> Kapazität 10
1 0 1 1 -> Signal ausg. 11
- - - -
1 1 1 0 -> etc 14
Bit 3, 2, 1, 0 (Bereich DC V oder AC V):
0 0 0 0 -> mv 0
0 0 0 1 -> V 1
Bit 3, 2, 1, 0 (Bereich Widerstand):
0 0 0 0 -> Ohm 0
0 0 0 1 -> kOhm 1
0 0 1 0 -> MOhm 2
Bit 3, 2, 1, 0 (Bereich DC uA oder AC uA):
0 0 0 0 -> uA 0
0 0 0 1 -> mA 1
Bit 3, 2, 1, 0 (Bereich DC mA oder AC mA):
0 0 0 0 -> mA 0
Bit 3, 2, 1, 0 (Bereich DC A oder AC A):
0 0 0 0 -> A 0
Bit 3, 2, 1, 0 (Frequenz):
0 0 0 0 -> kHz 0
0 0 0 1 -> mHz 1
Bit 3, 2, 1, 0 (Kapazität):
0 0 0 0 -> nF 0
0 0 0 1 -> uF 1
Bit 3, 2, 1, 0 (etc):
0 0 0 0 -> Durchgang 0
0 0 0 1 -> Diode 1
0 0 1 0 -> hFE 2
0 0 1 1 -> Temperatur 3
0 1 0 0 -> Logik 4
0 1 0 1 -> EF 5
0 1 1 0 -> dB 6
3. Byte und 4. Byte (MAIN):
Byte 3: Bit 7, 6, 5, 4 -> first (1st) digit
Bit 3, 2, 1, 0 -> second (2nd) digit
Byte 4: Bit 7, 6, 5, 4 -> third (3rd) digit
Bit 3, 2, 1, 0 -> forth (4th) digit
digit 1, 2, 3, 4 (<10): 0 bis 9 <- Zahlenwert
digit 2, 3 = "rd" <- Logic range "rdy"
digit 2, 3 = "Lo" <- Logic range "Lo"
digit 2, 3 = "Hi" <- Logic range "Hi"
digit 4 = "-" <- Logic range "-----"
5. Byte (Sub1):
Bit 0: 0 -> plus
1 -> minus
Bit 2, 1 (DP):
0 0 -> NODP
0 1 -> LSD
1 0 -> MDP
1 1 -> MSD
Bit 5, 4, 3 (Model):
0 0 0 -> M3890D
Bit 7, 6 (Kanal):
0 0 -> Main
0 1 -> Sub1
1 0 -> Sub2
- - not used
6. Byte (Sub1):
Bit 7, 6, 5, 4 (Funktion): Display unit
0 0 0 0 -> DC V no unit
0 0 0 1 -> AC V dB
0 0 1 0 -> Widerstand no unit
0 0 1 1 -> DC uA no unit
0 1 0 0 -> DC mA no unit
0 1 0 1 -> DC A no unit
0 1 1 0 -> AC uA no unit
0 1 1 1 -> AC mA no unit
1 0 0 0 -> AC A no unit
1 0 0 1 -> Frequenz no unit
1 0 1 0 -> Kapazität no unit
1 0 1 1 -> Signal ausg. no unint
- - - - - -
1 1 1 0 -> etc no unit
7. Byte und 8. Byte (Sub 1):
Byte 7: Bit 7, 6, 5, 4 -> first (1st) digit
Bit 3, 2, 1, 0 -> second (2nd) digit
Byte 8: Bit 7, 6, 5, 4 -> third (3rd) digit
Bit 3, 2, 1, 0 -> forth (4th) digit
digit 1, 2, 3, 4 (<10): 0 bis 9 <- Zahlenwert
digit 1, 2, 3, 4 (<10)= " ": no display
digit 1, 2, 3, 4 (<10)= "OL": Overflow
9. Byte (Sub 2):
Bit 0: 0 -> plus
1 -> minus
Bit 1, 2 (Dezimalpunkt (DP)):
0 0 -> NODP
0 1 -> LSD
1 0 -> MDP
1 1 -> MSD
Bit 5, 4, 3 (Modell):
0 0 0 -> M-3890D
Bit 6, 7 (Kanal):
0 0 -> MAIN
0 1 -> Sub1
1 0 -> Sub2
- - -> not used
10. Byte (Sub 2):
Bit 7, 6, 5, 4 (Funktion): Display unit
0 0 0 0 -> DC V no unit
0 0 0 1 -> AC V dB
0 0 1 0 -> Widerstand no unit
0 0 1 1 -> DC uA no unit
0 1 0 0 -> DC mA no unit
0 1 0 1 -> DC A no unit
0 1 1 0 -> AC uA no unit
0 1 1 1 -> AC mA no unit
1 0 0 0 -> AC A no unit
1 0 0 1 -> Frequenz no unit
1 0 1 0 -> Kapazität no unit
1 0 1 1 -> Signal ausg. no unint
- - - - - -
1 1 1 0 -> etc no unit
Bit 3, 2, 1, 0 (Range): Display Unit
0 0 1 1 -> Temperatur F
0 1 0 0 -> Logik V
1 0 1 1 -> Signal Out V
[size=6]
|
|
|
29.03.2007, 15:17
Beitrag #2
|
fabe81
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: Mar 2007
7.00
-
kA
30171
Deutschland
|
DMM M-3890DT USB
Hallo,
ich krame mal den Thread hervor, weil ich als absoluter LV-Neuling auch gerade Versuche, das gleiche DMM zu kontaktieren.
Bist du inzwischen voran gekommen? dann würde ich gerne mal ein Blick auf dein VI werfen und versuchen, es nachzuvollziehen.
Gruß
Jacob
|
|
|
22.05.2007, 15:49
Beitrag #3
|
hopet
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: May 2007
7.00
-
kA
74078
Deutschland
|
DMM M-3890DT USB
Ist definitv interessant, bin auch gerade mit Diesem Multi M beschäftigt.... ist jemand schon weiter gekommen?
MfG
Holger
|
|
|
25.11.2007, 13:09
Beitrag #4
|
WeSa
LVF-Neueinsteiger
Beiträge: 1
Registriert seit: Nov 2007
8.00
2005
kA
86***
Deutschland
|
DMM M-3890DT USB
Hallo,
ich habe das gleiche Problem. Hat inzwischen schon jemand eine Lösung?
Grüße,
WeSa
|
|
|
07.12.2007, 10:26
Beitrag #5
|
tmiku
LVF-Neueinsteiger
Beiträge: 1
Registriert seit: Dec 2007
8.0 SE
2007
kA
86151
Deutschland
|
DMM M-3890DT USB
zwar bin ich wohl noch grüner als Ihr, aber das DMM 3890D von Metex bzw. Voltcraft kommuniziert über einen HID (Human interface Device) Treiber. In anderen Foren ist zu lesen, dass es nicht über eine VISA funktioniert sondern über die Library Node Funktion.
Wenn ich falsch liege und es doch über VISA gelöst werden kann wäre ich sehr dankebar um einen .vi da ich auch noch nicht weiter bin als o.g. Erkenntniss.
Und das alles nur weil Metex es nicht auf die Reihe bringt eine funktionierende Software mit dem M-3890D zu liefern und auf dreimaliges Anfragen das Kommunikationsprotokoll an Ihre KUNDEN verschickt und Ihnen sagt dass sie sich Ihre eigene Software basteln sollen. Aber das nur am Rande...
|
|
|
| |