Siehe neues Modul PID20
http://forum.fhem.de/index.php/topic,17067.msg111615.html#msg111615
Ich mühe mich derzeit damit ab, meine Fussbodenheizung mit einem Max-Ventil als Stellglied und PID als Regler
in den Griff zu bekommen. Dabei sind nachfolgende Punkte aufgefallen, die ich zur Diskussion stelle.
Bearbeitungszyklus hängt vom Sensor abPID wir derzeit vom Sensor getriggert. Der Bearbeitungszyklus hängt also direkt von der Datenrate
des Sensors ab. Das hat unmittelbar Einfluss auf den I-Anteil.
Vorschlag:Der Bearbeitungszyklus wird über einen Timer im Minuten-Takt getriggert, unabhängig vom Sensor.
Ausgabehäufigkeit an das Stellglied sollte parametriebar seinDas PID Modul hat in kürzester Zeit sämtliche Credits meines CULS verbraten, so dass für die anderen Funktionen
keine Reserven mehr vorhanden waren. (z.B. Heating-Control)
Vorschlag: Ausgabe nicht häufiger als alle n-Minuten
Ausgabe nur dann, wenn die Stellgröße um mindestens xy % zu verändern ist.
Prozesswissen merken beim Neustart von FHEMDer I-Anteil wird beim Neustart stets gelöscht, so dass der Regler wieder von NULL anfangen muss, diesen aufzubauen.
Vorschlag:Nur wenn der in Readings gemerkte I-Anteil älter als 1 Stunde ist wird dieser beim Aufstarten verworfen.
I-Anteil limitierenAuch wenn der P-Anteil bereits 100% einnimmt, kann der I-Anteil parallel dazu ebenfalls bis auf 100% bzw. satMax
anwachsen. Wenn sich eine Umkehr der Regeldifferenz ergibt wird der P-Anteil in die richtige Richtung weisen,
jedoch der Überhang vom I-Anteil bewirkt, dass der Stellausgang auf 100% verharrt.
Dasselbe gilt auch bei 0% bzw. satMin.
Vorschlag:I-Anteil nur soweit anwachsen lassen, dass er in Summe mit dem P-Anteil die 100% bzw. satMax nicht überschreitet,
Entsprechendes für satMin.
Sensor ÜberwachungSobald der Sensor nach einer Zeit von xy-Minuten keinen Wert mehr liefert, sollte der PID-Regler
auf den aktuellen Zustand einfrieren und in den Readings einen entsprechend Meldung liefern.
Charting Fähigkeitschön wäre auch, wenn die Readings zu desired, aktuellem Sensor-Istwert und Reglerausgang(actuation), unabhängig von der Änderung des Stellausgangs aktualisiert würden, damit diese direkt in einer Log-Datei gespeichert werden können und
entsprechende Charts möglich wären.
John