将子系统转换为引用模型

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

准备分系统转换

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

要准备子系统:

  1. 设置信号分辨率配置参数为仅显式没有一个

    提示

    您可以在转换过程中自动修复此问题。

  2. 配置子系统块接口。

    提示

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

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

    后藤从…起

    后藤从…起跨越子系统边界的块

    取代从…起具有相应后藤与子系统边界相交的块输入块。

    更换每个后藤块,它具有相应的从…起块跨越子系统边界与外埠块。

    连接输入外埠块到相应的子系统端口。

    数据存储

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

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

    可调参数

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

    创建金宝appSimulink.参数对象对于每个可调参数,使用TunableVars2参数对象

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

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

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

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

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

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

    函数调用

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

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

    请注意

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

    函数调用的输出

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

    宽函数调用接口

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

    样品时间

    一个输入与驱动程序块的采样时间不匹配的块采样时间输入

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

    输入块

    合并后的输入

    配置模型以避免合并输入阻碍。见合并块文档。

    固定块

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

    移动常数块进入子系统。

    公共汽车

    进入和退出子系统的总线

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

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

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

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

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

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

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

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

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

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

将子系统转换为引用模型

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

要加快转换过程,请执行以下操作:

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

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

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

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

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

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

  • 设置停止时间绝对公差相对公差

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

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

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

转换结果

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

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

  • 创造金宝app模拟总线对象,金宝app模拟信号对象,以及引用模型所需的可调参数。

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

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

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

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

金宝appSimulink将以下图元从原始模型复制到新的参照模型。

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

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

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

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

  • 需求链接-顾问将复制使用创建的需求链接金宝app仿真软件需求™软件到模型与原件不符子系统块。

比较转换前后的模拟结果

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

有关详细信息,请参阅对比仿真数据

恢复转换

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

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

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

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

完成转换后,根据需要更新模型以满足建模要求。例如,您可以手动替换子系统模型参照已创建的参照模型的块。

如果要使用外部数据模拟模型,请检查根输入新引用模型中的块具有适当的插入数据参数设置。有关详细信息,请参阅文档插入数据参数输入块。

另请参阅

阻碍

相关话题