NEWS
Test Adapter pid (pid-Regler) V1.0.x
-
@paul53
Sollten Sekunden sein.Die eingegebenen Werte werden in keiner Weise umgerechnet sondern 1:1 in die angegebenen Formeln eingesetzt.
-
@mcm57 sagte: Sollten Sekunden sein.
Bitte in der Beschreibung angeben.
-
Welche Werte würde man dem PI-Regler übergeben müssen, um einen Heizstab nach der vorhandenen PV-Leistung regeln lassen zu können?
Ein 0-100% Regelausgang würde mir reichen. Abschaltung des Reglers über die Temperatur wäre kein Problem ( zusätzliches Blockly ). Aktuelle PV-Leistung und aufgenommene Leistung des Heizstabes sind im ioB vorhanden. -
@quorle said in Test neuer Adapter pid (pid-Regler) V0.0.x:
Welche Werte würde man dem PI-Regler übergeben müssen, um einen Heizstab nach der vorhandenen PV-Leistung regeln lassen zu können?
Ein 0-100% Regelausgang würde mir reichen. Abschaltung des Reglers über die Temperatur wäre kein Problem ( zusätzliches Blockly ). Aktuelle PV-Leistung und aufgenommene Leistung des Heizstabes sind im ioB vorhanden.Schätze da seid ihr seid Könner
-
@quorle sagte: Aktuelle PV-Leistung
PV-Leistung (WR) oder PV-Überschuss (Einspeisung)?
-
Sorry, meinte natürlich PV-Überschuss (Einspeiseleistung). Dieser Wert ist aber sowohl negativ, als auch positiv. Negativ = Netzbezug, positiv = Überschusseinspeisung
-
@quorle
Anhand früherer Beiträge zur "Nulleinspeisung" würde ich beginnen mit Xp = 10 * max. Heizstableistung und Tn = 2 * Aktualisierungszyklus der Leistung (Überschuss - Einspeisung). Davon ausgehend kann man dann optimieren. -
@paul53 sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
@quorle
Anhand früherer Beiträge zur "Nulleinspeisung" würde ich beginnen mit Xp = 10 * max. Heizstableistung und Tn = 2 * Aktualisierungszyklus der Leistung (Überschuss - Einspeisung). Davon ausgehend kann man dann optimieren.Habe jetzt einmal 20000 als XP (10* 2000 wobei 2000 max. Heizleistung ist). Aber Tn verstehe ich nicht ganz, was du mit "Aktualisierungszyklus der Leistung" meinst?
Folgende Objekte sind so belegt:
- actual value = PV-Überschuss
- set Point = 2000 ( max. Wert Heizstab )
- Zykluszeit = 2000
-
@quorle sagte: was du mit "Aktualisierungszyklus der Leistung" meinst?
Der Aktualisierungszyklus von "PV-Überschuss" ist gemeint.
@quorle sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
set Point = 2000 ( max. Wert Heizstab )
Wenn "Nulleinspeisung" erreicht werden soll, muss "set Point" 0 sein.
@quorle sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
Zykluszeit = 2000
Wird die Zykluszeit in ms angegeben?
-
@paul53 sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
@quorle sagte: was du mit "Aktualisierungszyklus der Leistung" meinst?
Der Aktualisierungszyklus von "PV-Überschuss" ist gemeint.
@quorle sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
set Point = 2000 ( max. Wert Heizstab )
Wenn "Nulleinspeisung" erreicht werden soll, muss "set Point" 0 sein.
@quorle sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
Zykluszeit = 2000
Wird die Zykluszeit in ms angegeben?
Also die Zykluszeit wird in ms angegeben.
setPoint auf "0" geändert
Der Modbus Adapter holt alle 10 Sekunden die Werte aus dem Wechselrichter.aktuelle Einstellungen:
- setPoint = 0
- Zykluszeit 2000 ms
- actual Value = aktueller PV-Überschuss ( Wert wird alle 10 Sekunden vom Modbus Adapter vom Wechselrichter abgeholt)
Ausgang PID wechselt aktuell immer von "0" auf "100" hin und her.
Eigentlich möchte ich nur erreichen, dass ein 0-100% Signal aus dem Regler ausgegeben wird. Der PID soll Anhand der Überschussleistung den Prozentwert errechnen und ausgeben. Der Heizstab hat max. 2000W. Sprich der Regler soll sauber den Heizstab anhand eines 0-100% Signales sauber hoch und runter regeln.
Das ausgegebene Signal des PID´s wird dann in einem anderen Aktor weiter verarbeitet. -
@quorle sagte: Ausgang PID wechselt aktuell immer von "0" auf "100" hin und her.
Was ist dem Ausgang y zugewiesen?
Wie ist Tn eingestellt (20 s)?
Ist wirklich Xp 20000 oder ist es kp? "useXp" ist true?@quorle sagte in Test neuer Adapter pid (pid-Regler) V0.0.x:
anhand eines 0-100% Signales
Der Offset ist auf 50 eingestellt?
-
Dem Ausgang "Y" ist noch kein weiterer Datenpunkt zugeordnet ( Der Regler soll erst einmal ordentlich regeln und eingestellt sein, bis dieser dann scharf geschalten wird)
-
@quorle
Der Offset findet sich nicht im DP "off" wieder. Der Rest sieht gut aus. Damit müsste sich y, beginnend bei 58 % (P-Anteil) langsam erhöhen.
Startwert = Offset + (act - set) * (max - min) / XpEtwas irritiert bin ich, dass
diff = set - act
ist. -
@paul53
Ev mal die option zum loggen der berechnungen aktivieren. Da sollte dann im log stehen was bei jedem zyklus gerechnetvwurde.Aber bitte nicht zykluszeit 100ms
-
@mcm57 sagte: Ev mal die option zum loggen der berechnungen aktivieren.
Ich teste den Adapter nicht. Das macht @quorle.
-
@paul53 @mcm57
Hab den DP "off" mal mit 50 befeuert. Aber der PID steht weiterhin bei y = 0.
Sobald man in den DP "off" etwas einträgt, regelt der PID bis auf null herunter, anstatt rauf auf 100.Auszug aus dem LOG:
pid.1 2023-07-14 18:14:50.610 info [C-PV-Heizstab] update() - {"ts":1689351290610,"act":2448,"set":0,"diff":-2448,"off":50,"err":-2448,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-7552,"supr":false} pid.1 2023-07-14 18:14:48.609 info [C-PV-Heizstab] update() - {"ts":1689351288609,"act":2448,"set":0,"diff":-2448,"off":50,"err":-2448,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-7552,"supr":false} pid.1 2023-07-14 18:14:46.608 info [C-PV-Heizstab] update() - {"ts":1689351286608,"act":2448,"set":0,"diff":-2448,"off":50,"err":-2448,"y":0,"lim":true,"dt":2000,"differr":null,"sumerr":-7552,"supr":false} pid.1 2023-07-14 18:14:44.608 info [C-PV-Heizstab] update() - {"ts":1689351284608,"act":2531,"set":0,"diff":-2531,"off":50,"err":-2531,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-7469,"supr":false} pid.1 2023-07-14 18:14:42.607 info [C-PV-Heizstab] update() - {"ts":1689351282607,"act":2531,"set":0,"diff":-2531,"off":50,"err":-2531,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-7469,"supr":false} pid.1 2023-07-14 18:14:40.606 info [C-PV-Heizstab] update() - {"ts":1689351280606,"act":2531,"set":0,"diff":-2531,"off":50,"err":-2531,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-7469,"supr":false} pid.1 2023-07-14 18:14:38.605 info [C-PV-Heizstab] update() - {"ts":1689351278605,"act":2531,"set":0,"diff":-2531,"off":50,"err":-2531,"y":0.5439999999999969,"lim":false,"dt":2000,"differr":null,"sumerr":-7360.200000000001,"supr":false} pid.1 2023-07-14 18:14:36.605 info [C-PV-Heizstab] update() - {"ts":1689351276605,"act":2531,"set":0,"diff":-2531,"off":50,"err":-2531,"y":1.8094999999999928,"lim":false,"dt":2000,"differr":null,"sumerr":-7107.1,"supr":false} pid.1 2023-07-14 18:14:34.605 info [C-PV-Heizstab] update() - {"ts":1689351274605,"act":3146,"set":0,"diff":-3146,"off":50,"err":-3146,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-6854,"supr":false} pid.1 2023-07-14 18:14:32.604 info [C-PV-Heizstab] update() - {"ts":1689351272604,"act":3146,"set":0,"diff":-3146,"off":50,"err":-3146,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-6854,"supr":false} pid.1 2023-07-14 18:14:30.603 info [C-PV-Heizstab] update() - {"ts":1689351270603,"act":3146,"set":0,"diff":-3146,"off":50,"err":-3146,"y":0,"lim":true,"dt":2001,"differr":null,"sumerr":-6854,"supr":false}
@mcm57
Wenn man in den Adaptereinstellungen bei "Offset" einen Wert einträgt, wird dieser nicht im Datenpunkt "offset Value" übernommen. Zudem wenn man bei einer Adapter-Instanz das Logging einstellt, wird dies auf allen Adapterinstanzen angewandt. -
@quorle sagte: Negativ = Netzbezug, positiv = Überschusseinspeisung
Muss dann der Regler nicht invertieren (y sinkt wenn act steigt)?
-
@paul53
Ja da gebe ich dir Recht, aber der Regler regelt im Netzbezug dann auf 100 und bei Netzeinspeisung sinkt der Wert nicht mehr. Habe ich gerade ausprobiert mit invertieren. -
@quorle
Bitte für das offs problem um ein issueDas logging ist global für eine instanz. Ich nehme an du meinst das logging witd für alle controller einer instanz übernommen. Das ist so gedacht.
Dass zwischen adapterinstanzen eine wechselwirkung existiert wäre überraschend.
-
@quorle sagte: Regler regelt im Netzbezug dann auf 100
Die Richtung würde schon mal stimmen: Bei Netzbezug soll der WR mehr Leistung liefern. Setze mal den I-Anteil zurück (macht das der Button "reset controller"?).