您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Simulink仿真教程
Simulink仿真教程1.1Simulink基本操作1.1.1启动Simulinka)打开单击MATLABCommand窗口工具条上的Simulink图标,或者在MATLAB命令窗口输入Simulink,即弹出图示的模块库窗口界面(SimulinkLibraryBrowser)。该界面右边的窗口给出Simulink所有的子模块库。常用的子模块库有Sources(信号源),Sink(显示输出),Continuous(线性连续系统),Discrete(线性离散系统),Function&Table(函数与表格),Math(数学运算),Discontinuities(非线性),Demo(演示)等。每个子模块库中包含同类型的标准模型,这些模块可直接用于建立系统的Simulink框图模型。可按以下方法打开子模块库:1)用鼠标左键点击某子模块库(如【Continuous】),Simulink浏览器右边的窗口即显示该子模块库包含的全部标准模块。2)用鼠标右键点击Simulink菜单项,则弹出一菜单条,点击该菜单条即弹出该子库的标准模块窗口.如单击左图中的【Sinks】,出现“Openthe‘Sinks’Library”菜单条,单击该菜单条,则弹出右图所示的该子库的标准模块窗口。b)打开空白窗口模型模型窗口用来建立系统的仿真模型。只有先创建一个空白的模型窗口,才能将模块库的相应模块复制到该窗口,通过必要的连接,建立起Simulink仿真模型。也将这种窗口称为Simulink仿真模型窗口。以下方法可用于打开一个空白模型窗口:1)在MATLAB主界面中选择【File:NewModel】菜单项;2)单击模块库浏览器的新建图标;3)选中模块库浏览器的【File:NewModel】菜单项。所打开的空白模型窗口如图所示。1.1.2建立Simulink仿真模型a)打开Simulink模型窗口(Untitled)b)选取模块或模块组在Simulink模型或模块库窗口内,用鼠标左键单击所需模块图标,图标四角出现黑色小方点,表明该模块已经选中。c)模块拷贝及删除在模块库中选中模块后,按住鼠标左键不放并移动鼠标至目标模型窗口指定位置,释放鼠标即完成模块拷贝。模块的删除只需选定删除的模块,按Del键即可。d)模块调整改变模块位置、大小;改变模块方向:使模块输入输出端口的方向改变。选中模块后,选取菜单Format→RotateBlock,可使模块旋转900。e)模块参数设置用鼠标双击指定模块图标,打开模块对话框,根据对话框栏目中提供的信息进行参数设置或修改。例如双击模型窗口的传递函数模块,弹出图示对话框,在对话框中分别输入分子、分母多项式的系数,点击OK键,完成该模型的设置,如右下图所示:f)模块的连接模块之间的连接是用连接线将一个模块的输出端与另一模块的输入端连接起来;也可用分支线把一个模块的输出端与几个模块的输入端连接起来。连接线生成是将鼠标置于某模块的输出端口(显一个十字光标),按下鼠标左键拖动鼠标置另一模块的输入端口即可。分支线则是将鼠标置于分支点,按下鼠标右键,其余同上。操作流程如下:g)模块文件的取名和保存选择模型窗口菜单File→Saveas后弹出一个“Saveas”对话框,填入模型文件名,按保存(s)即可。[说明]模块的修改、调整、连接通常只能在仿真模型窗口中进行,不要直接对模块库中的模块进行修改或调整。1.1.3系统仿真运行1.Simulink模型窗口下仿真步骤a)打开Simulink仿真模型窗口,或打开指定的.mdl文件;b)设置仿真参数:在模型窗口选取菜单【Simulation:Parameters】,弹出“SimulationParameters”对话框,设置仿真参数,然后按【OK】即可;[说明]若不设置仿真参数,则采用Simulink缺省设置.c)仿真运行和终止:在模型窗口选取菜单【Simulation:Start】,仿真开始,至设置的仿真终止时间,仿真结束。若在仿真过程中要中止仿真,可选择【Simulation:Stop】菜单。也可直接点击模型窗口中的(或)启动(或停止)仿真。2.MATLAB命令窗口下的仿真运行在Matlab命令窗口下可直接运行一个已存在的Simulink模型:[t,x,y]=sim(‘model’,timespan,option,ut)其中,t为返回的仿真时间向量;x为返回的状态矩阵;y为返回的输出矩阵;model为系统Simulink模型文件名;timespan为仿真时间;option为仿真参数选择项,由simset设置;ut为选择外部产生输入,ut=[T,u1,u2,…,un]。[说明]上述参数中,若省略timespan,option,ut则由框图模型的对话框SimulationParameters设置仿真参数。9.2模块库和系统仿真9.2.1Simulink模块库1.Sources库也可称为信号源库,该库包含了可向仿真模型提供信号的模块。它没有输入口,但至少有一个输出口。双击图标即弹出该库的模块图:在该图中的每一个图标都是一个信号模块,这些模块均可拷贝到用户的模型窗里。用户可以在模型窗里根据自己的需要对模块的参数进行设置(但不可在模块库里进行模块的参数设置).1)SineWave:产生幅值、频率可设置的正弦波信号。双击图标(认定该模块已拷贝到用户模型窗),弹出正弦波的参数设置框图。图中参数为Simulink默认值,用户可根据需要对这些参数重新设置。2)Step:产生幅值、阶跃时间可设置的阶跃信号。双击图标,弹出阶跃信号的参数设置框图。图中参数为Simulink默认值。2.Sinks库1)该库包含了显示和写模块输出的模块。双击即弹出该库的模块图::数字表,显示指定模块的输出数值。2):X-Y绘图仪用同一图形窗口,显示X-Y坐标的图形(需先在参数对话框中设置每个坐标的变化范围),当X、Y分别为正、余弦信号时,其显示图形如下:3):示波器。显示在仿真过程产生的信号波形。双击该图标,弹出示波器窗如右图所示:示波器属性对话框:【例9-1】示波器应用示例。Simulink仿真模型如左图所示,示波器输入为3(Y轴个数为3)。右图为该示波器显示的三路输入信号的波形.3.Continuous库该库包含描述线性函数的模块。双击即弹出下图:1):微分环节。其输出为其输入信号的微分。2):积分环节。其输出为其输入信号的积分。双击该模块,弹出积分器的参数对话框,可设置积分器的复位、积分上限和下限等。当设置为信号下跳过零复位、积分器限幅为5时,积分器对谐波输入的输出如图所示:3):分子分母为多项式形式的传递函数。双击该模块,弹出传递函数的参数对话框,设置框图中的参数后,该传递函数显示如下:4):零极点增益形式的传递函数。双击该模块,弹出传递函数的参数对话框,设置框图中的参数后,该传递函数显示如下:4.Math库该库包含描述一般数学函数的模块。双击即弹出右图。该库中模块的功能就是将输入信号按照模块所描述的数学运算函数计算,并把运算结果作为输出信号输出。1):加法器。该模块为求和装置。求和器形状,输入信号个数和符号可设置,如右边框图。若设置如框图。则模块显示为:2):符号函数。该模块的输出为输入信号的符号。下图为对正弦信号经符号运算后的波形。3):实现一个数学函数。右图为该函数的参数设置框。点击函数设置的下拉窗口,可选择所需要的函数。选定函数后,该模块图标将显示所选函数。如选择“Square”,则模块图标变为:5.Signals&Systems库1):信号分路器。将混路器输出的信号依照原来的构成方法分解成多路信号。2):信号汇总器将多路信号依照向量的形式混合成一路信号。1.2.2Simulink环境下的仿真运行1.仿真参数对话框1)Solver页Simulationtime(仿真时间):设置Starttime(仿真开始时间)和Stoptime(仿真终止时间)可通过页内编辑框内输入相应数值,单位“秒”。另外,用户还可以利用Sinks库中的Stop模块来强行中止仿真。Solveroptions(仿真算法选择):分为定步长算法和变步长算法两类。定步长支持的算法可在Fixedstepsize编辑框中指定步长或选择auto,由计算机自动确定步长,离散系统一般默认地选择定步长算法,在实时控制中则必须选用定步长算法;变步长支持的算法如图9-16所示,对于连续系统仿真一般选择ode45,步长范围使用auto项。ErrorTolerance(误差限度):算法的误差是指当前状态值与当前状态估计值的差值,分为Relativetolerance(相对限度)和Absolutetolerance(绝对限度),通常可选auto。Outputoptions(输出选择项):有Refineoutput(细化输出)、Produceadditionaloutput(产生附加输出)、Producespecifiedoutputonly(只产生指定输出)。2)WorkspaceI/O页这个页面的作用是定义将仿真结果输出到工作空间,以及从工作空间得到输入和初始状态。Loadfromworkspace:勾选相应方框表明从工作空间获得输入或初始状态。若勾选Input,则工作空间提供输入,且为矩阵形式。输入矩阵的第一列必须是升序的时间向量,其余列分别对应不同的输入信号。Savetoworkspace:勾选相应方框表明保存输出到MATLAB工作空间。time和output为缺省选中的。即一般运行一个仿真模型后,在MATLAB工作空间都会增加两个变量tout、yout。变量名可以设置。Saveoptions(存储选项):存储数据到工作空间的格式,可选数组、构架数组、包含时间数据的构架数组。2.Simulink中的LTIViewer在Simulink中建立的仿真模型也可直接输入到LTIViewer中进行分析,具体方法如下:1)在Simulink模型窗建立起仿真模型(线性系统)。2)点击Simulink模型窗上的【Tool:Linearanalysis】,在弹出的界面中将输入输出接点分别复制到仿真模型的输入和输出。3)再次点击SIMULINK模型窗上的,打开LTIViewer仿真界面,点击该界面上选项,即画出系统的阶跃响应曲线,表明SIMULINK中的仿真模型已和LTIViewer相连接,因此可利用LTIViewer对该系统进行分析。4)如果在Simulink模型窗对已输入到LTIViewer中的模型进行了修改,应重复步骤(3)重新装入模型,并删除掉旧模型。方法是点击LTIViewer仿真界面上的【EditDeletesystems】,在弹出的对话框中,进行模型的删除,如图1.3子系统创建与封装在建立的Simulink系统模型比较大或很复杂时,可将一些模块组合成子系统,这样可使模型得到简化,便于连线;可提高效率,便于调试;可生成层次化的模型图表,用户可采取自上而下或自下而上的设计方法。将一个创建好的子系统进行封装,也就是使子系统象一个模块一样,例如可以有自己的参数设置对话框,自己的模块图标等。这样就使子系统使用起来非常方便。1.3.1子系统的创建1.通过子系统模块来建立子系统在Simulink库浏览器,有一个子系统(Subsystems)的库模块(有的版本在Signals&Systems子库里),点击该图标即可看到不同类型的子系统模块。下面以PID控制器子系统创建,说明子系统的创建过程:1)将子系统库模块中的Subsystem模块复制到模型窗,如图9-23。2)双击该图标即打开该子系统的编辑窗口,如图9-24;3)将组成子系统的模块填加到子系统编辑窗口:4)将模块按设计要求连接:5)设置子系统各模块参数(可以是变量);修改in1和out1模块下面的标签;6)关闭子系统的编辑窗口,返回模型窗口,修改子系统的标签(PID),该PID子系统即可作为模块在构造系统模型时使用。2.组合已存在的模块来建立子系统如果现有的模型已经包含了需要转化成子系统的模块,就可以通过组合
本文标题:Simulink仿真教程
链接地址:https://www.777doc.com/doc-3633591 .html