ControlDesign
ZNTimeModified
PID tuning based on Ziegler-Nichols time domain (open-loop) methods
Calling Sequence
Parameters
Options
Description
Examples
References
ZNTimeModified(Kt, T, L, opts)
Kt
-
algebraic or non-zero realcons; gain of the FOTD (First order with Time Delay) model
T
algebraic or positive realcons; time constant of the FOTD model
L
algebraic or positive realcons; time delay of the FOTD model
opts
(optional) equation(s) of the form option = value; specify options for the ZNTimeModified command
method = MZN or AMIGO
Specifies the tuning method. MZN uses a modified version of the open loop Ziegler-Nichols tuning method based on the FOTD model. The AMIGO method calculates the controller gains using the AMIGO tuning rule and does not apply to the P controller. The default is MZN.
controller = P, PI or PID for the MZN method; PI or PID for the AMIGO method.
Specifies the controller type. The default value is PID.
factored = true or false
True means return the factored version of the controller gains (K=Kp, Ti=KpKi, Td=KdKp). False means return the controller gains (Kp, Ki, Kd). The default is false.
returntype = list or record or system
Specifies the returned type. If list (or record) is specified, a list (or record) containing the controller parameters is returned. If system is specified, a System (DynamicSystems system object) containing the transfer function of the specified controller type (P, PI, PID) is returned. The default value is list.
The ZNTimeModified command calculates the controller gains based on the Ziegler-Nichols time domain (open-loop) tuning methods as specified in the options, using the given first order time delay model parameters.
The ZNTimeModified command returns a list of controller gains Kp, Ki and Kd according to the selected controller type P, PI or PID, respectively, where Kp is the proportional gain, Ki is the integral gain, and Kd is the derivative gain.
The controller transfer function is then obtained as:
P: C⁡s=Kp
PI: C⁡s=Kp+Kis
PID: C⁡s=Kp+Kis+Kd⁢s
with⁡ControlDesign:
with⁡DynamicSystems:
sys≔NewSystem⁡2.5s2+3⁢s+5:
Identify the parameters [Kt, T, L] of sys
Params≔ParameterIdentify:-TimeDomain⁡sys
Params≔0.5000000000,0.2000000000,0.3645751311
Calculate the controller parameters using the MZN method
ZNTimeModified⁡Params1,Params2,Params3,method=MZN,controller=P
1.097167540
ZNTimeModified⁡Params1,Params2,Params3,method=MZN,controller=Π
0.9874507860,0.9028324590
pid≔ZNTimeModified⁡Params1,Params2,Params3,method=MZN,controller=PID,factored=true,returntype=record
pid≔Recordpacked⁡K=1.316601048,Ti=0.7291502622,Td=0.1822875656
pidsys≔ZNTimeModified⁡Params1,Params2,Params3,method=MZN,controller=PID,returntype=system:
PrintSystem⁡pidsys
Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡stf1,1=0.2399999999⁢s2+1.316601048⁢s+1.805664917s
Calculate the controller parameters using the AMIGO method
The AMIGO method does not apply to the P controller
ZNTimeModified⁡Params1,Params2,Params3,method=AMIGO,controller=P
Error, (in ControlDesign:-ZNTimeModified) invalid controller type; the AMIGO method does not apply to the 'P' controller
PIpars≔ZNTimeModified⁡Params1,Params2,Params3,method=AMIGO,controller=Π,returntype=record
PIpars≔Recordpacked⁡Kp=0.4330243721,Ki=1.879995098
PIsys≔ZNTimeModified⁡Params1,Params2,Params3,method=AMIGO,controller=Π,returntype=system:
PrintSystem⁡PIsys
Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡stf1,1=0.4330243721⁢s+1.879995098s
ZNTimeModified⁡Params1,Params2,Params3,method=AMIGO,controller=PID
0.8937253934,3.082606536,0.1053196425
[1] K. J. Astrom and T. Hagglund, Advanced PID Control, ISA, 2006.
See Also
ControlDesign[CohenCoon]
ControlDesign[ParameterIdentify][TimeDomain]
ControlDesign[ZNFreq]
Download Help Document