- put calculated power from heater into tc model

This commit is contained in:
jens
2021-10-18 21:32:37 +02:00
parent 73f82d886d
commit b8ed02eb3a
2 changed files with 11 additions and 1 deletions
+8
View File
@@ -61,8 +61,16 @@ if __name__ == '__main__':
taskmgr.add(TracerTask(sensor, heater, tc, trace_tc, DT_TASK_TRACER, dispatcher.msgio_get("Tracer")))
# Assign data flow
# Assign tc control value to heater
tc.set_on_changed("y", heater_task.actor)
# Assign temp. sensor readings to tc
sensor.set_on_changed("temp", ChangedFloat(tc.set_theta_ist, prec=2).set)
# Assign heater power set to tc model
heater.set_on_changed("power_set", tc.set_model_power)
# For simulation
if "sim" in config['Controller']['sensor_name']:
pot.set_on_changed("temp", ChangedFloat(sensor.set_fake_temp, prec=3).set)
sensor.set_fake_temp(pot.temp)
+3 -1
View File
@@ -31,6 +31,9 @@ class TempController(APid):
self.model = Pot(dt, model_params)
self.is_startup = True
def set_model_power(self, power):
self.model.set_power(power)
def set_theta_ist(self, value):
self.theta_ist_set = value
if self.is_startup:
@@ -154,7 +157,6 @@ class TempController(APid):
else:
self.y = self.pid_rate.get_y()
self.model.set_power(max(0, 3500 * self.y))
self.model.process()
def get_power(self):