[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 00:31:40 CET 2016


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20161228/cffcac89/attachment.html>


More information about the volkszaehler-users mailing list