Simulink仿真环境.ppt_第1页
Simulink仿真环境.ppt_第2页
Simulink仿真环境.ppt_第3页
Simulink仿真环境.ppt_第4页
Simulink仿真环境.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,八、Simulink仿真环境,Simulink使用入门模型的创建连续系统的建模与仿真子系统的创建与封装及条件执行子系统用MATLAB命令创建和运行Simulink模型,2,8.1Simulink使用入门,Simulink是面向框图的仿真软件,具有以下特点:用绘制方框图代替编写程序,结构和流程清晰;智能化地建立和运行仿真,仿真精细、贴近实际,自动建立各环节的方程,自动地在给定精度要求下以最快速度进行系统仿真;适应面广,包括线性、非线性系统,连续、离散及混合系统,单任务、多任务离散事件系统。,【例81】创建一个正弦信号的仿真模型。,(1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口。,模块库列表,模块列表,当前模块的文字说明,关键字搜索,菜单,工具条,(2)单击工具栏上的图标或选择菜单“File”“New”“Model”,新建一个名为“untitled”的空白模型窗口。,(3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。,8.1.1Simulink入门,3,(4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到空白的模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addtountitled”命令,就可以将“SineWave”模块添加到untitled窗口。,(5)用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。,(6)在“untitled”窗口中,用鼠标指向“SineWave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。,(7)开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。,(8)保存模型,单击工具栏的图标,将该模型保存为“exm08_01.mdl”文件。,4,8.1.2Simulink的模型窗口,模型窗口由菜单、工具条、模型浏览器窗口、模型框图窗口以及状态栏组成。,菜单,工具条,模型浏览器,模型框图窗口,仿真开始,仿真结束,打开模块库,切换单双窗,回到父系统,打开调试器,状态栏,状态栏用于显示仿真的状态。当鼠标指向菜单和工具条时,在状态栏显示其定义;“Ready”表示模型准就绪等待仿真;“100”表示编辑窗模型的显示比例;“ode45”表示仿真所用积分算法。,仿真模型,5,6,7,8.2模型的创建,8.2.1模型概念和文件操作,Simulink模型的含义:方框图;扩展名为.mdl的ASCII代码;方程;实际系统的动态性状,1.Simulink模型的一般结构,常数、信号发生器、时钟信号,示波器、图形记录仪、数字显示仪,2.Simulink的文件操作,新建仿真模型文件有几种操作:在MATLAB的命令窗口选择菜单“File”“New”“Model”。在Simulink模块库浏览器窗口选择菜单“File”“New”“Model”,或者单击工具栏的图标。在Simulink模型窗口选择菜单“File”“New”“Model”,或者单击工具栏的图标。,打开仿真模型文件有几种操作:在MATLAB的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中。在MATLAB的命令窗口选择菜单“File”Open”或者单击工具栏的图标打开文件。在Simulink模块库浏览器窗口选择菜单“File”“Open”或者单击工具栏的图标打开“.mdl”文件。在Simulink模型窗口中选择菜单“File”“Open”或者单击工具栏的图标打开文件。,8,Simulink模型是以ASCII码形式存储的.mdl文件,其保存方法是标准的Windows操作,即利用图标、菜单“File”“Save”或“File”“SaveAs”都可以实现存盘。,Simulink模型的打印:点击模型窗图标或选中菜单“File”“Print”,打开一个打印对话框。可选择打印当前系统(Currentsystem)、当前系统及其上层系统(Currentsystemandabove)、当前系统及其下层系统(Currentsystemandblow)、整个系统(Allsystem)。因为一个Simulink模型(*.mdl)可能包含多个子系统,所以打印模型时,要选择所要打印的系统。,8.2.2模块的操作,1.模块的选定,选定单个模块:只要在待选模块上单击鼠标左键即可。选定多个模块:按下Shift键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中。选定所有模块:可以选择菜单“Edit”“Selectall”。,2.模块的复制,(1)不同模型窗口(包括模型库窗口)之间的模块复制选定模块,用鼠标将其拖到另一模型窗口。选定模块,使用菜单的“Copy”和“Paste”命令。选定模块,使用工具栏的“Copy”和“Paste”按钮。,模块输入,模块输出,模块名,图标标识,9,(2)在同一模型窗口内的复制模块选定模块,按下鼠标右键,拖动模块到合适的地方,释放鼠标。选定模块,按住Ctrl键,再拖动鼠标到合适的地方,释放鼠标。使用菜单和工具栏中的“Copy”和“Paste”按钮。,3.模块的移动,在同一模型窗口移动模块:选定需要移动模块,用鼠标将模块拖到合适的地方。在不同模型窗之间移动模块:在用鼠标移动的同时按下Shift键。当模块移动时,与之相连的连线也随之移动。,4.模块的删除,选定待删除模块,按Delete键;或者用菜单“Edit”“Clear”或“Cut”;或者用工具栏的“Cut”按钮。,5.改变模块大小,选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。,6.模块的旋转,模块旋转180度:选定模块,选择菜单“Format”“FlipBlock”可以将模块旋转180度。模块旋转90度:选定模块,选择菜单“Format”“RotateBlock”可以将模块旋转90度。如果一次翻转不能达到要求,可以多次翻转来实现。,10,7.模块名的编辑,修改模块名:单击模块下面或旁边的模块名,出现编辑框就可对模块名进行修改。模块名字体设置:选定模块,选择菜单“Format”“Font”,打开字体对话框设置字体。模块名的显示和隐藏:选定模块,选择菜单“Format”“Hide/Showname”,可以隐藏或显示模块名。模块名的翻转:选定模块,选择菜单“Format”“Flipname”,可以对称翻转模块名。,8.模块阴影效果,选定模块,选择菜单“Format”“ShowDropShadow”,可以给模块周围加上阴影,以突出该模块。,9.模块参数的设置,双击模块可以打开该模块参数设置对话框,查看或修改模块的参数。,11,8.2.3信号线的操作,1.模块间连线,先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。选中源模块,然后按住Ctrl键,再用鼠标左键单击目的模块即可。,2.信号线的分支和折曲,(1)分支的产生将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,拖动鼠标直到分支线的终点,释放鼠标;或者按住Ctrl键,同时按下鼠标左键拖动鼠标到分支线的终点;或按住鼠标左键,从目的模块的输入端拖动鼠标到信号线的分支点。,(2)信号线的折曲选中已存在的信号线,将光标指向待折处,按住Shift键,同时按下鼠标左键,当光标变成小圆圈时,用鼠标拖动小圆圈将折点拉至合适处,释放鼠标。,3.信号线的移动和删除,选中信号线,并将光标指向它,按下鼠标左键,拖动至希望处后,释放鼠标即完成信号线的移动。选中信号线,按Delete键即可删除该信号线。,12,4.在信号线中插入模块,如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中。,5.信号线标识(label),添加标识:双击信号线,则出现一个空的文字填写框,在其中输入标识。修改标识:单击需要修改的标识,出现一个编辑框即可修改标识。移动标识:单击标识,出现编辑框后,用鼠标按住拖动就可以移动编辑框。复制标识:单击需要复制的标识,按下Ctrl键同时移动标识,或者用菜单和工具栏的复制操作。删除标识:单击标识,待出现编辑框后,将光标移出编辑框外,再按Delete键即可。,8.2.4给模型添加文本注释,1.添加模型的文本注释,在将用作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。,2.注释的移动,在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。,13,8.2.5Simulink的基本模块,1.信号源模块库(Sources),14,2.接收模块库(Sinks),3.连续系统模块库(Continuous),15,4.离散系统模块库(Discrete),8.2.6模型创建实例,【例82】已知线性时不变因果系统的传递函数如下,创建该系统的仿真模型,分析:这是一个三阶系统,引入辅助变量q设Y=q,Xs3*q+(1+a)*s2*q+a*(1+a)*s*q+a2*q则s3*Y=X-(1+a)*s2*Y-a*(1+a)*s*Y-a2*Y,16,该系统包含3个积分器,3个乘法器(增益),1个四输入加法器,通过选模块、设置模块参数、连线得到仿真模型如下:,8.2.7仿真的配置,Simulink的模型实际上是定义了仿真系统的微分或差分方程组,而仿真则是用数值解算法来求解方程。仿真开始前,可对数值解法的一些参数进行设置。在模型窗口选择菜单“Simulation”“Simulationparameters”,则会打开参数设置对话框,设置自定义的参数。,17,1.解算器(Solver)的参数设置,(1)仿真的起始和结束时间仿真的起始时间(Starttime),缺省值为0。仿真的结束时间(Stoptime),缺省值为10。(2)仿真步长仿真的过程一般是求解微分方程组,“Solveoptions”的内容是针对解微分方程组的设置。(3)仿真解法Type的左边:设定解算器类型。Type的右边:设置仿真解法的具体算法类型。(4)输出模式根据需要选择输出模式(Outputoptions),可以达到不同的输出效果,一般取缺省设置。,2.仿真数据的输入输出(WorkspaceI/O)设置,(1)从工作空间装载数据(Loadfromworkspace)(2)保存数据到工作空间(Savetoworkspace)Time栏勾选Time栏后,模型将把(时间)变量以在右边空白栏填写的变量名(默认名为tout)存放于工作空间。States栏勾选States栏后,模型将把其状态变量在右边空白栏填写的变量名(默认名为xout)存放于工作空间。,18,Output栏如果模型窗口中使用输出模块“Out”,那么就必须勾选Output栏,并填写在工作空间中的输出数据变量名(默认名为yout)。Finalstate栏Finalstate栏的勾选,将向工作空间以在右边空白栏填写的名称(默认名为xFinal),存放最终状态值。(3)变量存放选项(Saveoptions)Saveoptions必须与Savetoworkspace配合使用。,3.仿真中异常情况的判断(Diagnostics),Simulink可以自动判断22种异常情况,每种异常情况可以采取三种措施:忽略(none)、警告(warning)、出错(error)。一般采用默认的异常判断处理即可。特殊情况下,为了在存在异常的情况下得到仿真结果,可以修改异常的处理方式。,4.高阶设置(Advanced),通过设置参数对仿真过程进行优化处理。,当采用输入模块In1、输出模块Out1等作为输入输出时,必须指定输入变量Input,输出变量Output等。多个输入输出模块(In1,In2,Out1,Out2,)时,系统自动将输入输出变量的不同列分配给不同的输入输出端口。,19,【例83】二阶连续系统的仿真,开环传递函数,方法一:输入信号源使用阶跃信号,系统使用开环传递函数,接受模块使用示波器来构成模型。,(1)在“Sources”模块库选择“Step”模块,在“Continuous”模块库选择“TransferFcn”模块,在“MathOperations”模块库选择“Sum”模块,在“Sinks”模块库选择“Scope”。(2)连接各模块,从信号线引出分支点,构成闭环系统。(3)设置模块参数,打开“Sum”模块参数设置对话框,将“Iconshape”设置为“rectangular”,将“Listofsigns”设置为“|+-”,其中“|”表示上面的入口为空。“TransferFcn”模块的参数设置对话框中,将分母多项式“Denominator”设置为“10.60”。将“Step”模块的参数设置对话框中,将“Steptime”修改为0。,(5)仿真并分析单击工具栏的“Startsimulation”按钮,开始仿真,在示波器上按下“望远镜”按钮则以响应的最大值为纵轴最大范围显示出阶跃响应。,8.3连续系统的建模与仿真,20,方法二:(1)系统使用积分模块(Integrator)和零极点模块(zero-pole)串联,反馈使用“MathOperations”模块库中的“Gain”模块构成反馈环的增益为-1。(2)连接模块,由于“Gain”模块在反馈环中,因此需要使用“FlipBlock”翻转该模块。(3)设置模块参数,将“zero-pole”模块参数对话框中的“Zeros”栏改为“”,将“Poles”栏改为-0.6。将“Step”模块的参数设置对话框中,将“Steptime”修改为0.5。将“Gain”模块的“Gain”参数改为-1,打开示波器的参数对话框将坐标轴的个数改为2,示波器的第一个输入端接阶跃信号模块的输出,模型如图所示。,(5)仿真并分析在Simulink模型窗口,选择菜单“Simulation”“Simulationparameters”命令,在“Solver”页将“Stoptime”设置为15,然后单击“Startsimulation”按钮,示波器显示的就到15秒结束。打开示波器的Y坐标设置对话框,将Y坐标的“Y-min”改为0,“Y-max”改为2。通过修改模型窗中的u(t)和y(t)标识,将“Title”设置为“阶跃输入”和“二阶系统时域响应”,则示波器如图所示。,21,如果将示波器换成“Sinks”模块库中的“Out”模块,模型如下,在仿真参数设置对话框的“WorkspaceI/O”页(工作空间输入输出),将“Time”和“Output”栏勾选,并分别设置保存在工作空间的时间量和输出变量为“tout”和“yout”。,仿真后在工作空间就可以使用这两个变量来绘制曲线plot(tout,yout),22,8.4子系统的创建与封装及条件执行子系统,8.4.1子系统的创建,对于比较复杂的系统,创建的模型也会比较复杂和庞大。为了简化模型,增加系统模型的可读性,Simulink支持将完成一定功能的模块单独分组,构成一个子系统。子系统模块和主体模型之间形成层次关系,便于理清系统信号流向和系统结构。,1.在已建立的模型中创建子系统,选中所有准备组成子系统的模块及其连线,选择菜单“Edit”“CreateSubsystem”,系统自动以一个子系统(subsystem)模块替代选中的部分模型。,2.通过子系统模块(subsystem)创建子系统,打开Simulink模块库的子模块库Ports&Subsystem,通过复制该模块库中的subsystem模块到模型窗口,可以创建一个子系统。双击该subsystem模块,打开该模块窗口,可以加入需要的模块和信号线,完成该子系统所要实现的功能。,注意:创建的子系统可以打开和修改,但不能再解除子系统设置。,8.4.2子系统的封装,对子系统进行封装可以进一步完善子系统,将子系统的内部结构隐藏起来。封装后的子系统不能双击打开其内部结构,而要通过菜单“Edit”“LookUnderMask”才能查看子系统内部结构。双击封装后的子系统会打开该子系统的参数设置对话框,通过在参数设置对话框中输入相应的参数,提供子系统所需的变量。,23,Icon选项用于设定封装模块的名字和外观。,选中子系统模块,选择菜单“Edit”“MaskSubsystem”,打开封装编辑器(MaskEditor),通过封装编辑器设计子系统的对话框。关闭封装编辑器即得到封装后的子系统。,封装编辑器中的设置参数,主要有“Icon”、“Parameters”、“Initialization”和“Documentation”四个选项。,1.图标选项(Icon),(1)Drawingcommands栏用来建立用户化的图标,可以在图标中显示文本、图像、图形或传递函数等。,(2)IconOptions栏用于设置封装模块的外观。可以选择图标边框是否可见(Frame),图标是否透明(Transparent),图标是否随模块旋转(Rotation)。,2.参数选项(Parameters),用来设计子系统的参数设置对话框,包括提示信息、数据类型等。,(1)Add、Delete、Moveup和Movedown按钮用于添加、删除、上移和下移输入变量。,(2)DialogParametersPrompt:输入变量的含义,其内容会显示在输入提示中。,24,Variable:输入变量的名称。type:给用户提供设计编辑区的选择。“Edit”提供一个编辑框;“Checkbox”提供一个复选框;“Popup”提供一个弹出式菜单。Evaluate:用于配合“type”的不同选项提供不同的变量值,有两个选项“Evaluate”和“Literal”,其含义如表所示。,(3)OptionsforselectedparameterPops:当“type”选择“Popup”时,用于输入下拉菜单项。Callback:用于输入回调函数。,3.Initialization选项用于初始化封装子系统。,4.文档选项(Documentation)编写子系统模块的性质说明、帮助信息。,25,【例84】创建一个二阶系统,将其闭环系统构成子系统,并封装将阻尼系数zeta和无阻尼频率wn作为输入参数。,(1)创建模型,并将系统的阻尼系数用变量zeta表示,无阻尼频率用变量wn表示,如图,(2)用虚线框框住反馈环,选择菜单“Edit”“CreateSubsystem”,则产生子系统,如上图,(3)封装子系统,选择菜单“Edit”“Masksubsystem”,出现封装对话框,将zeta和wn作为输入参数。在Icon选项卡中设置的“Drawingcommands”栏中写文字并画曲线,命令如下:disp(二阶系统)plot(012310,-exp(-012310)在Parameters选项卡中,单击“Add”按钮添加两个输入参数,设置“Prompt”分别为“阻尼系数”和“无阻尼振荡频率”,并设置“type”栏分别为“Popup”和“edit”,对应的“Variable”为“zeta”和“wn”,设置“Popups”为“00.30.50.70712”,如图所示。,26,在Initialization选项卡初始化输入参数,在Documentation选项卡中输入提示和帮助信息,,单击“OK”按钮,完成参数设置,然后双击该封装子系统,则出现封装子系统,双击该子系统出现输入参数对话框,在对话框中输入“阻尼系数”zeta和“无阻尼振荡频率”wn的值,再不需要为子系统中的每个模块分别打开参数设置对话框了。,27,8.4.3条件执行子系统,在Simulink模块库中,有两个特殊模块:Enable模块和Trigger模块。如某子系统含有这两种模块,则该子系统是否起作用将决定于外界的某个条件是否满足,即构成条件执行子系统。,1.使能子系统(EnabledSubsystem),使能子系统是当控制信号从负数朝正数变化大于0时执行,而当控制信号变为负数时停止

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论