Smart Message Language (SML) ist ein Kommunikationsprotokoll für Stromzähler, das unter anderem für Messdatenaustausch, aber auch für Firmwareupgrades entwickelt wurde.

Dieses Protokoll wird in folgenden Zählern genutzt:

  • SyM2 taktsynchroner Lastgangzähler
  • eHZ, elektronischer Haushaltszähler im Entwurf Version 2.01 vom 10. November 2008
  • EDL Zähler, aufbauend auf der Hardware des eHZ.
    • Beispiel: EMH-ED300L
    • Beispiel: Easymeter Q3-Reihe
  • FNN Basiszähler, auf der LMN Schnittstelle zum Smart Meter Gateway

Die Entwicklung findet parallel zur SyM2-Entwicklung im selben Konsortium statt. Stand November 2023 aktuell[1] war die Version 1.04 vom 18. März 2013, herausgegeben vom Bundesamt für Sicherheit in der Informationstechnik.[2]

Grundlegender Aufbau

Bearbeiten

Jede Informationseinheit wird als SML-Datei bezeichnet. Sie kann einen SML-Auftrag, eine SML-Antwort oder eine Kombination aus beiden enthalten. Eine SML-Datei wird aus SML-Nachrichten zusammengesetzt und von einer Start- und Endsequenz umfasst. Eine SML-Nachricht ist entweder ein Auftrag oder eine Antwort.

SML-Datei Version 1
Escape-Sequence 1B 1B 1B 1B
Beginn der SML-Datei
(Version 1)
01 01 01 01
Open-Nachricht SML_PublicOpen.Req
Nachricht(en) zu transportierende Nachricht(en)
Close-Nachricht SML_PublicClose.Req
Füllbytes
(um eine durch 4 teilbare Dateilänge zu erhalten)
00 (<xx>-mal)
Escape-Sequence 1B 1B 1B 1B
Ende der SML-Datei
<xx> : Anzahl der Füllbytes
<yy> <zz> : Prüfsumme über die Datei
1A <xx> <yy> <zz>

Die Prüfsumme wird nach dem CCITT-CRC16 (Polynom: 0x1021, Init: 0xFFFF, RefIn: True, RefOut: True, XOrOut: 0xFFFF) über alle Bytes des Datenstroms im SML-Transportprotokoll mit Ausnahme der letzten beiden Bytes (und damit ohne die Bytes der Prüfsumme selber) berechnet.

Sollte in dem Nutzdatenstrom die Escape-Sequence (1B 1B 1B 1B) selbst enthalten sein, wird diese um eine zweite Escape-Sequence ergänzt.

Es gibt eine Textform und ein komprimiertes Binärformat, die ineinander überführt werden können. Das Übertragungsmedium ist nicht festgelegt. Beim SyM2-Zähler wird Ethernet verwendet, beim eHZ eine Infrarot-Schnittstelle nach DIN EN 62056-21.

Nachrichten sind in der Norm fest definiert[1]; eine Nachricht ist immer eine Struktur (SEQUENCE) bestehend aus (optionalen) einfachen Datentypen (Boolean, Integer, Unsigned, String,), Strukturen (SEQUENCE), Auswahl von Strukturen (CHOICE), und/ oder Arrays von Strukturen (SEQUENCE OF). Datentypen werden im Datenstrom mit einen Typ-Längen-Feld eingeleitet, in dem der Datentyp und die Länge der Dateninformation abgelegt ist. Das Wort 0x1234 wird zum Beispiel als folgende Bytesequenz übertragen: 0x63 0x12 0x34.

In den Nachrichten können Messdaten wie momentaner oder saldierter Stromverbrauch übertragen werden. Dabei werden zur Kategorisierung der Daten OBIS-Kennzahlen verwendet.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. a b Übersicht des BSI zum Status aller Teile der TR-03109 „Technische Vorgaben für intelligente Messsysteme und deren sicherer Betrieb“
  2. Version 1.04 vom 18. März 2013