Experimental Physics and Industrial Control System
|
Hi Mark,
I'm in the process of replacing a genSub based PID controller with
the epid record that you and Bob developed, and I'm puzzled by a
difference
in how the two compute the I and D terms.
In the classical PID algorithm, the value of M(n), the manipulated
variable is
M(n) = KP*(E(n) + KI*SUMi(E(i)*dT(i)) + KD*(E(n) -E(n-1))/dT(n)
In fact, the above is from line 33 of devEpidSoft.c, and agrees with
other descriptions I've found of the PID calculation.
However, in the do_pid() function, and in epidRecord.html, the
calculation includes the KP gain in the integral and derivative
terms.
M(n) = KP*(E(n) + KP*KI*SUMi(E(i)*dT(i))
+ KP*KD*(E(n) -E(n-1))/dT(n)
I can scale my KI and KD gain factors by KP to get the equivalent
result,
but I don't see why the effective integral gain should be affected
when
the proportional gain is tweaked. Ditto for KD.
Any comments or clarification would be appreciated.
Thanks,
- Bruce
--
Bruce Hill
Member Technical Staff
SLAC National Accelerator Laboratory
|
- Replies:
- RE: Question about epid record Mark Rivers
- RE: Question about epid record Mark Rivers
- RE: Question about epid record Mark Rivers
- Navigate by Date:
- Prev:
ProcServ patch Bruce Hill
- Next:
'APS event receiver' type event record can not be processed Zhang Yuliang
- 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:
ProcServ patch Bruce Hill
- Next:
RE: Question about epid record 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
2017
2018
2019
2020
2021
2022
2023
2024
|
ANJ, 20 Apr 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|