Da ich die letzten Tage Probleme hatte einen Hager EHZ363LA mit SML-Protokoll einzubinden möchte ich euch meine Lösung gerne mitteilen.
1. Problem: Durch schiefes/falsches/ was-auch-immer anbringen der optischen Schnittstelle kamen die Daten verstümmelt an und ich konnte nichts auswerten. Achtet also bei ähnlichen Problemen auf die exakte Ausrichtung des Lesekopfes an der rechten LED des Hager-eHZ.
2. Problem: Die aktuelle Leistung wird anders als beispielsweise dem EMH (den ich ebenfalls auslese) ausgegeben. Ausgegeben wird ein Wert von z.B. 0xFFF4, dieser Wert muss jetzt von 0xFFFF abgezogen werden und ergibt somit eine Leistung von 11W (dez).
Zusätzlich hat es noch ein „00“ im linken Trennzeichen für den Cutter. Durch einen bekannten Bug wird alles nach einem „00“ in einem Cutter nach einem IP-Symcon Neustart verworfen.
Einstellungen:
COM-Port 8N1, 9600baud.
Linkes Trennzeichen für Cutter: "FF 01 01 62 1B 52 "
Rechtes Trennzeichen: "01 77 07 "
durch Cutter/RegisterVariable gestartetes Skript:
Aufgrund des „00“-Cutter-Bugs ziehe ich im Code zusätzlich 0x0053 ab. (In der Version 2.7 beta soll der Fehler behoben sein, dann kann als linkes Trennzeichen „FF 01 01 62 1B 52 00 53“ verwendet werden und das „0053“ aus dem Code entfernt werden, das ist eleganter…)
Kein Problem, nur zur Info: Auslesen des aktuellen Zählerstandes funktioniert genauso wie beim EMH-eHZ mit leicht geänderten Werten.
Linkes Trennzeichen für Cutter: "02 08 01 FF 01 01 62 1E 52 FF 54 "
Rechtes Trennzeichen: "01 77 07 "
Der ausgelesene Wert geteilt durch 10000 ergibt die kWh. Da ich einen Lieferstromzähler habe steht am Anfang des linken Trennzeichens „02“, bei einem Bezugszähler müsste dort „01“ eingetragen werden. Wie es sich Herstellerübergreifend mit dem letzten Byte „54“ verhält weiß ich nicht, beim EMH steht dort „56“.
Ich hoffe ich kann mit diesen Infos jemandem weiterhelfen. Ich bin ebenfalls immer wieder sehr froh über kompetente Hilfe und Tipps die ich hier im Forum immer wieder finde
gibt es eigentlich in IPS eine Möglichkeit die Geschwindigkeit vom ComPort nach der ersten Initialisierung von 300 auf 9600 zu erhöhen ?
sowas wie:
Com_SetBaud($ObjektID, 9600);
IPS_ApplyChanges($ObjektID);
damit würden die Daten aus dem Strom-Zähler ein bischen schneller kommen.
unter I/O Instanzen den COM-Port auswählen und die Konfiguration manuell ändern.
Ob das auch über IPS-Befehle geht weiss ich nicht. Aber diese Einstellungen macht man doch nur einmalig.
ja manuell ists klar, aber bei meinem Zähler (AS1440) muß/kann man die Geschwindigkeit nach dem ersten Initialisieren mit /?! die Baudrate hochsetzen, sonst kommen die Daten nur nur mit 300baud.
Deswegen sollte das innerhalb von 1,5sec. im Script hochgesetzt werden.
diese Vorgehensweise kann ich nicht verstehen. Da sollte mal jemand antworten, der sich besser auskennt.
Es gibt z.B. den Befehl COMPort_SetDTR, aber einen entsprechenden Befehl für die Boudrate kann ich nicht finden.
Moin moin,
ich habe wie hier beschrieben wurde einen Client socket erstellt und dort die Daten von meinem com-1 Modul eingegeben. Dieser verbindet sich und listet Daten im Debug Modus. Dann habe ich eine Registervariable erstellt und diese mit dem Client socket verknüpft. Daten kommen auch da an. Die Registervariable übergibt die Daten dann an das hier vorgestellt Script. Soweit alles gut.
Leider sehen meine Debug Werte nicht so aus wie bei euch.
Ich habe einen Digitalen Stromzähler eHZ-HW8E2A5L0EQ2P und eben ein com-1 Modul mit Lesekopf.
Mache ich irgendwas falsch?
Hallo Stefan,
das Auslesen eines SML-Zählers ist hier im Forum schon mehrfach diskutiert und beschrieben worden. Es gibt auch irgendwo ein How-to als pdf.
Leider habe ich die passenden links nicht griffbereit, aber die Suche nach „SML-Zähler“ gibt dir einige Treffer.
Gruß, Peter
ich versuche mich gerade verzweifelt an einem ABB Zähler, mit dem Test Tool konnte ich schon erfolgreich
Daten aus der Kiste ziehen.
Nun wage ich mich an die Integration in IPS, leider komme ich noch nicht so ganz mit dem Cutter klar, kann mir da jemand auf die Sprünge helfen ?
Mit diesem Script, kannst Du diesen Zähler nicht auswerten.
Bei dir stehen doch im Dump die Realwerte schon drinnen.
Dafür hatte ich vor Jahren mal ein Script geschrieben.
Such mal im Forum nach Haushaltzähler, eventuell ist es ja noch vorhanden.