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