- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二讲 子系统封装技术与S function基础
绝大多数的程序设计语言都有使用子程序的功能。在FORTRAN里有subroutine子程序和function子程序;C语言中的子程序被称为“函数”;Matlab的子程序称为函数式M文件。Sinlulilnk也提供了类似的功能——子系统。 随着模型越来越大、越来越复杂,人们很难轻易的读懂它们。在这种情况下,子系统通过把大的模型分割成几个小的模型系统以使得整个系统模型更简捷、可读性更高,而且这种操作并不复杂。 创建Simulink子系统共有两种方法: 封装的理解 在这里要分清楚封装子系统和建立子系统是两个不同的概念,分别介绍如下: 建立子系统是将一组完成相关功能的模块包含到一个子系统当中,用一个模块来表示,主要是为了简化Simulink模型,增强Simulink模型的可读性,便于我们仿真和分析。 在仿真前,需要打开子系统模型窗口,对其中的每个模块分别进行参数设置。虽然增加了Simulink模型的可读性,但并没有简化模型的参数设置。当模型中用到多个这样的子系统,但是每个子系统中模块的参数设置都不相同时,这就显得很不方便。而且容易出错。 为了解决简单建立子系统的不足,我们可以对子系统进行封装。将完成特定功能的相关模块集合到一起,对其中经常要设置的参数设置为变量,然后封装,使得其中变量可以在封装系统的参数设置对话框中统一进行设置,这就大大简化了参数的设置,而且不容易出错,这非常有利于进行复杂的大系统仿真。 封装后的子系统可以作为用户的自定义模块,作为普通模块一样添加到Simulink模型中应用,也可以添加到模块库中以供调用。 封装后的子系统可以定义自己的图标、参数和帮助文档,完全与Simulink其他普通模块一样。双击封装子系统模块,弹出对话框,可进行参数设置,如果有任何问题,可以单击help按钮,不过这些帮助是创建者自己进行编写的。 封装后的子系统防止随意修改。 也可以添加到simulink浏览器中 创建库文件,建立路径,设置set path,修改slbocks.m 模板 找一个slblocks.m,如目录C:\Program Files\MATLAB\R2009a\toolbox\fuzzy\fuzzy 如: blkStruct.Name = sprintf(‘%s\n%s’,‘my god’);显示名 blkStruct.OpenFcn = ‘mylib1’;mdl库文件名 (工作目录为库文件目录) Sfunction对比 2.5 S-Function 的工作原理 要创建 S-function,你必须了解S-function 是如何工作的。要了解S-function 如何工作,则需要了解Simulink 是如何进行模型仿真的,那么又需要了解块的数学公式。因此,本节首先从一个块的输入、状态和输出之间的数学关系开始介绍。 Simulink 块的数学关系 Simulink 块包含一组输入、一组状态和一组输出。其中,输出是采样时间、输入和块状态的函数。 下面的方程式表述了输入、输出和状态之间的数学关系: 仿真过程 Simulink 模型的执行分几个阶段进行。 首先进行的是初始化阶段,在此阶段,Simulink 将库块合并到模型中来,确定传送宽度、数据类型和采样时间,计算块参数,确定块的执行顺序,以及分配内存。 然后,Simulink 进入到“仿真循环”,每次循环可认为是一个“仿真步”。在每个仿真步期间,Simulink 按照初始化阶段确定的块执行顺序依次执行模型中的每个块。对于每个块而言,Simulink 调用函数来计算块在当前采样时间下的状态,导数和输出。如此反复,一直持续到仿真结束。 Simulink 执行仿真的步骤 对于离散状态,会更新当前时刻的离散状态并进行输出;对于连续状态则处理起来比较复杂,会计算两次输出,这两次输出会在求解器当中进行一致性检查,不超过求解器设置的容限时,求解器会以一个更小的步长进行计算输出,而且在连续时间状态下存在一个过零检测的问题,仿真循环当中如果检测到过零点,simulink会自动在此过零点周围进行插值。 直接馈入 y = k×u,其中,u 是输入,k 是增益,y 是输出 非直接馈入: 输出:y = x,导数:dx/dt = u (3)设置采样时间和偏移量 S-function 在指定S-function 何时执行上都具有高度的灵活性。Simulink对于采样时间提供了下列选项: 连续采样时间——用于具有连续状态和/或非过零采样的S-function。对于这种类型的S-function,其输出在每个微步上变化。 连续但微步长固定采样时间——用于需要在每一个主仿真步上执行,但在微步长内值不发生变化的S-function。 离散采样时间——如果S-function 块的行为是离散时间间隔的函数,那
您可能关注的文档
- 第二章基本放大电路共射、共集、共基.ppt
- 第二章大气的热能和温度(2011级用).ppt
- 第二章半导体三极管及其放大电路中等职业学校第四版.ppt
- 第二章导热理论基础.ppt
- 第二章_继电器.ppt
- 第二章平台钢结构设计-n.ppt
- 第二章热力学第一定律第一节热力学基础.ppt
- 第二章工业用水的预处理2.ppt
- 第二章电力企业经营战略.ppt
- 第二章液压与气压传动.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)