Rory,
I've seen a variety of implementations, all of which worked well enough,
although differently.
If your process is fast enough that after a controller output change it is
likely to come to a new steady state before the next sample, then you can
tune a continuous PI controller to produce a deadbeat response.
If your process is relatively slow compared to the sample interval +
deadtime, filtering (especially filters that give more weight to the most
recent sample) can be applied to smooth the step changes in GC output.
This increases the phase lag of the sampler but the filtered measurement is
easier to use in control.
Synchronizing the PID control with the sampler output is easy to implement
but can be difficult to tune. Just connect the fresh sample flag to the MA
parameter (or HOLD parameter) in the PID controller. This type of control
is convenient in that you can have it just ignore any GC output flagged as
bad without affecting control.
Continuous PID control can be used, however the spikes in manipulated
variable due to derivative action on the step change may be unacceptable in
many applications. Often very fast stabilization come from using just
enough derivative filter to minimize excessive process disturbance.
Regards,
Kevin FitzGerrell
Systems Engineer
Foxboro New Zealand
------------------------------------
Tel: +64 (9) 573 7690
Fax: +64 (9) 573 7691
"Loupe, Rory (RJ)"
<[EMAIL PROTECTED]> To: 'Foxboro - Cassandra'
<[EMAIL PROTECTED]>
Sent by: cc:
<[EMAIL PROTECTED] Subject: GC Analyzer
Control
oject.org>
07/10/01 07:34 AM
Please respond to "Foxboro
DCS Mail List"
I am converting some old Foxboro SMS control schemes to run on I/A. There
is some code that does validity, rate of change and time-out checking on
some GC data. If the GC data is good the code does PID control with this
data (in the code itself, not through a PID block). The analyzer has a
cycle time of 15 minutes and sets a boolean flag true for 60 seconds on a
fresh update.
I am trying to determine if I should stick with code from the SMS and
convert it to HLBL or use standard I/A blocks to accomplish the same thing.
My idea for I/A is to do validity, rate of change and time-out checking via
a CALC block. Do the pid control via a PIDA block and on invalid GC data
put the block in manual and alarm. Part of the problem with this approach
is tuning the PIDA block. I have done an extensive step test and have come
up with tuning parameters (with a large reset time). The testing of this
PIDA seems to be doing a good job, but the GC update time has me concerned
about timing issues.
Could someone suggest a solution to GC control on I/A?
Thanks,
Rory
-----------------------------------------------------------------------
This list is neither sponsored nor endorsed by the Foxboro Company. All
postings from this list are the work of list subscribers and no warranty
is made or implied as to the accuracy of any information disseminated
through this medium. By subscribing to this list you agree to hold the
list sponsor(s) blameless for any and all mishaps which might occur due to
your application of information received from this mailing list.
To be removed from this list, send mail to
[EMAIL PROTECTED]
with "unsubscribe foxboro" in the Subject. Or, send any mail to
[EMAIL PROTECTED]