在实时显示测试模型

您可以在您的类似应用环境测试系统。你开始用在开发计算机上仿真模型,然后用软件在环(SIL)和处理器在环(PIL)模拟。实时测试执行独立的目标计算机上的应用程序,可以连接到物理系统。实时测试可包括时序,信号接口,系统响应,和生产硬件的影响。

实时测试包括:

  • 快速原型,测试在连接到植物硬件独立目标的系统。您对验证要求和模型结果实时测试。使用快速原型的结果,你可以改变你的模型,并更新自己的要求,复试的独立目标之后。

  • 硬件在环(HIL),测试已经通过验证的几个阶段,通常SIL和PIL仿真的系统。

整个工作流程

这个例子说明工作流程创建和执行实时测试的主要步骤:

  1. 创建测试用例验证对需求的模型。运行模型模拟试验和保存基线数据。

  2. 建立实时目标计算机。

  3. 创建实时测试,或再利用模型模拟的测试工具测试工具。在测试序列要么试验评价块,校验报告评估实时执行。在测试工具,使用目标和主机执行期间范围来显示信号。

  4. 在测试管理器,创建实时测试案例。

  5. 对于实时测试的情况下,配置目标设定,输入回调和迭代。添加基线或等价标准。

  6. 执行实时测试。

  7. 分析测试管理的结果。报告结果。

实时测试注意事项

  • 基准或等值比较可以,因为从实时目标计算机中缺少数据或时移数据的失败。在调查的实时测试失败,找时间偏移或丢失的数据点。

  • 你不能覆盖的实时执行采样时间从包含模型构建的应用程序测试序列块。所生成的代码测试序列块包含一个硬编码的采样时间。重写目标计算机样本时间可产生意想不到的结果。

  • 目标计算机必须有一个文件系统使用校验声明和测试用例记录。

完成基本的模型试验

实时测试往往需要更长的时间比比较模型的测试,特别是如果你执行了一套涵盖几种情况的实时测试。执行实时测试之前,完全基于需求使用桌面仿真测试。使用桌面仿真结果:

  • 调试你的模型或更改设计是符合要求的。

  • 调试测试序列。使用测试序列编辑器的调试功能。看到调试测试序列

  • 更新你的要求,并添加相应的测试用例。

设置目标计算机

实时测试需要一个独立的目标计算机。万博1manbetx®测试™只支持运行万博1manbetx目标计算机万博1manbetxSimulink的实时™。欲了解更多信息,请参见:

配置模型或测试工具

实时应用程序需要特定的配置参数和信号性能。

代码生成

实时测试用例需要一个实时系统的目标文件。在该模型中或线束的配置参数,对应用选项卡,代码生成下,单击万博1manbetxSimulink的编码器。在里面C代码选项卡,验证系统目标文件slrt.tlc。如果按钮产量自定义目标,点击该按钮并确认自定义目标slrt.tlc。如果不是,请选择选择系统目标文件并选择slrt.tlc生成系统目标代码。

如果你的模型需要不同的系统目标文件,您可以设置使用测试用例或测试套件回调的参数。实时测试执行后,将该参数设置为同一个清理回调原来的设置。例如,这个回调将打开模型,并设置系统目标文件参数slrt.tlc为模型sltestProjectorController

open_system(完整文件(matlabroot,'工具箱''万博1manbetxsimulinktest'...'万博1manbetxsimulinktestdemos''sltestProjectorController'));set_param('sltestProjectorController''SystemTargetFile''slrt.tlc');

数据导入/导出格式

模型必须使用比其他的数据格式数据集。要设置数据格式:

  1. 打开配置参数。

  2. 选择数据导入/导出窗格。

  3. 选择格式

从实时执行日志信号

要配置您的实时检测感兴趣的信号:

  • 启用配置参数信号记录在数据导入/导出窗格。

  • 连接信号范围从块万博1manbetxSimulink的实时块库。设置范围类型属性文件

  • 名称中使用的信号特性感兴趣的每个信号。未命名的信号可以分配不匹配的基线或等价信号的名称的默认名称。

在这个例子中的测试工具,所记录的信号:

  • 有明确的名称。

  • 使用文件范围来的信号数据返回给测试管理器。

  • 使用目标作用域到目标计算机上显示的数据。

查看信号在实时执行

要显示实时执行期间,在目标计算机上的信号,加目标作用域到你的测试工具。要显示的信号万博1manbetxSimulink的实时资源管理器中,添加主机作用域。此测试工具包括用于信号可视化两个目标和主机作用域。看到范围

添加测试用例实时测试

使用测试管理器来创建实时测试案例。

  1. 在Simuli万博1manbetxnk工具条,在应用在模型验证,验证和测试选项卡,选择万博1manbetxSimulink的测试

  2. 请点击万博1manbetxSimulink的测试经理

  3. 在测试管理器中选择>实时测试

测试类型

您可以选择一个基准,对等,或者模拟实时测试。对于模拟测试类型,校验语句作为合格/在测试结果不合格标准。对于等价和基线测试类型,等价或基准标准还用作合格/不合格标准。

  • 底线- 比较从目标计算机返回到在测试情况下,基线信号数据。要比较一个实时的执行结果与模型模拟结果,该模型的基准结果添加到实时测试案例和应用可选的公差的信号。

  • 等价- 从一个模拟和实时测试,或两个实时测试比较信号数据。要运行目标计算机上的实时测试,然后比较结果到模型模拟:

    • 选择目标模拟1

    • 明确目标模拟2

    测试用例显示两个模拟部分,模拟1模拟2

    比较两种实时测试是相似的,除了可以在目标选择两个模拟。在里面等价标准部分中,您可以捕捉从模拟信号记录和申请公差通过/失败分析。

  • 模拟:评估仅使用所述测试结果校验报表和实时执行。如果不校验声明失败,并且实时测试执行,测试的情况下通过。

加载应用程序从

使用此选项,指定要如何加载实时应用。实时应用程序从您的模型或测试工具构建的。您可以从加载应用程序:

  • 模型- 选择模型如果你运行的是第一次实时测试,或者你的模型,因为最后的实时运行而改变。模型通常花费的时间最长,因为它包括模型的构建和下载。模型负载从模型中的应用,构建了实时应用程序,它会下载到目标计算机,并执行它在目标计算机上。

  • 目标应用程序- 选择目标应用程序从主机的目标应用程序发送到目标计算机,并执行应用程序。目标应用程序如果要加载多个目标上已经构建的应用程序可以是有用的。

  • 目标计算机- 此选项执行已加载的实时目标计算机上的应用程序。您可以更新测试用例的参数和使用执行目标计算机

这其中的步骤和回调表总结了执行每个选项。

测试用例执行步骤(第一个到最后) 加载应用程序从
模型 目标应用程序 目标计算机
执行预先加载回调
加载Simu万博1manbetxlink模型 没有 没有
执行负荷后回调 没有 没有
两组信号生成器组 没有 没有
从构建模型的实时应用程序 没有 没有
下载实时应用到目标计算机 没有
集运行时参数
执行预启动实时回调
执行实时应用
执行清理回调

模型

选择要从哪个模型来生成实时应用。

测试工具

如果您使用的测试工具来生成实时应用程序,选择测试工具。

仿真设置覆盖

对于实时测试,可以覆盖仿真停止时间,这在调试实时测试失败有用。考虑一个60秒的测试回报校验在15秒时声明衰竭模型中的一个bug。调试你的模型后,您执行实时测试,以验证该修补程序。您可以覆盖停止时间终止在20秒内执行,这缩短了验证补丁的时间。

回调

实时测试提供了一个提前启动实时应用回调刚刚在目标计算机上的应用程序执行之前执行命令。实时测试回调的顺序执行与模型负载,编译,下载一起,并执行步骤。回调和逐步执行取决于如何测试负载的情况下应用。

序列

从加载应用程序:

模型

从加载应用程序:

目标应用

从加载应用程序:

目标计算机

执行第一

预紧回调

预紧回调

预紧回调

负荷后回调

- -

预启动实时回调

预启动实时回调

预启动实时回调

最后执行

清理回调

清理回调

清理回调

迭代

您可以执行实时测试迭代。迭代是便于执行实时测试,通过参数值或信号生成器组扫描。结果似乎通过迭代进行分组。有关设置迭代的更多信息,请参阅测试迭代。您可以创建:

  • 从参数组提出的迭代 - 定义在几个参数集参数覆盖测试用例的部分。下迭代>表迭代,点击自动生成并选择参数设置

  • 从信号生成器组提出的迭代 - 如果你的模型或测试工具使用的信号输入建设者,下迭代>表迭代,点击自动生成并选择信号生成器组。如果您使用的信号生成器组,加载从模型中的应用。

  • 脚本迭代 - 使用模型变量或参数使用脚本进行迭代。例如,在模型sltestRealTimeOscillatorTestExample中,SettlingTest线束使用测试序列块来用于使用所述参数的振荡器系统产生的方波测试信号频率

    在测试文件SettlingTestCases中,实时测试脚本迭代覆盖从5赫兹的频率扫描到35赫兹。该脚本迭代的值频率在里面测试序列块。

    %%迭代频率来确定最佳振荡器设置%创建参数集FREQ = 5.0:1.0:35.0;对于i_iter = 1:长度(频率)%创建迭代对象testItr = sltestiteration();%设定参数setVariable(testItr,'名称''频率''资源'...“测试序列”'值',频率(i_iter));%注册迭代addIteration(sltest_testCase,testItr);结束

评估实时执行使用校验声明

除了基线和等价的信号进行比较,则可以使用评价实时测试执行校验声明。一个校验声明评估的逻辑表达式并将结果返回到测试管理器。用校验测试序列要么试验评价阻止或,如果你有一个Stateflow的®许可,一个状态流图表英寸看到评估模型仿真验证使用语句

相关话题