Access coefficients of parallel-form PID controller
[Kp,Ki,Kd,Tf]
= piddata(sys)
[Kp,Ki,Kd,Tf,Ts]
= piddata(sys)
[Kp,Ki,Kd,Tf,Ts]
= piddata(sys,J1,...,JN)
[
returns the PID gains Kp
,Ki
,Kd
,Tf
]
= piddata(sys
)Kp
,Ki
, Kd
and
the filter time constant Tf
of the parallel-form
controller represented by the dynamic system sys
.
[
also returns the sample
time Kp
,Ki
,Kd
,Tf
,Ts
]
= piddata(sys
)Ts
.
[
extracts
the data for a subset of entries in Kp
,Ki
,Kd
,Tf
,Ts
]
= piddata(sys
,J1,...,JN)sys
, where sys
is
an N-dimensional array of dynamic systems. The indices J
specify
the array entry to extract.
|
SISO dynamic system or array of SISO dynamic systems. If |
|
Integer indices of N entries in the array [Kp,Ki,Kd,Tf,Ts] = piddata(sys,2,3); |
|
Proportional gain of the parallel-form PID controller represented
by dynamic system If If If |
|
Integral gain of the parallel-form PID controller represented
by dynamic system If If If |
|
Derivative gain of the parallel-form PID controller represented
by dynamic system If If If |
|
Filter time constant of the parallel-form PID controller represented
by dynamic system If If If |
|
Sample time of the dynamic system |
Extract the proportional, integral, and derivative gains and
the filter time constant from a parallel-form pid
controller.
For the following pid
object:
sys = pid(1,4,0.3,10);
you can extract the parameter values from sys
by
entering:
[Kp Ki Kd Tf] = piddata(sys);
Extract the parallel form proportional and integral gains from an equivalent standard-form PI controller.
For a standard-form PI controller, such as:
sys = pidstd(2,3);
you can extract the gains of an equivalent parallel-form PI controller by entering:
[Kp Ki] = piddata(sys)
These commands return the result:
Kp = 2 Ki = 0.6667
Extract parameters from a dynamic system that represents a PID controller.
The dynamic system
represents a discrete-time PID controller with a derivative
filter. Use piddata
to extract the parallel-form
PID parameters.
H = zpk([0.5 0.6],[1,-0.8],1,0.1); % sample time Ts = 0.1s [Kp Ki Kd Tf Ts] = piddata(H);
the piddata
function uses the default ForwardEuler
discrete
integrator formula for IFormula
and DFormula
to
compute the parameter values.
Extract the gains from an array of PI controllers.
sys = pid(rand(2,3),rand(2,3)); % 2-by-3 array of PI controllers [Kp Ki Kd Tf] = piddata(sys);
The parameters Kp
, Ki
, Kd
,
and Tf
are also 2-by-3 arrays.
Use the index input J
to extract the parameters
of a subset of sys
.
[Kp Ki Kd Tf] = piddata(sys,5);
If sys
is not a pid
controller
object, piddata
returns the PID gains Kp
, Ki
, Kd
and
the filter time constant Tf
of a parallel-form
controller equivalent to sys
.
For discrete-time sys
, piddata
returns
the parameters of an equivalent parallel-form controller. This controller
has discrete integrator formulas IFormula
and DFormula
set
to ForwardEuler
. See the pid
reference
page for more information about discrete integrator formulas.