版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6 6章章 SIMULINK SIMULINK 仿真仿真2022-6-3第第6 6章章 SIMULINK SIMULINK 仿真仿真6.1 SIMULINK6.1 SIMULINK的基本操作的基本操作6.2 SIMULINK6.2 SIMULINK的基本模块的基本模块6.3 SIMULINK6.3 SIMULINK的调试的调试6.4 simpowersystems6.4 simpowersystems及其应用及其应用引言引言nSIMULINK是是MATLAB软件的扩展,它是实现软件的扩展,它是实现动态系动态系统统建模和仿真的一个软件包,其文件类型为建模和仿真的一个软件包,其文件类型为.md
2、l,它,它与与MATLAB语言的主要区别在于,其与用户交互接口语言的主要区别在于,其与用户交互接口是基于是基于Windows的的模型化图形输入模型化图形输入,其结果是使得,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。语言的编程上。n所谓模型化图形输入是指所谓模型化图形输入是指SIMULINK提供了一些按功提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基
3、本模块的调用,再将它们连何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以接起来就可以构成所需要的系统模型(以.mdl文件进文件进行存取),进而进行仿真与分析。行存取),进而进行仿真与分析。6.1 SIMULINK6.1 SIMULINK的基本操作的基本操作6.1.1 Simulink6.1.1 Simulink的启动与退出的启动与退出 1. Simulink1. Simulink的启动的启动 启动启动SimulinkSimulink的方法有的方法有3 3种:种: (1)(1)在在MATLABMATLAB的命令窗口直接键入的命令窗口直接键入simulinksim
4、ulink。 (2)(2)单击单击MATLABMATLAB命令窗口工具栏上的命令窗口工具栏上的SimulinkSimulink模块库浏览器命令模块库浏览器命令按钮。按钮。 (3)(3)在在MATLABMATLAB命令窗口命令窗口FileFile菜单中选择菜单中选择NewNew菜单项下的菜单项下的ModelModel命令。命令。2. Simulink2. Simulink的退出的退出 退出退出SimulinkSimulink,只要关闭所有模型窗口和,只要关闭所有模型窗口和SimulinkSimulink模块库窗口模块库窗口即可即可。6.1.2 Simulink6.1.2 Simulink窗口窗口
5、1.simulink1.simulink库浏览器窗口库浏览器窗口 2.simulink2.simulink模型构建窗口模型构建窗口6.1.3 Simulink6.1.3 Simulink模块的操作模块的操作 1. 1. 选取模块选取模块2. 2. 复制与删除模块复制与删除模块3. 3. 模块外形的调整模块外形的调整 4. 4. 模块的参数和属性设置模块的参数和属性设置5. 5. 模块的连接模块的连接6. 6. 模块名的处理模块名的处理6.1.3 Simulink6.1.3 Simulink模块的操作模块的操作1. 选取模块或模块组n在Simulink模块库窗口内,用鼠标左键单击所需模块图标,图
6、标四角出现黑色小方点,表明该模块已经选中。n2 模块拷贝及删除模块拷贝及删除q在模块库中选中模块后,按住鼠标左键不放并移在模块库中选中模块后,按住鼠标左键不放并移动鼠标至目标模型窗口指定位置,释放鼠标即完动鼠标至目标模型窗口指定位置,释放鼠标即完成模块拷贝。成模块拷贝。q模块的删除只需选定删除的模块,按模块的删除只需选定删除的模块,按Del键即可。键即可。3 模块调整模块调整n改变模块位置、大小改变模块位置、大小:选中模块,拖至新的位置;选中:选中模块,拖至新的位置;选中模块进行大小的缩放。模块进行大小的缩放。n改变模块方向改变模块方向使模块输入输出端口的方向改变使模块输入输出端口的方向改变。
7、选中模块后,。选中模块后,选取菜单选取菜单FormatRotateBlock,可使模块旋转,可使模块旋转900。 FormatFlipBlock,旋转,旋转18004 模块参数设置模块参数设置5 模块的连接模块的连接连接线(左键)分支线分支线(右键右键)6.2 Simulink6.2 Simulink的基本模块的基本模块SIMILINK模块库按功能进行分类,包括以下8类子库:nContinuous(连续模块)nDiscrete(离散模块)nFunction&Tables(函数和平台模块)nMath(数学模块)nNonlinear(非线性模块)nSignals&Systems(信号和系统模块)n
8、Sinks(显示模块)nSources(输入源模块)1、 Math(数学模块)(数学模块) Sum:加减运算:加减运算Product:乘运算:乘运算Dot Product:点乘运算:点乘运算Gain:比例运算:比例运算Math Function:包括指数函数、对数函数、求平方、开根号:包括指数函数、对数函数、求平方、开根号等常用数学函数等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切:三角函数,包括正弦、余弦、正切等等MinMax:最值运算:最值运算Abs:取绝对值:取绝对值Sign:符号函数:符号函数Logical Operator:逻辑运算Rela
9、tional Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出2、Signal Routing(信号通路模块) 4、Sinks(显示模块或(显示模块或接收器模块)接收器模块) sinks.mdlScope:示波器。:示波器。XY Graph:显示二维图形。:显示二维图形。To Workspace:将输出写入:将输出写
10、入MATLAB的工作空的工作空间。间。To File(.mat):将输出写入数据文件。:将输出写入数据文件。Ground:连接到没有连接到的输入端。:连接到没有连接到的输入端。Terminator:连接到没有连接到的输出端。:连接到没有连接到的输出端。Constant:常数信号。Clock:时钟信号。From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。Pulse Generator:脉冲发生器。Repeating Sequence:重复信号。Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Sine Wave:
11、正弦波信号。Step:阶跃波信号。1 Sources库库n也可称为信号源库,该库包含了可向仿真模型提供信号的模块。它没有输入口,但至少有一个输出口。n双击图标 即弹出该库的模块图: 在该图中的每一个图标都是一个信号模块,这些模块均可拷贝到用户的模型窗里。用户可以在模型窗里根据自己的需要对模块的参数进行设置(但不可在模块库里进行模块的参数设置).nSine Wave:产生幅值、频率可设置的正弦波信号。 双击图标双击图标 ( (认定该模块已拷贝到用户模型窗认定该模块已拷贝到用户模型窗,以下均如此以下均如此),),弹出正弦波的参数设置框图。图中参弹出正弦波的参数设置框图。图中参数为数为Simulin
12、kSimulink默认值,用户可根据需要对这些参数默认值,用户可根据需要对这些参数重新设置。重新设置。幅值、频率为2,基准为0.5,其波形如下图所示:nStep:产生幅值、阶跃时间可设置的阶跃信号。 双击图标 ,弹出阶跃信号的参数设置框图。图中参数为Simulink默认值。当设置幅值为0.8,阶跃时间为1秒时,阶跃波形如下图所示:2 Sinks 库库 n该库包含了显示和写模块输出的模块。双击 即弹出该库的模块图: :数字表,显示指定模块的输出数值。 :X-Y绘图仪用同一图形窗口,显示X-Y坐标的图形(需先在参数对话框中设置每个坐标的变化范围),当X、Y分别为正、余弦信号时,其显示图形如下: 示
13、波器示波器:显示在仿真过程产生的信号波形。双显示在仿真过程产生的信号波形。双击该图标击该图标,弹出示波器窗如右图所示:弹出示波器窗如右图所示:分别管理X-Y、X和Y轴向变焦取当前窗中信号最大、最小值为纵坐标的上下限把当前轴的设置保存为该示波器的缺省设置打开示波器属性对话框设置为浮动示波器示波器属性对话框设置Y轴个数设置显示的时间范围选择轴的标注方法确定显示频度(每隔n-1个数 据 点 显 示 一 次 )确定显示点的时间间隔(缺省 为 0 表 示 连 续 显 示 )示波器属性对话框General页示波器属性对话框示波器属性对话框Data history页设定缓冲区接受数据的长度,勾选为缺省状态,
14、其值为5000确定示波器数据是 否 保 存 到MATLAB工作空间。若勾选则为保存,且需确定变量名和保存格式(缺省时,不被勾选)【例6-1】示波器应用示例。Simulink仿真模型如左图所示,示波器输入为3(Y轴个数为3)。右图为该示波器显示的三路输入信号的波形. (a)(b)nSignals & Systems 库库 n :信号分路器 。 q将混路器输出的信号依照原来的构成方法分解成多路信号。n :信号汇总器 q将多路信号依照向量的形式混合成一路信号。 Simulink模型窗口下仿真模型窗口下仿真 步骤打开Simulink仿真模型窗口,或打开指定的.mdl文件;1.设置仿真参数:在模型窗口选
15、取菜单【Simulation: Parameters】,弹出 “Simulation Parameters” 对话框,设置仿真参数,然后按【OK】即可;说明说明若不设置仿真参数若不设置仿真参数,则采用则采用Simulink缺省设置缺省设置.6.3 6.3 系统仿真运行系统仿真运行Simulink模型窗口下仿真模型窗口下仿真 步骤仿真运行和终止:在模型窗口选取菜单【Simulation: Start】,仿真开始,至设置的仿真终止时间,仿真结束。若在仿真过程中要中止仿真,可选择【Simulation: Stop】菜单。也可直接点击模型窗口中的 (或 )启动(或停止)仿真。 MATLAB 命令窗口下
16、的仿真运行n在Matlab命令窗口可直接运行已存在的Simulink模型:nt,x,y=sim(model,timespan,option,ut)其中,t为返回的仿真时间向量; x为返回的状态矩阵; y为返回的输出矩阵; model为系统Simulink模型文件名; timespan为仿真时间;option为仿真参数选择项,由simset设置;ut为选择外部产生输入,ut=T,u1,u2,un。说明 上述参数中,若省略timespan,option,ut则由框图模型的对话框Simulation Parameters设置仿真参数。back1、仿真参数对话框 点击Simullink模型窗simul
17、ation菜单下的Parameters命令,弹出仿真参数对话框如右图所示。用得较多的主要是Solver页和Workspace I/O页。 Solver页页 Simulation time(仿真时间): 设置Start time(仿真开始时间)和Stop time(仿真终止时间)可通过页内编辑框内输入相应数值,单位“秒”。另外,用户还可以利用Sinks库中的Stop模块来强行中止仿真。6.3.2 6.3.2 仿真参数设置仿真参数设置 Solver页页 Solver options(仿真算法选择): 分为定步长算法和变步长算法两类。定步长支持的算法可在Fixed step size编辑框中指定步长
18、或选择auto,由计算机自动确定步长,离散系统一般默认地选择定步长算法,在实时控制中则必须选用定步长算法;变步长支持的算法如图9-16所示,对于连续系统仿真一般选择ode45,步长范围使用auto项。 图9-15 定步长算法图9-16 变步长算法 Solver页页 Error Tolerance(误差限度): 算法的误差是指当前状态值与当前状态估计值的差值,分为Relative tolerance(相对限度)和Absolute tolerance(绝对限度),通常可选auto。 Output options(输出选择项):有Refine output(细化输出)、Produce additio
19、nal output(产生附加输出)、Produce specified output only(只产生指定输出)。 这个页面的作用是定义将仿真结果输出到工作空间,以及从工作空间得到输入和初始状态。 Load from workspace:选则是否从工作空间获得输入或初始状态。 Input:选择工作空间提供输入,且为矩阵形式。输入矩阵的第一列必须是升序的时间向量,其余列分别对应不同的输入信号。 Workspace I/OWorkspace I/O页页t=(0:0.1:10);u=cos(t),sin(t);如在指令窗中输入:且在模型窗中的模型为:Save to workspace:勾选相应方框
20、表明保存输出到MATLAB工作空间。 time 和 output 为缺省选中的。即一般运行一个仿真模型后,在MATLAB 工作空间都会增加两个变量tout、yout。变量名可以设置。Save options(存储选项):存储数据到工作空间的格式,可选数组、构架数组、包含时间数据的构架数组。6.4 simpowersystems6.4 simpowersystems及其应用及其应用nSimpowersystems模块nSimpowersystems仿真6.3.1 Simpowersystems模块模块nElectrical Sources:电源元件nElements: 线路元件;Extras:附
21、加元件库nMachines:电机元件;Measurements:测量元件nPower Electronics:电力电子元件库1.1 Electrical Sources:电源元件电源元件左侧左侧4个:个:直流电压源直流电压源交流电压源交流电压源交流电流源交流电流源三相电源三相电源右侧右侧3个:个:受控电压源受控电压源受控电流源受控电流源三相可编程电压源三相可编程电压源n例:ndtlb.mdl 低通滤波电路nsimrlc.mdlnsimjl.mdl, 在所示电路中在所示电路中,4,1,1,1,162431KAIRRRRVUss111001212121SSSSSS和、的稳态值。和时221I,UU求
22、取当求取当例子例子1:电路分析:电路分析0*221SSIUBIUUA, 2121112422223210RUISRUUIRKIUISURIUsS d=solve(U1+I2*R3-U2=0,S2*IS-(U2-K*I2)/R4-I2=0,(Us-U1)/R1*S1+I2-U1/R2=0,I2,U1,U2); a=inline(d.I2) b=inline(d.U1) c=inline(d.U2)MATLAB编程求解编程求解, 例例1:Simulink的仿真求解的仿真求解在所示正弦电路中在所示正弦电路中例子例子2:正弦电路稳态分析:正弦电路稳态分析,1,314cos10,314sin103212
23、1RRRtUtUssHLLFCC001. 0,001. 02121,求在不同开关状态下电路,求在不同开关状态下电路中各点电流的稳态值。中各点电流的稳态值。221231232211123111132211)()1()()1(0ssUSjWLRISjWLRjWCIUSjWLRISRjWCIIISISd=solve(S1*I1+S2*I2-I3=0,I1*(1/(j*W*C1)+R1)+S1*I3*(R2+j*W*L1)-S1*US1=0,I2*(1/(j*W*C2)+R3+R2+j*W*L2)+S2*I3*(R2+j*W*L1)-S2*US2=0,I1,I2,I3)a=inline(d.I1) b
24、=inline(d.I2)c=inline(d.I3)()(,31232223231231111121322221111dtdiLRiuuSRidtdiLRiuuSRiiiidtducCSidtducCSicscs例子例子2:正弦电路暂态分析:正弦电路暂态分析用用dsolve求解,有求解,有初值条件初值条件, 例例2:Simulink的仿真求解的仿真求解 即可以观察稳态值,也可以观察暂态过程。 仿真结果与算法的选择、仿真参数的选择和初值的设置有密切关系。 有相应的辅助工具 Powergui进行结果分析。 n在建立的Simulink系统模型比较大或很复杂时,可将一些模块组合成子系统,这样可使模型
25、得到简化,便于连线;可提高效率,便于调试;可生成层次化的模型图表,用户可采取自上而下或自下而上的设计方法。n将一个创建好的子系统进行封装,也就是使子系统象一个模块一样,例如可以有自己的参数设置对话框,自己的模块图标等。这样就使子系统使用起来非常方便。 补充补充1 子系统的创建和封装子系统的创建和封装通过子系统模块来建立子系统n在Simulink库浏览器,有一个子系统(Subsystems)的库模块(有的版本在Signals & Systems子库里),点击该图标即可看到不同类型的子系统模块。子模块库MATLAB6.0 版MATLAB6.5 版补充内容补充内容2: SIMULINK s-func
26、tion的设计的设计一、s-function的概念qs-function是一个动态系统的计算机语言描述,在MATLAB里,用户可以选择用m文件编写,也可以用c或mex文件编写,在这里只给大家介绍如何用m文件编写s-function。qS-function提供了扩展Simulink模块库的有力工具,它采用一种特定的调用语法,使函数和Simulink解法器进行交互。qS-function最广泛的用途是定制用户自己的Simulink模块。它的形式十分通用,能够支持连续系统、离散系统和混合系统,便于构建复杂的、高非线性、多逻辑运算的系统。Simulink为用户提供了许多内置的基本库模块,通过这些模块进
27、行连接而构成系统的模型。对于那些经常使用的模块进行组合并封装可以构建出重复使用的新模块,但它依然是基于Simulink原来提供的内置模块。而Simulink s-function是一种强大的对模块库进行扩展的新工具。二、建立m文件s-function1、使用模板文件:sfuntmp1. mq该模板文件位于MATLAB根目录下toolbox/simulink/blocks目录下。q模板文件里s-function的结构十分简单,它只为不同的flag的值指定要相应调用的m文件子函数。比如当flag=3时,即模块处于计算输出这个仿真阶段时,相应调用的子函数为sys=mdloutputs(t,x,u)。
28、q模板文件使用switch语句来完成这种指定,当然这种结构并不唯一,用户也可以使用if语句来完成同样的功能。而且在实际运用时,可以根据实际需要来去掉某些值,因为并不是每个模块都需要经过所有的子函数调用。q模板文件只是Simulink为方便用户而提供的一种参考格式,并不是编写s-function的语法要求,用户完全可以改变子函数的名称,或者直接把代码写在主函数里,但使用模板文件的好处是,比较方便,而且条理清晰。q使用模板编写s-function,用户只需把s-函数名换成期望的函数名称,如果需要额外的输入参量,还需在输入参数列表的后面增加这些参数,因为前面的4个参数是simulink调用s-fun
29、ction时自动传入的。对于输出参数,最好不做修改。接下去的工作就是根据所编s-function要完成的任务,用相应的代码去替代模板里各个子函数的代码即可。qSimulink在每个仿真阶段都会对s-function进行调用,在调用时,Simulink会根据所处的仿真阶段为flag传入不同的值,而且还会为sys这个返回参数指定不同的角色,也就是说尽管是相同的sys变量,但在不同的仿真阶段其意义却不相同,这种变化由simulink自动完成。qm文件s-function可用的子函数说明如下:qmdlInitializeSizes:定义s-function模块的基本特性,包括采样时间、连续或者离散状态
30、的初始条件和sizes数组。Flag=0qmdlDerivatives:计算连续状态变量的微分方程。Flag=1qmdlUpdate:更新离散状态、采样时间和主时间步的要求。Flag=2qmdlOutputs:计算s-function的输出。Flag=3qmdlGetTimeOfNextVarHit:计算下一个采样点的绝对时间,这个方法仅仅是在用户在mdlInitializeSizes 里说明了一个可变的离散采样时间。Flag=4qmdlTerminate:实现仿真任务必须的结束。Flag=9q概括说来,建立s-function可以分成两个分离的任务:q初始化模块特性包括输入输出信号的宽度,离散连续状态的初始条件和采样时间。q将算法放到合适的s-function子函数中去。2、定义s-function的初始信息q为了让Simulink识别出一个m文件s-function,用户必须在s-函数里提供有关s-函数的说明信息,包括采样时间、连续或者离散状态个数等初始条件。这一部分主要是在mdlInitializeSizes子函数里完成。qSizes数组是s-function
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中建土方开挖与基坑支护专项施工方案
- 美术课期末活动汇报
- 《电子商务概论》课件第6章
- 工厂员工管理制度(15篇)
- 甘肃省公共资源交易数字证书CA互认共享标准规范
- 应对保险业未来挑战
- 导尿管的护理措施
- 办公室管理制度培训
- 腹部手术准备
- 关于承担的作文合集5篇
- SolidWorks3维设计及运动仿真实例教程全套教学课件
- 霍兰德职业兴趣测验介绍及解析
- 有机蔬菜水果绿色农业招商营销 适用于有机蔬菜水果招商 产品推广 营销计划 绿色PPT模板
- 国开2023秋《药剂学》形考任务1-3参考答案
- 《圆的认识》 单元作业设计
- 财务收入支出明细表
- 氯霉素的制备-氯霉素的合成工艺技术
- 养老机构快速测血糖考核评分表
- 法经济学完整全套教学课件
- 酒水铺货合作协议
- 预防与处理患者走失管理流程图
评论
0/150
提交评论