PID: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:
! Parameter !! Wertebereich !! Default !! Beschreibung
! Parameter !! Wertebereich !! Default !! Beschreibung
|-
|-
|pidRoundValveValue  || [0..5] || 0 || Anzahl der Nachkommstellen für Ausgabewert zu Aktor
|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
|pidActorInterval||uint||180||minimale Wartezeit in Sekunden, bis neue Ausgabe an das Stellglied erfolgen kann
Zeile 24: Zeile 24:
|pidActorThreshold||uint||1||Notwendige minimale Änderung zum Altwert der Stellgliedausgabe, damit diese erneut erfolgt
|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 />
|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: Positiion des Stellgliedes beibehalten<br />
freeze: Position des Stellgliedes beibehalten<br />
ErrorPos: Position anfahren, die unter Attribut <pidActorErrorPos> angegeben ist."
ErrorPos: Position anfahren, die unter Attribut <pidActorErrorPos> angegeben ist."
|-
|-
|pidActorErrorPos||int||0||Diese Position ist einzunehmen, wenn pidActorErrorAction auf errorPos steht und der Sensor ausgefallen 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
|}
|}



Version vom 20. Oktober 2013, 16:20 Uhr

PID ist ein Modul, das nach dem P-I-D Algorithmus einen Regelkreis realisiert.

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

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)

freeze: Position des Stellgliedes beibehalten
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

Weblinks