Seite 1 von 2

Modbus-Abfrage via LAN quälend langsam

Verfasst: Sa 16. Apr 2022, 18:49
von anraso
Hallo,
ich habe einen Huawei WR und nutze die die MODBUS LAN -Abfrage via Regler -62-.
Bis das huawei_Lan.php durchgelaufen ist dauert es fast eine Minute.
Was dauert an der Abfrage eigentlich so lange?
Auch kommt es - wahrscheinlich aufgrund der vielen Anfragen - immer wieder mal zu fehlerhaften Ausführungen. Das stört die Statistik.

Was mir auffällt ist, das das Skript jeden Wert einzeln anfragt.
Wäre es nicht viel schneller, die Register im Bulk abzufragen und dann die Daten gemütlich zu sortieren?

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mo 18. Apr 2022, 20:50
von anraso
Keiner eine Idee?

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mo 18. Apr 2022, 22:16
von Ulrich
Nach jeder Abfrage muss 4-5 Sekunden gewartet werden, sagt der Hersteller....
Deshalb dauert es so lange.

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Di 19. Apr 2022, 21:59
von Hat se nicht alle
Vielleicht A und B im Bus irgendwo vertauscht?
Sollte zwar immer symmetrisch und galvanisch getrennt ausgeführt sein aber nicht jeder Hersteller hält sich da dran
und dann fließen Ausgleichsströme welche zumindest störend wirken.

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mi 20. Apr 2022, 14:20
von anraso
Geht via LAN.

Meine Frage zielte mehr darauf, Urlich:

Wäre es nicht viel schneller, die Register im Bulk abzufragen und dann die Daten gemütlich zu sortieren?

Ist das denkbar? Hast Du vielleicht sogar Strukturen für so einen Fall vorgesehen?

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mi 20. Apr 2022, 14:28
von Ulrich
anraso hat geschrieben:
Mi 20. Apr 2022, 14:20
Geht via LAN.

Meine Frage zielte mehr darauf, Urlich:

Wäre es nicht viel schneller, die Register im Bulk abzufragen und dann die Daten gemütlich zu sortieren?

Ist das denkbar? Hast Du vielleicht sogar Strukturen für so einen Fall vorgesehen?
Ja, das wäre wahrscheinlich besser. Damals habe ich die RS485 Version genommen und auf LAN "getrimmt". Erst später habe ich vom Hersteller erfahren, dass man nach jeder Registerauslesung 4-5 Sekunden warten muss. Das bringt einen fast um.

Das Problem ist nur, dass die Änderung eine komplette Neuprogrammierung ist. Wenn ich einmal Zeit habe, werde ich mich noch einmal damit beschäftigen. ... Der sDongle ist auch nicht das Gelbe vom Ei. Wie schnell der geänderte Script dann wird, weiß auch noch keiner.

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mi 20. Apr 2022, 14:45
von anraso
Ich hab mir das mal angeschaut.
Man könnte die Modbus-Abfrage in 3 oder 4 Blöcke zusammenfassen.

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mi 20. Apr 2022, 15:14
von anraso
Was mann bräuchte wäre so eine Art Antworttyp "bulk", wo die Funktion modus_tcp_lesen dann einfach die Regler-Antwort roh zurück gibt.
Dann könnte man im huawei_lan.php sich die Werte mit dem entsprechenden Offset rausholen.
Das wäre die einfachste Erweiterung.
Was denkst Du?

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mi 20. Apr 2022, 18:27
von solarfanenrico
Hallo zusammen.
Ulrich hat recht, wenn er meint noch nicht zu wissen, wie lange diese Abfrage dauern könnte.
Eine php-Programmierung hat seine Grenzen.
Meine Growatts RS485 zu USB dauern pro WR ca 6 Sekunden mit dem Solaranzeigen-Image.

Über Java werden zwei WR innerhalb der selben Sekunde ausgelesen und an die Influx-DB gesendet.
Auszug aus der java.log
2022-04-20 17:57:34.556 [pool-1-thread-4] InfluxExporter:131 DEBUG: sendPost to Url http://192.168.188.50:8086/write?db=sol ... recision=s, Params=AC Strom_S=0.0,Strom_T=0.0,Frequenz=50.03,Strom_R=0.0,Leistung_R=8.2,Spannung_T=0$
PV String2_Spannung=0.0,String2_Leistung=0.0,String1_Strom=0.0,String2_Strom=0.0,String1_Leistung=7.0,String1_Spannung=80.9,Leistung=7.0 1650470253
Service AnzahlStrings=2,AnzahlPhasen=1,FehlerCode=0,Status=1,Temperatur=16.3,Warnungen=0 1650470253
Info Produkt="Growatt",Firmware="G.1.8",Datum="20.04.2022",Anz.MPPT=2,Objekt="Growatt WR 1",Anz.Phasen=1 1650470253
Summen Wh_Heute=1000,Wh_Gesamt=955700 1650470253


2022-04-20 17:57:34.949 [pool-1-thread-1] InfluxExporter:131 DEBUG: sendPost to Url http://192.168.188.50:8086/write?db=sol ... recision=s, Params=AC Strom_S=0.0,Strom_T=0.0,Frequenz=50.03,Strom_R=0.1,Leistung_R=31.3,Spannung_T$
PV String2_Spannung=0.0,String2_Leistung=0.0,String1_Strom=0.1,String2_Strom=0.0,String1_Leistung=30.7,String1_Spannung=170.7,Leistung=30.7 1650470253
Service AnzahlStrings=2,AnzahlPhasen=1,FehlerCode=0,Status=1,Temperatur=17.8,Warnungen=0 1650470253
Info Produkt="Growatt",Firmware="G.1.8",Datum="20.04.2022",Anz.MPPT=2,Objekt="Growatt WR 2",Anz.Phasen=1 1650470253
Summen Wh_Heute=2600,Wh_Gesamt=2144900 1650470253
Der Vorteil dieses Systems besteht u.a. auch in der Unabhängkeit vom verwendeten Betriebssystems. Man ist nicht mehrauf einen Raspberry angewiesen.
Ich glaube, daß dies die Zukunft für jene sein wird, die umfangreichere Anwendungen gestalten werden, und trotzdem im eigenen Heimnetz bleiben möchten.

Wer Interesse hieran hat, und seine WR integrieren möchte, darf sich melden. Die einzige Zuarbeit wird in der Bereitstellung der log.files liegen.
Folgende Geräte funktionieren bereits:
Schüco-WR
Growatt-WR
SDM630

Enrico

Re: Modbus-Abfrage via LAN quälend langsam

Verfasst: Mi 20. Apr 2022, 19:10
von anraso
Daher eben mein Wunsch, die Abfragen zusammenzufassen. Ich denke, dann wird die Abfrage auch nur noch ein paar Sekunden statt eine Minute dauern.
Die Zeit vergeht ja nicht mit php-Rechenzeit sondern mit dem zigfachen Warten auf den WR.