hardware:channels:meters:power:edl-ehz:emh-ehz-h1
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:channels:meters:power:edl-ehz:emh-ehz-h1 [2013/01/08 19:23] – [Hardware] udo1 | hardware:channels:meters:power:edl-ehz:emh-ehz-h1 [2022/04/21 20:22] (aktuell) – daemon, logfile und port jau | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
{{ : | {{ : | ||
- | Der [[http:// | + | Der EMH eHZ-H kann nach EN 62056-21 über die IR-Schnittstelle ausgelesen werden.\\ |
===== Hardware ===== | ===== Hardware ===== | ||
- | Man benötigt den [[hardware: | + | Man benötigt den [[hardware: |
- | Je nachdem woran man den IR-Kopf anschließen will, braucht man die [[hardware: | + | |
- | Der Zähler sendet lastabhängig alle paar Sekunden unaufgefordert ein SML-Datenpaket. Die Sendediode ist oben rechts hinter dem rechten der beiden Löcher in der Metallplatte. Gesendet wird mit 9600 Baud, 8N1. Die Signalqualität scheint sehr gut zu sein, mit einem Steckbrett-Aufbau war der Empfang ohne Abdunkelungsmaßnahmen aus mehreren cm Abstand möglich.\\ | + | Der Zähler sendet lastabhängig alle paar Sekunden unaufgefordert ein [[software: |
+ | |||
+ | ===== Beispielkonfiguration ===== | ||
+ | Eine exemplarische vzlogger.conf: | ||
+ | <code base vzlogger.conf> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }] | ||
+ | } | ||
+ | ]} | ||
+ | </ | ||
===== Beispieldaten ===== | ===== Beispieldaten ===== | ||
Zeile 129: | Zeile 162: | ||
1A 01 64 62 Ende Nachricht mit Füllbyte und Prüfsumme | 1A 01 64 62 Ende Nachricht mit Füllbyte und Prüfsumme | ||
00 Ende | 00 Ende | ||
+ | </ | ||
+ | |||
+ | =====Zähler mit Shell-Skripte abfragen===== | ||
+ | |||
+ | Um die Zähler schnell und ohne große Vorarbeit auslesen zu können, bieten sich folgende Skripte an. Für einen Dauerbetrieb sind sie jedoch weniger geeignet, da manchmal einige Zeit vergehen muss, um den Datenanfang zu erfassen. | ||
+ | |||
+ | **HINWEIS: | ||
+ | * bc | ||
+ | * stty | ||
+ | * xxd (wird mit dem vi installiert) | ||
+ | |||
+ | ====Zählerwerte ausgeben==== | ||
+ | |||
+ | Die folgenden Zeilen werden in eine Datei '' | ||
+ | |||
+ | < | ||
+ | Meter 1.8.0 (from plant): | ||
+ | Meter 2.8.0 (to plant): | ||
+ | Total effective power (+/ | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # read and evaluate SML output received from EMH eHZ | ||
+ | |||
+ | # set serial device | ||
+ | INPUT_DEV="/ | ||
+ | |||
+ | #set $INPUT_DEV to 9600 8N1 | ||
+ | stty -F $INPUT_DEV 1: | ||
+ | |||
+ | SML_START_SEQUENCE=" | ||
+ | METER_OUTPUT__START_SEQUENCE="" | ||
+ | |||
+ | while [ " | ||
+ | do | ||
+ | METER_OUTPUT=`cat $INPUT_DEV 2>/ | ||
+ | METER_OUTPUT__START_SEQUENCE=$(echo " | ||
+ | if [ $METER_OUTPUT__START_SEQUENCE != $SML_START_SEQUENCE ]; | ||
+ | then | ||
+ | echo " | ||
+ | #exit 1 | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | let METER_180=0x${METER_OUTPUT: | ||
+ | VALUE=$(echo " | ||
+ | echo "Meter 1.8.0 (from plant): | ||
+ | |||
+ | let METER_180=0x${METER_OUTPUT: | ||
+ | VALUE=$(echo " | ||
+ | echo "Meter 2.8.0 (to plant): | ||
+ | |||
+ | let METER_180=0x${METER_OUTPUT: | ||
+ | VALUE=$(echo " | ||
+ | echo "Total effective power (+/-): " $VALUE " | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====HTML-Seite erzeugen==== | ||
+ | |||
+ | Die folgenden Zeilen in eine Datei '' | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # read and evaluate SML output received from EMH eHZ | ||
+ | |||
+ | # set serial device | ||
+ | INPUT_DEV="/ | ||
+ | |||
+ | #set $INPUT_DEV to 9600 8N1 | ||
+ | stty -F $INPUT_DEV | ||
+ | 1: | ||
+ | |||
+ | SML_START_SEQUENCE=" | ||
+ | METER_OUTPUT__START_SEQUENCE="" | ||
+ | |||
+ | while [ " | ||
+ | do | ||
+ | METER_OUTPUT=`cat $INPUT_DEV 2>/ | ||
+ | METER_OUTPUT__START_SEQUENCE=$(echo " | ||
+ | done | ||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | echo "" | ||
+ | echo "< | ||
+ | echo " < | ||
+ | echo " | ||
+ | echo " | ||
+ | initial-scale=1.0, | ||
+ | echo " </ | ||
+ | echo " < | ||
+ | |||
+ | echo " <h1> Z& | ||
+ | |||
+ | let METER_180=0x${METER_OUTPUT: | ||
+ | VALUE=$(echo " | ||
+ | echo " < | ||
+ | |||
+ | let METER_180=0x${METER_OUTPUT: | ||
+ | VALUE=$(echo " | ||
+ | echo " < | ||
+ | |||
+ | let METER_180=0x${METER_OUTPUT: | ||
+ | VALUE=$(echo " | ||
+ | echo " < | ||
+ | |||
+ | echo " </ | ||
+ | echo "</ | ||
</ | </ | ||
hardware/channels/meters/power/edl-ehz/emh-ehz-h1.1357669394.txt.gz · Zuletzt geändert: 2013/01/08 19:23 von udo1