[vz-users] D0 Kommunikation Timeout Problem

Philipp Wörner work at woerners-online.de
Mi Nov 18 18:18:46 CET 2020


Hallo Leute,

ich bin Neuling auf dem Gebiet der Datenerfassung und Verarbeitung mit dem
VZLogger.

Kurz zur Hardware:
IR-Lesekopf + BMP280 am Raspberry 3B (mit 128GB MSATA) zur Datenerfassung
und Speicherung
2x BMP280 Raspberry 4 zusätzlich sind noch einige Ausgänge belegt, auch
einer mit einem Thyristor zur Leistungsregelung.

Ich habe ein kleines Problem mit meinem TD3511, ich bekomme die Daten zwar
aus dem Zähler, das Intervall der Daten ist jedoch ne kleine Katastrophe.

 

Hier mal die VZLogger Config:

"meters": [
{
//TD3511 per D0 ansprechen
"enabled": true,
"skip": false,
"protocol": "d0",
"device": "/dev/ttyUSB0",
// "dump_file": "/var/log/d02.txt",
//TD3511 Initialisierung
"parity": "7E1",
"baudrate": 300,
"pullseq": "2F3F210D0A",
//TD3511 Baudrate erhöhen 300bps->19200bps
"ackseq": "063036300d0a",
"read_timeout": 1,
"baudrate_change_delay": 400,
"baudrate_read": 19200,
//Mittelwertbildung der Kanäle
"aggtime": -1,
"interval": -1,

 

Die Konfig läuft soweit, jedoch bekomme ich nach jedem Durchlauf der
Datenausgabe folgende Verzögerung:             
Daten kommen Sauber, das "!" ist das Ende des Streams

2d 30 31 2d 30 31 20 30 30 3a 30 30 29 0a 0a 21 -01-01 00:00) !

##### 11.060383469s ( 5417 ms) read //Datenübertragung hat xxxxms gedauert
i.o., neustart der Übertragung
##### 11.060444094s ( 0 ms) TCIOFLUSH and cfsetiospeed
<<<<< 11.461273208s ( 401 ms) //Wartezeit bis zur Wiederansprache des
Zählers
2f 3f 21 0d 0a /?! //pullseq

##### 16.509987581s ( 5048 ms) timeout!
##### 16.510667790s ( 1 ms) read
##### 16.510721540s ( 0 ms) TCIOFLUSH and cfsetiospeed
<<<<< 16.911242477s ( 401 ms) //Wartezeit bis zur Wiederansprache des
Zählers
2f 3f 21 0d 0a /?! //Pullseq

>>>>> 17.331170550s ( 420 ms) //Zählerantwort
2f 53 41 54 36 33 35 31 31 43 30 31 35 34 34 30 /SAT63511C015440
30 32 33 30 37 0a 0a 02307

<<<<< 18.268282476s ( 937 ms) //Baudratenwechsel zu 19200bps
06 30 36 30 0d 0a 060

##### 18.669471695s ( 401 ms) usleep cfsetispeed
>>>>> 18.675348466s ( 6 ms) // Beginn neuer Datenstrom vom Zähler
02 46 2e 46 28 30 30 30 30 30 30 30 30 29 0a 0a F.F(00000000)

 

Durch dem Timeout und die daraus resultierende Verzögerung habe ich ~13
Sekunden pro Ausleseintervall. 
Geplant ist aktuell die im Sommer nicht selbstgenutzte Energie/Leistung per
Heizwendel in die Heizung zu verfrachten. 
Den Heizwendel mit 500W hab ich schon und auch einen Thyristor den ich
entsprechend ansteuern kann. das Problem ist der Intervall, der ist für eine
Regelung viel zu lang.
Klar ist das im Sommer ziemlich egal, da hier diesen über mehrere Stunden
150-250W eingespeist wurden.
Im Winter sieht das aber ganz anders aus, hier sind sowohl die Erzeugung als
auch die Verwendung ziemlich nah beisammen.

Was ich aktuell nicht verstehe ist woher die ~5Sekunden für den Timeout
kommen, da in der Config nur 1 Sekunde hinterlegt ist.

 

Gruß
Philipp

 

 

 

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20201118/28375506/attachment.html>


Mehr Informationen über die Mailingliste volkszaehler-users