资源描述
本章学习内容和目的本章学习内容和目的l 掌握掌握 Simulink 子系统的建模方法子系统的建模方法l 掌握掌握 Simulink 子系统的封装技术子系统的封装技术 在在前前面面的的章章节节中中,介介绍绍了了使使用用 Simulink 进进行行建建模模的的基基本本方方法法。使使用用这这些些方方法法基基本本可可以以创创建建任任何何物物理理系系统统的的模模型型。然然而而随随着着系系统统越越来来越越复复杂杂,用用这这些些基基本本操操作作创创建建的的 Simulink 模模型型变变得得越越来来越越庞庞大大而而难难于于读读懂懂。在在本本章章中中,将将介介绍绍一一系系列列的的 Simulink 的的特特殊殊处处理理技技术术,使使得得模模型型变变得得更更加简捷和易懂易用。加简捷和易懂易用。8.1 Simulink 子系统子系统 创建创建 Simulink 子系统有两种方法:子系统有两种方法:(1)在在已已经经建建立立好好的的系系统统模模型型之之中中建建立立子子系系统统。使使用菜单命令用菜单命令【EditCreat Subsystem】子系统;子系统;(2)在在建建立立系系统统模模型型时时建建立立空空的的子子系系统统。使使用用 Subsystems 模模块块库库中中的的 Subsystem 模模块块直直接接创创建建子系统。子系统。8.1.1 压缩子系统压缩子系统 以以一一个个例例子子说说明明压压缩缩子子系系统统的的使使用用方方法法。例例如如,对对于于以下系统:以下系统:方程可转化为:方程可转化为:Sine WaveScope1sDisplacement1sVelocity0.8Gain10.4Gain操作步骤:操作步骤:(1)使用范围框将要压缩的子系统的部分选中,包括模块和信)使用范围框将要压缩的子系统的部分选中,包括模块和信号线;号线;(2)在模块窗口选项中选择)在模块窗口选项中选择【EditCreat Subsystem】,Simulink 将会用一个子系统模块代替被选中的模块组;将会用一个子系统模块代替被选中的模块组;In1 Out1SubsystemSine WaveScope子系统子系统子系统将有一个默认的输入端口和输出端口子系统将有一个默认的输入端口和输出端口In1Out1SubsystemSine WaveScope1Out11sDisplacement1sVelocity0.8Gain10.4Gain1In1双击子系统,则会出现一个显示双击子系统,则会出现一个显示子系统内容的新窗口。子系统内容的新窗口。在新窗口中,除了原始的模块外,在新窗口中,除了原始的模块外,Simuink 自动添加了输入模块和输出模块,分自动添加了输入模块和输出模块,分别代表子系统的输入端口和输出端口。别代表子系统的输入端口和输出端口。两点说明:两点说明:(1)子系统窗口无需保存,保存主程序窗口后,子系统窗口)子系统窗口无需保存,保存主程序窗口后,子系统窗口自动得以保存;自动得以保存;(2)菜单命令)菜单命令【EditCreat Subsystem】没有相反的操作没有相反的操作命令,也就是说,一旦一组模块生成了子系统,就没有可以命令,也就是说,一旦一组模块生成了子系统,就没有可以直接还原的处理方法(直接还原的处理方法(undo 除外)。除外)。假定系统有如下初始条件:假定系统有如下初始条件:要求采用原始模型(没有压缩子系统的模型)和压缩子系统要求采用原始模型(没有压缩子系统的模型)和压缩子系统的模型进行仿真,仿真时间的模型进行仿真,仿真时间30s。对比结果。对比结果。以上例子的运行结果以上例子的运行结果Sine WaveScope1sDisplacement1sVelocity0.8Gain10.4GainIn1 Out1SubsystemSine WaveScope原始模型原始模型压缩子系统的模型压缩子系统的模型初值为初值为 2 在创建模型的时候,如果需要一个子系统,除了上述在创建模型的时候,如果需要一个子系统,除了上述介绍的压缩子系统的方法外,也可以直接使用子系统模块,介绍的压缩子系统的方法外,也可以直接使用子系统模块,在子系统窗口中进行创建。在子系统窗口中进行创建。例子:模拟下图所示的弹簧质量系统的运动状态。例子:模拟下图所示的弹簧质量系统的运动状态。8.1.2 子系统模块子系统模块 要使用子系统模块创建子系统,先从要使用子系统模块创建子系统,先从 Subsystems 模块库中拖曳一个子系统模块到模型窗口中,然后双击子模块库中拖曳一个子系统模块到模型窗口中,然后双击子系统模块,就会出现一个子系统的编辑窗口,子系统的建系统模块,就会出现一个子系统的编辑窗口,子系统的建立可以在该窗口中进行建立。立可以在该窗口中进行建立。m1m2m3k1k2k3x1x2x3m1m2m3k1k2k3x1x2x3m1m2m3单个质量的运动方程:单个质量的运动方程:LeftRight DispSpring-mass3LeftRight DispSpring-mass2LeftRight DispSpring-mass1Scope0Rightfree0Leftfixed双击后可显示出第一个质双击后可显示出第一个质量的子系统图,下图所示量的子系统图,下图所示第二和第三个质量子系统中,三个增益模块分别输入:第二和第三个质量子系统中,三个增益模块分别输入:第二个质量:第二个质量:K2,K3,第三个质量:第三个质量:K3,0,m21m31注意:注意:在子系统的信在子系统的信号输入端要使用一个号输入端要使用一个输入模块,在信号输输入模块,在信号输出端要使用一个输出出端要使用一个输出模块。模块。1Disp1sVelocitySum1Sum k2Right spring1sPosition k1Left springForceResultant-K-1/mass2Right 1LeftBlock displacementm11 假定系统的初始条件为:第一个质量上有初始位移假定系统的初始条件为:第一个质量上有初始位移 x1(0)=1,则在第一个质量子系统框图中的位移模块中输入初,则在第一个质量子系统框图中的位移模块中输入初始条件始条件 1。在在 MATLAB 环境下输入:环境下输入:K1=1;K2=2;K3=4;m1=1;m2=3;m3=2系统仿真结果如下:系统仿真结果如下:说说明明:若若想想输输出出其其它它两两个个质质量量的的轨轨迹迹,可可在在模模型型中中增增添添示示波波器器模模块块 Scope,或或增增添添输输出出模模块块 Out 即可。即可。8.2 封装模块封装模块 封装技术是将封装技术是将 Simulink 子系统子系统“包装包装”成一个模块,成一个模块,并可以如同使用并可以如同使用 Simulink 内部模块一样使用的一种技术。内部模块一样使用的一种技术。每个封装模块都可以有一个自定义的图标和一个用来设定每个封装模块都可以有一个自定义的图标和一个用来设定参数的对话框。参数的设定方法也与参数的对话框。参数的设定方法也与 Simulink 模块库中的模块库中的内部模块完全相同。内部模块完全相同。
展开阅读全文