<p dir="ltr">Hallo Marc,</p>
<p dir="ltr">ich war ungeduldig und hab mir einfach einen DVH4013 bestellt.<br>
Die gewonnen Erkenntnisse möchte ich nicht für mich behalten:</p>
<p dir="ltr">* Ich hatte zunächst auch Schwierigkeiten mit dem USB-Adapter und der RS485-Verdrahtung.<br>
Getestet wurden:<br>
1) China-Adapter mit FT232RL und MAX485 (<a href="https://www.aliexpress.com/item/1pc-USB-to-TTL-RS485-Converter-Adapter-Module-FT232RL-Dual-function-Protection-Hot-Worldwide/32371804583.html">https://www.aliexpress.com/item/1pc-USB-to-TTL-RS485-Converter-Adapter-Module-FT232RL-Dual-function-Protection-Hot-Worldwide/32371804583.html</a>)<br>
2) China-Adapter mit CP2102 und MAX485 (<a href="https://www.aliexpress.com/item/6in1-USB-to-TTL-UART-485-232-Multi-function-Serial-Interface-Module-CP2102-wholesale/32430642299.html">https://www.aliexpress.com/item/6in1-USB-to-TTL-UART-485-232-Multi-function-Serial-Interface-Module-CP2102-wholesale/32430642299.html</a>)<br>
3) MAX485-Modul an USB-TTL-Adapter mit CP2102 (<a href="https://www.aliexpress.com/item/MAX485-module-TTL-to-RS485-module-TTL-turn-RS-485-module-MCU-development-accessories/2007238830.html">https://www.aliexpress.com/item/MAX485-module-TTL-to-RS485-module-TTL-turn-RS-485-module-MCU-development-accessories/2007238830.html</a>)<br>
4) MAX485-Modul an Arduino<br>
Kommunikation kam zunächst nur mit 2) zu Stande, bei den anderen Adaptern konnte ich mit einem zusätzlichen RS485-Slave und HTerm zwar den Request fehlerfrei mitlesen, die Zählerantwort war aber voller Bitfehler und wurde von den Modbus-Tools infolge falscher CRC verworfen. Versuche mit Pull-up/-down Widerständen (A/B an 5V/GND) brachten keinen Erfolg.<br>
Beim Vergleich der Adapter fielen mir irgendwann die Abschlusswiderstände auf: der funktionsfähige Chinese hatte keinen, alle anderen hatten dagegen 120 Ohm verbaut. Also hab' ich das MAX485-Modul um den SMD-Widerstand erleichtert, und seitdem läuft die Kommunikation auch hiermit fehlerfrei. Fazit: der DVH4013 ist zumindest in einem Test-Setup mit ganz kurzem RS485-Bus allergisch gegen Abschlusswiderstände.</p>
<p dir="ltr">* Der DVH4013 spricht 9600 8E1. Die Baudrate lässt sich verändern, die ungewöhnliche Parity wohl nicht.</p>
<p dir="ltr">* Die Modbus-Slave-Adresse berechnet sich aus den letzten beiden Stellen der Seriennummer + 1. Dabei wird Ziffer für Ziffer behandelt, es erfolgt keine Umrechnung dezimal zu hex. Beispiel: Meine Seriennummer endet mit 38, daraus wird das Adressbyte 0x39 = 57, nicht wie man auch erwarten könnte 0x27 = 39!</p>
<p dir="ltr">* Der DVH4013 erwartet zur Abfrage der Modbus-Register function code 03 (output holding register), im Gegensatz zum Eastron SDM630, der function code 04 (input register) verwendet. Das ist wohl nicht ganz konform mit der Modbus-Spezifikation, die input register für Messwerte (Sensoren) und output holding register für Stellwerte (Aktoren) vorsieht.</p>
<p dir="ltr">* Der Zähler liefert, anders als der Eastron, keine Floats, sondern 32-bit-Integer (mit fester impliziter Anzahl Dezimalen lt. Manual).</p>
<p dir="ltr">Nachdem ich das alles aussortiert hatte, konnte ich den Zähler mit Python (lib: MinimalModbus), mbrtu (lib: libmodbus) und auch per Arduino (lib: ModbusMaster) zumindest rudimentär auslesen. Hier die zugehörigen Codeschnipsel:</p>
<p dir="ltr">* Python:<br>
#!/usr/bin/env python<br>
import minimalmodbus<br>
minimalmodbus.TIMEOUT = 1<br>
# port name, slave address (in decimal)<br>
dvh4013 = minimalmodbus.Instrument('/dev/ttyUSB0', 57, mode='rtu')<br>
dvh4013.serial.baudrate = 9600<br>
dvh4013.serial.parity = minimalmodbus.serial.PARITY_EVEN<br>
# Zaehlerstand 1.8.0<br>
print dvh4013.read_long(0x4000)</p>
<p dir="ltr">* mbrtu:<br>
mbrtu -d/dev/ttyUSB0 -b9600 -pE -a57 -f3 -tint -n2 -r0x4000<br>
mbrtu ist Stand heute allerdings nicht wirklich für den Zähler geeignet, da es nichts mit den 32--bit-Integern anzufangen weiß. Außerdem treten in meinem Setup öfters Timeouts auf, die ich via Python nicht bekomme.</p>
<p dir="ltr">* Arduino:<br>
auf Anfrage, keine Ahnung ob das hier jemand interessiert</p>
<p dir="ltr">Fazit: Anfangs hat mich der Zähler einiges an Zeit gekostet, aber wenn man mal weiß worauf man achten muss, ist das Ding für vz-Anwendung IMHO durchaus geeignet. Die Software-Seite wäre natürlich noch ausbaufähig - möglicherweise kommt ja noch Modbus-Support direkt per vzlogger, vor ein paar Monaten gab es da Aktivitäten, ich kenne aber den aktuellen Stand nicht.<br>
Vorteile gegenüber S0-Zähler liegen auf der Hand: aktuelle Leistung sekundengenau verfügbar (ohne "Blindflug" zwischen 2 Impulsen), bei Verwendung des Zählerstands keine Abweichungen im Gesamtverbrauch durch Logerausfall/-wartung, weitere Parameter wie Strom/Spannung/cos phi verfügbar.<br>
Vorteile gegenüber dem Eastron SDM630 sehe ich vor allem in den phasensaldierenden Registern für Bezug und Einspeisung und möglicherweise in der Mehrtarif-Fähigkeit, falls jemand sowas sucht.<br>
Nicht vorhanden sind wohl Blind- und Scheinleistung, halte ich aber für entbehrlich.</p>
<p dir="ltr">Grüße<br>
Frank</p>
<div class="gmail_quot<blockquote class=" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Danke für die Info, dann warte ich mal ab was bei der Überprüfung rauskommt.<div>Der DZG-Zähler wär' mir eigentlich lieber als der Eastron SDM630, weil dieser wohl nicht phasensaldierend zählen kann.</div><div><br></div><div>Gruß</div><div>Frank</div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 29. November 2016 um 16:44 schrieb Marc Haber <span dir="ltr"><<a href="mailto:mh+volkszaehler-users@zugschlus.de" target="_blank">mh+volkszaehler-users@<wbr>zugschlus.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hallo,<br>
<span><br>
On Tue, Nov 29, 2016 at 02:59:43PM +0100, Frank Richter wrote:<br>
> bist du mit deinem Zähler mittlerweile weitergekommen?<br>
<br>
</span>Er funktioniert auch nicht mit der vom Hersteller auf Anfrage<br>
nachgelieferten Windows-Softare und mit dem vom Hersteller empfohlenen<br>
RS485-Adapter. Er ist deswegen seit einer Woche beim Hersteller zur<br>
Prüfung.<br>
<br>
Ich melde mich, sobald ich neues weiß.<br>
<span><br>
> Ich bin nämlich auch auf der Suche nach einem Modbus-Zähler, aber bisher<br>
> sind die Aussichten auf erfolgreiches Auslesen bei diesem Modell ja nicht<br>
> so rosig...<br>
> Beim Hersteller habe ich mal angefragt, ob es weitere Dokumentation oder<br>
> Software zur Modbus-Kommunikation gibt, die bekomme ich aber nur nach dem<br>
> Kauf.<br>
<br>
</span>Die Dokumentation ist dürftig, die Windows-Software entspricht dem<br>
was man von Windows-Software erwartet. Dafür ist der Support per<br>
E-Mail individuell, schnell und hilfreich. Da das so selten ist,<br>
möchte ich das gerne lobend erwähnen.<br>
<span><br>
> Weil das Manual nichts bzgl. Änderung der Modbus-Adresse hergibt, vermute<br>
> ich derzeit, dass der Zähler mit fester Adresse geliefert wird, die dann<br>
> möglicherweise auch länger als ein Byte ist. Vielleicht die oben rechts<br>
> aufgelaserte Nummer? Eine falsche Adresse würde zumindest die erfolglosen<br>
> Kommunikationsversuche erklären.<br>
<br>
</span>Die Modbus-Adresse berechnet sich in der Tat aus der Seriennummer des<br>
Zählers und ist nicht änderbar.<br>
<div class="m_3804583804824959718HOEnZb"><div class="m_3804583804824959718h5"><br>
Grüße<br>
Marc<br>
<br>
--<br>
------------------------------<wbr>------------------------------<wbr>-----------------<br>
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header<br>
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402<br>
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421<br>
</div></div></blockquote></div><br></div>
</div>