NEWS
Test Adapter pid (pid-Regler) V1.0.x
-
@ben1983 Habe gerade bemert,
dass ich das Limit auf einen negativen wert stellen muss.
(Wobei ja gerade die negierung das bezwecken sollte, dass er in die andere richtung regelt.
Er negiert den wert nicht und mach bei act 1000 soll 0 trotzdem ein aufintegrieren in negative richtung bis zur grenze.
Erwartet hätte ich dass min limit 0 ok ist und durch die negierung positiv geregelt wird.
Vielleicht ist die Stelle der begrenzung im code nicht so passend. -
@mcm57 Du könntest ja in de jsonconfig die breite des elements breiter machen.
Oder? -
@mcm57 Das invertieren hat bei mir überhaupt keine Auswirkung
-
@ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@mcm57 Du könntest ja in de jsonconfig die breite des elements breiter machen.
Oder?Die Summe aller Tabellenelemente ist bereit 100%. Breiter geht nur wenn was anderes schmäler wird. Und zusätzlich begrenzt die jsonConfig die minimale Breite durch die Überschriftsbreite. ICh würd gern die Breite der Checkboxen minimieren, vor allem der ersten mit dem Plus Zeichen drinnen - geht nicht.
Ich werd schaun was möglich ist.
-
@ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@mcm57 Das invertieren hat bei mir überhaupt keine Auswirkung
Sorry,, da hast du recht. Da fehlt noch Code.
https://github.com/iobroker-community-adapters/ioBroker.pid/issues/39
-
@mcm57 was mir noch auffällt ist:
selbt wenn man den Regler auf run stellt, fängt er nicht an, bevor man nicht einen soll und istwert neu schreibt.
Die sind aber vielleicht noch gleich gelieben.
Zumindest der Sollwert. -
@ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@mcm57 was mir noch auffällt ist:
selbt wenn man den Regler auf run stellt, fängt er nicht an, bevor man nicht einen soll und istwert neu schreibt.
Die sind aber vielleicht noch gleich gelieben.
Zumindest der Sollwert.Kann ich so ganz glauben. Aber run/hold Verhalten ist ein noch offener Punkt:
https://forum.iobroker.net/topic/64250/test-neuer-adapter-pid-pid-regler-v0-0-1-alpha-x/91Da schau ich mir eh nochmals an
-
@mcm57 Sonst habe ich gerade mal simuliert, dass er einen Heizstab regelt.
Act = Netz (Da ich gerade keinen Heizstab habe... Netz + HeizungIst (soll gefiltert durch den lowopass filter).
regelt das zumindest gut aus.
-
@mcm57 ich könnte ein gif hochladen (als video) aber es ist 10MB und er nimmt das hier nicht.
-
@mcm57 die Regler zykluszeit änderungen haben bei mir keinen Einfluss.
Ich habe gerade die Zykluszeit einmal auf 10000ms gestellt.
Der Ist wert kommt natürlich trotzdem alle 2000ms rein (in meinem Fall jetzt).
der Regler aktualisiert sich dann im 2000ms zyklus. -
@ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@mcm57 die Regler zykluszeit änderungen haben bei mir keinen Einfluss.
Ich habe gerade die Zykluszeit einmal auf 10000ms gestellt.
Der Ist wert kommt natürlich trotzdem alle 2000ms rein (in meinem Fall jetzt).
der Regler aktualisiert sich dann im 2000ms zyklus.Sollte definitiv nicht so sein. Wenn eine Zykluszeiot eingestellt ist, sollte nur genau dann aktualisiert werden und nicht bei jedem Update von act.
Muss ich mir ansehen.https://github.com/iobroker-community-adapters/ioBroker.pid/issues/41
-
@mcm57 Man kann mit dem Regler keinen reinen I Regler realisieren, oder?
Also ich benötige ja immer einen Kp, oder?
Ist jetzt für PID nicht schlimm, nur eine Frage. -
@ben1983
Ja, das hast du richtig erkannt. Wenn dazu Bedarf besteht, biite Feature Request aufmachen. Muss mal schaun ob das ev. einbaubar ist. Annähern sollte durch kleines Kp ung entsprechendes Tn gehen. -
@ben1983 sagte in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@mcm57 die Regler zykluszeit änderungen haben bei mir keinen Einfluss.
Ich habe gerade die Zykluszeit einmal auf 10000ms gestellt.
Der Ist wert kommt natürlich trotzdem alle 2000ms rein (in meinem Fall jetzt).
der Regler aktualisiert sich dann im 2000ms zyklus.Ich habe das grade mal ausprobiert - bei mir wird im 10.000ms Zyklus y tatsächlich nur alle 10 Sek verändert und last_delta pendelt um 10.000ms - scheint also zu funktionieren. Ich lasse act jede Sekunde
aktualisieren.neu steuern. -
@mcm57 sagte in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@mcm57 was mir noch auffällt ist:
selbt wenn man den Regler auf run stellt, fängt er nicht an, bevor man nicht einen soll und istwert neu schreibt.
Die sind aber vielleicht noch gleich gelieben.
Zumindest der Sollwert.Kann ich so ganz glauben. Aber run/hold Verhalten ist ein noch offener Punkt:
https://forum.iobroker.net/topic/64250/test-neuer-adapter-pid-pid-regler-v0-0-1-alpha-x/91Da schau ich mir eh nochmals an
Kann ich so bestätigen - man muss in den State rein und den Wert mit Enter (bestehenden Wert nochmal setzen) bestätigen, selbst wenn act und set über Skript aktualisiert werden/ wurden. Vorher bleibt diff = 0.
Erkenntnis: Der act Wert muss gesteuert, nicht aktualisiert werden (wenn man Blockly verwendet) - so stellt sich dass jedenfalls bei mir dar. Nur wenn act gesteuert wird, wird diff korrekt ermittelt, bei Aktualisierung bleibt das alte diff stehen. Wird act gesteuert, legt der Regler auch nach Instanz-Start los (auch ohne, dass set zusätzlich neu geschrieben wird).
-
@fu_zhou @mcm57
Das er gesteuert werden muss / soll dachte ich mir ja schon,
aber:
Ich muss ja den set und den act nochmal beschreiben, bevor es los geht.
Gerade der set kann ja durchauf fast immer gleich bleiben. -
@ben1983 bei mir langt es, den act zu steuern, set bleibt unbeschrieben (und damit orange), dann wird diff sofort nach Instanz-Start neu ermittelt (vorausgesetzt act != set) und der Regler verändert y. Ich mache das aktuell über ein Blockly-Script (steuere jede Sekunde den act mit dem gleiche Wert -0.1), set ist (und bleibt) 0:
-
@fu_zhou @Ben1983
Wenn ihr Blockly vewendet muss (nach meinen bescheidenen Blockly Kenntnissen) STEUERE verwendet werden. Aktualisiren hat keine Wirkung.https://forum.iobroker.net/topic/5787/blockly-unterschied-zwischen-steuere-und-aktualisiere/2
Um eine Wirkung zu haben muss der State mit ack=false beschrieben werden. Nur in diesem Fall beachtet der Adapter die Wertänderung. Dies ist auch der Default wenn man via Admin was reinschreibt.
Wird ein Wert mit ack=true geschrieben so wird er ignoriert. Dies ist das "normgerechte" Verhalten. Siehe auch : https://forum.iobroker.net/topic/61876/bestätigt-acknowledged-flag-bedeutung-ein-mysterium?
Ev. werde ich zumindest bei erweitertem Logging "falsche" writes noch loggen um da mehr Klarheit zu schaffen.
-
@fu_zhou bei mir geht das so nicht.
Ich hatte automatischer Start deaktiviert.
Starte den Adapter neu und setze ein auf true.
Act wird aus einem JavaScript alle 2s mit dem Netzleistungswert beschrieben.
Set habe ich auf 0 und es passiert nicht, bis ich in der wieder 9 rein schreibe -
@ben1983 said in Test neuer Adapter pid (pid-Regler) V0.0.1-alpha.x:
@fu_zhou bei mir geht das so nicht.
Ich hatte automatischer Start deaktiviert.OK
Starte den Adapter neu und setze ein auf true.
Mit ein meinst du wahrscheinlich run.
Act wird aus einem JavaScript alle 2s mit dem Netzleistungswert beschrieben.
Set habe ich auf 0 und es passiert nicht, bis ich in der wieder 9 rein schreibeBitte "log calculation" aktivieren
Werden alle x Zeiteinheiten werte geloggt- oder nicht?
Wie schreibst du act? Mit ack=false?