分析 Initialize、Reset、Reinitialize 和 Terminate 函数的计划测试框架
当您拥有一个包含 Initialize、Reinitialize、Reset 和 Terminate Function 模块的导出函数模型以及被测模型的调度程序框架时,您可以执行:
设计错误检测分析
测试生成分析
通过运行模型顾问检查 Simulink® Design Verifier™ 对模型进行质量分析
当您对此类模型执行设计错误检测分析时,Simulink Design Verifier 会显示不兼容性,表明该模型包含 Simulink Design Verifier 不支持的 Reinitialize Function 或 Reset Function 模块。
为了解决这种不兼容性,请生成一个测试框架,提供调用重新初始化或重置函数的时间表。然后,您可以分析包含明确入口点的框架模型。有关详细信息,请参阅 Create Test Harness to Generate Function Calls。
使用初始化函数、重置函数和 Terminate Function 模块为模型生成测试用例
此示例显示如何为测试框架生成测试,该测试框架对事件调度程序建模以触发初始化函数、重置函数和 Terminate Function 模块内容的执行。
模型描述
模型 sldvExportFcnIRTScheduler 仿真函数调用事件。sldvExportFcnIRT 模型被 sldvExportFcnIRTScheduler 模型中的 Model 模块引用。使用 Stateflow® 图建模的事件调度程序生成函数调用事件,从而驱动模型的执行。初始化函数和 Reset Function 模块从 NVRAM 数据存储器中读取 Discrete-Time Integrator 模块状态,Terminate Function 模块将这些状态写入数据存储器。
打开模型 sldvExportFcnIRTScheduler.
open_system('sldvExportFcnIRTScheduler')
执行测试生成分析
要对模型执行测试生成分析,请在 Design Verifier 选项卡的 Analyze 部分中点击 Generate Tests。
Simulink Design Verifier 为模型生成测试用例。Simulink Design Verifier 结果摘要窗口显示测试生成已成功完成。有关测试生成分析的更多信息,请参阅 。

查看分析结果
sldvExportFcnIRT Model 模块以红色突出显示,表示满足其测试目标的测试用例。分析报告显示,一个目标已经满足。

双击 sldvExportFcnIRT 子系统,查看分析后的初始化函数、重置函数和 Terminate Function 模块。

要访问详细的分析报告,点击结果窗口中的 HTML。
限制
Simulink Design Verifier 不支持在以下情况下分析计划执行 Initialize Function、Reset Function、Reinitialize Function 和 Terminate Function 模块的测试框架:
执行增强型 MCDC 或属性证明分析。
使用引用基于速率的模型参考并启用初始化、重置、重新初始化和终止端口的模型模块。
使用包含 Observer Reference 模块的框架模型。
使用在根级别具有多个模型模块的框架模型。
使用包含以下内容的模型参考:
可变大小的输入。
模型参考层次结构中具有未连接触发端口的函数调用子系统。
Simulink Function 模块在其模型参考层次结构中具有输入端口和输出端口。
Stateflow® 图形函数。
通过信号路由模块(例如 Mux、Demux 和 Vector Concatenate)将输入或输出信号连接到来自不同维度的父模型的信号。
注意
如果 Reset、Reinitialize 或 Terminate 子系统没有从相应的事件端口接收到函数调用事件信号,Simulink Design Verifier 分析将忽略这些子系统的行为。