SuperAPI AI 工具集

slci-compatibility-analysis

通用与其它

查看项目

更新于 10-16 06:46

技能介绍

用途:判断 Simulink 模型的配置与结构是否满足 SLCI(Simulink Code Inspector)代码检查要求,并针对识别出的不兼容项应用修复。适用于用户询问模型是否可用于 SLCI、运行 checkCompatibility、分析兼容性结果或了解需先修复哪些问题。若已有 c.inspect() 检查结果需追溯根因,应改用 slci-inspection-incompatibility-analysis。

主要能力:通过 slci.Configuration 运行兼容性检查并返回结构化结果,而非解析 HTML 报告。

c = slci.Configuration('<model_name>'); results = c.checkCompatibility();

结果包含 System、Summary、CheckResults、VersionInfo;每条 CheckResults 含 CheckName、Status 与 getResultDetails()(Description、RecAction)。非 Passed 状态需关注。

修复:c.fixIncompatibilities(); 仅修复配置参数(如 TargetLang 设为 'C'、启用所需诊断),不修复 SystemTargetFile、结构性问题和块级参数违规。SystemTargetFile 需先手动设置,例如:

set_param('<model>', 'SystemTargetFile', 'ert.tlc');

约束与护栏:绝不修改原始模型,先复制为 <model_name>_fixed.slx,必要时一并复制 .sldd 或 .mat,并运行 fileattrib('<copy>', '+w') 确保可写;所有修复仅作用于副本。修复后必须生成 Post-Fix Change Report,记录参数、原值、新值、约束类别及已修复/剩余问题数量,保存为 <model_name>_fix_report_YYYY-MM-DD.md。

模型引用:顶层模型的 checkCompatibility 不会自动检查被引用模型,需逐个检查;可用 find_mdlrefs('<top_model>') 获取引用列表(顶层在最后)。DefaultParameterBehavior 在引用边界需为 'Inlined';受保护模型引用无法检查。

结果保存:存在警告或失败时,将结果保存为 <model_name>_compatibility_results_YYYY-MM-DD.md;全部通过则无需保存。

限制:fixIncompatibilities 不处理结构性不兼容、块级参数违规和模型架构问题;若存在 FATAL 结构问题应先手动修复。若复用 slprj/modeladvisor/<model>/report.html,需比对时间戳确认非过期。无 MCP 连接时可在批处理模式运行 MATLAB,超时 600 秒;大型模型建议后台运行。具体约束类别、严重级别与错误恢复细节见 incompatibility-guide.md 与 block_support_constraints.md。