Hallo, vorweg, ich habe diesen Beitrag in nahezu gleicher Form bereits in einem anderen (englischsprachigen) Forum gepostet und betrachte es aufgrund der Art der Anfrage nicht als Multipost. Ich habe vergangenes Wochenende einen Sigrok-Treiber für viele APPA-basierte Multimeter erstellt, u.a. Multimeter und Stromzangen mit Seriell/USB und Bluetooth LE. Momentan unterstützt dieser die Geräte BENNING MM 12, BENNING CM 12, Sefram 7352B, APPA 506(B), 208(B), 155B, 156B, 157B, 158B und einige weitere unter verschiedenen Marken. Implementiert und getestet habe ich es mit meinem BENNING MM 12 (APPA 506B). Funktionen für andere Geräte, die das selbe Protkoll verwenden, sind zwar umgesetzt aber sinngemäß ungetestet, weil ich die Hardware nicht habe. Aktuell sind alle Funktionen zum Live-Auslesen der Messdaten über Serial/USB/Bluetooth LE implementiert, aber Log-Download aus dem Aufzeichnungsspeicher und ggf. Kalibrierung folgen erst wenn ich mal ein wenig mehr Zeit dafür habe. Sigrok-Wikiseite zu dem von mir verwendeten MM 12 mit ein paar Bildern: https://sigrok.org/wiki/BENNING_MM_12 Meine Bitte: Falls jemand hier ebenfalls ein solches APPA 150/208/506 basiertes Multimeter hat, egal unter welcher Marke, würde ich mich sehr über Tests des neuen Treibers freuen. Hier ist mein github-Form von libsigrok mit dem Treiber "appa-b": https://github.com/Cymaphore/libsigrok Der Treiber befindet sich aktuell in der Begutachtung und ggf. Korrektur und soll idealerweise anschließend in den Hauptzweig von sigrok aufgenommen werden. MfG, Martin
Hallo Martin, vielen Dank für Deinen sehr interessanten Beitrag. Ich habe versucht, die libsigrok aus Deinem github-Repository zu kompilieren (unter Beachtung der ganzen Abhängigkeiten, siehe Anleitung im sigrok-wiki). Leider bekomme ich immer seltsame Fehlermeldungen und das Programm sigrok-cli stürzt ab ... Eigentlich geht es mir aber "nur" darum, die aktuell angezeigten Messwerte des MM12 mit Python auf einem Raspi auszulesen und dann mit Python-Bibliotheken wie z.B. matplotlib grafisch darzustellen. Leider finde ich bis jetzt im Netz keine Hinweise, die das serielle Protokoll des MM12 beschreiben. Eine Ansteuerung per SCPI-Befehle scheint nicht zu gehen. Sigrok benötige ich im Grunde nicht, da es für meine Anwendung viel zu mächtig ist (auch hinsichtlich Pflege der vielen Abhängigkeiten). Ich wäre Dir sehr dankbar, wenn Du mir bzgl. Protokoll-Beschreibung des Benning MM12 weiterhelfen könntest. Viele Grüße, Björn.
Hallo, habe mir inzwischen selbst geholfen: nach einer freundlichen Anfrage an den Benning-Support (helpdesk@benning.de) habe ich die Dokumentation zum Interface-Protokoll sehr schnell erhalten ("Multimeter BENNING MM 12 / Clamp Meter BENNING CM 12-serie Communication Protocol, Version 2.6"). Vielen Dank noch einmal dafür. Anhand dieser Schnittstellenbeschreibung habe ich eine Python-Klasse für das Auslesen der seriellen USB-Schnittstelle und der Interpretation des Byte-Code-Protokolls geschrieben. Wie diese Klasse mit dem Benning MM12 verwendet wird, habe ich in einem Jupyter-Notebook erklärt. Alles zusammen ist Open-Source-lizensiert auf Github veröffentlicht - gemeinsam mit anderen Treiber-Klassen für einen ganzen Zoo von weiteren Messgeräten aus meinem Labor. Github-Repository: https://github.com/urmel79/Jupyter_PyVisa_Lab Benning MM12 (Python-Klasse + Jupyter-Notebook): - https://github.com/urmel79/Jupyter_PyVisa_Lab/blob/main/Benning_MM12_class.py - https://github.com/urmel79/Jupyter_PyVisa_Lab/blob/main/Benning_MM12_notebook.ipynb Ich würde mich freuen, wenn das jemandem beim Ansteuern seiner Messgeräte hilft oder zumindest für eigene Arbeiten / Lösungsansätze inspiriert :) Viele Grüße, Björn.
Hallo, ich hatte die Antwort leider nicht bemerkt, entschuldige. Ich nehme an die Compilerfehler haben sich erübrigt ;-( Falls für Dich noch weitere Infos von Interesse ist, der eigentliche Treiber für die Geräte findet sich hier: https://github.com/Cymaphore/libsigrok/tree/appadmm-stage/src/hardware/appa-dmm (Ordner src/hardware/appa-dmm ) In protocol.h finden sich die Speicherlayouts der Geräte und ein paar halb/undokumentierte Kommandos (CAL, OTA, aber ohne alls ins detail getestet zu haben) und eine Beschreibung aller Felder, Datentypen, Rot-Positionen, etc, auch die Sachen die in der Benning-Beschreibung nicht ganz so ausführlich behandelt werden. Der Ganze basiert auf dem modernen einheitlichen APPA-Protokoll, die alten 500er und 300er-Protokolle haben dann ein Mapping, wo sie sich unterscheiden. Erkennbar ist es immer am Prefix "appadmm_", "appadmm_100_", "appadmm_300_", "appadmm_500_". Wenn Du die Datenfelder mappst, kannst Du auch ein VC950 ansprechen usw. Falls Du dem Build noch einen Versuch geben möchtest, sag mir bescheid. Ich hab meinen branch schon länger nicht mehr mit dem upstream synchronisiert und warte (wie so viele...) drauf, ob der pull request jemals bearbeitet wird. MfG, Martin
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.