EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: EPID bumpless restart
From: Mark Rivers <[email protected]>
To: "'Crisp, Daniel'" <[email protected]>, "[email protected]" <[email protected]>
Date: Wed, 29 Nov 2017 21:44:00 +0000

Hi Daniel,

 

The EPID record is supposed to do a bumpless transition when feedback is turned on.  It should do the following when feedback is turned from Off to On:

 

- Reads the current value of the output power supply PV.

- Sets the Integral term of the PID equal to that current value.

- Begins the PID control.

 

Assuming you set the setpoint equal to the current value of hallprobe when you turn on feedback, then it should not "bump" because the Proportional term will be 0 and the Integral term will be equal to the current power supply setting.  Are you seeing something different from this?

 

The EPID record does have an ODEL field but it is currently not implemented.  I'd be happy to accept  a pull request to implement it.

 

Mark

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Crisp, Daniel
Sent: Wednesday, November 29, 2017 2:48 PM
To: [email protected]
Subject: EPID bumpless restart

 

Hello,

 

I'm currently using the EPID record to stabilize a dipole fields. It is reading a magnetic field from a hallprobe controller, and driving a power supply current to match the hallprobe reading to a target value specified by the user.

 

1)      How can I make the EPID record perform a ‘bumpless restart’?

Currently, if the power supply set point is significantly changed while the EPID feedback is off, the epid record will drive around the supply wildly once turned back on. I have some channels set up which pause a user’s request to turn on feedback until the ‘<epid_channel>.I’ field can be automatically set with the live value in the supply. And when I monitor the ‘<epid_channel>.I’ value, I see that it in fact does get set, but it then gets overwritten and ignored. What’s the best way of dealing with this?

 

2)      How to best implement a deadband? (It appears there was a thread about the ODEL field being present, but not used in the epid support code? Am I wrong? Is this still the case?)

Especially for some magnets that require a less frequent touch, I’d like the epid to only act on the supply when the error reaches a larger percent difference. Specifically, I’d like it to only react to errors in field greater than, say, .01% of the target field. We had tried to simply decrease the KP value enough that resulting P values are less than what can be acted on by the supply (supply doesn’t recognize a difference in set points differing by the 3rd significant figure), but this isn’t ideal.

 

Thank you!

-Dan

 


References:
EPID bumpless restart Crisp, Daniel

Navigate by Date:
Prev: Release or Tags in epics-modules Jeong Han Lee
Next: Re: Using VDCT for EPICS 3.15.5 Nab Rahman
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPID bumpless restart Pearson, Matthew R.
Next: RE: EPID bumpless restart Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024