[vz-users] mbrtu - update: bug fixes for unsigned ints and support for [u]int(32|64) added

Frank Richter frank.richter83 at gmail.com
Wed Dec 28 01:22:46 CET 2016


Hallo Lars,

sieht gut aus:

pi at raspberrypi:~/mbrtu $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3
-tuint32 -n2 -r0x0400
Timeout set to 1s and 0ms.
ADDR=57 FUNC=3 REG=1024 CNT=2
Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)
[39][03][04][00][00][02][C1][83]
Waiting for a confirmation...
<39><03><04><00><16><56><53><DD><A9>
ADDR=57 REG=1024 DATA=1463891

Gute Nacht und danke für den späten Einsatz!
Frank



Am 28. Dezember 2016 um 01:15 schrieb Lars Täuber <lars.taeuber at web.de>:

> Hallo Frank,
>
> ok, ich sehe.
> Zieh mal den Fix von github und teste noch mal.
>
> Gute Nacht!
> Lars
>
> On Wed, 28 Dec 2016 00:31:40 +0100 Frank Richter <
> frank.richter83 at gmail.com> wrote:
> > Hallo Lars,
> >
> > ich habe eben einen Test mit uint32 gemacht. Leider wirkt sich der andere
> > Typ nicht auf die Ausgabe aus, es werden immer noch 2 mit Doppelpunkt
> > getrennte 16-Bit-Integer ausgegeben:
> >
> > pi at raspberrypi:~ $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3
> -tint
> > -n2 -r0x4000
> > Timeout set to 1s and 0ms.
> > ADDR=57 FUNC=3 REG=16384 CNT=2
> > Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)
> > [39][03][40][00][00][02][D5][73]
> > Waiting for a confirmation...
> > <39><03><04><00><00><0D><A4><46><DB>
> > ADDR=57 REG=16384 DATA=0:3492
> >
> > pi at raspberrypi:~ $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3
> > -tuint32 -n2 -r0x4000
> > Timeout set to 1s and 0ms.
> > ADDR=57 FUNC=3 REG=16384 CNT=2
> > Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)
> > [39][03][40][00][00][02][D5][73]
> > Waiting for a confirmation...
> > <39><03><04><00><00><0D><A4><46><DB>
> > ADDR=57 REG=16384 DATA=0:3492
> >
> >
> > Für einen Wert der zu groß ist für uint16 musste ich etwas suchen, dann
> > habe ich die interne Uhr des Zählers gefunden:
> >
> > pi at raspberrypi:~ $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3
> > -tuint32 -n2 -r0x0400
> > Timeout set to 1s and 0ms.
> > ADDR=57 FUNC=3 REG=1024 CNT=2
> > Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)
> > [39][03][04][00][00][02][C1][83]
> > Waiting for a confirmation...
> > <39><03><04><00><16><48><1C><95><FD>
> > ADDR=57 REG=1024 DATA=22:18460
> >
> >
> > Zum Vergleich die Ausgabe eines Python-Skripts (MinimalModbus):
> >
> > pi at raspberrypi:~ $ cat dvh4013.py
> > #!/usr/bin/env python
> > import minimalmodbus
> > minimalmodbus.TIMEOUT = 1
> > dvh4013 = minimalmodbus.Instrument('/dev/ttyUSB0', 57, mode='rtu')
> > dvh4013.serial.baudrate = 9600
> > dvh4013.serial.parity = minimalmodbus.serial.PARITY_EVEN
> > print dvh4013.read_long(0x0400)
> >
> > pi at raspberrypi:~ $ ./dvh4013.py
> > 1460270
> >
> > Die Ausgabe von mbrtu kann man händisch in einen 32-Bit-Int umrechnen:
> 22 *
> > 2^16 + 18460 = 1460252
> > Die kleine Abweichung liegt nur daran, dass ich das Python-Skript ein
> paar
> > Sekunden später aufgerufen habe und die Uhr inzwischen weiter gelaufen
> ist.
> >
> > Gruß
> > Frank
> >
> > Am 27. Dezember 2016 um 22:18 schrieb Lars Täuber <lars.taeuber at web.de>:
> >
> > > Hallo zusammen,
> > >
> > > die Quellen bei github enthalten nun einige Bugfixes und unterstützen
> auch
> > > [u]int(32|64) Werte.
> > > Bitte auch das mal testen.
> > >
> > > Wenn ich keine Beschwerden höre, gebe ich dieser Version die Nummer
> 0.3.3.
> > >
> > > Dank und Grüße
> > > Lars
> > >
>
>
> --
> Schöne Grüße
> Lars Täuber
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20161228/ea5df031/attachment.html>


More information about the volkszaehler-users mailing list