- added abstarct PID APid

- added PidFactory
- use variable args for factory
This commit is contained in:
jens
2021-10-02 11:10:43 +02:00
parent 7111bfd5e2
commit bf019733b2
15 changed files with 117 additions and 26 deletions
+3 -3
View File
@@ -5,7 +5,7 @@ from utils import ChangedFloat
from ws.message import MessageDispatcher
from ws.server.ws_server_multi_user import WsServerMultiUser
from components.sensor import TempSensorFactory
from components.pid import TempController
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
@@ -31,14 +31,14 @@ if __name__ == '__main__':
taskmgr.add(PotTask(pot, DT_TASK, dispatcher.msgio_get("Pot")))
# Heater
heater = HeaterFactory.create(config['Controller']['heater_name'], DT, config['Heater'])
heater = HeaterFactory.create(config['Controller']['heater_name'], config['Heater'])
heater.set_on_changed("power_eff", ChangedFloat(pot.set_power, prec=0).set)
heater_task = HeaterTask(heater, DT_TASK, dispatcher.msgio_get("Heater"))
taskmgr.add(heater_task)
# Temperature Controller
tc_params = config['TempCtrl']
tc = TempController(DT, tc_params)
tc = PidFactory.create('Normal', DT, tc_params)
tc.set_on_changed("y", heater_task.actor)
tc_task = TcTask(tc, DT_TASK, dispatcher.msgio_get("TempCtrl"))
taskmgr.add(tc_task)