[Gelöst]PID20 bekomme kein idle state hin

Begonnen von Deckoffizier, 22 August 2020, 15:23:56

Vorheriges Thema - Nächstes Thema

Deckoffizier

Hallo,

leider verstehe ich nicht warum ich bei meinem PID20 für den Küchenthermostaten
keinen idle state hinbekomme außer processing.
Kann mir da bitte jemand mit mehr Erfahrung unter die Arme greifen?

Liegt es eventuell an dem negativ Vorzeichen Wert von delta ?
Momentan liegen die Raumtemperaturen ja noch über den Sollwerten.
Hänge hier mal ein List PID20 für den Küchen ZWave Thermostaten an.


Save config
Floorplans
 

   Heizraum
Alarm/Sicherheit
Wohnung
 

   Verkehrsinfo
Keller
Wetter
Abfall
Multimedia
TV
Entwicklung
FRITZBOX
Log_Dateien
Photovoltaik
Plots
Residents
RolloControl
Server
Steuerung
Unsorted
ZWave
icoEverything Everything
Logfile
Commandref
Remote doc
Edit files
Select style
Event monitor
FHEM_Neustart

Internals:
   DEF        Kuechesensor:temperature KUECHE_ZW_THERMOSTAT:dim
   FUUID      5cbcf503-f33f-cca1-5cc5-64f58c16b53df6e5
   NAME       pidregler_kueche
   NR         299
   NTFY_ORDER 50-pidregler_kueche
   STATE      processing
   STILLDONETIME 0
   TYPE       PID20
   VERSION    1.0.0.9
   Helper:
     DBLOG:
       actuation:
         myDbLog:
           TIME       1598102383.53355
           VALUE      0
       actuationCalc:
         myDbLog:
           TIME       1598102383.53355
           VALUE      -175.559999999995
       desired:
         myDbLog:
           TIME       1598102383.53355
           VALUE      22
       measured:
         myDbLog:
           TIME       1598102563.65841
           VALUE      25.6
       p_i:
         myDbLog:
           TIME       1598102383.53355
           VALUE      4.44000000000518
       p_p:
         myDbLog:
           TIME       1598102383.53355
           VALUE      -180
   READINGS:
     2020-08-22 15:22:43   actuation       0
     2020-08-22 15:22:43   actuationCalc   -175.559999999995
     2020-08-22 15:22:43   delta           -3.6
     2020-08-22 15:22:43   desired         22
     2020-08-22 15:22:43   measured        25.6
     2020-08-22 15:22:43   p_d             0
     2020-08-22 15:22:43   p_i             4.44000000000518
     2020-08-22 15:22:43   p_p             -180
     2020-08-22 15:22:43   state           processing
   helper:
     actor      KUECHE_ZW_THERMOSTAT
     actorCommand dim
     actorErrorAction errorPos
     actorErrorPos 5
     actorInterval 300
     actorKeepAlive 3600
     actorLimitLower 0
     actorLimitUpper 99
     actorThreshold 1
     actorTimestamp 2020-08-22 14:55:42
     actorValueDecPlaces 0
     adjust     
     calcInterval 180
     deltaGradient 0
     deltaOld   -3.6
     deltaOldTS 2020-08-22 15:16:38
     deltaTreshold 1
     desiredName desired
     disable    0
     factor_D   0
     factor_I   0.2
     factor_P   50
     isWindUP   1
     measuredName measured
     reading    temperature
     regexp     ^([\+,\-]?\d+\.?\d*$)
     reverseAction 0
     sensor     Kuechesensor
     sensorTimeout 7200
     stopped    0
     updateInterval 600
Attributes:
   DbLogExclude state,delta,p_d
   DbLogInclude measured,desired,actuation,p_p,p_i,actuationCalc
   event-min-interval actuation:300,actuationCalc:300,delta:300,desired:300,measured:300,p_d:300,p_i:300,p_p:300
   event-on-change-reading actuation:1,actuationCalc:0.5,delta:0.5,desired,measured:0.5,p_d:0.1,p_i:1.0,p_p:1.0
   group      Thermostate
   pidActorErrorAction errorPos
   pidActorErrorPos 5
   pidActorInterval 300
   pidActorKeepAlive 3600
   pidActorLimitLower 0
   pidActorLimitUpper 99
   pidActorTreshold 1
   pidActorValueDecPlaces 0
   pidCalcInterval 180
   pidDeltaTreshold 1
   pidFactor_D 0
   pidFactor_I 0.2
   pidFactor_P 50
   pidSensorTimeout 7200
   room       Wohnung->Küche



danke für Eure Mühe sagt
Hans-Jürgen
FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus

bartman121

#1
Zitat von: Deckoffizier am 22 August 2020, 15:23:56
leider verstehe ich nicht warum ich bei meinem PID20 für den Küchenthermostaten
keinen idle state hinbekomme außer processing.



Internals:
   DEF        Kuechesensor:temperature KUECHE_ZW_THERMOSTAT:dim
   FUUID      5cbcf503-f33f-cca1-5cc5-64f58c16b53df6e5
   NAME       pidregler_kueche
   NR         299
   NTFY_ORDER 50-pidregler_kueche
   STATE      processing
   STILLDONETIME 0
   TYPE       PID20
   VERSION    1.0.0.9
   Helper:
     DBLOG:
       actuation:
         myDbLog:
           TIME       1598102383.53355
           VALUE      0
       actuationCalc:
         myDbLog:
           TIME       1598102383.53355
           VALUE      -175.559999999995
       desired:
         myDbLog:
           TIME       1598102383.53355
           VALUE      22
       measured:
         myDbLog:
           TIME       1598102563.65841
           VALUE      25.6
       p_i:
         myDbLog:
           TIME       1598102383.53355
           VALUE      4.44000000000518
       p_p:
         myDbLog:
           TIME       1598102383.53355
           VALUE      -180
   READINGS:
     2020-08-22 15:22:43   actuation       0
     2020-08-22 15:22:43   actuationCalc   -175.559999999995
     2020-08-22 15:22:43   delta           -3.6
     2020-08-22 15:22:43   desired         22
     2020-08-22 15:22:43   measured        25.6
     2020-08-22 15:22:43   p_d             0
     2020-08-22 15:22:43   p_i             4.44000000000518
     2020-08-22 15:22:43   p_p             -180
     2020-08-22 15:22:43   state           processing
   helper:
     actor      KUECHE_ZW_THERMOSTAT
     actorCommand dim
     actorErrorAction errorPos
     actorErrorPos 5
     actorInterval 300
     actorKeepAlive 3600
     actorLimitLower 0
     actorLimitUpper 99
     actorThreshold 1
     actorTimestamp 2020-08-22 14:55:42
     actorValueDecPlaces 0
     adjust     
     calcInterval 180
     deltaGradient 0
     deltaOld   -3.6
     deltaOldTS 2020-08-22 15:16:38
     deltaTreshold 1
     desiredName desired
     disable    0
     factor_D   0
     factor_I   0.2
     factor_P   50
     isWindUP   1
     measuredName measured
     reading    temperature
     regexp     ^([\+,\-]?\d+\.?\d*$)
     reverseAction 0
     sensor     Kuechesensor
     sensorTimeout 7200
     stopped    0
     updateInterval 600
Attributes:
   DbLogExclude state,delta,p_d
   DbLogInclude measured,desired,actuation,p_p,p_i,actuationCalc
   event-min-interval actuation:300,actuationCalc:300,delta:300,desired:300,measured:300,p_d:300,p_i:300,p_p:300
   event-on-change-reading actuation:1,actuationCalc:0.5,delta:0.5,desired,measured:0.5,p_d:0.1,p_i:1.0,p_p:1.0
   group      Thermostate
   pidActorErrorAction errorPos
   pidActorErrorPos 5
   pidActorInterval 300
   pidActorKeepAlive 3600
   pidActorLimitLower 0
   pidActorLimitUpper 99
   pidActorTreshold 1
   pidActorValueDecPlaces 0
   pidCalcInterval 180
   pidDeltaTreshold 1
   pidFactor_D 0
   pidFactor_I 0.2
   pidFactor_P 50
   pidSensorTimeout 7200
   room       Wohnung->Küche




Das liegt daran, dass delta größer als pidDeltaTreshold (1) ist.

Der PID20 geht immer davon aus, dass eine Änderung des Stellwertes auch eine Änderung des IST-Wertes bewirkt. In diesem Fall soll ein kleiner Stellwert (0) bewirken, dass die Temperatur (IST-Wert) fällt. Bei der aktuellen Witterung passiert das aber nicht und der PID20 versucht permanent den Stellwert so zu setzen (processing), dass der SOLLWERT erreicht wird.

Du kannst idle erreichen, wenn du
a) den Soll-Wert der Temperatur auf 25.6°C bzw. zwischen 24.61 und 26.59°C stellst
b) den pidDeltaTreshold größer machst

Du brauchst dir aber keine Gedanken machen, lediglich der I-Anteil wird, wenn es etwas kühler wird, auf 0 reduziert. Der Wird aber in der Heizperiode auch wieder aufgebaut. Das Verhalten ist völlig normal und unbedenklich.

Grüße

Andreas

Deckoffizier

Hallo Andreas,

Danke für die gute Erklärung !
Regeltechnik ist schon ein weites Feld.
Am anderen Thermostaten mit PID20 hat es sich schon bestätigt.
Setze es dann auf gelöst.

Viele Grüße

Hans-Jürgen
FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus