mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wärmezähler über optische M-Bus-Schnittstelle auslesen


Autor: A.. Punkt (arnonym)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe in meiner Wohnung folgenden Wärmezähler der Firma Allmess GmbH 
(s. Bild). Dieser verfügt über eine optische Schnittstelle (M-Bus), die 
ich gerne verwenden würde, um darüber Daten über Verbrauch etc. 
auszulesen und weiterzuverarbeiten.

Ich habe mich im Netz und auch hier im Forum etwas schlau gemacht über 
diesen M-Bus und was ich bis jetzt verstanden habe, ist, dass die Geräte 
i.d.R. (immer?) über einen M-Bus-Master angesprochen werden. Der 
Standard EN60870-5 spezifiziert offensichtlich den Frame-Aufbau, das 
Format der Datenpakete und grundlegende Anwendungsfunktionen 
(Wikipedia).

Nun würde ich gerne zum einen wissen, ob ich meinem Wärmezähler einen 
M-Bus-Master vorgaukeln muss, um an seine Daten zu kommen und welche 
Spezifikationen für mich dabei relevant sind. Müsste ich mich also durch 
alle Teile des Standards durchwühlen oder baue ich über die optische 
Schnittstelle einfach eine serielle Kommunikation auf und tausche 
einfache Pakete mit dem Zähler aus und muss mich nur auf bestimmte Teile 
des Standards konzentrieren?

Ich habe hier im Forum bereits etwas von Pegelwandlung etc. gelesen, 
aber ich denke mal, dass ich damit nichts am Hut habe, da dies nur bei 
einer drahtgebundenen Kommunikation mit einem Master interessant ist.

Ich möchte also im einfachsten Fall eine IR-Diode an die Schnittstelle 
des Zählers hängen, seriell mit ihm kommunizieren und die Daten dann 
weiterverarbeiten.

Achja, interessieren würde mich natürlich noch, ob ich dabei auch etwas 
im Gerät zerstören könnte? Ich möchte keinesfalls irgendwas an dem Teil 
verändern, lediglich die Werte möchte ich gerne auslesen.

In die Standards kann ich leider im Moment nicht reinschauen, aber ich 
könnte nächste Woche in meiner Uni mal sehen, ob wir spezielle diesen 
Standard dort auch rumliegen haben.

Über Hilfe und sachdienliche Infos darüber bin ich sehr dankbar :)

Gurß

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A.. P. schrieb:
> Nun würde ich gerne zum einen wissen, ob ich meinem Wärmezähler einen
> M-Bus-Master vorgaukeln muss, um an seine Daten zu kommen und welche
> Spezifikationen für mich dabei relevant sind. Müsste ich mich also durch
> alle Teile des Standards durchwühlen oder baue ich über die optische
> Schnittstelle einfach eine serielle Kommunikation auf und tausche
> einfache Pakete mit dem Zähler aus und muss mich nur auf bestimmte Teile
> des Standards konzentrieren?

Ein Gerät, das mit einem M-Bus-Gerät kommuniziert, ist ein M-Bus-Master. 
Das ergibt sich aus dem Prinzip, ist aber nicht weiter kompliziert.

Du musst nur über die serielle Schnittstelle dem Gerät mitteilen, daß es 
seine Daten senden soll. Dazu musst Du neben den eigentlichen 
Kommunikationsparametern (Baudrate, Parität, Stopbits) noch die 
Geräteadresse herausfinden.

Das geht, indem Du das Gerät mit der Adresse 254 (0xfe) ansprichst, es 
antwortet daraufhin mit seiner konfigurierten Adresse. Da Du keinen Bus 
im eigentlichen Sinne hast, sondern nur zwei Teilnehmer, kann es dabei 
auch nicht zu Kollisionen kommen.

Was der Master zu senden hat, ist recht einfach, die Geräteadresse und 
der Funktionscode für "liefere Deine Daten". Das Gerät (der Slave) 
antwortet dann mit einem Datentelegramm; passen nicht alle Daten in das 
Telegramm, wird im Telegramm signalisiert, daß noch weitere Telegramme 
verfügbar sind, die der Master separat anzufordern hat.

Aufwendiger wird es, das Telegramm zu decodieren, das der Slave sendet.

Aber dafür gibt es Sourcecode:

http://www.rscada.se/libmbus/

> In die Standards kann ich leider im Moment nicht reinschauen

Die findet man im Internet:

http://www.m-bus.com/

Das Dokument hier
http://www.m-bus.com/files/MBDOC48.PDF

genügt eigentlich schon, interessant sind für Dich die Informationen ab 
Seite 22. Die vorhergehenden Seiten beschreiben das elektrische 
Interface (das Du nicht nutzt) und nicht die optische Übertragung.

Wie die hardwaremäßig umzusetzen ist, entzieht sich meiner Kenntnis, da 
bist Du auf Dich selbst gestellt.

: Bearbeitet durch Moderator
Autor: A.. Punkt (arnonym)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke dir schon mal für die Quellen! Werde diese mal durchlesen 
und hoffe, dass ich daraus bereits alles entnehmen kann, was ich 
benötige. Den Hardwareteil kriege ich schon auf die Reihe :)

Besten Gruß

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung, ob das jetzt noch relevant ist, aber bei dem Thema MBus 
muss man immer ein wenig aufpassen:
Der eigentliche MBus, so wie er mal gedacht war, ist eine drahtgebundene 
Schnittstelle mit einer Mischung aus strom- und spannungsdefierter 
Übertragung. Das System ist sehr robust und wird so seit Jahrzehnten 
verwendet.
Aus diesem Standard hat sich dann auch der Wireless MBus entwickelt.
Die optische Schnittstelle der Wärmezähler gehört nicht zu dem 
MBus-Standard, verwendet aber gerne dessen Telegrammaufbau. Im Kern sind 
diese optischen Schnittstellen also lediglich UARTs über IR Dioden.
Wenn man also Baudrate, Byteformat und die Telegrammliste hat, ist der 
Rest wirklich einfache serielle Übertragung und erfordert keine tiefere 
Kenntnis den MBus.

Viel Erfolg und Grüße,
Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.