Hi,
This might be similar to a discussion last year:
http://www.aps.anl.gov/epics/tech-talk/2014/msg01170.php
to:
http://www.aps.anl.gov/epics/tech-talk/2014/msg01242.php
I was also trying to control a motor, and I didn't want to drive the motor every time the ePID processed. So I implemented a deadband with a timer in an external database. The tech-talk discussion was about if that function should be in the record or not.
Cheers,
Matt
On Apr 22, 2015, at 9:05 AM, Ralph Lange <[email protected]>
wrote:
> If someone is implementing this,
> please be careful:
>
> The documentation at [1] lists ODEL (with ADEL and MDEL) as a "Monitor Parameter", and specifies "Unless the current value of OVAL is greater than the amount which the user specifies in this field, no monitors will be invoked."
>
> There might be people that have configured ODEL per its documentation, and did not realize they get more subscription updates on OVAL than they wanted (which can easily be missed). If you change the field's meaning, they might be surprised that their outputs are not driven every time the record processes.
>
> Certainly suppressing small steps is a reasonable thing to add, but when doing it for the OUTL link it might be better to use a new field.
>
> ODEL should definitely also be implemented, so that a record pointing its DOL to the epid's OVAL.CP can use the ODEL deadband. Maybe that could be the suggested way to handle this situation anyway, removing the need to implement similar behavior for the OUTL link.
>
> Cheers,
> ~Ralph
>
> [1] http://www.aps.anl.gov/bcda/synApps/std/epidRecord.html
>
>
> On 22/04/2015 14:15, Mark Rivers wrote:
>> Hi Peter,
>>
>> Here is a result of a case-insensitive search for the string "odel" in the stdApp/src directory, where the epid record is located:
>>
>> corvette:std/stdApp/src>grep -i odel *
>> epidRecord.dbd: field(ODEL,DBF_DOUBLE) {
>>
>> So the field is defined in the record, but it not used in any of the code. It probably should be implemented, as you suggest, but is not currently.
>>
>> Mark
>>
>> ________________________________
>> From: [email protected] [[email protected]] on behalf of Peter Linardakis [[email protected]]
>> Sent: Wednesday, April 22, 2015 1:08 AM
>> To: [email protected]
>> Subject: Misunderstanding of epid record ODEL field?
>>
>> Hello techtalkers
>>
>> I am trying to control a motor that drives a slow tuner based on phase and/or amplitude error signals. It’s still just in testing but the basic control works. However, The motor seems to attempt to move on every iteration of the epid loop, even if the magnitude of the epid.OVAL field is less than the epid.ODEL field. Do I understand the intention of the ODEL field correctly? I’d rather not have the motor try to move on every loop iteration. The relevant records are below:
>>
>> record(calc, "$(res):$(ta):tuning_error") {
>> field(DESC, "Overall tuning error")
>> field(INPA, "$(res):$(ta):phase_error")
>> field(INPB, "$(res):$(ta):ampl_error")
>> field(CALC, "B-3*A")
>> }
>>
>> record(epid, "$(res):$(ta):tuner:control_pid") {
>> field(DESC, "PID loop to control tuner postion")
>> field(INP, "$(res):$(ta):tuning_error CPP")
>> field(SCAN, ".1 second")
>> field(SMSL, "supervisory")
>> field(VAL, "0")
>> field(OUTL, "$(res):$(ta):tuner:motor.RLV PP")
>> field(FBON, "1")
>> field(MDT, "5")
>> field(KP, "-0.12")
>> field(KI, "0")
>> field(KD, "0")
>> field(EGU, "mm")
>> field(ODEL, "0.04")
>> field(DRVL, "-1")
>> field(DRVH, "1")
>> field(DISV, "0")
>> field(SDIS, "$(res):$(ta):tuner:mode CPP")
>> }
>>
>> Thanks in advance
>> Peter
>>
>> Dr Peter Linardakis
>> Accelerator Research & Development Engineer
>> Nuclear Physics | Research School of Physics and Engineering
>> Australian National University
>> e: [email protected]<mailto:[email protected]>
>> p: +61 2 6125 2862
>> w: http://physics.anu.edu.au/nuclear/
>>
>>
>
- References:
- Misunderstanding of epid record ODEL field? Peter Linardakis
- RE: Misunderstanding of epid record ODEL field? Mark Rivers
- Re: Misunderstanding of epid record ODEL field? Ralph Lange
- Navigate by Date:
- Prev:
RE: Misunderstanding of epid record ODEL field? Mooney, Tim M.
- Next:
Re: Regading Conflicting libraries for CA Lab & labCA Till Straumann
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Misunderstanding of epid record ODEL field? Ralph Lange
- Next:
RE: Misunderstanding of epid record ODEL field? Mooney, Tim M.
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|