《仿真_6_SIMULINK_子系统及封装.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.2 模块化与封装(建立子系统) 一、模块化 当模型很大很复杂时,可将一些模块组合成一个子系统,可简化仿真模型,便于系统的设计与分析。建立子系统可有两种形式: ①组合已经存在的模块:用鼠标选中需组合的模块,Edit?Create Subsystems; ②把Ports Subsystems 中的Subsystems模块加入到模型中,双击打开子系统编辑窗口,添加模块。 这时,经模块化后,双击子系统仍可看到内部模块。要修改参数,需要逐个打开各模块来设置,比较麻烦。如要有一个子系统的参数设置对话框代替多个对话框,就要采用封装技术。 组合已经存在的模块 把Subsystems模块加入到模型中,再添加模块 二、封装 先看Simulink Extra中的PID模块,内部也是多个模块组成的子系统,但不需要逐个打开各模块来修改参数,而有一个子系统的参数设置对话框(自己创建)代替多个对话框,设置一些关键参数。优点: 用户与模块内部的复杂性隔绝; 提供一个描述性的、友好的用户接口; 保护模块的内容免受无意识的干扰。    利用Simulink的封装功能,就可以子定义做出一个模块的对话框和图标。 封装过程:   ①用以上两种方式模块化方法创建子系统,需在各模块上给封装后需赋值的参数指定变量名(字母);   ②选中子系统,然后选择Edit?Mask Subsystems;   ③使用封装编辑器设计图标、对话框、文本。 有四个标签页: Icon 模块名字和外观 Parameters 输入参数 Initialization 参数初始化 Documentation 模块文字说明 完成封装后,再双击模块,就出现新的封装对话框,而非子系统内部模块。 若要解除封装,在Edit Mask中用Unmask即可。 一、仿真模型的参数化  在Simulink环境下,仿真模型的参数可以是实际数值,也可以是字母表示的变量名。字母表示的仿真模型参数可以在Workspace工作空间中赋值,也可在M文件中赋值,然后进行模型的运行。     例如某系统结构固定,参数较多,根据不同实际情况有多套参数。 二、从命令行运行Simulink仿真模型 前面都是在Simulink环境下,用菜单命令运行仿真模型,从命令行运行模型的方式可使用户在M文件中运行仿真,可允许用户改变仿真模型的参数,也可在M文件中控制模型的运行。 [t,x,y]=sim(model,timespan,options,ut) t —— 返回仿真的时间向量 x —— 返回仿真的状态矩阵 y —— 返回仿真的输出矩阵 [t,x,y]=sim(model,timespan,options,ut) model ——仿真模型名称 timespan ——仿真的起始和终止时间 两种: 1、tFinal 终止时间,起始时间为0 2、[ tStart tFinal ] 起始和结束时间 options —— 指定可选的仿真参数,由simset 建立 u t —— 可选的对顶层输入端口模块的外部输入 其中,只有model是必需的参数。 simset 指定仿真参数必须用于sim命令中,主要包括: AbsTol:默认值为1e-6,设定绝对误差范围。 Decimation:默认值为1,决定隔多少个点返回状态和输出值。 Solver:解法器的选择。 MaxRows:默认0,表示不限制。若为大于零的值,表示限制输出和状态的规模,使其最大行数等于该数值。 InitialState:一个向量值,用于设定初始状态。 FixedStep:正数表示步长的大小,仅用于固定步长。 MaxStep:默认auto,变步长模式中最大的步阶大小。 Simget (‘模型文件名’)得到该模型的仿真参数: get_param 获取仿真模型或仿真模块的参数 set_param 设置仿真模型或仿真模块的参数 三、与 M 函数的组合仿真    如果仿真模型中用到的复杂环节具有特殊结构和特殊运算,在Simulink提供的现成的模块库中找不到,用户可以自行编制M函数,再连接到Simulink搭建的仿真模型中。 在Simulink模块库User-Defined Function

文档评论(0)

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

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

1亿VIP精品文档

相关文档