- 1、本文档共214页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两点说明: (1) 子系统窗口无需保存,只需保存主程序出口即可。保存主程序窗口后,子系统窗口自动得以保存; (2) 菜单命令【EditCreatSubsystem】没有相反的操作命令,也就是说,一旦一组模块压缩成了子系统,就没有可以直接还原的处理方法(undo 除外)。因此,一个理想的处理方法是在压缩子系统之前,先将模型进行保存,作为备份。 假定系统有如下初始条件: x(0)=2, x(0)’=0 要求采用原始模型(没有压缩子系统的模型)和压缩子系统的模型进行仿真,仿真时间30s。对比结果。 子系统模块(examp10_6_1_1.mdl) 在创建模型的时候,如果需要一个子系统,除了上述介绍的压缩子系统的方法外,也可以直接使用子系统模块,在子系统窗口中进行创建。 要使用子系统模块创建子系统,先从Subsystems 模块库中拖曳一个子系统模块到模型窗口中,然后双击子系统模块,就会出现一个子系统的编辑窗口,子系统的建立可以在该窗口中进行建立。 例2: 模拟下图所示的弹簧-质量系统的运动状态。(examp10_6_2.mdl) x2 m1 x1 m2 m3 x3 k3 k2 k1 k1x1 m2 k3(x3-x2) m3 m1 k2(x2-x1) k2(x2-x1) k3(x3-x2) 双击后可显示出第一个质量的子系统图,如下页所示。 第二和第三个质量子系统中,三个增益模块分别输入:第二个质量:k2, k3, 1/m2第三个质量:k3, 0, 1/m3 注意:在子系统的信号输入端要使用一个输入模块,在信号输出端要使用一个输出模块。 解: 假定系统的初始条件为:第一个质量上有初始位移x1(0)=1,则在第一个质量子系统框图中的位移模块中输入初始条件1。在MATLAB环境下输入: k1=1; k2=2; k3=4; m1=1; m2=3; m3=2 系统仿真结果如下: 说明:若想输出其它两个质量的轨迹,可在模型中增添示波器模块Scope,或增添输出模块Out即可。 在MATLAB命令窗口中输入以下命令即可得到如下两条曲线(左图为第一个质量的轨迹,右图为第二个) plot(tout,yout(:,1)), grid,figure,plot(tout,yout(:,2)) ,grid 例3:以前面部分所示轿车速度控制模型中的轿车动态模型为例说明子系统建立。(examp10_6_3.mdl) 将待“压缩”模型examp10_5_7.mdl另存为一个新模型examp10_6_3.mdl 建立第一个子系统——汽车动力学模型 建立第二个子系统 更改子系统的标识名 重命名输入输出口的名称 10.6.2 封装技术 1. 如何封装子系统 封装子系统与建立子系统并不相同,建立子系统指的是将具有一定功能的一组模块“容纳”在一个子系统之中,使用单一图形方式的子系统模块来表示一组模块,从而增强系统模型的可读性,在动态系统进行仿真时需要对子系统中各个模块的参数分别进行设置;而封装子系统指的是将已经建立好的具有一定功能的子系统进行封装,封装的目的在于生成用户自定义的模块,此模块与子系统的功能完全一致。 2. 封装子系统特点: (1) 自定义子系统模块及其图标。 (2) 用户双击封装后的图标时显示子系统参数 设置对话框。 (3) 用户自定义子系统模块的帮助文档。 (4) 封装后的子系统模块拥有自己的工作区。 3. 封装子系统技术优点: 向子系统模块中传递参数,屏蔽用户不需 要看到的细节。 (2) “隐藏”子系统模块中不需要过多展现的内容。 (3) 保护子系统模块中的内容,防止模块实现被随意篡改。 4. 封装子系统的基本过程 选择需要封装的子系统 选择“Edit→Mask”菜单,弹出封装编辑器,进行各种设置。 单击“Apply”或“OK”按钮保存设置。 例:以前面部分所示轿车速度控制模型中的轿车 动态模型为例说明子系统封装技术。 解: 产生待加工的模型窗口——examp10_6_4.mdl 为了使待建新模块具有一定的通用性,把Automobile Model子系统中某些模块的参数用变量名表示,而不是用固定的数值。 (1) 双击“Max Thrust”常数模块,设置驱动力上限为Fmax (2) 双击“Max Brake ”常数模块,设置制动力下限为Fmin (3) 双击“FW ”函数模块,函数表达式写为0.001*(u[1]+kw*sin(0.01*u[2]))^2,其中kw是阵风强度系数 (4) 双击“FH”函数模块,函数表达式写为:kh*sin(0.0001*u),
文档评论(0)