- added generic tracer class

- create tracer for TC
- tracer task runs TC-Tracer
This commit is contained in:
jens
2021-10-18 17:57:40 +02:00
parent 236c33d8d6
commit 54f2322c07
5 changed files with 138 additions and 7 deletions
+13 -1
View File
@@ -9,6 +9,7 @@ from components.pid import PidFactory
from components.plant import Pot
from components.actor import HeaterFactory, StirrerFactory
from tasks import TaskManager, TempSensorTask, HeaterTask, PotTask, TcTask, StirrerTask, TracerTask
from tracer import Tracer
if __name__ == '__main__':
config = json.load(open("config.json"))
@@ -40,13 +41,24 @@ if __name__ == '__main__':
tc_task = TcTask(tc, DT_TASK, dispatcher.msgio_get("TempCtrl"))
taskmgr.add(tc_task)
tc_trace_vars = [
{'variable': 'theta_ist_plant', 'name': 'theta_ist_plant', 'unit': ''},
{'variable': 'dtheta_ist_plant', 'name': 'dtheta_ist_plant', 'unit': ''},
{'variable': 'theta_ist_model', 'name': 'theta_ist_model', 'unit': ''},
{'variable': 'dtheta_ist_model', 'name': 'dtheta_ist_model', 'unit': ''},
{'variable': 'theta_ist_model_delay', 'name': 'theta_ist_model_delay', 'unit': ''},
{'variable': 'dtheta_ist_model_delay', 'name': 'dtheta_ist_model_delay', 'unit': ''}
]
trace_tc = Tracer(tc, tc_trace_vars, name='tc_trace')
# Stirrer
stirrer = StirrerFactory.create(config['Controller']['stirrer_name'], DT, config['Stirrer'])
stirrer_task = StirrerTask(stirrer, DT_TASK, dispatcher.msgio_get("Stirrer"))
taskmgr.add(stirrer_task)
# Tracer
taskmgr.add(TracerTask(sensor, heater, 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
tc.set_on_changed("y", heater_task.actor)