- reset PID_hold
git-svn-id: http://moon:8086/svn/projects/HendiControl@260 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
@@ -24,7 +24,7 @@ class Controller(TimerListener):
|
||||
self.stirrer = stirrer
|
||||
self.dt = params['dt']
|
||||
self.params = params
|
||||
self.pid = Pid()
|
||||
self.pid_hold = Pid()
|
||||
self.pid_rate = Pid()
|
||||
self.timer_ist = 0
|
||||
self.sensorTime_v = np.empty(0)
|
||||
@@ -229,10 +229,10 @@ class Controller(TimerListener):
|
||||
ovenStateNext = ovenStates.NOP
|
||||
|
||||
if self.ovenState != ovenStates.NOP:
|
||||
self.pid.process(self.dt, self.params['Hold']['Acqu']['Pid'], ctrl_theta_err)
|
||||
self.pid_hold.process(self.dt, self.params['Hold']['Acqu']['Pid'], ctrl_theta_err)
|
||||
self.pid_rate.process(self.dt, self.params['Heat']['Acqu']['Pid'], ctrl_heatrate_err)
|
||||
|
||||
power_hold = max(self.params['P_min'], min(self.params['P_max'], self.params['P_max']*self.pid.get_y()))
|
||||
power_hold = max(self.params['P_min'], min(self.params['P_max'], self.params['P_max'] * self.pid_hold.get_y()))
|
||||
power_heat = max(self.params['P_min'], min(self.params['P_max'], self.params['P_max']*self.pid_rate.get_y()))
|
||||
power_soll = min(power_hold, power_heat)
|
||||
self.plant.setPower(power_soll)
|
||||
@@ -255,6 +255,7 @@ class Controller(TimerListener):
|
||||
self.stirrer.setDutyCycle(1.0)
|
||||
|
||||
if ovenStateNext == ovenStates.HOLD:
|
||||
self.pid_hold.reset()
|
||||
self.stirrer.setSpeed(self.stirrSpeedRast)
|
||||
self.stirrer.setDutyCycle(self.stirrDutyRast)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user