From fd4d0b3e641fe601481feb5b84461524a5640622 Mon Sep 17 00:00:00 2001 From: jens Date: Tue, 22 Dec 2020 10:45:17 +0100 Subject: [PATCH] - refactored pot - return undelayed and deleyed version --- components/plant/pot.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/components/plant/pot.py b/components/plant/pot.py index 40aec74..7f6db5e 100644 --- a/components/plant/pot.py +++ b/components/plant/pot.py @@ -6,7 +6,6 @@ class Pot(APlant): def __init__(self, dt, params, theta_amb=20): APlant.__init__(self) self.dt = dt - self.alpha = 1.0 self.e = 0 self.x = 0 @@ -20,26 +19,19 @@ class Pot(APlant): self.temp = params['theta'] self.theta_amb = theta_amb - self.alpha = self.dt / 1 - self.alpha_delay = self.dt/self.Td if self.Td > 0 else 1 self.power_set = 0 - self.power_actual = 0 self.delay = Delay(self.dt, self.Td) def activate(self, enable): pass def process(self): - # Delay - if 0: - self.power_actual = (1-self.alpha_delay) * self.power_actual + self.alpha_delay * self.power_set - else: - self.delay.put(self.power_set) - self.power_actual = self.delay.get() - leak = 1/self.M * self.L * (self.theta_amb - self.temp)/self.theta_amb - self.temp += (self.power_actual / (self.M * self.C) + leak) * self.dt + self.temp += (self.power_set / (self.M * self.C) + leak) * self.dt + + # Delay + self.delay.put(self.temp) def is_activated(self): return True @@ -48,7 +40,10 @@ class Pot(APlant): self.power_set = power def get_power(self): - return round(self.power_actual, 1) + return round(self.power_set, 1) def get_temperature(self): return self.temp + + def get_temperature_delayed(self): + return self.delay.get()