Forum: PC-Programmierung Checksumme beim MetraHit-Protokoll bilden, wie?


von Mirko (Gast)


Angehängte Dateien:

Lesenswert?

MetraHit 29S ist ein digitales multimeter. mit einem RS232-adapter ist 
es möglich diesen mit pc zu verbinden und messwerte auszulesen und 
weitere funktionen vorzunehmen.
ich habe mir mit VB2005 ein bytemonitor gemacht und kann mir die vom 
multimeter ankommenden bytes angucken und auswerten(im send mode sendet 
der multimeter immer 13 bytes in einem best. zeitabstand).
jetzt will ich auch was zum multimeter senden, aber verstehe das 
protokoll(sehe anhang) nicht ganz.
vor allem wie die checksumme (seite 5) gebildet wird. und das ganze auf 
der ersten seite unter "Format of data for the bidirectional 
communication" punkt a).

ich versuche im "block send mode" (seite 5) die byteblocks zu 
verschicken.
habe versucht den multimeter z.b. auszuschalten (seite 14 "Command for 
setting Store mode, SEND mode, local mode, switching the multimeter 
off") oder versionsnummer der firmware auszulesen (seite 7 "Read version 
A.B of multimeter firmware, status of the multimeter") aber keine 
reaktion.

vielleicht hat jemand von euch mehr erfahrung mit solchen sachen und 
kann mir weiterhelfen.

von Martin H. (horo)


Lesenswert?

Das ist eine uralte Frage, auf die ich aber dennoch antworten möchte, 
denn das angehängte Dokument hat es mir kürzlich ermöglicht, das 
METRAHit-Protokoll zu implementieren.

Zu finden auf GitHub: https://github.com/Ho-Ro/OpenMetra (Remote control 
for multimeter Gossen METRAHit 29S via BD232 serial interface)

Das o.g. PDF findet sich nur hier, auch die Suchmaschine meiner Wahl 
zeigt keine andere Fundstelle - daher Danke an das Forum fürs 
Aufbewahren für die (IT-)Ewigkeit! :)

Das sigrok-Projekt kennt auch dieses Multimeter, erfordert aber einen 
Wust an Abhängigkeiten außerhalb meines Debian stable, den ich mir nicht 
antun möchte, daher meine Minimallösung, die mit dem Python-Standard 
auskommt. Nur fürs Plotten braucht es zusätzlich die "matplotlib", die 
über die Paketverwaltung sauber installiert werden kann und die für 
Messwertverarbeitung sowieso auf dem Rechner sein sollte.

Hilfreich ist dennoch ein Blick in die sigrok-Quelle:
https://github.com/sigrokproject/libsigrok/blob/master/src/hardware/gmc-mh-1x-2x/protocol.c

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.