Topic: DMD0241
Using the Auto-tune Process |
|
The process of setting the optimal gains for P, I and D to get an ideal
response from a control system is called tuning.
Any of the terms set incorrectly can cause the process to be unstable,
or very slow to control. To help in achieving optimal P, I, and D values
the Do-more controller provides
an automatic tuning function.
During the auto-tune period the controller manipulates the power to
the process and measures the rate of change, overshoot and response time
of the process. This is based on the Zeigler-Nichols method of calculating
controller term values. Once the auto-tune period is completed the P,
I and D values are stored in the PID instruction's structure members.
The PID View dialog provides an interface to the Autotune dialog which
handles the autotune process for the designated loop. Click the Auto-tune...
button to open the Auto-Tune dialog.
Note:
Before running an autotune cycle make sure the process being controlled
is relatively stable.
|

|
|
Process
Control Type (PI or PID)
Selects which of the following sets of control variables use in the
Autotune cycle:
PI - only the
Gain (P) and Reset (I)
PID - use Gain
(P), Reset (I), and Rate (D)
Which
Tuning Algorithm (Closed Loop or Open Loop)
Closed Loop
-this algorithm imposes a square wave on the output. Each transition of
the output occurs when the PV value crosses over/under the SP value. Therefore,
the frequency of the limit cycle is roughly proportional to the mass of
the process. From the PV response, the auto tune function calculates the
gains and the sample time. Specifically, the auto tune function examines
the direction of the offset of the PV from the SP then takes control of
the control output and induces a full-span step change in the opposite
direction. Each time the sign of the error (SP - PV) changes, the output
changes full-span in the opposite direction. This proceeds through three
full cycles. The auto tune function then computes the Gain according to
the Zeigler-Nichols equations for a PI or PID type as specified.
Note: Before running the closed loop
autotune cycle the Process Variable (PV) and Setpoint (SP) values must
be no more than 5% of the full scale difference apart.
Note: If the .PV value fluctuates
rapidly, use the First Order Filter (FILTER) instruction or
the Deadband option below to stabilize that value.
Deadband
- the closed-loop auto-tuning algorithm moves the .Output value from 0%
to 100% and back as the PID Loop's .PV values crosses the .SP value. Any
fluctuation in the analog input used as the .PV value can cause unintended
'crossings'. These fluctuations can be handled by adding a deadband. The
deadband value is specified in tenths of a percent of the range of the
.PV and .SP values.
The range of values in 0 (no deadband) to 100 (10.0%). The deadband value
is also mapped into the system location $PIDTuningDB (DST24).
|
|
Open Loop - this algorithm induces the specified
change in the output and observes the responses of the PV at the prescribed
interval. Then from the peak change to the PV response, the auto tune
function calculates the new tuning constants using the Zeigler-Nichols
equations for a PI or PID type as specified.
Sample Time:
- the intervals at which the .PV value will be sampled to determine the
peak change to the PV. The recommended Sample Time is 1/4 of the current
PID Loop's .SampleTime value.
Minimum PV Change: - the minimum size change to the .PV value that
is required to signal a successful auto-tune. This value is specified
as % of the current .PV value. The field to the right will display the
current .PV % value
Output Bump: - the size of the change to make to the output. This
value is specified as % of the current .Output value. The field to the
right will display the current .Output % value that it will be set to.
Note: The Setpoint (SP) value should be more than 5%
of the Process Variable (PV) range away from the actual PV before starting
the open loop auto tune process.
Click
the Start Tuning button to begin
the autotune process for the currently selected PID loop.
Note: Before
running an autotune cycle make sure the process that is being controlled
is operating within the range of control that is expected..
Click the Close button to dismiss
the Autotune dialog without running the auto-tune cycle, none of the tuning
constants are changed.
|
|
What Happens
After a Successful Auto-tune
Each time the Auto-tune process successfully completes the following
things happen:
the previous values for Gain (P), Reset (I), Rate (D)
and the Sample Time are saved in the Recent
Tuning History
the new values for Gain (P), Reset (I), Rate (D) and
the Sample Time are written to the Closed Loop Controller's .Gain, .Reset,
.Rate and .SampleTime structure members respectively
the new values are displayed to the Output Window
At that point the options located in the Tuning
Constants group allow for some additional actions with the new
tuning constants.
Copy to Clipboard - click this
button to copy the Loop Name and the tuning constant results to the Windows
clipboard in plain text format. This data can then be pasted into a different
Windows application. The following is an example of the data that will
be placed on the clipboard::
SimPID
Auto-Tune Completed
Gain (P): 1.455
Reset (I): 4.718
Rate (D): 0.786
Sample Time: 110
|

|
|
Optionally
Add PIDINIT Instruction to the Project
Click this button to open the following dialog that can create a new
rung of logic containing a Set
PID Tuning Constants (PIDINIT) instruction and place that instruction
in the project using one of the following options:
Insert this PIDINIT
instruction at the top of $FirstScan System Task - inserts a rung
containing a Set PID Tuning Constants (PIDINIT) instruction with these
new tuning constants already filled in at the top of the $FirstScan code
block.
Note: this option requires that
the project be in Edit Mode
Insert the rung of
a $FirstScan (ST0) contact driving this PIDINIT instruction at the top
of $Main code block - inserts a rung containing an ST0 contact
and a Set PID Tuning Constants (PIDINIT) instruction with these new tuning
constants already filled in at the top to the $FirstScan code block.
Note: this option requires that
the project be in Edit Mode
Copy the rung of a
$FirstScan (ST0) contact driving this PIDINIT instruction into the Windows
Clipboard, so I can paste it where I want - adds a rung containing
an ST0 contact and a Set PID Tuning Constants (PIDINIT) instruction with
these new tuning constants already filled in to the Windows clipboard.
The contents of the clipboard can then be pasted into any code-block in
the project.
|

|
|
Once the Auto-tune cycle has completed, the following dialog will then
be displayed that presents four options for setting the PID loop's mode.
They are:
Return Control to the
Ladder Program - puts the control of the PID Loop back under control
of the ladder logic diagram, that is, if the PID instruction has power-flow
the loop will go to Auto. If the PID instruction does not have power-flow,
the loop will go to Manual mode.
Override Loop Mode
as Auto - override the ladder logic control of the PID loop and
set the loop's mode to Auto. The loop calculation is still being performed.
Override Loop Mode
as Manual - override the ladder logic control of the PID loop and
set the loop's mode to Manual. The loop calculation is not performed,
the PID View, an HMI, or some other device is assumed to be controlling
the loop.
Recent Tuning History
- invokes the Recent Tuning dialog that displays all of the changes that
have been made to the Tuning constants during the current editing session,
and allows the programmer to roll-back the tuning constants to a previous
set.
|

|
|
Recent
Tuning History
The Do-more controller keeps
track of all of the changes made to the Gain (P), Reset (I), Rate (D),
and Sample Time values by the following actions:
each time the Autotune process successfully completes,
the new values for the tuning constants will be stored in the recent tuning
history
each time the 'Write to PLC' button on the PID
View is used to write new tuning constants, the new values for the
tuning constants will be stored in the recent tuning history
each time Revert operation (described below) is used
to roll back to a previous set of values, the vales that are reverted
to will be stored in the recent tuning history

Clicking the Recent Tuning History
button will invoke the above dialog for the PID loop. This dialog displays
all of the changes made to the tuning constants since the PID View was
opened. The Recent Tuning History values are only saved while the PID
View dialog is open, as soon as the PID View is closed the Recent Tuning
History values will be lost.
Click the Copy All to Clipboard
button to store all of the contents of the Recent Tuning History dialog
to the Windows clipboard, which can then be pasted into a separate application
(e.g. NotePad).
Click to highlight one of the entries then click the Revert
button to restore the tuning constants in that selection back to the controller.
Click the Close button to dismiss
the dialog.
|
|
See Also:
|
|
Related Topics:
|
|