NEWS
[gelöst] Modbus Register lesen verhindern (Modbus Adapter)
-
Ich steuere bei meinem Multiplus 2 die Ausgangsleistung indem ich auf ESS power setpoint einen Wert schreibe.
Das funktioniert soweit. Allerdings habe ich festgestellt, dass dieser Wert nicht nur jede Sekunde von meinem Script gesetzt wird, sondern dazwischen auch vom Modbus Adapter.
Wenn ich dieses Häckchen deaktiviere, wird offensichtlich trotzdem zurück gelesen, aber mit Wert null:Kann man das irgendwie verhindern?
-
Ich habe den Titel geändert in der Hoffnung, dass jemand eine Idee hat.
-
@manuel001 interessantes Problem, aber bevor ich da weiter in Richtung Adapter schauen würde: Bei mir läuft die Version v6.3.2 - evtl. erstmal updaten und dann mal schauen, ob sich was ändert?
-
@jleg Ich habe gerade den Adapter auf 6.3.2 aktualisiert und die Instanz neu gestartet.
Aber es ist das Verhalten exakt gleich geblieben. -
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
Aber es ist das Verhalten exakt gleich geblieben.
das Verhalten ist ja auch richtig!
erst trägst du ein, was du haben willst, dann zieht sich das Gerät den Wert und sagt, auf was es gestellt wurde (oder null wenn du kein Interesse am IstWert anmeldest) -
@homoran ich hatte das so verstanden, dass er zwar /null/ zurückliefert, aber tatsäclich noch abfragt - @Manuel001, woher stammt dein 2. Screenshot?
jede Sekunde von meinem Script gesetzt wird, sondern dazwischen auch vom Modbus Adapter
ich denke nicht, dass deine Tabelle sagt, dass der Wert /null/ gesetzt wird...
-
@homoran
Wenn es den neuen Wert zurück melden würde, wäre es eh kein Problem.
Aber es meldet den alten Wert zurück:
(Ack false sind meine gesendeten Werte. Ack true sind die zurück gemeldeten Werte.) -
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
(Ack false sind meine gesendeten Werte. Ack true sind die zurück gemeldeten Werte.)
so ist es auch richtig.
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
Aber es meldet den alten Wert zurück:
49.315 -> 49.405 passt doch
wie schnell sendest du denn?
edit:
...und wie kurz ist dein Abfrageintervall?
Da scheinen sich die Werte zu überholen.
ein älterer Abfragewert erscheint bevor der neue bestätigt wird, dieser aber schon geschrieben wurde -
@homoran
Also 1 Sekunde.
Und ich sende auch 1x pro Sekunde. Das ist eigentlich eh schon relativ langsam um schwankende Verbraucher auszuregeln. -
@homoran sagte in Modbus Register lesen verhindern (Modbus Adapter):
49.315 -> 49.405 passt doch
49.315 schreibe ich -151W.
Das lese ich dann erst 50.569.
Dazwischen kommt noch ein alter Wert (-194W). -
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
Das ist eigentlich eh schon relativ langsam um schwankende Verbraucher auszuregeln.
und anscheinend zu schnell für die Antwort des Geräts auf die Änderung zu reagieren
-
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
@homoran sagte in Modbus Register lesen verhindern (Modbus Adapter):
49.315 -> 49.405 passt doch
49.315 schreibe ich -151W.
Das lese ich dann erst 50.569.
Dazwischen kommt noch ein alter Wert (-194W).Das ist doch was ich schrieb!
du änderst schon wieder, bevor der letzte Wert übernommen wurde. -
@homoran Das habe ich mir auch gerade gedacht, dass ich da an der falschen Stelle das Problem suche. Ich werde mal schauen, ob es irgendwelche Angaben diesbezüglich über den Multiplus 2 gibt.
Danke erstmal! -
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
es irgendwelche Angaben diesbezüglich über den Multiplus 2 gibt.
muss nicht am Multiplus liegen.
Wenn zu jeder vollen Sekunde gepusht und gepollt wird, kann es nicht immer gut gehen im Sekundenabstand Änderungen zu senden.BTW
Ich hoffe der Multiplus (oder doch der Cerbo?) schreibt die Änderungen nicht jedesmal in den Flashspeicher.
Der hält nur ungefähr 100.000 Schreibvorgänge -
@homoran sagte in Modbus Register lesen verhindern (Modbus Adapter):
Ich hoffe der Multiplus (oder doch der Cerbo?) schreibt die Änderungen nicht jedesmal in den Flashspeicher.
Der hält nur ungefähr 100.000 SchreibvorgängeKann fast nicht sein, weil das ein beschriebener Betriebsmodus ist und ich jetzt bei ca. 2,5 Millionen Schreibvorgängen bin.
Cerbo GX -
@manuel001 sagte in Modbus Register lesen verhindern (Modbus Adapter):
weil das ein beschriebener Betriebsmodus ist
schreiben im Sekundentakt?
Wo finde ich das? -
@homoran
In Mode 3 you have to create your own control loop, and update the set-point frequently.
These registers must be written once every 60 seconds, or the Multi will go into Passthru.Man muss es mindestens 1x pro Minute schreiben. Sonst ist die Doku relativ dünn.
Aber wenn man sich div. Foreneinträge ansieht, wo es darum geht, dass man die Regelung verbessern kann, wenn man Zähler verwendet, welche 250ms Intervall statt 1s haben, dann sollte klar sein, dass das im niedrigen Sekundenbereich liegen muss.
Hier ist das auch Thema: https://communityarchive.victronenergy.com/questions/246834/how-often-can-you-read-and-write-with-ess-mode-3.html
Ich werde mal ein paar Versuche machen. -
@manuel001 Danke!
wie träge ist denn deine Leitung
-
-
@manuel001 also richtig flott!
dann gibt es zwei Möglichkeiten.du müsstest dein Skript mit dem Datepunkt synchronisieren.
Wenn der neue Wert kommt müsstest du umgehend reagieren, damit der neue Wert gesetzt ist, bevor (der alte) nochmal gepollt wird.Das andere, das ich ganzvaus den Augen verloren hatte ist deine history.
ggf. kannst du dort an den Einstellungen spielen.
Hab gerade nicht alle Optionen im Kopf.
Da es auch negative Werte zu geben scheint, kann es also nicht gehen Werte <1 zu ignorieren.