matlabsimulinkpidcontrollerpid控制器.docx
《matlabsimulinkpidcontrollerpid控制器.docx》由会员分享,可在线阅读,更多相关《matlabsimulinkpidcontrollerpid控制器.docx(40页珍藏版)》请在冰豆网上搜索。
![matlabsimulinkpidcontrollerpid控制器.docx](https://file1.bdocx.com/fileroot1/2022-11/25/248dfaa4-d0f1-416b-bea9-0df51045198a/248dfaa4-d0f1-416b-bea9-0df51045198a1.gif)
matlabsimulinkpidcontrollerpid控制器
MatlabsimulinkPIDControllerPID控
制器
模拟连续或离散时间的PID控制器
库
连续,离散
说明
]FID⑨}
在Simulink模型实现一个连续或离散时间控制器(PID,PI,PD,P,I)。
PID控制器的增
益是可调的手动或自动方式。
自动调整需要Simulink控制设计软件(PID调谐器或SISO设计工具)。
PIDControllerblock块的输出是输入的加权总和的信号,输入信号的积分,和输入信号的导
数。
权重比例,积分和微分增益参数。
一阶极点滤波器的微分动作。
PIDController模块的配置选项包括:
控制器的类型(PID,PI,PD,P,或我)控制器形式(并行或理想)时域(连续或离散)
初始条件和复位触发
输出饱和的限制,并内置抗饱和机制
无波动地控制传输的信号跟踪和多回路控制
在一个公共执行方式中,PID控制器块的前馈路径中的反馈环路工作:
块的输入端通常是一个误差信号,这是一个参考信号和所述系统的输出之间的差异。
对于两
个输入的块,允许给定值的加权,请参阅PIDController(2DOF))块。
您可以生成代码来实现你的控制器可以使用任何Simulink的数据类型,包括定点数据类
型。
(代码生成需要Simulink编码器软件定点的实现需要定点工具箱)。
对于一些应用程序的PIDController块的例子来说明,请参阅下面的仿真演示:
:
使用PID控制器的抗饱和控制手动无波动控制传输和PID控制
数据类型支持
PIDController模块接受Simulink软件支持的任何数值数据类型,包括定点数据类型的实际
信号。
Simulink文档了解更多信息,请参见DataTypesSupportedbySimulink
参数
Choosecontrollerformandtype.
选择控制器形式和类型。
选择离散或连续的时间。
Controller
Sampletime
Setandtunecontrollergains.
控制器的增益设置和调整
Derivative(D)在Main选项卡
设置积分器和过滤器的初始条件。
IntegratorInitialcondition在Main选项
项卡
ControllerForm在Main选项卡
Limitblockoutput.
限位块输出。
Limitoutput在pidAdvaneed选项卡中
Lowersaturationlimit在PIDAdvaneed选
项卡中
L
课题
参数
I
Uppersaturationlimit在PIDAdvaneed选
项卡中
Ignoresaturationwhenlinearizing在PID
Advaneed选项卡中
Configureanti-windupmechanism(whenyoulimit
Anti-windupmethod
在PIDAdvaneed选项
blockoutput).配置抗饱和机制(当你在限
卡中
制块输出)。
Back-calculationgain(Kb)在PID
Advaneed选项卡中
Enablesignaltracking启用信号跟踪。
Enabletrackingmode
在PIDAdvaneed选
项卡中
Trackinggain(Kt)
在PIDAdvaneed选项
卡中
1
Configuredatatypes.
Parameterdatatype
在DataType选项卡
配置数据类型。
Productoutputdatatype在DataType选
Summationoutputdatatype在DataType
选项
Accumulatordatatype在DataType选项
Integratoroutputdatatype在DataType
选项
Filteroutputdatatype在DataType选
Controllerform
选择控制器的形式。
设置
Parallel(默认)
选择的控制器的形式,其中输出是总和的比例,积分和微分作用,加权根据独立的
增益参数P,I和D的滤波器系数,N设置微分滤波器的极点位置。
对于一个连续时
间并联PID控制器的传递函数是:
对于一个离散时间的并联PID控制器的传递函数的形式如下:
par
Ts):
Integratormethod来确定(Z)和Filtermethod的B(Z)方法确定(采样时间
向前欧拉方法向后欧拉方法梯度方法
块“对话框中显示当前设置的控制器的传递函数
ParallelPIDController
Pr:
^snional住启in
IrtegralGain
□efivstiv^:
Gnin
Ideal
选择一个控制器构成的比例增益P作用于所有的动作的总和。
为并行形式的传递函
Controller
指定的控制器类型。
设置
PID(默认)
实现控制器与比例,积分和微分作用
PI
实现一个控制器的比例和积分作用。
PD
实现控制器的比例和微分作用。
P
实现一个控制器比例作用。
I
Continuous-time(默认)
选择连续时间表示形式。
Discrete-time
选择离散时间表示。
选择离散时间,您还可以指定
Sampletime,这是离散的样本之间的间隔。
离散式积分方法积分器和导数的过滤器使用Integratormethod和Filtermethod
的菜单。
.
Integratormethod
(仅适用于当您设定Time-domain的Discrete-time。
)指定的方法来计算积分器的输出。
对
于离散时间积分方法的更多信息,请参阅Discrete-TimeIntegrator。
设置
ForwardEuler(默认)
选择正向矩形(左侧)逼近。
.
此方法最好是较小的采样时间,奈奎斯特极限控制器的带宽相比要大得多。
较大的采样时间,即使在离散系统是稳定的持续时间,在向前欧拉方法可能会导致不稳定。
BackwardEuler
选择向后矩形的(右侧)逼近。
如果您正在生成代码,使用Simulink编码器软件或定点工产品具箱,你激活后计算
抗饱和的方法,这种方法可能会导致在你的控制器的代数环。
代数环可能会导致
生成的代码速度较慢。
Simulink代数环模型的更多信息,请参阅在Simulink文档
的AlgebraicLoops
向后欧拉方法的优点是离散的稳定
Trapezoidal
选择双线性逼近。
如果您正在生成代码,使用Simulink编码器软件或定点工具箱产品,你激活后计
算的抗饱和的方法,这种方法可能会导致在你的控制器的代数环。
代数环可能
会导致生成的代码速度较慢。
在Simulink模型的代数环的更多信息,请参阅
AlgebraicLoops
梯形的方法的一个优点是,使用这种方法在稳定的连续时间系统离散化总是产生
一个稳定的离散时间的结果。
所有可用的方法,梯形方法都可以得到最接近的的离散系统和相应的连续时间系统的频域特性。
Filtermethod
(仅适用于当您设定Time-domain的Discrete-time。
)指定的方法使用计算导数过滤器的输出。
对于离散时间积分方法的更多信息,请参阅Discrete-TimeIntegrator。
设置
ForwardEuler(默认)
选择正向矩形(左侧)逼近。
.
此方法最好是较小的采样时间,奈奎斯特极限控制器的带宽相比要大得多。
较大的采样时间,即使在离散系统是稳定的持续时间,在向前欧拉方法可能会导致不稳定。
BackwardEuler
选择向后矩形的(右侧)逼近。
如果您正在生成代码,使用Simulink编码器软件或定点工产品具箱,你激活后计算
抗饱和的方法,这种方法可能会导致在你的控制器的代数环。
代数环可能会导致生成的代码速度较慢。
Simulink代数环模型的更多信息,请参阅在Simulink文档的AlgebraicLoops向后欧拉方法的优点是离散稳定的连续时间系统,使用此方法总是产生一个稳定的
离散时间的结果。
任何过滤器的参数值N>0用这种方法产生一个稳定的结果。
.
Trapezoidal
选择双线性逼近。
如果您正在生成代码,使用Simulink编码器软件或定点工具箱产品,你激活后计
算的抗饱和的方法,这种方法可能会导致在你的控制器的代数环。
代数环可能
会导致生成的代码速度较慢。
在Simulink模型的代数环的更多信息,请参阅
AlgebraicLoops
梯形的方法的一个优点是,使用这种方法稳定的连续时间系统离散化总是产生一个
稳定的离散时间的结果。
任何过滤器的参数值N>0用这种方法产生一个稳定的
结果。
所有可用的过滤器的方法,梯形的方法产生的离散化的系统和相应的连
续时间系统的频域的之间的属性最接近匹配。
Sampletime(-1forinherited)
(仅当您设定的Time-domain的Discrete-time)。
指定采样的离散时间之间的间隔。
设置
默认:
1
通过默认,模块使用离散采样时间为1。
要指定一个不同的采样时间,输入另一个离散值,
如。
如果指定了一个值-1,PID控制器模块继承了来自上游块的采样时间。
不要输入值为0;实现连续时间控制器,选择Time-domain的Discrete-time。
请参阅HowtoSpecifytheSampleTime
Proportional(P)
(PID,PDPI和P控制器)指定比例增益P。
默认:
1
输入一个有限的实际增益值成到Proportional(P)的字段。
使用标量或矢量的增益值。
对
于并联PID控制器的形式,比例作用是独立的积分和微分作用。
对于一个理想的PID控制器
的形式,比例作用充当积分和微分作用。
请参阅Controllerform。
当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器
的增益。
参阅SeeDesigningCompensators。
Integral(I)
(PID,PDPI和P控制器)指定积分增益i
默认:
1
使用标量或矢量的增益值输入一个有限的的实际增益值到Integral(I)字段中。
。
当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器的增益。
参考DesigningCompensators。
Derivative(D)
(可为PID和PD控制器)。
指定微分增益Do
默认:
0
使用标量或矢量的增益值输入一个有限的增益值到Derivative(D)。
。
PID调谐器或SISO设计工具自动调整控制器
当你有仿真控制设计安装的软件,你可以使用的增益。
参考DesigningCompensators.
Filtercoefficient(N)
(PID和PD控制器)指定的滤波器系数N,这就决定了在微分动作的过滤器中极点的位置
在Time-domain中选Continuous-time,滤波器的极点落在S=-N。
离散时间,选择的Filter
method,取决于它的极点位置(采样时间Ts):
默认:
100.
使用标量或矢量的增益值输入一个有限的增益值到FilterCoefficient(N)字段。
。
需要注意
的是PID控制器模块不支持N=的INF(理想未经滤波的导数)。
当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器
的增益。
在Simulink控制设计文件中的补偿器设计。
需要自动调整N>0
InitialconditionsSource
(仅适用于控制器的积分或微分动作)。
选择积分的源和过滤器的初始条件。
模拟开始或在
一个特定的触发事件(参见外部复位),在Simulink的使用的初始条件来初始化的积分器
和过滤器的输出。
反过来积分器和过滤器的初始条件确定的初始块输出。
设置
internal(默认)
分器和过滤初始条件。
external
外部指定的积分器和过滤器的初始条件。
额外的输入端口会出现在块,输入每个初始条件:
10的积分器和D0的过滤器:
Inp-ut丄
IjPID(11
Output
r
1nitia1cs-rditic-n{Irt&jratcrj匕
1nitialeenaitien”
FICControllEf
IntegratorInitialcondition
(仅当InitialconditionsSource是interna内,的控制器具有积分功能。
)指定积分的初始值。
在模拟开始或在指定的触发事件(参见外部复位)Simulink使用的初始条件来初始化积分器的输出。
该积分器的初始状态下,连同过滤器的初始条件,确定PID控制器块的最初输出。
默认:
0
Simulink中不允许积分的初始条件是INF或NaN
FilterInitialcondition
(仅当InitialconditionsSource是internal,控制器具有积分行动。
)指定过滤器的初始
值。
在模拟开始或在指定的触发事件(参见外部复位),Simulink使用的初始条件来初始化
滤波器的输出。
该过滤器的初始状态下,与积分器的初始条件下,一起确定PID控制器的块
的初始输出
默认:
o
Simulink的过滤器的初始条件不允许INF或NaN
Externalreset
选择触发事件,重置的积分器和滤波器输出的IntegratorInitialcondition和FilterInitial
condition字段中指定的初始条件。
以外没有选择任何选项使块的外部复位信号输入,如
下所示:
Incnit
设置
none(默认)
积分器和滤波器输出的初始条件不复位。
rising
复位输出,当沿复位信号上升。
falling
复位输出,当沿复位信号下降。
either
复位信号无论是上升或下降时,复位输出
level
复位并保持输出的初始条件,复位信号同时为非零值。
注意:
要符合汽车工业软件可靠性协会(MISRA软件的标准,你的模型必须使用布尔信
号,以驱动外部复位端口的PIDcontroller模块。
Ignoreresetwhenlinearizing
强制Simulink的线性命令忽略任何您所选择的Externalreset菜单。
忽略复位状态,让在
您的工作点附近线性化模型,即在该工作点,使PIDController块复位。
设置
厂Off(默认)
Simulink的线性命令不忽略相应的复位机制的状态。
*On
Simulink的线性的命令无视状态相应的复位机制
Enablezero-crossingdetection
启用过零检测复位后的连续时间模型,在进入或离开饱和的状态。
过零检测可以精确地定位信号的不连续性,而不诉诸过小的时间步长可能会导致冗长的模
拟时间。
如果您选择极限输出或激活一个Externalreset的PIDController块,激活零交叉检
测,可以减少你的模拟计算时间。
有关详细信息,请Zero-CrossingDetection
设置
顾On(默认)
采用过零检测,在任何下列事件:
复位;进入或离开上饱和状态的;进入或离开一个
较低的饱和度状态
□off
不采用过零检测,
并不限制块输出,它等于加权总和的比例,积分和微分作用。
%
块输出限制Lowersaturationlimit或theUppersaturationlimit时的加权总和超过这些
Lowersaturationlimit
(仅当您选择Limitoutput复选框。
)指定块输出的下限。
块的输出低于该值以下时被保持
在Lowersaturationlimit的加权总和的比例,积分和微分作用的值。
默认:
-inf
Uppersaturationlimit
(仅当您选择Limitoutput复选框。
)指定块输出的上限。
块的输出高于该值以上时被保持
在Uppersaturationlimit的加权总和的比例,积分和微分作用的值
默认:
inf
Anti-windupmethod
(仅当您选择Limitoutput选项和控制器包括积分行动。
)选择ananti-windupmechanism,积
分块履行时饱和,即发生在块组件的总和超过输出限制。
当您选择Limitoutput复选框和控制器组件的加权总和超过指定的输出限制,块输出保持
在规定的限值。
然而,积分器的输出可以继续增长(积分结束),增加的块输出和块组件的
总和之间的差异。
如果没有一个机制,以防止积分结束,两种结果都是可能的:
如果输入信号的符号永远不会改变,积分器将继续,直到它溢出。
溢出值是积分器
的输出的数据类型值的最大值或最小值。
如果该符号的输入信号的变化的加权求和一旦超出了输出限制,它可能需要很长的
时间运行积分器和返回的加权求和块内的饱和极限。
在这两种情况下,控制器的性能会受到影响。
为了对付没有抗饱和机制的影响,这可能是
需要失谐的控制器(例如,通过减少了控制器的增益),导致控制器的缓慢。
激活anti-windup
mechanism,可以提高控制器的性能。
设置
none(默认)
不使用抗饱和机制。
此设置可能会导致功能块的内部信号,即在有界的饱和极限无
界的输出。
这可能会导致饱和时运行缓慢或意外溢出。
.
back-calculation
块积分的饱和输出的释放,使用积分增益反馈环路:
您也可以指定Back-calculationcoefficient(Kb)值
clamping
块组件的总和超过输出限制和积分器的输出和块输入具有相同的符号时停止积分。
块组件的总和超过输出极限和积分器的输出和块输入有相反的符号重新积分。
块的积分器部分是:
回路实现了必要的逻辑,以确定是否继续积分。
Back-calculationgain(Kb)
(只有当后台计算Anti-windupmethod有效的。
)指定抗饱和的反馈环路的增益系数。
抗饱和的计算方法输出的积分块饱和度,使用一个反馈回路增益系数Kb。
默认:
1
Ignoresaturationwhenlinearizing
强制Simulink的线性命令忽略PIDControl©块输出限制。
忽略输出的限制,让您即使PID
控制器块超过输出限制使该工作点的附近仍可线性化模型。
设置
厂Off(默认)
Simulink的线性命令不要忽略对应的饱和状态。
目On
Simulink的线性命令忽略对应的饱和状态。
Enabletrackingmode
(可与积分的任何控制器)启动信号的跟踪,它可以让输出的PIDControlle块跟踪信号。
当
您选择Enabletrackingmode,TR端口成为活跃在块中提供的跟踪信号。
当信号跟踪激活,跟踪的信号之间的差和块的输出被反馈到积分器输入端的增益Kt.。
该
结构示出一个PI控制器
您也可以指定theTrackingcoefficient(Kt)
无扰控制权转移
使用信号跟踪,例如,实现无扰的两个控制器之间切换的系统中的控制传输。
您可以使
个控制器跟踪其它控制器的输出通过的TR端口连接到您要跟踪的信号。
例如:
Adive-(3}riiolltr
在这个例子中,在输出端0UT1和0UT2可以驱动一个控制系统(未示出),通过一个开关,
将控制转移到"Activecontroller”块和PIDController块之间。
PIDController模块的信号跟
踪功能提供了流畅的操作,控制权从一个控制器移到另一个时,确保这两个控制器具有相
同的输出转移的时间。
多回路控制
使用信号跟踪,以防止块中多环控制的方法,如这个例子所示:
lnr>erLqqp
OuterLoop
内环子系统包含以下模块组成:
在这个例子中,内部循环有一个有效的增益为1,当它是不饱和的。
没有信号跟踪,在饱和
饱和输出
内循环结束。
,PID控制器输出信号的跟踪,确保内部循环不超过
设置
_Off(默认)
禁用的信号跟踪和删除
TR块的输入。
On
使信号跟踪和激活TR的输入。
Trackinggain(Kt)
(仅当您选择Enabletrackingmode
)。
指定Kt,这是信号的跟踪反馈环路的增益。
默认:
1
Parameterdatatype
选择数据类型的增益参数P,I,
D,N,Kb,Kt。
请参见DataTypesSupportedbySimulink
设置
Inherit:
Inheritviainternalrule(默认)
Simulink软件选择的组合输出定标和数据类型,需要的最小内存量。
此内存要求可
容纳所计算的输出范围,并保持为模型指定的目标硬件实现的块和字大小的输
出精度。
如果Devicetype参数设置为ASIC/FPGAHardwareImplementation配置参数
"窗格中,Simulink软件选择输出数据类型不考虑硬件的限制。
否则,Simulink
软件可用的硬件选择最小的数据类型能够满足的范围和精度的限制。
例如,如果
该块由INT16和ASIC/FPGA被指定为目标的硬件类型的增益相乘类型int8的输
入,输出数据类型是sfix24。
如果未指定(假设32位通用)(通用32位微处理器)
Inherit:
Inheritviabackpropagation
使用的驱动块的数据类型。
Inherit:
Sameasinput
使用输入信号的数据类型。
double
single
int8
uint8
int16
uint16
int32
uint32
fixdt(1,16)
fix