1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,7,章,Simulink,仿真,第,7,章,Simulink,仿真,本章要点,Simulink,系统的基本模块,仿真模型的编辑,仿真参数的设置,SimPowerSystems,工具箱及实例,教学时数,2,学时,【,问题,】,计算两个不同频率的正弦函数先相加再积分的结果,并显示结果的波形。,数学分析:,Matlab-simulink,仿真分析,第,7,章,Simulink,仿真,本章要点,Simulink,系统的基本模块,仿真模型的编辑,仿真参数的设置,SimPowerSystems,工具箱及实例,教学
2、时数,2,学时,Simulink,是,MATLAB,最重要的组件之一,它向用户提供一个动态系统建模、仿真和综合分析的集成环境。,在这环境中,用户无须书写大量的程序,而只需通过简单直观的鼠标操作,选取适当的库模块,就可构造出复杂的仿真模型。,Simulink,的主要优点:,适应面广,。可构造的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。,结构和流程清晰,。它外表以方块图形式呈现,采用分层结构。既适于自上而下的设计流程,又适于自下而上逆程设计。,仿真更为精细,。它提供的许多模块更接近实际,为用户摆脱理想化假设的无奈开辟了途径。,模型内码更容易向,DSP,,,FPG
3、A,等硬件移植。,7.1,认识,Simulink,Simulink,是,MATLAB,环境下对动态系统进行建模、仿真和分析的一个软件包。该系统的两个主要功能就是,Simu,(仿真)和,Link,(连接)。,一、,Simulink,的启动和退出,1,Simulink,的启动,在,MATLAB,操作桌面下,单击工具栏中的图标 或在命令窗口键入命令,Simulink,,就会弹出一个名为“,Simulink Library Browser”,的浏览器窗口。,一个简单的,Simulink,实例,将一个阶跃输入信号送到积分环节,并将积分后的信号送到示波器显示。,1.,创建空白模型,2.,添加模块,3.,添
4、加连接,4.,仿真,5.,保存模型,2,模型的创建,在创建新模型时,单击,Simulink Library Browser,浏览器上方工具栏内的“建立新模型”图标 、或者单击,MATLAB,命令窗口,FileNewModel,选项,会弹出一个名为,Untitled,(无标题)的空白窗口,所有控制模块都创建在这个窗口中。,二、,Simulink,基本模块,在,Simulink,的模块库浏览器窗口左侧的,Simulink,选项上单击鼠标右键,单击弹出菜单的,Open the Simulink Labray,选项,可以打开,Simulink,模块库窗口。,1,信号源模块(,Sources,),双击,
5、Simulink,模块库窗口中的,Sources,模块,即可打开信号源模块。,信号源模块,模块,功能,模块,功能,In1,创建输入端,Ground,接地,Constant,常数,Clock,当时时间,Signal Generator,信号发生器,Digital Clock,数字时钟,Ramp,斜波,From File,从文件读数据,Sine Wave,正弦波,From Workspace,从工作空间读数据,Step,阶跃信号,Random Number,随机信号,Repeating Sequence,重复序列,Uniform Random Number,均匀随机信号,Pulse Generat
6、or,脉冲发生器,Band-Limited White Noise,带限白噪声,Chirp Signal,快速正弦扫描,2,输出模块(,Sinks,),模块,功能,模块,功能,Scope,示波器,To File,输出到文件,Floating Scope,可选示波器,To Workspace,输出到工作空间,XY Graph,XY,关系图,Terminator,通用终端,Outl,创建输出端,Stop Simulation,输出不为,0,时停止仿真,Display,实时数值显示,3,连续系统模块(,Continuous,),连续系统模块提供积分、微分等连续系统仿真的常用原件。,连续系统模块的功能
7、模块,功能,模块,功能,Integrator,积分,Zero-Pole,零极点,Derivative,微分,Memory,延时输出,State-Space,状态方程,Transport Delay,传输延时,Transfer Fcn,传递函数,Variable Transport Delay,可变传输延时,4,离散系统模块(,Discrete,),离散系统模块提供了滤波器、传递函数等离散系统仿真模块,。,离散系统模块的功能,模块,功能,模块,功能,Zero-Order Hold,零阶保持器,Discrete Filter,离散滤波器,Unit Delay,单位延时采样保持,Discrete
8、Transfer Fcn,离散传递函数,Discrete-Time Integrator,离散时间积分,Discrete Zero-Pole,离散零极点,Discrete State-Space,离散状态方程,First-Order Hold,一阶保持器,8,数学运算模块(,Math Operations,),数学运算模块提供了基本数学运算函数、三角函数、复数运算函数以及矩阵运算函数。,数学运算模块的功能,模块,功能,模块,功能,Sum,求和,Rounding Function,取整函数,Product,积或商,Combinatorial Logic,逻辑真值表,Dot Product,点积,
9、Logic Operator,逻辑算子,Gain,常数增益,Bitwise Logical Operator,位逻辑算子,Slider Gain,可变增益,Relational Operator,关系算子,Matrix Gain,矩阵增益,Complex to Magnitude-Angle,复数的模和辐角,Math Function,数学运算函数,Magnitude-Angle to Complex,模和辐角合成函数,Trigonometric function,三角函数,Complex to Real-Imag,复数的实部和虚部,MinMax,求最大值,Real-Imag to Compl
10、ex,实部和虚部合成复数,Abs,求绝对值,Algebraic Constraint,强迫输入信号为零,Sign,符号函数,7.2 Simulink,模块操作,一、模块的编辑处理,1,模块的操作,(,1,)添加模块,当要把一个模块添加到模型中,先在,Simulink,模块库中找到它,然后直接将这个模块拖入模型窗口中即可。,(,2,)选取模块,当模块已经位于模型窗口中时,只要用鼠标在模块上单击就可以选中该模块,这时模块的四角上出现一些黑色的小方块,这些小方块就是该模块的关键点,拖动这些黑色小方块可以改变模块的大小。,2,模块位置和外形的调整,(,1,)调整模块位置,(,2,)调整模块大小,(,3
11、调整模块方向,(,4,)调整模块颜色和效果,3,模块名的处理,(,1,)改变模块名,(,2,)隐藏模块名,(,3,)改变模块名的位置,4,复制和删除模块,(,1,)复制模块,(,2,)删除模块,二、模块属性和参数的设置,1,模块参数的设置,Simulink,中几乎所有模块的参数(,Parameters,)都允许用户进行设置,双击要设置的模块就可以打开模块参数设置对话框,不同模块参数设置对话框的项目会不同。,2,模块属性的设置,与参数设置对话框不同,所有模块的属性(,Properties,)设置对话框都是一样的。选定要设置属性的模块,然后单击,EditBlock Properties,选项;
12、或单击右键在弹出的菜单中选择,Block Properties,选项。该对话框有三个标签:,General,(通用)、,Block Annotation,(模块注解)和,Callbacks,(回调函数)。,三、模块间的连线,1,连接两个模块,从一个模块的输出端连到另一个模块的输入端是,Simulink,仿真最基本的操作。方法是先移动鼠标指向模块的输出端,鼠标的箭头会变成十字形光标,这时按住鼠标左键,拖动鼠标到另一个模块的输入端,当十字形光标出现“重影”时,释放鼠标即完成了连接。,2,模块间连线的调整,用鼠标单击连线,可以选中该连线。这时会看到线上的一些黑色小方块,这些是连线的关键点。用鼠标按住
13、关键点,拖动即可以改变连线的方向。,3,连线的分支,仿真时经常会碰到需要把信号输送到不同的接收端的情况,这时就需要分支结构的连线。可以先连好一条线,然后把鼠标移到支线的起点位置,先按下,Ctrl,键,然后按住鼠标,将连线拖到目标模块,松开鼠标和,Ctrl,键即可。,4,标注连线,双击需要标注的连线,可以看到一个文本框,在里面输入标注文字单击回车键确定即可。用鼠标拖动文本框还可以改变标识的位置。另外,在,FormatPort/Signal Displays,菜单下还有与连线标注有关的命令:,1,),Sample Time Color,:将采样时间不同的模块和连线用不同的颜色显示。,2,),Por
14、t Data Types,:在连线上显示传输数据的类型,如,double,、,int32,等。,5,删除连线,如果想要删除某条连线,可单击要删除的连线,此时连线上出现标记点,表示该连线已经被选中,然后单击模型窗口工具栏中的,【,剪切,】,按钮或者直接单击键盘上的,Delete,键,即可删除该连线。,7.3,仿真模型的参数设置,选择模型窗口,SimulationConfiguration Parameters,选项,将出现仿真参数配置窗口。,仿真参数配置窗口主要分为,7,个选项卡:,Solver,(解题器)、,Data Import/Export,(数据输入,/,输出),,Optimizatio
15、n,(优化)、,Diagnostics,(诊断)、,Hardware Implementation,(硬件工具)、,Model Referencing,(模型引用)和,Real-Time Workshop,(实时工作空间),其中,Solver,、,Data Import/Export,和,Diagnostics,三项经常用到。,一、,Solver,选项卡,(,1,),Simulink time,设置仿真起始时间和停止时间。,(,2,),Solver options,仿真解题器的操作。根据类型(,Type,)的变化分为:,Variable-step,(变步长算法)和,Fixed-step,(固定
16、步长算法)。,二、,Data Import/Export,选项卡,Data Import/Export,选项卡主要用来设置,Simulink,与,MATLAB,工作空间交换数据的有关选项。,(,1,),Load from workspace,从工作空间中载入数据。,1,),Input,:先选中,Input,核选框,在后面的编辑框内输入数据的变量名。,2,),Initial state,:表示模块的初始状态。对模块进行初始化时,先选中,Initial state,核选框,,(,2,),Save to workspace,将输出保存到工作空间。,在,Save to workspace,区域中,可以
17、选择的输出选项有:,Time,(时间),,States,(状态),,Output,(输出端口)和,Final state,(最终状态)。,(,3,),Save options,保存操作。,1,),Format,:可以选择数组、结构和包含时间的结构三种形式。,2,),Limit data points to last,:用来限定保存到工作空间中的数据量。,3,),Decimation,:从几个数据中抽取一个数据输出。,4,),Output options,:输出操作设置,变步长算法独有。有三种输出方式:,Refine output,(细化输出)、,Produce additional outpu
18、t,(产生附加输出)和,Produce specified output only,(仅在指定的时刻产生输出)。,三、,Diagnostics,选项卡,在,Diagnostics,选项卡中,主要是指定系统对一些事件或仿真过程中可能遇到的情况做出什么反映。,反应的类型有以下几种:,1,),None,:不做任何反应,不影响程序运行。,2,),Warning,:显示警告信息,不影响程序的运行。,3,),Error,:显示错误信息,中止运行的程序。,【,例,】,仿真,x(t)=sin(t)sin(5t),的波形,(,1,)建立模型窗口:在,MATLAB,命令窗口菜单上选择,FileNewModel,命
19、令,可打开一个名为“,untitled(,无标题),”,的模型窗口,(,2,)添加模块:单击模块浏览器中,Simulink,前面的“,+,”号,打开子模块库,单击,Sources(,信号源模块,),在右边窗口中找到,Sine Wave(,正弦源,),用鼠标将其拖入到模型窗口并重复,再在,Sinks(,输出模块,),中把,Scope(,示波器,),拖到模型窗口,在,Math Operations(,数学模块,),中把,Doc Product(,点乘法器,),拖到模型窗口,3,、设置模块参数:,先设置信号源参数:双击一个正弦源,打开,Block parameters(,模块参数,),对话框,把,F
20、requency(,频率,),改为,2,*,pi(,角频率弧度制,),把,Amplitude(,幅度,),改为,1,,其他参数不变,同样将另一个正弦源的频率改为,10,*,pi.,双击示波器图标,打开,Scope,窗口,单击其工作栏上的参数图标,打开示波器属性窗口,将,Number of axes(,坐标轴的数量,),改为,3,,结果将会出现三个图形。,(,4,)编辑模块:将各个模块连接起来,(,5,)系统仿真参数设置,单击,SimulinkConfiguration Parameters,选项,打开仿真参数对话框,把仿真结束时间设为,2,,即仿真时间为,2,秒,算法选择中的,Type,选择为
21、Fixedstep(,固定步长,),,并在其右边的算法框中选择,ode5(,龙格,-,库塔法的,5,阶算法,),,再把,Fixed step size(,固定步长尺寸,),设置为,0.001,秒。,(,6,)系统仿真:单击模型窗口的图标或单击模型窗口的,Simulink Star,命令进行仿真。,(,7,)观察仿真结果:双击模型窗口的示波器图标,连续时间系统的建模与仿真,-,基于微分方程的,SIMULINK,建模,建立理论数学模型,对于无外力作用的“弹簧质量阻尼”系统,据牛顿定律可写出,代入具体数值并整理,可得,仿真模型,仿真结果,7.4 SimPowerSystems,工具箱,就仿真模型逼
22、近被仿真系统的真实程度而言,前,面,所建,Simulink,模型属于功能级仿真模型。这种模型所使用的模块与真实的物理器件之间不存在一一对应的关系;这种模型的构建以抽象了的数学模型为基础,较早的,Simulink,就是进行功能级仿真的软件环境。但最近发布的几个,Simulink,版本,已经在某些专业领域把仿真推进到了元器件级。,本节将利用,SimPowerSystems,中的库模块构建一个在元器件级上对应的电路模型,然后通过该模型进行电量的瞬态分析。,单个电阻、电感、电容元件的参数设置表,a,元件,串联,RLC,分支,(Series RLC Branch),并联,RLC,分支,(Parallel RLC Branch),类型,电阻数值,电感数值,电容数值,电阻数值,电感数值,电容数值,单个电阻,R,0,inf,R,inf,0,单个电感,0,L,Inf,inf,L,0,单个电容,0,0,C,inf,inf,C,【,练习,】,根据电路桥电路创建一个,Simulink,模型,求电路中的电流,电路如下图所示,已知电阻,R=5,,,Ra=25,,,Rb=100,,,Rc=125,,,Rd=100,,,Re=37.5,,求当直流电源为,40V,时电路中的电流。,






