pidstddata
Access coefficients of standard-form PID controller
Syntax
[Kp,Ti,Td,N]
= pidstddata(sys)
[Kp,Ti,Td,N,Ts]
= pidstddata(sys)
[Kp,Ti,Td,N,Ts]
= pidstddata(sys, J1,...,JN)
Description
[
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.
Input Arguments
|
SISO dynamic system or array of SISO dynamic systems. If
|
|
Integer indices of N entries in the array
|
Output Arguments
|
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 |
Examples
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);
Tips
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.
Version History
Introduced in R2010b