动态系统建模与仿真讲稿.ppt
《动态系统建模与仿真讲稿.ppt》由会员分享,可在线阅读,更多相关《动态系统建模与仿真讲稿.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、动态系统建模与仿真第一页,讲稿共六十五页哦7.1Simulink工具箱简介7.1.1Simulink工具箱简介Simulink是Simulation(仿真)与link(连接)的简写形式,它提供一个动态系统建模、仿真和综合分析的集成环境,是MATLAB最重要的组件之一,也是其它仿真工具箱的可视化仿真平台。优点:建模方便灵活,适用面广,结构和流程清晰,效率高等。第二页,讲稿共六十五页哦1Simulink启动(1)在MATLAB命令窗口输入“simulink”命令。(2)单击MATLAB主窗口左下角的“Start”按钮,在弹出的快捷菜单中单击【Simulink】【LibraryBrowser】命令。
2、(3)单击MATLAB主窗口工具栏里的工具。7.1.2 Simulink组成组成图7-1 Simulink窗口界面第三页,讲稿共六十五页哦CommonlyUsedBlocks(常用模块库)Continuous(连续系统模块库)Discontinuous(非连续系统模块库)Discrete(离散系统模块库)LogicandBitOperations(逻辑与位操作模块库)LookupTables(查询表模块库)MathOperations(数学操作模块库)ModelVerification(模型验证模块库)2 Simulink模块库组件模块库组件Simulink7.1模块库共包含16个子模块库,它
3、们是:第四页,讲稿共六十五页哦Model-WideUtility,Ports&Subsystems(接口与子系统模块库),SignalAttributes(信号属性模块库)SignalRouting(信号路由模块库)Sinks(输出模块库)Sources(信号源模块库)User-DefinedFunctions(用户自定义模块库)AdditionalMath&Discrete(附加数学和离散系统模块库)第五页,讲稿共六十五页哦是为了加快建模速度,节省建模过程中寻找模块的时间而将最常用的基本模块集中放在一起形成的,在初学Simulink建模与仿真时,是使用最为频繁的模块库。(1)Commonly
4、UsedBlocks(常用模块库)图7-2第六页,讲稿共六十五页哦v常用模块库包括v总线信号生成器(BusCreator)模块、v总线信号选择器(BusSelector)模块、v常数模块(Constant)、v数据类型转换(DataTypeConversion)模块,v信号分离器(Demux)模块,v离散时间积分(Discrete-TimeIntegrator)模块,v增益(Gain)模块,v信号地(Ground)模块,v输入接口(In1)模块,v积分(Integrator)模块,第七页,讲稿共六十五页哦逻辑操作(LogicOperator)模块,信号合成器(Mux)模块,输出接口(Out1)
5、模块,乘法(Product)模块,关系操作(RelationalOperator)模块,饱和(Saturation)模块,示波器(Scope)模块,子系统(Subsystem)模块,求和模块(Sum),开关转换模块(Switch),信号终端(Terminator)模块,单位延迟(UnitDelay)模块。第八页,讲稿共六十五页哦连续系统(Continuous)模块库提供了连续系统Simulink建模与仿真的基本模块,有:v微分环节模块(Derivative),v积分环节模块(Integrator),v状态空间模型(State-space),v传递函数功能模块(TransferFun),v传输延
6、迟模块(TransportDelay),v可变时间延迟模块(VeriableTransportDelay),v可变传输延迟模块(VeriableTransportDelay)v零极点增益模块(Zero-Pole)(2)连续系统模块库连续系统模块库图7-3第九页,讲稿共六十五页哦v非连续系统模块库(DisContinity)在以前版本中也称为非线性模块库,包含一些常用的非线性运算模块,主要包括:(3)非连续系统模块库非连续系统模块库饱和非线性模块(Saturation)死区非线性模块(Dead Zone)变化率限幅模块(Rate Limiter)变化率动态限幅模块(RateLimiterDyna
7、mic)用于设置饱和输出上下限。动态饱和非线性模块(SaturationDanymic)可以根据输入端口Up和Lo的设定值动态设置输出的上限和下限。用于设定死区区间。动态死区非线性模块(DeadZoneDanymic)可以根据输入端口Up和Lo的设定值动态设置死区区间。用于设置信号输出变化率限幅,即:上升变化率限幅(Risingslewrate)和下降变化率限幅(Fallingslewrate)。可以根据输入端口Up和Lo的设定值动态设置信号上升变化率限幅参数R和下降变化率限幅参数L。第十页,讲稿共六十五页哦v磁滞回环模块(Backlash):建立间隙模型。v继电模块(Relay)v量化模块(
8、Quantizer):用于输入信号的量化处理。v穿越值检测模块(HitCrossing):v库仑与黏性摩擦(Coulomb&ViscousFriction):v返回零模块(WraptoZero)继电模块输出值可以在两个设定值之间切换。当继电器吸合时,它保持吸合状态输出直到输入信号值小于继电断开值(Switchoffpoint)。当继电器分离时,它保持分离状态输出直到输入信号值大于继电吸合值(Switchonpoint)。可按设定的穿越检测方向(Hitcrossingdirection)检测信号达到设定值的时间。此时输出一个正脉冲。在零值为不连续点,在其它值为连续线性增益。当输入信号值超过设定的
9、极限值(Threshold),输出信号返回到零值。第十一页,讲稿共六十五页哦单位延迟模块(UnitDelay):延迟一个采样周期整数延迟模块(IntegerDelay):延迟输入N个采样周期,N为自然数。触发延迟模块(TappedDelay):延迟N个采样周期后并输出全部的输入信息。离散时间积分器(Discrete-TimeIntegrator):离散积分器模块可以代替积分器用来建立纯离散采样系统。在离散积分器模块参数对话框里,可以设定初始状态值、增益值、输出饱和值。离散传递函数功能模块(DiscreteTransferFcn):可以建立离散传递函数模型。离散滤波器模块(DiscreteFil
10、ter):用于建立离散系统滤波器仿真模型。离散零极点增益模型(DiscreteZero-Pole):使用零点、极点、增益值建立离散系统的零极点增益模型。离散微分模块(Difference):输出当前输入信号值与前一个采样值之差。派生离散微分模块(DiscreteDerivative):模块的输出值按下式计算:(3)离散系统模块库)离散系统模块库离散系统模块库主要包括用于建立离散采样系统的模块,包括:图7-4第十二页,讲稿共六十五页哦离散状态空间模型(DiscreteState-Space):离散状态空间模型实现下面系统模型一阶离散传递函数功能模块(TransferFcnFirstOrder):
11、用于建立一阶的离散传递函数模型。传递函数引导或终止模块(TransferFcnLeadorLag):用于实现输入信号的离散时间引导或终止补偿。实数零点传递函数功能模块(TransferFcnRealZero):用于实现具有一个实数零点而无极点的传递函数模型。加权滑动平均模块(WeightedMovingAverage):模块采样并保持最近N个输入信号,并根据设定的权重参数值(weights)计算它们的平均值。该模块适用于SISO系统或SIMO系统模型。记忆模块(Memory):输出前一时刻的输入信号值。一阶保持器(First-OrderHold):实现离散采样系统的一阶采样保持功能。零阶保持器
12、(Zero-OrderHold):实现离散采样系统的零阶采样保持功能。第十三页,讲稿共六十五页哦v其它模块请参考MATLAB软件!第十四页,讲稿共六十五页哦7.2Simulink建模与仿真基本方法v7.2.1简单系统仿真模型的建立简单系统仿真模型的建立建立上图所示系统框图的Simulink仿真模型的基本方法如下;1.启动MATLAB/Simulink工具箱2.建立Simulink空白模型Simulink空白模型的建立可方法如下:在MATLAB主窗口中选择菜单File/New/Model。选择Simulink模块库浏览器窗口的菜单File/New/Model。单击Simulink模块库浏览器工具
13、栏的新建图标“”。第十五页,讲稿共六十五页哦3.根据系统框图选择模块4.模块的复制与删除操作v在模块库选中模块后,按住鼠标左键不放并拖动到Simulink模型窗口指定位置,释放鼠标左键,完成模块的复制操作。v在模块库选中模块后,单击鼠标右键,在弹出的快捷菜单中,单击“AddtoExample_Model”命令将模块添加到指定模型窗口,完成模块的复制操作。v在模块库选中模块后,在库浏览器窗口的Edit菜单中选择Copy命令,用鼠标单击目标模型窗口中指定位置,再从模型窗口的Edit菜单中选择Paste,完成模块的复制操作。v当模型窗口已有所需模块时,也可以直接从该处复制模块,操作方是单击鼠标右键,
14、在弹出的快捷菜单中单击“Copy”命令,然后用鼠标右键单击模型窗口空白处,在弹出的快进诶菜单中单击“Paste”命令来完成粘贴任务。此外,也可以使用编辑菜单进行复制、粘贴操作。当然还可以用鼠标右键按住所需复制的模块不放,并拖动到指定位置完成复制操作,这可大大加快建模速度。第十六页,讲稿共六十五页哦5.模块的连接v将鼠标移动到模块的输出端子上,当鼠标出现“十字”符号后,按下鼠标左键并拖动到下级模块的输入端子上,完成模块信号的连接。如上图所示。v选中信号输出模块,按下键盘“Ctrl”键并单击下级模块完成模块信号的连接。v在已存在的信号线上引出新的信号线时,可用鼠标右键单击源信号线,并按住不放拖动到
15、指定位置,完成信号线的分支连接。如图所示,在模块没有完成连接时,以红色虚线显示,当连接完成后以黑色实线显示。第十七页,讲稿共六十五页哦v将各子模块连接起来后,构成如图所示的系统模型第十八页,讲稿共六十五页哦7.2.2Simulink仿真模型参数设置1.基本模块参数设置在完成模块的信号线连接并建立起系统的Simulink仿真模型后,需要设置模块的参数。在Simulink模型里,双击需要修改参数的模块,弹出参数设置对话框。2.仿真参数设置仿真参数设置单击模型窗口的“Simulation”菜单,在弹出的下拉菜单中单击“ConfigurationParameters”命令,打开“Configurati
16、onParameters”对话框如图所示。第十九页,讲稿共六十五页哦3.运行仿真与仿真输出运行仿真与仿真输出双击“Scope”模块,弹出如图所示仿真输出结果仿真参数配置完毕后,可运行仿真,方法有三种:单击模型窗口工具栏 工具单击“Simulation”菜单,在弹出的下拉菜单中单击“Start”命令同时按下快捷键“Ctrl+T”。第二十页,讲稿共六十五页哦7.3动态系统Simulink仿真模型的建立v由系统框图建立由系统框图建立Simulink仿真模型仿真模型v由传递函数建立由传递函数建立Simulink仿真模型仿真模型v由状态方程建立由状态方程建立Simulink仿真模型仿真模型v由微分方程建
17、立由微分方程建立Simulink仿真模型仿真模型第二十一页,讲稿共六十五页哦7.1.1 由系统框图建立由系统框图建立Simulink仿真模型仿真模型v在控制领域,控制系统通常以功能框图的形式进行描述,与在控制领域,控制系统通常以功能框图的形式进行描述,与Simulink仿真模型在结构上十分相似,因此通过被控系统的框图,仿真模型在结构上十分相似,因此通过被控系统的框图,很容易建立其很容易建立其Simulink仿真模型。下面以直流电机双闭环调速系统为仿真模型。下面以直流电机双闭环调速系统为例来说明通过系统框图建立例来说明通过系统框图建立Simulink仿真模型的基本方法。仿真模型的基本方法。第二十
18、二页,讲稿共六十五页哦r(t)为给定输入,采用阶跃信号。y(t)为系统输出,表示直流电机的转速。ASR和ACR分别为转速调节器、电流调节器,由PI调节器组成。根据直流双闭环调速系统工程整定方法,进行ASR和ACR的参数整定时,首先断开转速环,整定电流调节器ACR。然后接通转速环,整定转速环ASR,同时调节电流环参数。根据上述分析,首先建立直流双闭环调速系统的高层仿真模型,其中转速调节器和电流调节器由空白子系统组成,如图所示。转速调节器子系统Simulink模型电流调节器子系统Simulink模型第二十三页,讲稿共六十五页哦7.1.2 由传递函数建立由传递函数建立Simulink仿真模型仿真模型
19、v由系统传递函数建立Simulink仿真模型可直接使用Continue模块库的TransferFun模块,下面以实例说明。【例题】已知某单位负反馈系统开环传递函数为试建立其Simulink仿真模型并进行仿真。第二十四页,讲稿共六十五页哦建立模型过程如下:(1)建立一个空白的Simulink仿真模型窗口,如图(a)所示。(3)建立传递函数的模型。(2)选择系统所需的Simulink模块(4)连接模块并设置仿真参数(5)运行仿真第二十五页,讲稿共六十五页哦7.1.3 由状态方程建立由状态方程建立Simulink仿真模型仿真模型v由系统状态方程建立Simulink仿真模型可直接使用Continue模
20、块库的State-space模块,下面以实例说明。【例】已知某系统状态空间模型为:试建立其simulink仿真模型,并求其单位阶跃响应。第二十六页,讲稿共六十五页哦求解过程如下:(2)选择系统所需的Simulink模块(1)建立一个Simulink空白仿真模型窗口(3)连接模块并设置参数(4)设置仿真参数并运行仿真第二十七页,讲稿共六十五页哦7.1.4 由微分方程建立由微分方程建立Simulink仿真模型仿真模型第一是将系统微分方程转换为传递函数模型,第二是将微分方程转换为状态空间模型,第三是由微分方程直接建立第三是由微分方程直接建立Simulink仿真模型。仿真模型。由微分仿真建立Simul
21、ink仿真模型有三种方法,【例】已知某系统数学模型是一个高阶微分方程:且输出量y的各阶导数初始值均为零,试建立其Simuink仿真模型。第二十八页,讲稿共六十五页哦求解过程如下:(1)将高阶微分方程转换为一组一阶微分方程:设输出方程。则得:第二十九页,讲稿共六十五页哦(2)建立每个一阶微分方程的Simulink仿真模型这里首先需要知道微分环节的Simulink模型如图(a)所示因此可以建立Simulink仿真模型如图(b、c、d)所示第三十页,讲稿共六十五页哦(3)建立微分方程组的simulink仿真模型。将各个微分单元连接起来就构成了整个系统的Simulink仿真模型,结果如下图所示。第三十
22、一页,讲稿共六十五页哦(4)设置Simulink仿真参数。上图中u取单位阶跃响应信号,Simulink求解器取默认参数配置。运行仿真得输出响应曲线如图下图所示。第三十二页,讲稿共六十五页哦7.4Simulink子系统技术在使用Simulink进行建模与仿真时,经常会遇见很复杂的系统,难以用一个简单的Simulink框图模型来进行描述。与软件开发方法一样,此时可将复杂系统的模型进行功能划分,将其分割为各个独立的子系统,然后再采用以下两种策略加以实现:(1)自下而上的策略:首先建立复杂系统中的每一个功能模块,然后再组合这些模块,逐渐建立整个系统的模型。(2)自上而下的策略:首先建立复杂系统的整体结
23、构模型,然后再逐一实现每一部分的模型。无论那种策略,对于复杂系统模型的建立,都要用到子系统技术。本节主要介绍子系统及其封装技术。第三十三页,讲稿共六十五页哦7.4.1子系统的创建方法子系统的创建方法1.通过port&subsystem模块库建立子系统在建立子系统时,比较方便的是首先使用Port&Subsystem的Subsystem模块建立一个空白子系统,然后对空白子系统进行编辑,最后再建立系统整体的Simulink仿真模型。这里以闭环系统的PID控制为例来说明子系统的建立方法。如图所示第三十四页,讲稿共六十五页哦v在已经建立好的复杂系统模型之中建立子系统。其基本方法是:首先选择将要生成子系统
24、的一组模块,然后选择Simulink模型编辑器的菜单【Edit:CreateSubsystem】或者单击鼠标右键选择CreateSubsystem选项,都将生成子系统模块。如图所示。2.直接建立子系统第三十五页,讲稿共六十五页哦7.4.2子系统的封装方法子系统的封装方法v在上述PID控制的子系统模型中,如果需要修改PID的参数,则需要打开其子系统模型窗口。为了能不打开该子系统模块窗口而修改其内部参数,Simulink提供了子系统封装技术。v以上述建立的PID控制器子系统为例来说明子系统封装的基本步骤。(1)选中子系统,单击鼠标右键,在弹出的对话框中单击“MaskSubsystem”命令或者单击
25、菜单【Edit】【MaskSubsystem】,弹出子系统封装编辑窗口,如图所示。在“Drawingcommands”编辑窗口,可以给模块图标上绘制图形,如使用plot绘制图形、disp显示文字、image显示已有图形第三十六页,讲稿共六十五页哦(1)子系统图标设置,单击Icon按钮,设置子系统图标。在“Drawingcommands”编辑窗口,可以给模块图标上绘制图形,如使用plot绘制图形、disp显示文字、image显示已有图形例:使用如下命令可得到如图所示结果disp(PIDController)plot(sin(0:0.1:2*pi),cos(0:0.1:2*pi)/2)image(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 系统 建模 仿真 讲稿
限制150内