simulink动态系统仿真第10章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.1 封装子系统概述 10.1.1 封装特征   Simulink中的Mask Editor(封装编辑器)提供了封装子系统时编辑模块的所有操作设置值,它可以对任何子系统进行封装。用户可以对封装后的子系统执行如下操作:   用一个单个的参数框(包含模块说明、参数提示和帮助文本)替换子系统的参数框及内容;   用用户图标替换子系统的标准图标;   通过隐藏子系统的内容防止对子系统的无目的更改;   把定义了模块行为的方块图封装在子系统内,然后把被封装的子系统放置在库中,从而创建一个用户模块。   封装包括如下特征:   1.封装图标   封装图标替换了子系统的标准图标,也就是说,它会替代方块图中子系统模块的标准图标。Simulinnk使用MATLAB代码绘制用户图标,用户可以在图标代码中使用任何MATLAB绘制命令,这就为用户在设计封装子系统的图标上提供了极大的表现空间。   2.封装参数   Simulink允许用户为被封装子系统定义一组用户可设置的参数,Simulink会把参数值作为变量值存储在封装工作区中,变量的名称由用户指定。这些被关联的变量允许用户把封装参数链接到封装子系统内模块的特定参数(内部参数)上。   3.封装参数对话框   封装参数对话框包含着某些控制,这些控制可以使用户设置封装参数的值,因此也可以设置任何链接到封装参数的内部参数的值。   封装参数对话框替换了子系统的标准参数对话框,也就是说,单击封装子系统图标后显示的是封装参数对话框,而不是子系统模块的标准参数对话框。用户可以自行设计封装对话框的每个特征,包括希望在对话框上显示哪些参数,以及这些参数的显示顺序、参数的提示说明、用来编辑参数的控制和参数的回调函数(用来处理由用户输入的参数值的代码)。   4.封装初始化代码   初始化代码是用户指定的MATLAB代码,在仿真运行开始时,Simulink会运行这个代码,以初始化被封装的子系统。用户可以使用初始化代码设置被封装子系统中封装参数的初始值。   5.封装工作区   Simulink会把MATLAB工作区与每个被封装子系统相关联,它会在工作区中存储子系统参数的当前值,以及由模块初始化代码所创建的任何变量和参数回调函数。用户可以利用模型和封装工作区变量初始化被封装子系统,并设置被封装子系统内的模块值,但要遵守如下规则:   模块参数表达式只能使用定义在子系统中的变量,或者使用包含这个模块的嵌套子系统中的变量,还可以使用模型工作区中的变量。   对于多层级模型(多于一层以上),假设用户在几个层级模型中都定义了同一个变量,如果在某个层级中引用这个变量,那么变量值在局部工作区(也就是与这个层级最近的工作区)中求解。   例如,假设模型M包含被封装子系统A,A中包含被封装子系统B,假如B引用了子系统A和模型M工作区中都有的变量 x,在这种情况下,这个引用会在子系统A的工作区中求解变量值。   被封装子系统的初始化代码只能引用其局部工作区(也就是该子系统自己的工作区)的变量。 10.1.2 封装举例   这里用一个简单的模型范例说明封装的特征。图10-1(a)是一个被封装的系统模型,模型中的子系统mx+b是Subsystem模块,它实现的是线性方程y = mx+b;双击图标即可打开这个子系统,子系统中的模型如图10-1(b)所示。   通常,当双击Subsystem模块时,该子系统会打开一个独立的窗口来显示子系统内的模块。mx+b子系统包含一个名称为Slope的Gain模块,它的Gain参数被指定为变量m;还有一个名称为Intercept的Constant模块,它的Constant value参数被指定为b。这两个参数分别表示线性方程的斜率和截距。   在这个例子中,我们为子系统创建了一个用户对话框和图标,对话框包含Slope参数和Intercept参数的提示,双击图标可打开封装对话框,mx+b子系统模块的参数对话框及图标如图10-2所示。   用户可以在封装对话框内输入Slope和Intercept参数的数值,在子系统下的所有模块都可以使用这些值。子系统内的所有特性均被封装在一个新的接口内,这个接口具有图标界面,并包含了内嵌的Simulink模块。   对于这个例程子系统,需要执行这样的封装操作:   为封装对话框中的参数指定提示。在这个例子中,封装对话框为Slope参数和Intercept参数指定提示。   指定用来存储每个参数值的变量名称。   输入模块的文档,该文档中包括模块的说明和模块的帮助文本。   指定创建模块图标的绘制命令。   1.创建封装对话框提示   为了对这个子系统进行封装,首先在模型中选择Subsystem模块,然后选择Edit菜单中的Mask Subsy

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档