DMM Metex ME-31 mit RS 232 auslesen

Hallo,

benutze zum Auslesen eines DMM Metex ME-31 das Programm ScopeView V

1.08. Wie kann ich die Daten per Terminal oder eigenem Programm auslesen? Welchen Befehl muss ich übergeben?

Ich danke für Eure Hilfe

Matthias

Reply to
Matthias Kirchhoff
Loading thread data ...

Hi!

Wenn ich mich recht erinnere, einfach das Zeichen 'D' an das Meßgerät senden... Dann kommt ein String zurück.

Viele Grüße

Johannes

Reply to
Johannes Raschke

Mit dem Teil habe ich auch mal um Messwerte gekämpft. Letztlich bestand der Stolperstein darin, dass das DMM sich zur Versorgung seiner RS232-Schnittstelle über das Kabel aus dem Computer bedient. Das heißt eine bestimmte Leitung, die eigentlich für handshake gedacht ist, musste grundsätzlich auf high gesetzt sein, sonst ging überhaupt nix. In den üblichen Terminal-Programme wie minicom (linux) oder hyperterm (win) sind solche Leitungs-Manipulationen aber nicht vorgesehen.

Natürlich kann man die serielle Schnittstelle auch von einem C-Programm aus ansprechen. Aber dabei habe ich mich erstmal in den verschiedenen man-pages verlaufen, die natürlich auch erstmal darauf ausgerichtet sind, dass man eine "ordentliche" Kommunikation zwischen zwei Computern einrichten möchte. Kurz bevor ich die Sache aufgeben wollte, ist mir dann ein kleines Utility über den Bildschirm gelaufen, dessen Source auf Jürgen Hannappel zurückgeht. (Danke nochmal an ihn! Hat mir damals ernsthaft geholfen :-) Die entscheidende Funktion zur Initialisierung der Schnittstelle mit setserial habe ich dann in unsere Programme übernommen.

Das ist alles schon ein paar Jährchen her, aber bei Bedarf könnte ich die source hier posten. --- Oder Jürgen macht es selbst :-)

------ PS: Hab das Util gerade auf dieser Homepage wiedergefunden:

formatting link

--
Kai-Martin Knaak
kmkn@tem-messtechnik.de
gpg-key: http://pgp.mit.edu:11371/pks/lookup?search=kai-martin&op=index&exact=on
Reply to
kai-martin knaak

Matthias Kirchhoff :

Mein altes Metex hatte nach >10 Jahren seinen Geist aufgebeben, gestern kam Ersatz. Da die mitgelieferte Software einige Wünsche offenließ, habe ich mal auf die Schnelle einen Ersatz zusammengebastelt.

Die Schnittstelle ist etwas pingelig, aber mit dem nachfolgenden Programm geht's. Getestet unter Windows XP, es müsste aber unverändert auch unter Linux usw. laufen, sofern man die benötigten Pakete (s.w.u.) installiert hat. Die Erweiterungs- möglichkeiten dieses Trivialprogramms sollten offensichtlich sein. Für meine Zwecke (die Anzeige auf dem großen 22"- Bildschirm schön groß und leserlich darstellen) reicht's.

# -*- coding: latin-1 -*- #Boa:Frame:DVM # $Id: dvm.py,v 1.2 2004/04/25 22:42:57 cvshome Exp $ W. Strobl

"""Q&D DVM für PeakTech 4370 Benötigt Python23

formatting link
wxPython 2.4
formatting link
und pySerial (pyserial.sourceforge.net) """

PORT=0 # 0 == COM1 usw.

import serial from wxPython.wx import *

def create(parent): return DVM(parent)

[wxID_DVM, wxID_DVMPANEL1, wxID_DVMSTATICTEXT1, ] = map(lambda _init_ctrls: wxNewId(), range(3)) [wxID_DVMTIMER1] = map(lambda _init_utils: wxNewId(), range(1))

class DVM(wxFrame): def _init_utils(self): # generated method, don't edit self.timer1 = wxTimer(evtHandler=self, id=wxID_DVMTIMER1) EVT_TIMER(self, wxID_DVMTIMER1, self.OnTimer1Timer)

def _init_ctrls(self, prnt): # generated method, don't edit wxFrame.__init__(self, id=wxID_DVM, name='DVM', parent=prnt,pos=wxPoint(30, 90), size=wxSize(776, 152), style=wxDEFAULT_FRAME_STYLE, title='DVM für PeakTech 4370') self._init_utils() self.SetClientSize(wxSize(768, 118)) EVT_CLOSE(self, self.OnDVMClose)

self.panel1 = wxPanel(id=wxID_DVMPANEL1, name='panel1', parent=self, pos=wxPoint(0, 0), size=wxSize(768, 118), style=wxTAB_TRAVERSAL)

self.staticText1 = wxStaticText(id=wxID_DVMSTATICTEXT1, label='PeakTech 4370', name='staticText1', parent=self.panel1, pos=wxPoint(8, 8), size=wxSize(754, 103), style=0) self.staticText1.SetFont(wxFont(72, wxSWISS, wxNORMAL, wxNORMAL, False, 'Courier New'))

def __init__(self, parent): self._init_ctrls(parent) ser=serial.Serial(port=PORT,baudrate=1200,bytesize=serial.SEVENBITS, stopbits=serial.STOPBITS_TWO,timeout=3) self.ser=ser ser.setDTR(1) ser.setRTS(0) ser.write("D\r") line=ser.read(14) # wegwerfen self.timer1.Start(100)

def OnTimer1Timer(self, event): self.ser.setRTS(0) self.ser.write("D\r") line=self.ser.read(14) self.staticText1.SetLabel(line[1:])

def OnDVMClose(self, event): self.timer1.Stop() self.Destroy() if __name__ == '__main__': app = wxPySimpleApp() frame = create(None) frame.Show()

app.MainLoop()

--
Wir danken für die Beachtung aller Sicherheitsbestimmungen
Reply to
Wolfgang Strobl

Matthias Kirchhoff wrote: : Hallo,

: benutze zum Auslesen eines DMM Metex ME-31 das Programm ScopeView V : 1.08. Wie kann ich die Daten per Terminal oder eigenem Programm : auslesen? Welchen Befehl muss ich übergeben?

schau unter

formatting link
dein ME-31 sollte sich wie das ME-32 verhalten.

Reply to
Peter Heitzer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.