- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Simulink建模之模型的构建风格
Simulink建模之模型的构建风格????????之前的文章中提到过进行基于模型的嵌入式开发的要注意的三个基本问题“数据接口”“配置”“层次结构”,最近对模型建模时的层次结构相关内容做了一些梳理,现在记录下来。????划分两个部分,第一部分说一下什么是基本模块,虚拟模块,以及非虚拟模块及其对模型执行顺序的影响;第二个部分翻译了Mathwork的汽车咨询委员会发布的《使用Matlab、Simulink和Stateflow进行控制系统建模指南》中关于模型构建风格的部分内容。(参考软件版本:matlab2012b)?一、模块我们在创建一个Simulink模型时,最基本的单元就是block,我们可以称之为“模块”,每一个模型都是由很多个模块和子模块所组成的。一般我们把simulink?库里的模块称之为“基本模块”,例如:我们也会自定义一些模块,用于一些特定的功能或者用来进行层级划分。?二、虚拟模块和非虚拟模块Simulink根据其仿真特性在将模块的属性分为两种:虚拟模块和非虚拟模块。在我们进行建模的过程中需要小心区分这两种类别的模块:非虚拟模块在仿真过程中是起实际的作用的,对其进行编辑或者增加删除操作,会影响到模型的运行和改变模型的结果;而虚拟模块在仿真的过程中是不起实际作用的,主要是为了从图框上进行程序的层次划分以及保持模型的图形界面的整洁性等作用。还有一些模块在某些特定条件下为非虚拟模块,有些条件下为虚拟模块,我们可以称之为条件虚拟模块。Simulink中的虚拟模块和条件虚拟模块如下表:了解虚拟模块和非虚拟模块是非常必要的,这两者的区别在生成代码时可以直观的看到(虚拟模块不会生成实际的变量或者函数),另外,子系统是否是虚拟模块对于模型的各个模块的执行顺序有着直接的影响。Simulink模型的执行是依照数据驱动模式来进行执行的。在matlab2012版中我们可以使用下面的方式来查看各个模块的执行顺序与层级结构。(Display- Blocks- SortedExecutionOrder,其他版本也有相应的选项)?????我们来看一下这个简单的例子,首先建立一个简单模型如下图,选择SortedExecutionOrder,然后选择Simulation- UpdateDiagram。?在模型的左上角出现红色的标号,表达的含义为:[层级号]:[执行顺序]。Root层级号码为0,依次类推。这里可以看到In1,In2由于是虚拟节点没有标号,由于Simulink是数据驱动的方式,UnitDelay中定义了初始值,所以模型UnitDelay作为起点进行运算。??如果我将中间的部分变成Subsystem如下图:??????Root层的In1、In2,Subsystem以及subsystem层中的In1、In2、Out1、Out2都没有标号为虚拟模块,封装之后的各个模块的执行顺序和未封装之前的一致,Subsystem以及In和Out模块只是在图形界面上对模型进行了分层,模型实际执行时,还是讲subsystem中的内容展开到上一级模型中进行运算。???????下面右击Subsystem,选择Block Parameter,在弹出的对话框中选择?treat as atomic uint如下图,然后选择确定。?然后再对模型进行更新Simulation- UpdateDiagram,模型的标号发生了变化,如下图Subsystem模块中的模块的层级结构被调整为1,而subsystem模块自身也有了标号的执行顺序,该简单模型较之前没有设置原子子系统的模型比较,?Subsystem种的Gain1和?root层中的Gain、Out1的执行顺序被改变了,也就是说subsystem被看做实际的模块,其中的运算全部完成后,再输出数据驱动其后的模块。在进行大规模建模,而且对实时性要求比较严苛的系统中,对条件虚拟子系统的运用对最终的仿真结果和生成代码都有直接的影响。翻译了MAAB的建议指南中有关模型构件风格的建议,这些建议对与汽车行业的工程师还是很有帮助的。?三、模型的层级结构以及用法对模型进行层级结构划分有利于提高模型的可读性、可维护性。一般在进行逻辑系统建模时,进行层级结构划分时,会用到下面的一些模块:???Subsystem???Subsystem(Condition)?Atomic Subsystem??Model Reference???Sateflow?……?Mathwork的汽车咨询委员会发布随着Matlab的发布同时发布了《使用Matlab、Simulink和Stateflow进行控制系统建模指南》,目前的版本是2.2。对于建模层级规范提出了一些建议,我把主要的部分翻译如下:1、??simulink和stateflow的混合使用选择使用simulink或st
您可能关注的文档
最近下载
- API SPEC 4F 钻井和修井井架、底座规范1995.doc VIP
- 浅谈在新课标下如何培养学生的阅读能力.doc VIP
- 2023年09月浙江温州市平阳县部分事业单位面向高校毕业生退役士兵公开招聘6人笔试历年难易错点考题荟萃附带答案详解_1.docx VIP
- 《中华人民共和国安全生产法》培训解读课件.pptx VIP
- 《中华人民共和国安全生产法》解读与培训.pptx VIP
- 电子商务专业课程体系构建与实践教学方案.docx VIP
- 《中华人民共和国矿山安全法实施条例》深度解读课件.pptx VIP
- 【温州】2024年浙江温州平阳县部分事业单位面向高校毕业生退役士兵招聘工作人员6人笔试历年典型考题及考点剖析附带答案详解.docx VIP
- 中央苏区三次发行公债与三次借谷.docx VIP
- JJF(吉) 138-2024四氟化碳气体检测报警器校准规范.pdf
文档评论(0)