主要内容

将子系统转换为引用模型

模型参考为建模大型,复杂系统和基于团队的开发提供了优势。许多大型模型使用子系统的组合和引用的模型。要决定是否将子系统转换为引用的模型,请参阅在模型组件类型中进行选择

准备分系统转换

为转换准备一个子系统可以消除或减少在转换期间识别的问题的数量。在转换之前解决这些问题可能比在诊断消息和Simulink之间重复切换更有效金宝app®编辑器。

准备子系统:

  1. 设置信号解析配置参数到只有明确的或者没有任何

    提示

    您可以在转换期间自动修复此问题。

  2. 配置子系统块界面。

    提示

    您可以在转换期间自动修复这些接口问题。

    子系统接口 寻找什么 模型修改

    或者

    或者跨越子系统边界的块

    取代具有相应的块通过块与子系统边界交叉inport.块。

    替换各项块,它具有相应的块跨越子系统边界与外港块。

    连接inport.外港块到相应的子系统端口。

    数据存储

    数据存储内存被访问的块数据存储读取或者数据存储写入来自子系统外部的块

    取代数据存储内存块具有全局数据存储。属性定义全局数据存储金宝app仿真软件。信号对象。有关详细信息,请参见带有信号对象的数据存储

    可调参数

    使用该对话框中的全局可调参数配置参数>代码生成>优化>配置按钮

    创建一个金宝appSimulink.Parameter.对每个可调谐参数的对象,使用Tunablevars2ParameterObjects.

    金宝appSimulink.Parameter.对象必须有一个非汽车

    有关更多信息,请参阅参数化可重用引用模型的实例可调参数

  3. 配置子系统块的内容。

    子系统配置 寻找什么 模型修改
    块执行顺序

    虚拟子系统不会强制包含块以连续执行。

    选择子系统块,然后就子系统块选项卡,选择是原子子系统

    职能调用

    跨虚拟子系统边界的函数调用信号

    移动函数调用生成器块转换为要转换的子系统。

    请注意

    如果要转换导出功能子系统,则不需要移动函数调用生成器块。

    函数调用的输出

    将函数调用输出更改为数据触发器。

    宽函数调用接口

    消除功能呼叫子系统的宽信号。

    样品时间

    一个inport.块采样时间与驱动的块的采样时间不匹配inport.堵塞

    插入率过渡在适当的地方。

    Inport块

    合并后的inport.

    配置模型以避免合并inport.块。看到合并块文档。

    固定块

    持续的为子系统提供输入的块

    移动持续的块进入子系统。

    公共汽车

    进入和退出子系统的总线

    为子系统内部的块匹配信号名称和总线元素名称。

    要查找与总线元素名称不匹配的信号名称,请使用信号标签不匹配诊断。

    公共汽车中重复的信号名称

    使总线元素的信号名称唯一。

    信号名称无效MATLAB®身份标识。有效标识符是满足这些条件的字符向量:

    • 只能包含字母、数字和下划线。

    • 第一个字符是一个字母。

    • 属性返回的值小于或等于名称的长度namelengthmax函数。

    将任何无效信号名称更改为有效的MATLAB标识符。

  4. 确保包含要转换的子系统的模型成功编译。

将子系统转换为引用模型

要将子系统转换为引用的模型,请打开模型参考转换顾问通过选择A.子系统Block and, on the子系统块选项卡,选择转换>模型块.模型参考转换顾问允许您交互方式指定转换参数并解决顾问发现的问题。

使转换过程更快:

  • 在模型引用转换顾问中,选择自动修复错误(如果可能).此选项会自动修复一些转换问题,但您不能控制修复。

  • 关闭任何开放范围在开始转换之前阻止窗口。

离开子系统的内容创建一个单独的模型子系统块,清晰用Model块替换子系统的内容

对比转换前后的顶模模拟结果:

  • 启用信号日志记录以获取感兴趣的输出信号。

  • 选择转换后检查仿真结果用Model块替换子系统的内容

  • 设置停止时间绝对宽容, 和相对宽容

  • 设置模型块模拟模式在advisor中选择与原始模型相同的模拟模式。

设置转换设置后,单击转换并解决任何已确定的问题。

或者,在MATLAB命令窗口中,使用金宝appsimulink.subsystem.converttomodelreference.函数。你可以转换多个子系统模块使用一个金宝appsimulink.subsystem.converttomodelreference.命令。但是,您不能同时转换该子系统的父子系统和子子系统。

转换结果

在所有转换检查通过后,Simulink:金宝app

  • 从子系统创建引用的模型。

  • 创造了金宝appsimulink.bus.对象,金宝app仿真软件。信号对象,以及引用模型所需的可调参数。

  • 默认情况下,替换子系统块与A.模型块引用新模型。

  • 插入模型块在一个子系统块,如果自动修复添加端口到模型块界面。

  • 创建HTML转换摘要报告slprj.文件夹。本报告总结了转换过程的结果,包括顾问执行的修复结果的结果。此报告还描述了它副本的元素。

  • 可选地检查转换前后模拟结果的一致性。

金宝appSimulink将以下元素从原始模型复制到新引用的模型。

  • 配置设置- 如果父模型使用:

    • 如果配置集不是引用的配置集,则advisor将整个配置集复制到引用的模型中

    • 引用的配置集,然后父和引用的模型都使用相同的引用配置集

  • 变量- 顾问仅将原始模型中使用的子系统用于所引用的模型的模型工作空间中使用的模型工作区变量。如果包含子系统的模型使用数据字典,则引用的模型使用相同的数据字典。

  • 要求链接- 顾问副本的要求创建的链接金宝app仿真软件需求™软件到模型从原始块子系统块。

比较转换前后的模拟结果

成功完成转换后,使用点击这里查看对比结果链接。结果显示在仿真数据检查.绿色的校验标记表明仿真结果在基线模型和新参考模型之间的公差范围内。

有关更多信息,请参阅对比仿真数据

恢复转换

如果您对转换结果不满意,您可以将模型恢复到初始状态。使用以下方法之一:

  • 在转换期间的任何时候,选择文件>负荷恢复点

  • 成功运行后完成转换检查,使用单击此处恢复原始模型链接。

将引用的模型集成到父模型中

完成转换后,根据需要更新模型以满足您的建模要求。例如,您可以手动更换一个子系统块与A.模型块引用创建的引用模型。

如果要使用外部数据模拟模型,请检查rootinport.新引用模型中的块具有适当的插入数据参数设置。查看文档插入数据参数的inport.块。

另请参阅

相关的话题