<div dir="ltr"><div>Hallo Lars,</div><div><br></div><div>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:</div><div><br></div><div>pi@raspberrypi:~ $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3 -tint -n2 -r0x4000</div><div>Timeout set to 1s and 0ms.</div><div>ADDR=57 FUNC=3 REG=16384 CNT=2</div><div>Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)</div><div>[39][03][40][00][00][02][D5][73]</div><div>Waiting for a confirmation...</div><div><39><03><04><00><00><0D><A4><46><DB></div><div>ADDR=57 REG=16384 DATA=0:3492</div><div><br></div><div>pi@raspberrypi:~ $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3 -tuint32 -n2 -r0x4000</div><div>Timeout set to 1s and 0ms.</div><div>ADDR=57 FUNC=3 REG=16384 CNT=2</div><div>Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)</div><div>[39][03][40][00][00][02][D5][73]</div><div>Waiting for a confirmation...</div><div><39><03><04><00><00><0D><A4><46><DB></div><div>ADDR=57 REG=16384 DATA=0:3492</div><div><br></div><div><br></div><div>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:</div><div><br></div><div><div>pi@raspberrypi:~ $ mbrtu -D -d/dev/ttyUSB0 -b9600 -pE -O1000 -a57 -f3 -tuint32 -n2 -r0x0400</div><div>Timeout set to 1s and 0ms.</div><div>ADDR=57 FUNC=3 REG=1024 CNT=2</div><div>Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 1)</div><div>[39][03][04][00][00][02][C1][83]</div><div>Waiting for a confirmation...</div><div><39><03><04><00><16><48><1C><95><FD></div><div>ADDR=57 REG=1024 DATA=22:18460</div><div><br></div><div><br></div><div>Zum Vergleich die Ausgabe eines Python-Skripts (MinimalModbus):</div><div><br></div><div><div>pi@raspberrypi:~ $ cat dvh4013.py</div><div>#!/usr/bin/env python</div><div>import minimalmodbus</div><div>minimalmodbus.TIMEOUT = 1</div><div>dvh4013 = minimalmodbus.Instrument('/dev/ttyUSB0', 57, mode='rtu')<br></div><div>dvh4013.serial.baudrate = 9600</div><div>dvh4013.serial.parity = minimalmodbus.serial.PARITY_EVEN</div><div>print dvh4013.read_long(0x0400)<br></div></div><div><br></div><div>pi@raspberrypi:~ $ ./dvh4013.py</div><div>1460270</div></div><div><br></div><div>Die Ausgabe von mbrtu kann man händisch in einen 32-Bit-Int umrechnen: 22 * 2^16 + 18460 = 1460252</div><div>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.</div><div><br></div><div>Gruß</div><div>Frank</div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 27. Dezember 2016 um 22:18 schrieb Lars Täuber <span dir="ltr"><<a href="mailto:lars.taeuber@web.de" target="_blank">lars.taeuber@web.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hallo zusammen,<br>
<br>
die Quellen bei github enthalten nun einige Bugfixes und unterstützen auch [u]int(32|64) Werte.<br>
Bitte auch das mal testen.<br>
<br>
Wenn ich keine Beschwerden höre, gebe ich dieser Version die Nummer 0.3.3.<br>
<br>
Dank und Grüße<br>
<span class="HOEnZb"><font color="#888888">Lars<br>
</font></span></blockquote></div><br></div>