主要内容

转换可配置子系统到可变子系统

请注意

可配置子系统将在未来的版本中删除。的可配置子系统现有模型中的块必须转换为不同的子系统块。

变型子系统提供了比可配置子系统更多的功能,具有以下优点:

  • 你可以混合模型块和子系统块作为变量选择。

  • 您不需要创建库来创建变体子系统的实例。

  • 您可以指定具有不同数量的输入和输出端口的变体。

  • 您可以通过标签模式和其他模式来控制变量块。

  • 您可以使用不同子系统的高级代码生成功能生成代码。

您可以转换可配置子系统块一个不同的子系统阻挡四种方式之一:

使用升级顾问以编程方式将可配置子系统块转换为可变子系统块

可配置子系统模型中的块可以转换为不同的子系统块以编程方式使用upgradeadvisor

执行以下步骤进行转换可配置子系统在模型中的块不同的子系统块:

  1. 打开包含可配置子系统块。

  2. 使用。将库模板块转换为变体子系统块upgradeadvisor.创建一个对象upgradeadvisor,并运行该方法升级升级程序对象输出。

    升级程序= upgradeadvisor (bdroot);upgrader.upgrade

    有关使用此方法的信息,请参见upgradeadvisor.生成一个包含块转换状态的报告。

使用升级顾问将可配置子系统块转换为可变子系统块

转换可配置子系统在模型中的块不同的子系统块使用升级顾问

当你编译一个包含可配置子系统块时,将显示一个警告,指示您将可配置子系统块一个不同的子系统块。

  1. 考虑一个模型可配置子系统块。编译此模型时,会在诊断查看器

    请注意

    当您创建一个新的可配置子系统块时,将显示一个升级顾问警报来转换可配置子系统不同的子系统块。

  2. 诊断查看器,点击开放建议的行动部分。

  3. 升级顾问中,选择识别用于转换为可变子系统块的可配置子系统块然后点击运行这个检查.所有的可配置子系统将显示模型中的块和建议执行的操作。

    请注意

    要升级由模型离散器在模型或子系统级别上创建的可配置子系统实例,执行建议的行动.所建议的行动确保有关离散化的信息被保留。

    要转换为变体子系统,右键单击列表中提供的每个可配置子系统实例并选择子系统和模型参考>转换为>不同的子系统

  4. 在模型中,执行建议的行动的运行分析模型层次结构并继续升级序列转换可配置子系统模板块以更新列出的可配置子系统块。升级顾问指导您完成推荐的升级模型的步骤序列。点击继续升级序列按顺序打开库。

  5. 在图书馆,运行识别用于转换为可变子系统块的可配置子系统块一次。单击转换所有按钮以按顺序转换库中的所有可配置子系统块。你必须运行识别用于转换为可变子系统块的可配置子系统块检查的次数和图书馆的数量一样多。

以编程方式将可配置子系统块转换为可变子系统块convertToVariant

可配置子系统模型中的块可以转换为不同的子系统块以编程方式使用convertToVariant方法。

当一个可配置子系统转换为不同的子系统块,块的选择可配置子系统块更改为LabelModeActiveChoice不同的子系统块。

如果块选择的可配置子系统模板块被链接,然后该块被复制到不同的子系统图形和复制的块将保留其链接。如果块选择的可配置子系统模板块未链接,则将该块复制到不同的子系统图形和块可配置子系统Library链接到它。

执行以下步骤进行转换可配置子系统在模型中的块不同的子系统块:

  1. 打开包含可配置子系统块。

  2. 在命令行中,输入find_system命令查找所有的可配置子系统模型中的块:

    find_system(broot,' Regexp', 'on',' LookUnderMasks', 'on','FollowLinks', 'on',' variables ',' allvariables ',' TemplateBlock', '.')

    可配置子系统模型中存在的区块如下:

    {' mconfigsub / config_sub '} {' mconfigsub /嵌套配置'}
  3. 从使用的列表中找到库模板块get_param命令。

    get_param('mconfigsub/嵌套配置','TemplateBlock') ans = 'mconfiglib/嵌套配置'
  4. 使用。将库模板块转换为变体子系统块convertToVariant

    金宝appSimulink.VariantManager。convertToVariant('mconfiglib/nested config') Simulink.VariantManager.convertToVariant('mconfiglib/Subsystem/config_sub')
  5. 保存库。您可以使用save_system命令保存库。

  6. 再次关闭并打开模型。模型中的可配置子系统块将被转换为变体子系统块。

通过对话框将可配置子系统块转换为可变子系统块

  1. 打开包含可配置子系统块的模型。

  2. 右键单击可配置子系统块并在上下文菜单中,选择子系统及模型参考>转换为>不同的子系统

  3. 默认情况下,复制而不创建到可配置子系统库的链接复选框被选中。这将创建不同的选择,而不创建到库的链接。

  4. 点击好吧.可配置子系统块转换为不同的子系统块,并显示在新窗口中。

    请注意

    可配置子系统块转换为不同的子系统块,块的选择可配置子系统块更改为LabelModeActiveChoice在变型子系统块中。

  5. 手动替换可配置子系统块的转换不同的子系统块在原来的模型。

改变积极的变异

可配置子系统块转换为不同的子系统block, block的选择可配置子系统块在变子系统块中被更改为标签模式主动选择。

要更改活动变体,请执行以下步骤之一:

  • 右键单击不同的子系统块,并选择块参数(子系统).在块参数对话框中,选择的活动变量标签模式主动选择下拉列表。

  • 右键单击不同的子系统块,并选择标签模式主动选择

请注意

当一个可配置子系统带有掩码的块被转换为不同的子系统块,标签模式主动选择选项和块参数对话框中的所有其他参数被禁用。控件上的徽章单击鼠标右键,即可更改活动变体不同的子系统块,并选择标签模式主动选择

另请参阅

相关的话题