increased freq of pid logging. zero out integral component if kiln_must_catch_up is True and outside of kiln_must_catch_up_max_error window

pull/60/merge
jbruce12000 2022-05-01 17:52:37 -04:00
rodzic 273ef866cc
commit d839e082e6
1 zmienionych plików z 7 dodań i 5 usunięć

Wyświetl plik

@ -218,10 +218,12 @@ class Oven(threading.Thread):
if self.target - temp > config.kiln_must_catch_up_max_error: if self.target - temp > config.kiln_must_catch_up_max_error:
log.info("kiln must catch up, too cold, shifting schedule") log.info("kiln must catch up, too cold, shifting schedule")
self.start_time = datetime.datetime.now() - datetime.timedelta(milliseconds = self.runtime * 1000) self.start_time = datetime.datetime.now() - datetime.timedelta(milliseconds = self.runtime * 1000)
self.pid.iterm = 0
# kiln too hot, wait for it to cool down # kiln too hot, wait for it to cool down
if temp - self.target > config.kiln_must_catch_up_max_error: if temp - self.target > config.kiln_must_catch_up_max_error:
log.info("kiln must catch up, too hot, shifting schedule") log.info("kiln must catch up, too hot, shifting schedule")
self.start_time = datetime.datetime.now() - datetime.timedelta(milliseconds = self.runtime * 1000) self.start_time = datetime.datetime.now() - datetime.timedelta(milliseconds = self.runtime * 1000)
self.pid.iterm = 0
def update_runtime(self): def update_runtime(self):
runtime_delta = datetime.datetime.now() - self.start_time runtime_delta = datetime.datetime.now() - self.start_time
@ -517,7 +519,7 @@ class PID():
'out': output, 'out': output,
} }
if out4logs > 0: # if out4logs > 0:
# log.info("pid percents pid=%0.2f p=%0.2f i=%0.2f d=%0.2f" % (out4logs, # log.info("pid percents pid=%0.2f p=%0.2f i=%0.2f d=%0.2f" % (out4logs,
# ((self.kp * error)/out4logs)*100, # ((self.kp * error)/out4logs)*100,
# (self.iterm/out4logs)*100, # (self.iterm/out4logs)*100,