PID: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Redirect zum Nachfolger "PID20_-_Der_PID-Regler" weil hier eigentlich kein Inhalt)
 
(17 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
#REDIRECT [[PID20_-_Der_PID-Regler]]
'''PID''' ist ein Modul, das nach dem P-I-D Algorithmus einen Regelkreis realisiert.
'''PID''' ist ein Modul, das nach dem P-I-D Algorithmus einen Regler realisiert.
 
Mittlerweile gibt es einen Nachfolger: [[PID20 - Der PID-Regler]]
Dieser besteht grundsätzlich aus folgenden Komponenten
* Sollwert (desired value)
* Istwert (measured value)
* Stellgröße für Stellglied (actuation/actor)
 
== Projekt-Status ==
Das neue Modul befindet sich in der Evaluations-Phase und ist noch nicht für produktiven Einsatz freigegeben.
Die nachfolgenden Ausführungen dienen zu Spezifizierung der neuen geplanten Funktionalitäten.
 
 
 
== Features ==
* einstellbarer Bewertungs-/Berechungszyklus
* Überwachung des Istwert-Gebers über dessen Zeitstempel (Sensorausfall)
* Skalierbarkeit der Ausgabehäufigkeit an das Stellglied über Zeit und Mindeständerung
* Zwangsausgabe an das Stellglied nach Ablauf eines einstellbaren Zeitintervalls
* Notstellung des Stellgliedes, falls Istwert-Geber ausgefallen ist
* Begrenzung des Stellbereiches nach oben und unten
* Festlegung der Nachkommastellen (0..5) des Ausgabewertes zum Stellglied
* Festlegen einer minimalen Regelabweichung, ab der der Regler aktiv wird
* Festlegen des Reading-Namens für den Sollwert
* Festlegen des Reading-Namens für den Istwert
* Invertierung des Reglerwirksinnes
* Festlegen der minimalen Aktualisierungsrate der Readings
* Festlegen der Proportionalitätskonstanten P,I,D
 
 
 
=== Attribute ===
{| class="wikitable sortable"
|-
! Parameter !! Wertebereich !! Default !! Beschreibung
|-
|pidActorValueDecPlaces||[0..5]||0||Anzahl der Nachkommstellen für Ausgabewert zu Aktor
|-
|pidActorInterval||uint||180||minimale Wartezeit in Sekunden, bis neue Ausgabe an das Stellglied erfolgen kann
|-
|pidActorThreshold||uint||1||Notwendige minimale Änderung zum Altwert der Stellgliedausgabe, damit diese erneut erfolgt
|-
|pidActorErrorAction||[freeze, errorPos]||freeze||legt das Verhalten der Ausgabe zum Stellglied fest, wenn der Istwert nicht innerhalb von <pidSensorTimeout> aktualisiert wurde (Sensor-Ausfall) <br />
freeze: Position des Stellgliedes beibehalten<br />
ErrorPos: Position anfahren, die unter Attribut <pidActorErrorPos> angegeben ist."
|-
|pidActorErrorPos||int||0||Diese Position ist einzunehmen, wenn pidActorErrorAction auf errorPos steht und der Istwert-Geber ausgefallen ist.
|-
|pidActorKeepAlive||uint||1800||Spätestens nach dieser Zeit erfolgt eine Zwangsausgabe an das Stellglied
(wenn PID nicht disabled und nicht stopped)
|-
|pidActorLimitLower||float||0||untere Begrenzung für das Stellglied
|-
|pidActorLimitUpper||float||100||obere Begrenzung für das Stellglied
|-
|pidCalcInterval||uint||60||Berechnungszyklus in Sekunden, nach dem die PID-Berechnung durchgeführt wird.
|-
|pidDeltaTreshold||uint||0||wenn die Regeldifferenz(delta) kleiner al pidDeltaThreshold,, dann wird der Regler eingefroren (state= idle)
|-
|pidDesiredName||string||desired||Name für das Reading, das den Sollwert für den Regler aufnehmen soll
|-
|pidMeasuredName||string||measured||Name für das Reading, das den Istwert für den Regler aufnehmen soll
|-
|pidSensorTimeout||uint||3600||Zeitlimit in Sekunden, nach dessen Überschreitung der Ausfall des Istwert-Gebers anzunehmen ist
|-
|pidReverseAction||[0,1]||0||Umgekehrter Wirksinn des Reglers
|-
|pidUpdateInterval||uint||300||Zeitlimit in Sekunden, nach der ein Zwangsupdate der Readings erfolgen muss (Kurvendarstellung).
|-
|pidFactor_P||pos. float||25||Proportionalitätskonstante für P-Anteil
 
|-
|pidFactor_I||pos. float||0,25||Proportionalitätskonstante für I-Anteil
 
|-
|pidFactor_D||pos. float||0||Proportionalitätskonstante für D-Anteil
|-
|disable||[0,1]||0||Freigabe/Sperren des Reglers
|}
 
== Hintergrund-Informationen ==
=== Anti-WindUp-Strategie ===
Der integrale Anteil des PID-Reglers wird ohne Gegenmassnahmen auch dann weiter integriert,
wenn das Stellglied bereits an seine Grenzen gestossen ist.
Dies hat den Nachteil, dass nach einer Reduzierung der Regeldifferenz lange Wartezeiten entstehen können, bis das
Stellglied reagiert.
Dies nennt man den WindUP-Effekt.
Hierzu wurde die folgende Strategie entwickelt:
 
[[File:13_10_20_PID_Windup.png]
[[Datei:13 10 20 PID Windup.png|miniatur|WindUP]]
 
== Weblinks ==
 
* [http://forum.fhem.de/index.php/topic,15060.0.html Forumseintrag zur Überarbeitung des Moduls ab 2013/09]
* [http://de.wikipedia.org/wiki/Regler Wikipedia Regler]
 
[[Kategorie:Glossary]]
[[Kategorie:Glossary]]
[[Kategorie:Regelungstechnik]]

Aktuelle Version vom 14. Juni 2018, 13:24 Uhr

Weiterleitung nach:

PID ist ein Modul, das nach dem P-I-D Algorithmus einen Regler realisiert. Mittlerweile gibt es einen Nachfolger: PID20 - Der PID-Regler