[vz-users] Probleme mit der Baudraten-Umstellung eines D0-Drehstromzählers
Winfried Peters
winfried.peters at gmail.com
Sun Jan 24 12:41:57 CET 2016
Danke.
Hier nochmal eine ähnliche Konfiguration mit etwas geringerem
baudrate_change_delay-Wert und angehängt als ZIP-Datei die zugehörige
d0-Dump-Datei mit vzlogger-Log zur besseren Analyse.
Mich wundert, dass diese Kombination überhaupt funktioniert, denn nach
meinem Verständnis ist "wait_sync": "end" für Zähler gedacht, die ohne
Aufforderung senden.
Mein Zähler gibt auf jede vzlogger-Eingabe erstmal wie ein Echo die gleiche
Sequenz zurück. Damit kann anscheinend vzlogger nicht richtig umgehen. Im
Log ist zu erkennen, dass am Telegrammanfang das Zählerecho als falscher
OBIS-Code identifiziert wird. Es folgen dann aber genügend erkannte
OBIS-Codes.
{
"retry": 0,
"daemon": true,
"verbosity": 15,
"log": "/var/log/vz207.txt",
"local": {
"enabled": true,
"port": 8080,
"index": true,
"timeout": 0,
"buffer": 600
},
// Meter configuration
"meters": [
{
// D0 meter (Strom)
"enabled": true,
"allowskip": false,
"aggtime": -1,
"aggfixedinterval": false,
"channels": [
{
"uuid": "180a",
"identifier": "1.8.1",
"api": "null",
"aggmode": "none",
"duplicates": 0
}
],
"protocol": "d0",
"device": "/dev/ttyUSB0",
"pullseq": "2F3F343230383138210D0A",
"ackseq": "063034300D0A",
"baudrate": 300,
"baudrate_read": 4800,
"parity": "7e1",
"wait_sync": "end",
"read_timeout": 10,
"dump_file": "/var/log/d0-207.txt",
"baudrate_change_delay": 440
}
]
}
Viele Grüße
Winfried
Am 24. Januar 2016 um 06:47 schrieb Matthias Behr <mbehr at mcbehr.de>:
> Ich schaue mir das noch mal in Ruhe an, schaffe ich aber erst nächsten
> Sonntag.
>
> Am 22.01.2016 um 18:41 schrieb Winfried Peters <winfried.peters at gmail.com
> >:
>
> Hallo,
>
> es gelingt mir nicht meinen Drehstromzähler dauerhaft auf eine höhere
> Baudrate umzustellen.
>
> Es handelt sich um ein EMH-ITZ Gerät.Folgende Informationen habe ich auf
> Anfrage vom zuständigen Stromnetzbetreiber bekommen:
>
> - Die Infrarotschnittstelle kommuniziert über das
> Schnittstellenprotokoll IEC1107
> - Die Schnittstelle muss über eine Initialisierungssequenz mit
> Passwort aktiviert werden. Das Passwort ist die Eigentumsnummer
> - Zu Anfang erwartet der Zähler Kommunikation mit 300 baud, 7
> Datenbits, 1 Stopbit, Parität even.
> - Jeder Befehl muss mit CR&LF abgeschlossen werden.
> - Wenn die Kommunikation läuft, kann man auf höhere Datenraten
> umstellen.
> - Der Zähler antwortet sofort mit /AAAB\@nnnnnnnnnnnnnn
> - wobei:AAA = „EMH“
> - B gibt die maximale Baudrate an (4 = 4800 Bd)
> - „\@“ bedeutet, dass der Zähler R5, W5 und R6-Befehle unterstützt
> - nnnnnnnnnnnnnn bezeichnet die 14-stellige Geräte-ID.
> - Wenn innerhalb von 1,5s keine weiteren Befehle gesendet werden, gibt
> der Zähler die aktuellen Messwerte aus und meldet sich ab
>
> Mit den vzlogger-Parametern
>
> - Initialisierung: "pullseq": "2F3F343230383138210D0A"
> - Aufforderung Baudratenwechsel 4800 Bd: "ackseq": "063034300D0A"
> - "baudrate": 300 und "baudrate_read": 4800
>
> sollte sich im Prinzip die Kommunikation einstellen lassen.
>
> Nach Permutation von verschiedenen Parametern konnte ich mit
> "baudrate_change_delay": 500 und "wait_sync": "end" das bisher beste
> Ergebnis erzielen: Das 1. Zählertelegramm wird in umgestellter Baudrate
> ausgegeben, die nachfolgenden Telegramme allerdings wieder nur in 300 Bd.
>
> Das sieht im d0-Dump (die komplette Datei d0-169.txt im Anhang) dann so
> aus:
>
> --------------------------------------- Anfang
> d0-dump-------------------------------
> ##### 50.158888503s ( 0 ms) opened
> ##### 50.171490960s ( 13 ms) read
> ##### 50.171546136s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 50.671836289s ( 500 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
>
> >>>>> 50.705414525s ( 34 ms)
> 2f 3f 34 32 30 38 31 38 21 0a 0a 2f 45 4d 48 34 /?420818! /EMH4
> 5c 40 2d 2d 49 54 5a 2d 47 30 30 33 38 45 0a 0a \@--ITZ-G0038E
>
> <<<<< 52.585570689s ( 1880 ms)
> 06 30 34 30 0d 0a 040
>
> ##### 53.087406779s ( 502 ms) usleep cfsetispeed
> >>>>> 53.087504791s ( 0 ms)
> 06 30 34 30 0a 0a 02 46 2e 46 28 30 30 30 30 30 040 F.F(00000 1.
> Zählertelegramm
> 30 30 30 29 0a 0a 30 2e 30 2e 30 28 30 30 34 32 000) 0.0.0(0042
> 30 38 31 38 29 0a 0a 30 2e 30 2e 31 28 30 32 32 0818) 0.0.1(022
> 35 36 32 33 30 29 0a 0a 30 2e 31 2e 30 28 36 35 56230) 0.1.0(65
> ....
> ....
> 2a 56 29 0a 0a 35 32 2e 32 35 28 32 33 31 2e 30 *V) 52.25(231.0
> 2a 56 29 0a 0a 37 32 2e 32 35 28 32 33 30 2e 33 *V) 72.25(230.3
> 2a 56 29 0a 0a 21 *V) !
>
> ##### 59.602715084s ( 6515 ms) read
> ##### 59.602767305s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 60.103714342s ( 501 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
>
> >>>>> 60.134602742s ( 31 ms)
> 2f 3f 34 32 30 38 31 38 21 /?420818!
>
> ##### 60.403894575s ( 269 ms) read
> ##### 60.403946531s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 60.904221804s ( 501 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
> >>>>> 60.904947849s ( 0 ms)
> 0a 0a 2f 3f 34 32 30 38 31 28 21 /?42081(!
>
> ##### 61.205930809s ( 301 ms) read
> ##### 61.205983535s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 61.706251638s ( 501 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
>
> >>>>> 61.706938172s ( 0 ms)
> 00 02 63 05 2d 2d 49 54 5a 2d 47 30 30 33 38 05 c --ITZ-G0038 2.
> Zählertelegramm
> 05 02 36 42 0b 43 0b 6a 0a 02 46 2e 46 28 30 30 6B C j F.F(00
> 30 30 30 30 30 30 29 0a 0a 30 2e 30 2e 30 28 30 000000) 0.0.0(0
> ....
> ....
> 30 2e 37 2a 56 29 0a 0a 37 32 2e 32 35 28 32 32 0.7*V) 72.25(22
> 39 2e 39 2a 56 29 0a 0a 21 9.9*V) !
>
> ##### 52.591701715s ( 90885 ms) read
> ##### 52.591754756s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 53.092015394s ( 501 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
>
> >>>>> 53.092768889s ( 0 ms)
> 0a 0a 03 6e 2f 3f 34 32 30 38 31 38 21 n/?420818!
>
> ##### 53.391805484s ( 299 ms) read
> ##### 53.391857725s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 53.892111733s ( 501 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
>
> >>>>> 53.892736371s ( 0 ms)
> 0a 0a 2f 3f 34 32 30 38 31 20 21 /?42081 !
>
> ##### 54.194921780s ( 302 ms) read
> ##### 54.194977016s ( 0 ms) TCIOFLUSH and cfsetiospeed
> <<<<< 54.695234624s ( 501 ms)
> 2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!
>
> >>>>> 54.695868362s ( 0 ms)
> 01 00 63 05 2d 2d 49 54 5a 2d 47 30 30 33 38 41 c --ITZ-G0038A
> 0a 02 36 42 0b 43 0b 6a 0a 02 46 2e 46 28 30 30 6B C j F.F(00
> --------------------------------------- Ende
> d0-dump-------------------------------
>
> Hier die vollständige vzlogger.conf:
> {
> "retry": 0,
> "daemon": true,
> "verbosity": 15,
> "log": "/var/log/vztest.log",
> "local": {
> "enabled": true,
> "port": 8080,
> "index": true,
> "timeout": 0,
> "buffer": 600
> },
> // Meter configuration
> "meters": [
> {
> // D0 meter (Strom)
> "enabled": true,
> "allowskip": false,
> "aggtime": -1,
> "aggfixedinterval": false,
> "channels": [
> {
> "uuid": "180a",
> "identifier": "1.8.1",
> "api": "null",
> "aggmode": "none",
> "duplicates": 0
> }
> ],
> "protocol": "d0",
> "device": "/dev/ttyUSB0",
> "pullseq": "2F3F343230383138210D0A",
> "ackseq": "063034300D0A",
> "baudrate": 300,
> "baudrate_read": 4800,
> "parity": "7e1",
> "wait_sync": "end",
> "read_timeout": 100,
> "dump_file": "/var/log/d0-169.txt",
> "baudrate_change_delay": 500
> }
> ]
> }
>
> Das Timing in der Kommunikation stimmt noch nicht. Ich hoffe mir kann
> jemand weiterhelfen.
>
> Viele Grüße
> Winfried
> <d0-169.txt>
>
>
> Gruß
>
> Matthias
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160124/f4e4f186/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log207.zip
Type: application/zip
Size: 53105 bytes
Desc: not available
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160124/f4e4f186/attachment-0001.zip>
More information about the volkszaehler-users
mailing list