Moderne Messeinrichtung (Smartmeter) auslesen
Auslesen von modernen Messeinrichtungen (mME, Smartmeter) über die optische Schnittstelle mit dem SML-Protokoll
Zuletzt aktualisiert am 30.10.2022Einmal täglich werden bei uns die Zählerstände der beiden Stromzähler notiert und in einer Excel-Tabelle eingepflegt.
Bisher wurde diese Arbeit manuell erledigt. Nachteilig daran ist, dass die Zählerstände nicht jedes mal zur selben Uhrzeit notiert werden können, sodass eine Vergleichbarkeit beeinträchtigt wird.
So kam die Idee auf, die optische Schnittstelle der beiden mME zur Erfassung der Zählerstände zu nutzen.
Zuerst entstand eine Lesekopf mit RS-232 Schnittstelle. Zwar funktioniert der Lesekopf ohne Probleme, allerdings gefällt mir meine Lösung nicht mehr so gut.
Hauptgrund ist, dass die RS-232 Schnittstelle für eine Punkt-zu-Punkt Verbindung vorgesehen ist. Da mittlerweile fünf Erfassungseinrichtungen zusammengekommen sind,
ist eine Punkt-zu-Punkt Verbindung nicht mehr gut umsetzbar.
Daher habe ich mich dazu entschlossen, ein Bussystem zu nutzen. Damit entstand ein neuer Lesekopf mit RS-485 Schnittstelle, die mit dem Modbus-RTU Protokoll betrieben wird.
Allgemeine Informationen zum Auslesen der mME finden sich auf dieser Seite. Spezifische Informationen der Leseköpfe wurden in separaten Artikeln ausgelagert.
RS-485 Schnittstelle mit Modbus-RTU Protokoll
Der Lesekopf empfängt regelmäßig die optischen Impulse der modernen Messeinrichtung und speichert die Parameter in Registern ab. Die empfangenden Parameter können schließlich über die RS-485 Schnittstelle mit dem Modbus-RTU Protokoll abgefragt werden.
Mehr zum ThemaRS-232 Schnittstelle
Der Lesekopf wandelt die optischen Signale der modernen MEsseinrichtung in elektrische Signale in Form einer RS-232 Schnittstelle um.
Mehr zum ThemaDie Nachricht, die von einem der Zäher übertragen wird, sieht wie folgt aus (Private Informationen wurden durch "-" ersetzt):
27 27 27 27 1 1 1 1 118 7 0 13 0 140 8 70 98 0 98 0 114 99 1 1 118 1 1 7 0 13 1 190 173 109 11 - - - - - - - - - - 1 1 99 137 100 0 118 7 0 13 0 140 8 71 98 0 98 0 114 99 7 1 119 1 11 - - - - - - - - - - 7 1 0 98 10 255 255 114 98 1 101 1 190 207 84 118 119 7 129 129 199 130 3 255 1 1 1 1 4 69 77 72 1 119 7 1 0 0 0 9 255 1 1 1 1 11 - - - - - - - - - - 1 119 7 1 0 2 8 0 255 100 1 0 162 1 98 30 82 3 86 0 0 0 22 70 1 119 7 1 0 2 8 1 255 1 1 98 30 82 3 86 0 0 0 22 70 1 119 7 1 0 2 8 2 255 1 1 98 30 82 3 86 0 0 0 0 0 1 119 7 129 129 199 130 5 255 1 1 1 1 131 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 1 99 131 28 0 118 7 0 13 0 140 8 73 98 0 98 0 114 99 2 1 113 1 99 59 252 0 0 0 27 27 27 27 26 2 156 139
Ohne Hintergrundinformationen zur SML, kann mit der gegebenen Folge von Bytes nicht viel angefangen werden. Allerdings stellt das BSI (Bundesamt für Sicherheit in der Informationstechnik)
eine Spezifikation für die SML zur Verfügung: Technische Richtlinie BSI TR-03109-1.
Aus dieser Spezifikation können alle notwendigen Informationen entnommen werden, welche zum Verständnis der SML-Nachricht benötigt werden.
Nachfolgend habe ich die obenstehende SML-Nachricht für eine bessere Lesbarkeit geordnet und jede Zeile mit einem Kommentar versehen. Die Byte-Folge wurde von der Dezimaldarstellung in die übliche Hexadezimaldarstellung gebracht. So können nun alle gewünschten Informationen leicht herausgelesen werden: