EPICS Controls Argonne National Laboratory

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  <20132014  2015  2016  2017  2018  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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: AW: Question about epid record
From: "Pal Trivan" <[email protected]>
To: "Mark Rivers" <[email protected]>, "Bruce Hill" <[email protected]>
Cc: [email protected]
Date: Wed, 27 Feb 2013 14:58:36 +0100
Hello all,
 
A humble opinion/word: in the literature, for the 'standard' form (cf 'parallel') it is 'ok' as is in the EPID. Note, however, the caution in the in-line comment of the code that Ki is actually 1/Ki w.r.t (same) literature.
 
The tuning of the parameters, as given in the example of the epid record manual, works well with tools such as mathworks 'pidtune', when all the above are taken into account.
 
Hope this helps a bit.
 
Sincerely,
 
Trivan
PSI
GFA/Controls

________________________________

Von: [email protected] im Auftrag von Mark Rivers
Gesendet: Mi 2/27/2013 2:33
An: Bruce Hill
Cc: [email protected]
Betreff: RE: Question about epid record



Hi Bruce,

As I recall I copied that logic from the old PID record from EPICS base.  I agree that KP should probably not be in the I and D terms, but I think it's too late to change it, since users have tuned their EPID systems using this formula.

Mark

________________________________
From: Bruce Hill [[email protected]]
Sent: Wednesday, February 27, 2013 12:36 AM
To: Mark Rivers
Cc: [email protected]
Subject: Question about epid record

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





References:
Question about epid record Bruce Hill
RE: Question about epid record Mark Rivers

Navigate by Date:
Prev: RE: Question about epid record Mark Rivers
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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Question about epid record Mark Rivers
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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·