主要内容

使用状态流程图进行测试工具的输入和调度

使用状态流程图进行测试利用调度

您可以使用一个测试序列块(test Sequence block),一个MATLAB来定义测试装置调度®函数块或状态流®图表。如果您使用状态流图作为调度程序,则可以使用测试序列块或MATLAB函数块中不可用的状态流特性。您可以通过使用statflow变量、图形函数、超级转换和超级步骤来定义更复杂的调度。例如,使用statflow变体,您可以在单个测试工具中指定多个测试场景。如果您不需要测试多个测试场景或使用复杂的序列逻辑,请使用test sequence块,它有更简单的语法用于测试调度。

请注意

您必须拥有statflow许可证才能使用测试工具输入或调度图表。

要使用状态流图作为测试利用测试调度器,被测试的模型或子系统必须至少有一个函数调用信号。

当从模型中设置测试工具时,使用图表作为调度程序的步骤如下:

  1. 在模型或子系统中,右键单击并选择测试工具>创建的模型创建<子系统>,分别。

    • 对于模型,在“创建测试工具”对话框中,设置为函数调用和速率添加调度器图表

    • 对于子系统,在“创建测试工具”对话框中,设置生成函数调用信号图表

    一个名为Simulink F金宝appunction scheduler的图表被添加到测试工具中。

  2. 打开状态流图,并使用状态流状态、转换和其他对象定义测试序列。statflow状态的作用与Test sequence块中的序列步骤相同。转换定义了从一个状态移动到另一个状态的标准。

要以编程方式将状态流图指定为调度器,请设置SchedulerBlock的属性sltest.harness.create图表

使用状态流程图作为测试利用源

当从模型创建测试工具时,使用图表作为测试工具源的步骤如下:

  1. 在模型或子系统中,右键单击并选择测试工具>创建的模型创建<子系统>,分别。

  2. 在“创建测试工具”对话框中源和汇部分中,选择图表而不是轮廓尺寸

    一个图表被添加到测试工具中。例如,

  3. 打开状态流图,并使用状态流逻辑定义测试控制源。

要以编程方式指定状态流图作为源,请设置的属性sltest.harness.create图表

作为测试利用调度程序和源代码的状态流程图

这个例子展示了如何在测试工具中使用单个状态流图作为测试调度程序和源代码。测试装置sltest_autosar_chart.slx模型在本例中已经创建。

sltest_autosar_chart是汽车节气门位置控制器的AUTOSAR组合模型。AUTOSAR组合模型包含一个相互连接的模型块网络,每个模型块代表一个原子AUTOSAR软件组件(ASWC)。Simu金宝applink的输入端口和输出端口代表AUTOSAR端口。信号线代表AUTOSAR组件连接器。

捕获主节气门和副节气门位置的输入是使用外部时间序列输入建模的,并直接通过图表输入,无需修改。当一些刺激输入可以建模,而其他输入只能作为外部捕获的数据使用时,这种建模风格非常有用。

在运行本示例之前,先导航到具有写权限的目录。

打开模型

open_system (“sltest_autosar_chart”

打开测试工具

已经为这个示例创建了测试工具。

这个图像显示了创建测试工具对话框的部分图表被选择为源和调度器。您不需要重新创建测试工具。

要打开这个工具,请使用编辑器画布右下角的透视图控件并单击内部测试工具

测试装置打开。

打开状态流程图

双击测试工具中的图表以查看调度逻辑。

被测部件(AUTOSAR模型)需要加速踏板位置传感器输入APP_HwIO_Value图中以三个州为模型。

初始化状态将输入设置为标称值(170)和运行State模型一个稳定的加速度命令为950毫秒。文件中的加速命令被重置为标称值终止状态。

被测试的组件使用导出功能建模风格。(见导出功能模型概述.)当创建测试工具时,将其状态流图配置为调用每个根级Simulink Function块,并向模型中的每个函数调用子系统发送触发器事件。金宝app在本例中,发送触发事件的代码在刺激波形生成后处于每种状态。

运行模型

从测试工具运行模型。要查看节流命令输出,请打开测试线束中的Scope。

另请参阅

||

相关的话题