主要内容

将子系统转换为引用模型

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

准备分系统转换

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

准备子系统:

  1. 设置信号的分辨率配置参数只有明确的没有一个

    提示

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

  2. 配置子系统块接口。

    提示

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

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

    转到

    转到跨越子系统边界的块

    取代块具有相应的转到块,它跨越子系统边界轮廓尺寸块。

    替换每个转到块,它具有相应的块跨越子系统边界与外港块。

    连接轮廓尺寸外港块到相应的子系统端口。

    数据存储

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

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

    可调参数

    属性打开的对话框中的全局可调参数配置参数>代码生成>优化>配置按钮

    创建一个金宝app仿真软件。参数对象的每个可调参数,使用tunablevars2parameterobjects

    金宝app仿真软件。参数对象必须有一个非汽车

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

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

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

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

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

    函数调用

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

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

    请注意

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

    函数调用的输出

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

    宽函数调用接口

    消除函数调用子系统的宽信号。

    样品时间

    一个轮廓尺寸块采样时间与驱动块的采样时间不匹配轮廓尺寸

    插入率转换在适当的地方。

    轮廓尺寸块

    合并后的轮廓尺寸

    配置模型以避免合并轮廓尺寸块。看看合并块文档。

    固定块

    常数为子系统提供输入的块

    移动常数块进入子系统。

    公共汽车

    进入和退出子系统的总线

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

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

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

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

    信号名称是无效的MATLAB®标识符。一个有效的标识符是满足以下条件的字符向量:

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

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

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

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

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

将子系统转换为引用模型

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

为了使转换过程更快:

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

  • 关闭任何打开的范围在开始转换之前阻塞窗口。

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

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

  • 对感兴趣的输出信号启用信号记录。

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

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

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

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

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

转换的结果

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

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

  • 创建金宝app仿真软件。公共汽车对象,金宝appsimulink.signal.对象,以及引用模型所需的可调参数。

  • 默认情况下,替换子系统块和一个模型块引用新模型。

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

  • 控件中创建HTML转换摘要报告slprj文件夹中。该报告总结了转换过程的结果,包括advisor程序执行的修复的结果。该报告还描述了它所复制的元素。

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

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

  • 配置设置—父模型使用:

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

    • 一个引用的配置集,那么父模型和引用模型都使用同一个引用的配置集

  • 变量- advisor仅将子系统在原始模型中使用的模型工作空间变量复制到引用模型的模型工作空间。如果包含子系统的模型使用数据字典,则被引用的模型使用相同的数据字典。

  • 要求链接- advisor复制创建的需求链接金宝app仿真软件需求™软件模型子系统块。

比较转换前后的仿真结果

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

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

恢复转换

如果您对转换结果不满意,则可以将模型恢复为其初始状态。使用其中一种方法:

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

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

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

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

如果要使用外部数据模拟模型,请检查根目录轮廓尺寸新引用模型中的块具有适当的插入数据参数设置。请参阅文档插入数据参数的轮廓尺寸块。

另请参阅

相关话题