SuperAPI AI 工具集

simulink-manage-variant-configuration

编程与开发

查看项目

更新于 11-05 00:01

技能介绍

该技能用于管理 Simulink 中 Variant Manager 与 Variant Configurations 的相关工作流。

主要用途包括:检查、列出和探索 Simulink 模型中的变体配置、控制变量或变体结构;创建、修改或删除变体配置;根据约束验证变体配置;自动生成所有有效的变体配置;应用、激活或更新模型以使用某个变体配置;比较或分析不同变体配置,例如哪些模块处于活动状态、哪些存在差异、哪些始终活动;将变体模型缩减以锁定特定设计(reduceModel);设置基于变体配置的非侵入式仿真和测试;设置或查询首选配置;在模型中显示或隐藏变体控制变量的使用;打开或关闭 Variant Manager UI。

该技能不适用于不涉及变体配置的通用仿真或测试工作流、通用 Simulink 模型构建或模块级编辑(包括创建或编辑变体模块)、变体模型的代码生成,以及更改 Simulink 配置集(ActiveConfigurationSet 或 ConfigSet)参数。

使用该技能时,需先执行 Onboarding,以确定 MATLAB 版本、目标模型、附加的变体配置对象(VCS)、其数据来源以及同源中的其他 VCS 对象。在执行涉及变体配置、约束或控制变量值的 CRUD 操作前,需先阅读 references/variant-configurations-data-model.md。提问时应一次只问一个问题,并给出推荐答案及简要理由。应通过工具主动发现模型状态、变量名、枚举值、字典内容等事实,而不是让用户查找。不得猜测函数语法,只能使用参考文件中记录的语法;若函数未在参考文件中覆盖,需在 MATLAB 中运行 help 确认。使用任何属性名、字段名、类名、枚举类名、方法名或参数设置前,必须通过 fieldnames、properties、methods、class、which、get_param 等方式验证其存在。所有 VCS 修改完成后,需调用 reloadVariantConfigurationsInUI 一次以刷新 UI,不得在每次操作后、循环中、只读操作后、applyConfiguration 后或 variantConfigActivateModel / variantConfigUpdateModel 后调用。不得静默丢弃未保存的 VCS 更改;在运行会关闭数据字典的代码前,需检查未保存工作并询问用户是否保存。探索变体结构时,建议打开 Variant Manager UI(R2026a+ 使用 Simulink.VariantManager.open(model),旧版本使用 launchVariantManagerUI 脚本;关闭使用 closeVariantManagerUI 脚本)。PreferredConfiguration 仅是一个标签,不具有功能效果,不应描述为默认配置。调用任何 API 前,需检查其“Introduced”注释与已确认的 releaseVersion,若 API 较新则不得使用,应使用文档中的回退方案或告知用户不可用;仅 R2026a+ 使用 Name=Value 语法,早期版本使用位置参数,不得混用。

Onboarding 步骤包括:确定 MATLAB 版本和目标模型(若没有加载模型或加载多个模型,需询问用户);确定附加的 VCS、其来源(数据字典或基础工作区)以及同源中的其他 VCS 对象。完成后按指定格式报告模型名称、MATLAB 版本、数据字典、附加变体配置、VCS 位置、VCS 来源及其他 VCS 对象。

工作流路由器根据用户意图将任务导向相应参考文件,例如检查 VCS 结构、增删改配置/约束/控制变量、复制配置、设置/获取首选配置、检查配置是否活动、关联引用模型配置、生成有效组合、应用/激活/更新模型、验证约束、分析/比较配置、缩减模型、显示/隐藏控制变量、附加不同 VCS 对象、打开/关闭 UI、仿真变体配置、并行运行多个配置、参数扫描、比较仿真结果、批量/集群仿真、测试变体配置、回归/基线测试、生成测试报告等。

关键函数包括 Simulink.VariantConfigurationData / Simulink.VariantConfigurations、addConfiguration / removeConfiguration / addCopyOfConfiguration、addControlVariables / removeControlVariable、addConstraint / removeConstraint、getPreferredConfiguration / setPreferredConfiguration、Simulink.VariantManager.applyConfiguration、Simulink.VariantManager.activateModel、Simulink.VariantManager.getConfigurationData / getVariantConfigurations、Simulink.VariantManager.findVariantControlVars、Simulink.VariantManager.generateConfigurations、Simulink.VariantManager.reduceModel、getReferencedConfigurationName / addReferencedConfiguration、setVariantConfiguration / getVariantConfiguration(SimulationInput)、variantConfigUpdateModel 脚本、isConfigActive 等,各函数有对应的产品与可用版本信息。