- put calculated power from heater into tc model
This commit is contained in:
@@ -61,8 +61,16 @@ if __name__ == '__main__':
|
|||||||
taskmgr.add(TracerTask(sensor, heater, tc, trace_tc, DT_TASK_TRACER, dispatcher.msgio_get("Tracer")))
|
taskmgr.add(TracerTask(sensor, heater, tc, trace_tc, DT_TASK_TRACER, dispatcher.msgio_get("Tracer")))
|
||||||
|
|
||||||
# Assign data flow
|
# Assign data flow
|
||||||
|
# Assign tc control value to heater
|
||||||
tc.set_on_changed("y", heater_task.actor)
|
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)
|
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']:
|
if "sim" in config['Controller']['sensor_name']:
|
||||||
pot.set_on_changed("temp", ChangedFloat(sensor.set_fake_temp, prec=3).set)
|
pot.set_on_changed("temp", ChangedFloat(sensor.set_fake_temp, prec=3).set)
|
||||||
sensor.set_fake_temp(pot.temp)
|
sensor.set_fake_temp(pot.temp)
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ class TempController(APid):
|
|||||||
self.model = Pot(dt, model_params)
|
self.model = Pot(dt, model_params)
|
||||||
self.is_startup = True
|
self.is_startup = True
|
||||||
|
|
||||||
|
def set_model_power(self, power):
|
||||||
|
self.model.set_power(power)
|
||||||
|
|
||||||
def set_theta_ist(self, value):
|
def set_theta_ist(self, value):
|
||||||
self.theta_ist_set = value
|
self.theta_ist_set = value
|
||||||
if self.is_startup:
|
if self.is_startup:
|
||||||
@@ -154,7 +157,6 @@ class TempController(APid):
|
|||||||
else:
|
else:
|
||||||
self.y = self.pid_rate.get_y()
|
self.y = self.pid_rate.get_y()
|
||||||
|
|
||||||
self.model.set_power(max(0, 3500 * self.y))
|
|
||||||
self.model.process()
|
self.model.process()
|
||||||
|
|
||||||
def get_power(self):
|
def get_power(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user