pidstddata
Access coefficients of standardform 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 standardform 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 standardform PID controller represented by
dynamic system If If If 

Integral time constant of the standardform PID controller represented by
dynamic system If If If 

Derivative time constant of the standardform PID controller represented
by dynamic system If If If 

Filter divisor of the standardform 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 standardform 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 standardform proportional and integral gains from an equivalent parallelform PI controller.
For a standardform PI controller, such as:
sys = pid(2,3);
you can extract the gains of an equivalent parallelform 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
$$H\left(z\right)=\frac{\left(z0.5\right)\left(z0.6\right)}{\left(z1\right)\left(z+0.8\right)}$$
represents a discretetime PID controller with a derivative filter. Use
pidstddata
to extract the standardform 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)); % 2by3 array of PI controllers [Kp Ti Td N] = pidstddata(sys);
The parameters Kp
, Ti
,
Td
, and N
are also 2by3 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 standardform controller equivalent to
sys
.
For discretetime 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