MatlabsimulinkPIDControllerPID控制器.docx

上传人:b****6 文档编号:8945667 上传时间:2023-02-02 格式:DOCX 页数:45 大小:91.09KB
下载 相关 举报
MatlabsimulinkPIDControllerPID控制器.docx_第1页
第1页 / 共45页
MatlabsimulinkPIDControllerPID控制器.docx_第2页
第2页 / 共45页
MatlabsimulinkPIDControllerPID控制器.docx_第3页
第3页 / 共45页
MatlabsimulinkPIDControllerPID控制器.docx_第4页
第4页 / 共45页
MatlabsimulinkPIDControllerPID控制器.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

MatlabsimulinkPIDControllerPID控制器.docx

《MatlabsimulinkPIDControllerPID控制器.docx》由会员分享,可在线阅读,更多相关《MatlabsimulinkPIDControllerPID控制器.docx(45页珍藏版)》请在冰豆网上搜索。

MatlabsimulinkPIDControllerPID控制器.docx

MatlabsimulinkPIDControllerPID控制器

MatlabsimulinkPIDControllerPID控制器

模拟连续或离散时间的PID控制器

连续,离散

说明

在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

参数

下表总结了PIDController模块参数,访问模块参数对话框。

课题

参数

Choosecontrollerformandtype.

选择控制器形式和类型。

ControllerForm在Main选项卡

Controller

Choosediscreteorcontinuoustime.

选择离散或连续的时间。

Time-domain

Sampletime

Chooseanintegrationmethod(discretetime).选择积分方法(离散时间)。

Integratormethod

Filtermethod

Setandtunecontrollergains.

控制器的增益设置和调整

Proportional(P)在Main选项卡

Integral(I)在Main选项卡

Derivative(D)在Main选项卡

Filtercoefficient(N)在Main选项卡

Setintegratorandfilterinitialconditions.设置积分器和过滤器的初始条件。

InitialconditionsSource在Main选项卡

IntegratorInitialcondition在Main选项卡

FilterInitialcondition在Main选项卡

Externalreset在Main选项卡

Ignoreresetwhenlinearizing在Main选项卡

Limitblockoutput.

限位块输出。

Limitoutput在PIDAdvanced选项卡中

Lowersaturationlimit在PIDAdvanced选项卡中

Uppersaturationlimit在PIDAdvanced选项卡中

Ignoresaturationwhenlinearizing在PIDAdvanced选项卡中

Configureanti-windupmechanism(whenyoulimitblockoutput).配置抗饱和机制(当你在限制块输出)。

Anti-windupmethod在PIDAdvanced选项卡中

Back-calculationgain(Kb)在PIDAdvanced选项卡中

Enablesignaltracking启用信号跟踪。

.

Enabletrackingmode在PIDAdvanced选项卡中

Trackinggain(Kt)在PIDAdvanced选项卡中

Configuredatatypes.

配置数据类型。

Parameterdatatype在DataType选项卡

Productoutputdatatype在DataType选项

Summationoutputdatatype在DataType选项

Accumulatordatatype在DataType选项

Integratoroutputdatatype在DataType选项

Filteroutputdatatype在DataType选项

Saturationoutputdatatype在DataType选项

Lockoutputdatatypesettingagainstchangesbythefixed-pointtools在DataType选项

Saturateonintegeroverflow在DataType选项

Integerroundingmode在DataType选项

Configureblockforcodegeneration

配置块生成代码。

.

Statename在StateAttributes选项卡

StatenamemustresolvetoSimulinksignalobject在StateAttributes选项卡

Codegenerationstorageclass在StateAttributes选项卡

Codegenerationstoragetypequalifier在StateAttributes选项卡

Controllerform

选择控制器的形式。

设置

Parallel(默认)

选择的控制器的形式,其中输出是总和的比例,积分和微分作用,加权根据独立的增益参数P,I和D的滤波器系数,N设置微分滤波器的极点位置。

对于一个连续时间并联PID控制器的传递函数是:

对于一个离散时间的并联PID控制器的传递函数的形式如下:

Integratormethod来确定(z)和Filtermethod的B(Z)方法确定(采样时间Ts):

向前欧拉方法

向后欧拉方法

梯度方法

(由积分法测定)

(滤波算法确定)

块“对话框中显示当前设置的控制器的传递函数。

ParallelPIDController

Ideal

选择一个控制器构成的比例增益P作用于所有的动作的总和。

为并行形式的传递函数是相同的,除了使P乘以所有信号。

对于一个连续时间理想的PID控制器,传递函数是:

对于一个离散时间的理想的PID控制器的传递函数是:

ntegratormethod来确定(z)和Filtermethod确定B(Z)如前所述。

IdealPIDController

Controller

指定的控制器类型。

设置

PID(默认)

实现控制器与比例,积分和微分作用.

PI

实现一个控制器的比例和积分作用。

PD

实现控制器的比例和微分作用。

P

实现一个控制器比例作用。

I

实现控制器的积分行动。

当前设置模块的控制器的传递函数在对话框中显示。

Time-domain

选择连续或离散时间域。

改变模块的外观,以反映您的选择。

设置

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。

要指定一个不同的采样时间,输入另一个离散值,如0.1。

如果指定了一个值-1,PID控制器模块继承了来自上游块的采样时间。

不要输入值为0;实现连续时间控制器,选择Time-domain的Discrete-time。

请参阅HowtoSpecifytheSampleTime.

Proportional(P)

(PID,PD,PI和P控制器)指定比例增益P。

默认:

1

输入一个有限的实际增益值成到Proportional(P)的字段。

使用标量或矢量的增益值。

对于并联PID控制器的形式,比例作用是独立的积分和微分作用。

对于一个理想的PID控制器的形式,比例作用充当积分和微分作用。

请参阅Controllerform。

当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器的增益。

参阅SeeDesigningCompensators。

Integral(I)

(PID,PD,PI和P控制器)指定积分增益i

默认:

1

使用标量或矢量的增益值输入一个有限的的实际增益值到Integral(I)字段中。

当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器的增益。

参考DesigningCompensators。

Derivative(D)

(可为PID和PD控制器)。

指定微分增益D。

默认:

0

使用标量或矢量的增益值输入一个有限的增益值到Derivative(D)。

当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器的增益。

参考DesigningCompensators.

Filtercoefficient(N)

(PID和PD控制器)指定的滤波器系数N,这就决定了在微分动作的过滤器中极点的位置

在Time-domain中选Continuous-time,滤波器的极点落在S=-N。

离散时间,选择的Filtermethod,取决于它的极点位置(采样时间Ts):

ForwardEuler:

BackwardEuler:

Trapezoidal:

默认:

100.

使用标量或矢量的增益值输入一个有限的增益值到FilterCoefficient(N)字段。

需要注意的是PID控制器模块不支持N=的INF(理想未经滤波的导数)。

当你有仿真控制设计安装的软件,你可以使用PID调谐器或SISO设计工具自动调整控制器的增益。

在Simulink控制设计文件中的补偿器设计。

需要自动调整N>0

InitialconditionsSource

(仅适用于控制器的积分或微分动作)。

选择积分的源和过滤器的初始条件。

模拟开始或在一个特定的触发事件(参见外部复位),在Simulink的使用的初始条件来初始化的积分器和过滤器的输出。

反过来积分器和过滤器的初始条件确定的初始块输出。

设置

internal(默认)

指定明确地使用theIntegratorInitialcondition和FilterInitialcondition参数积分器和过滤初始条件。

external

外部指定的积分器和过滤器的初始条件。

额外的输入端口会出现在块,输入每个初始条件:

I0的积分器和D0的过滤器:

IntegratorInitialcondition

(仅当InitialconditionsSource是interna内,的控制器具有积分功能。

)指定积分的初始值。

在模拟开始或在指定的触发事件(参见外部复位)Simulink使用的初始条件来初始化积分器的输出。

该积分器的初始状态下,连同过滤器的初始条件,确定PID控制器块的最初输出。

默认:

0

Simulink中不允许积分的初始条件是INF或NaN。

FilterInitialcondition

(仅当InitialconditionsSource是internal,控制器具有积分行动。

)指定过滤器的初始值。

在模拟开始或在指定的触发事件(参见外部复位),Simulink使用的初始条件来初始化滤波器的输出。

该过滤器的初始状态下,与积分器的初始条件下,一起确定PID控制器的块的初始输出

默认:

0

Simulink的过滤器的初始条件不允许INF或NaN。

Externalreset

选择触发事件,重置的积分器和滤波器输出的IntegratorInitialcondition和FilterInitialcondition字段中指定的初始条件。

以外没有选择任何选项使块的外部复位信号输入,如下所示:

或者,如果InitialconditionsSource是External,

设置

none(默认)

积分器和滤波器输出的初始条件不复位。

rising

复位输出,当沿复位信号上升。

falling

复位输出,当沿复位信号下降。

either

复位信号无论是上升或下降时,复位输出

level

复位并保持输出的初始条件,复位信号同时为非零值。

注意:

要符合汽车工业软件可靠性协会(MISRA)软件的标准,你的模型必须使用布尔信号,以驱动外部复位端口的PIDcontroller模块。

Ignoreresetwhenlinearizing

强制Simulink的线性命令忽略任何您所选择的Externalreset菜单。

忽略复位状态,让在您的工作点附近线性化模型,即在该工作点,使PIDController块复位。

设置

Off(默认)

Simulink的线性命令不忽略相应的复位机制的状态。

On

Simulink的线性的命令无视状态相应的复位机制

Enablezero-crossingdetection

启用过零检测复位后的连续时间模型,在进入或离开饱和的状态。

过零检测可以精确地定位信号的不连续性,而不诉诸过小的时间步长可能会导致冗长的模拟时间。

如果您选择极限输出或激活一个Externalreset的PIDController块,激活零交叉检测,可以减少你的模拟计算时间。

有关详细信息,请Zero-CrossingDetection

设置

On(默认)

采用过零检测,在任何下列事件:

复位;进入或离开上饱和状态的;进入或离开一个较低的饱和度状态

Off

不采用过零检测,

启用过零检测的PIDControllerPID控制器模块还使过零检测下under-mask块,包括过零检测功能。

Limitoutput

限制块输出的值指定为Lowersaturationlimit和Uppersaturationlimit之间。

激活此选项限制了内部模块的输出于该块,避免了在Simulink模型的控制器需要一个单独的Saturation块。

它还允许您激活块内置的抗饱和机制(见Anti-windupmethod抗饱和方法)。

设置

Off(默认)

并不限制块输出,它等于加权总和的比例,积分和微分作用。

On

块输出限制Lowersaturationlimit或theUppersaturationlimit时的加权总和超过这些限制。

允许您选择Anti-windupmethod.。

Lowersaturationlimit

(仅当您选择Limitoutput复选框。

)指定块输出的下限。

块的输出低于该值以下时被保持在Lowersaturationlimit的加权总和的比例,积分和微分作用的值。

默认:

-inf

Uppersaturationlimit

(仅当您选择Limitoutput复选框。

)指定块输出的上限。

块的输出高于该值以上时被保持在Uppersaturationlimit的加权总和的比例,积分和微分作用的值

默认:

inf

Anti-windupmethod

(仅当您选择Limitoutput选项和控制器包括积分行动。

)选择ananti-windupmechanism,积分块履行时饱和,即发生在块组件的总和超过输出限制。

当您选择Limitoutput复选框和控制器组件的加权总和超过指定的输出限制,块输出保持在规定的限值。

然而,积分器的输出可以继续增长(积分结束),增加的块输出和块组件的总和之间的差异。

如果没有一个机制,以防止积分结束,两种结果都是可能的:

如果输入信号的符号永远不会改变,积分器将继续,直到它溢出。

溢出值是积分器的输出的数据类型值的最大值或最小值。

如果该符号的输入信号的变化的加权求和一旦超出了输出限制,它可能需要很长的时间运行积分器和返回的加权求和块内的饱和极限。

在这两种情况下,控制器的性能会受到影响。

为了对付没有抗饱和机制的影响,这可能是需要失谐的控制器(例如,通过减少了控制器的增益),导致控制器的缓慢。

激活anti-windupmechanism,可以提高控制器的性能。

设置

none(默认)

不使用抗饱和机制。

此设置可能会导致功能块的内部信号,即在有界的饱和极限无界的输出。

这可能会导致饱和时运行缓慢或意外溢出。

.

back-calculation

块积分的饱和输出的释放,使用积分增益反馈环路:

您也可以指定Back-calculationcoefficient(Kb)值

clamping

块组件的总和超过输出限制和积分器的输出和块输入具有相同的符号时停止积分。

块组件的总和超过输出极限和积分器的输出和块输入有相反的符号重新积分。

块的积分器部分是:

回路实现了必要的逻辑,以确定是否继续积分。

Back-calculationgain(Kb)

(只有当后台计算Anti-windupmethod有效的。

)指定抗饱和的反馈环路的增益系数。

抗饱和的计算方法输出的积分块饱和度,使用一个反馈回路增益系数Kb。

默认:

1

Ignoresaturationwhenlinearizing

强制Simulink的线性命令忽略PIDControlle块输出限制。

忽略输出的限制,让您即使PID控制器块超过输出限制使该工作点的附近仍可线性化模型。

设置

Off(默认)

Simulink的线性命令不要忽略对应的饱和状态。

On

Simulink的线性命令忽略对应的饱和状态。

Enabletrackingmode

(可与积分的任何控制器)启动信号的跟踪,它可以让输出的PIDControlle块跟踪信号。

当您选择Enabletrackingmode,TR端口成为活跃在块中提供的跟踪信号。

当信号跟踪激活,跟踪的信号之间的差和

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1