[vz-users] Probleme mit der Baudraten-Umstellung eines D0-Drehstromzählers

Matthias Behr mbehr at mcbehr.de
Sun Jan 24 06:47:48 CET 2016


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/17589497/attachment.html>


More information about the volkszaehler-users mailing list