1第6章动态仿真集成环境-Simulink本章内容(1)注意区分书中Simulink库浏览窗口与Simulink模块库的区别;(2)熟悉Simulink模块库和Simulink附加模块库中常用标准模块的功能及其应用;(3)利用Simulink标准模块在用户模型窗口中建立控制系统仿真模型;(4)熟悉利用Simulink进行系统仿真的两种仿真方法:菜单法和行命令法;(5)仿真算法和参数以及常用标准模块参数的设置;(6)仿真结果的三种处理方法,并注意输出接口模块(Out1)和将数据输出到工作空间模块(ToWorkspace)的不同用法及其利用它们输出信号时的仿真参数的设置;(7)利用MATLAB求解非线性系统的线性化模型;(8)熟悉子系统的两种建立方法:菜单法和模块法,以及条件子系统的应用(9)模型封装模板编辑器的参数设置及系统模型的封装步骤。2Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它支持连续、离散及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速度的系统仿真。Simulink为用户提供了一个图形化的用户界面(GUI)。对于用方框图所表示的系统,通过图形界面,利用鼠标点击和拖拉方式,建立系统模型就像用铅笔在纸上绘制系统的模型图一样简单,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点。它不但实现了可视化的动态仿真,也实现了与MATLAB、C或者FORTRAN甚至和硬件之间的数据传递,大大地扩展了它的功能。36.1Simulink简介6.1.1Simulink的启动要启动Simulink必须先启动MATLAB。在MATLAB窗口中,有三种方法启动Simulink:(1)在MATLAB的命令窗口中,直接键入命令:simulink;(2)在MATLAB窗口的工具条中,单击Simulink的快捷启动按钮“”;(3)在MATLAB窗口的左下角“Start”菜单中,单击“Simulink”子菜单中的“LibraryBrowser”选项。4启动Simulink后,便可显示如图6-1所示的Simulink库浏览窗口(SimulinkLibraryBrowser),窗口左边列出了该系统中所有安装的一个树状结构的仿真模块集或工具箱,同时右边显示当前左边所选仿真模块集或工具箱中所包含的标准模块库。Simulink库浏览窗口由功能菜单、工具栏和模块集或工具箱三大部分组成,创建系统模型时,将从这些仿真模块集或工具箱中利用鼠标复制标准模块到用户模型编辑窗口中。5图6-166.1.2Simulink库浏览窗口的功能菜单为了充分利用仿真模块库(集)中的标准模块对控制系统进行有效的动态仿真,在Simulink库浏览窗口中设计了以下各个功能菜单。*File文件操作菜单New新建用户模型编辑窗口/模块库窗口Open打开用户模型编辑窗口Close关闭用户模型编辑窗口Preferences参数选择*Edit编辑菜单Addtothecurrentmodel增加到当前用户模型编辑窗口中Findblock查找模块Findnewblock查找新模块7*View查看菜单Toolbar显示/关闭工具条开关Statusbar显示/关闭状态条开关Description显示/关闭描述窗口开关Stayontop位于上层Collapseentirebrowser压缩整个树状结构Expandentirebrowser展开整个树状结构Largeicons大图标Smallicons小图标Showparametersforselectedblock显示所选模块参数*Help帮助菜单86.1.3仿真模块库(集)在Simulink库浏览窗口中,包含了由众多领域著名专家与学者以MATLAB为基础开发的大量实用模块集或工具箱,本书限于篇幅,仅介绍与动态仿真Simulink有关的几种模块集。1.Simulink模块集(Simulink)在Simulink库浏览窗口的Simulink节点上,通过单击鼠标右键后,便可打开如图6-2所示的Simulink模块集窗口9Simulink模块库由标题、功能菜单和标准模块库三部分组成。图6-210(1)信号源模块库(Sources)Sources库中所包含的各个标准模块及其功能如图6-3和表6-1所示。1)Simulink的标准模块库11(2)接收模块库(Sinks)Sinks库中所包含的各个标准模块及其功能如图6-4和表6-2所示。12(3)连续系统模块库(Continuous)Continuous库中所包含的各个标准模块及其功能如图6-5和表6-3所示。13(4)离散系统模块库(Discrete)Discrete库中所包含的各个标准模块及其功能如图6-6和表6-4所示。14(5)非连续系统模块库(Discontinuities)Discontinuities库中所包含的各个标准模块及其功能如图6-7和表6-5所示。15(6)信号路由模块库(SignalRouting)SignalRouting库中所包含的各个标准模块及其功能如图6-8和表6-6所示。16(7)信号属性模块库(SignalAttributes)SignalAttributes库中所包含的各个标准模块及其功能如图6-9和表6-7所示。17(8)数学运算模块库(MathOperations)MathOperations库中所包含的各个标准模块及其功能如图6-10和表6-8所示。18(9)逻辑和位操作模块库(LogicandBitOperations)LogicandBitOperations库中所包含的各个标准模块及其功能如图6-11和表6-9所示。19(10)查表模块库(LookupTables)LookupTables库中所包含的各个标准模块及其功能如图6-12和表6-10所示。20(11)用户自定义函数模块库(User-DefinedFunctions)User-DefinedFunctions库中所包含的各个标准模块及其功能如图6-13和表6-11所示。21(12)模型检测模块库(ModelVerification)ModelVerification库中所包含的各个标准模块及其功能如图6-14和表6-12所示。22(13)端口与子系统模块库(Ports&Subsystems)Ports&Subsystems库中所包含的各个标准模块及其功能如图6-15和表6-13所示。23(14)模型扩展功能模块库(Model-WideUtilities)Model-WideUtilities库中所包含的各个标准模块及其功能如图6-16和表6-14所示。24(15)模块集和工具箱(Blocksets&Toolboxes)Blocksets&Toolboxes中所包含的模块集和工具箱如图6-17所示。25(16)常用模块库(CommonlyUsedBlocks)CommonlyUsedBlocks库中所包含的各个标准模块如图6-18所示。26(17)附加数学与离散模块库(AdditionalMath&Discrete)在AdditionalMath&Discrete库中包含了两个标准模块库:附加数学库(AdditionalMath)和附加离散库(AdditionalDiscrete)。272)Simulink模块集的功能菜单为了充分利用Simulink中的各个标准模块对控制系统进行有效的动态仿真,Simulink模块集中设计了以下各个功能菜单。*File文件操作菜单*Edit编辑菜单*View查看菜单*Help帮助菜单28*File文件操作菜单New新建模型编辑窗口/模块库窗口Open打开模型文件Close关闭模型文件Save保存模型文件Saveas另存模型文件Sourecontrol来源控制Modelproperties模型属性Preferences参数选择Print打印Printersetup打印设置ExitMATLAB退出MATLAB29*Edit编辑菜单Can’tundo不能撤消Can’tredo不能重复Cut剪切Copy复制Paste粘贴Clear清除SelectAll全部选定Copymodeltoclipboard复制模型到剪切板Find查找Createsubsystem创建子系统Masksubsystem封装子系统Lookundermask查看封装子系统Linkoptions连接选项Unlocklibrary解锁库Updatediagram更新图标30*View查看菜单Gotoparent转到根Toolbar显示/关闭工具条开关Statusbar显示/关闭状态条开关Modelbrowseroptions模型浏览器选项Blockdatatipsoptions模块信息选项Showlibrarybrowser显示库浏览器Zoomin放大模块视图Zoomout缩小模块视图Fitsystemtoview将框图缩放到正好符合窗口的大小Normal显示框图的实际大小*Help帮助菜单31关于某些菜单的进一步操作方法在后面的有关部分中将陆续详细介绍。另外,当在一个模型或模块库窗口上单击鼠标右键时,也会显示前后相关的菜单。菜单的内容取决于是否选中模块,如果选中模块,菜单显示的命令仅仅适用于所选模块,否则,菜单显示的命令作用于整个模型或模块库。322.Simulink附加模块集(SimulinkExtras)在Simulink库浏览窗口的SimulinkExtras节点上,通过单击鼠标右键后,便可打开如图6-21所示的SimulinkExtras模块集窗口。33在SimulinkExtras模块集中附加了以下一些模块库,用鼠标的左键双击各个模块库的图标,便可打开相应的模块库,各模块库中所包含各个标准模块的功能如下所示。*附加接收模块库(AdditionalSinks)*附加离散系统模块库(AdditionalDiscrete)*附加线性模块库(AdditionalLinear)PIDController--PID控制器模块PIDController(WithApproximateDerivative)--具有实际微分的PID控制器模块*转换库(Transformations)*触发器库(FilpFlops)*线性化库(Linearization)343.Simulink参数估计模块集(SimulinkParameterEstimation)在Simulink库浏览窗口的SimulinkParameterEstimation节点上,通过单击鼠标右键后,便可打开如图6-22所示的SimulinkParameterEstimation库窗口。354.Simulink响应优化模块集(SimulinkResponseOptimization)在Simulink库浏览窗口的SimulinkResponseOptimization节点上,通过单击鼠标右键后,便可打开如图6-23所示的SimulinkResponseOptimization模块集窗口。365.Simulink确认模块集(SimulinkVerificationandValidation)在Simulink库浏览窗口的SimulinkVerificationandValidation节点上,通过单击鼠标右键后,便可打开如图6-24所示的SimulinkVerificationandValidation模块集窗口。376.Simulink控制设计模块集(SimulinkControlDesign)在Simulink库浏览窗口的SimulinkControlDesign节点上,通过单击鼠标右键后,便可打开如图