Main Content

本页采用了机器翻译。点击此处可查看英文原文。

sldv.condition

Stateflow 图表和 MATLAB 功能模块的测试条件功能

说明

示例

sldv.condition(expr) 指定 expr 对于生成的测试用例中的每个时间步都为真。对 expr 使用任何有效的布尔表达式。

除了评估 expr 的任何间接副作用外,此函数没有输出,并且对其父函数也没有影响。如果从 MATLAB® 命令行发出此功能,则该功能无效。

sldv.condition 测试条件散布在 MATLAB 代码中或将条件分离到验证脚本中。

测试生成窗格中的测试条件选项适用于用sldv.condition函数和Test Condition模块表示的测试条件。

示例

全部折叠

使用MATLAB Function模块添加测试目标和测试条件。

下面的命令打开一个附加了sldvdemo_cruise_control模型的示例。打开模型。

openExample('sldv/CruiseControlTestGenerationExample')

将模型保存为 ex_sldvdemo_cruise_control

移除 speed模块信号的 Test Condition模块。此示例没有使用 Test Condition模块,而是使用了 sldv.testsldv.condition

从用户定义函数库中添加一个 MATLAB Function模块:

  1. 模块命名为 tests

  2. 打开模块并添加以下代码:

    function define_tests(speed, target)
    %#codegen
    
    sldv.condition(speed >= 0 && speed <= 100);
    sldv.test(speed > 60 && target > 40 && target < 50);
    sldv.test(speed < 20 && target > 50);
  3. 保存模型并返回顶层模型。

  4. 将该模块连接到speed模块和target模块的信号。

将更改保存到ex_environment_controller模型。

要生成测试用例,请在“Design Verifier”选项卡上点击“生成测试”。

输入参数

全部折叠

条件表达式,指定为布尔表达式。例如,x > 0

备选方法

您可以插入Test Condition模块,而不是使用sldv.condition模型。要了解 Test Condition 模块和 sldv.condition 之间的区别,请参阅 什么是测试用例生成?

您还可以使用 MATLAB 进行代码生成来指定测试条件,而无需使用 sldv.condition 函数。使用 sldv.condition 而不是直接使用 MATLAB 进行代码生成可以省去以下操作:

  • 用Simulink®模块表达约束。

  • 将条件输出明确连接到Simulink模块。

版本历史记录

在 R2009b 中推出