您可以在类似于您的应用程序的环境中测试您的系统。首先在开发计算机上进行模型仿真,然后使用软件在环(SIL)和处理器在环(PIL)仿真。实时测试在可以连接到物理系统的独立目标计算机上执行应用程序。实时测试可以包括定时、信号接口、系统响应和生产硬件的影响。
实时测试包括:
快速原型,测试在连接到植物硬件独立目标的系统。您对验证要求和模型结果实时测试。使用快速原型的结果,你可以改变你的模型,并更新自己的要求,复试的独立目标之后。
硬件在环(HIL),测试已经通过验证的几个阶段,通常SIL和PIL仿真的系统。
这个例子说明工作流程创建和执行实时测试的主要步骤:
创建根据需求验证模型的测试用例。运行模型仿真测试并保存基线数据。
建立实时目标计算机。
创建实时测试,或再利用模型模拟的测试工具测试工具。在测试序列或试验评价块,验证
报告评估实时执行。在测试工具,使用目标和主机执行期间范围来显示信号。
在测试管理器,创建实时测试案例。
对于实时测试的情况下,配置目标设定,输入回调和迭代。添加基线或等价标准。
执行实时测试。
在测试管理器中分析结果。报告结果。
基准或等值比较可以,因为从实时目标计算机中缺少数据或时移数据的失败。在调查的实时测试失败,找时间偏移或丢失的数据点。
您不能覆盖从包含。的模型构建的应用程序的实时执行示例时间测试序列块。的生成的代码测试序列块包含一个硬编码的采样时间。重写目标计算机样本时间可产生意想不到的结果。
目标计算机必须有一个文件系统使用验证
声明和测试用例记录。
实时测试通常比比较模型测试花费更长的时间,特别是如果您执行一组覆盖多个场景的实时测试。在执行实时测试之前,使用桌面模拟完成基于需求的测试。使用桌面模拟结果:
调试你的模型或更改设计是符合要求的。
调试测试序列。使用测试序列编辑器中的调试特性。看到调试测试序列。
更新你的要求,并添加相应的测试用例。
实时测试需要一个独立的目标计算机。金宝app®测试™只支持运行金宝app目标计算机金宝app仿真软件实时™。有关更多信息,请参阅:
开发计算机设置和配置(金宝app实时仿真软件)
Simulink实时故障排除金宝app(金宝app实时仿真软件)
实时应用程序需要特定的配置参数和信号属性。
实时测试用例需要一个实时系统目标文件。在模型或线束配置参数上应用选项卡,在“代码生成”下,单击金宝app仿真软件编码器。在C代码选项卡,验证系统目标文件slrt.tlc
。如果按钮在产量部分是自定义的目标,单击该按钮并验证自定义目标是slrt.tlc
。如果不是,则选择选择系统目标文件并选择slrt.tlc
生成系统目标代码。
如果您的模型需要不同的系统目标文件,您可以使用测试用例或测试套件回调来设置参数。在执行实时测试之后,使用清理回调将参数设置为其原始设置。例如,此回调打开模型并将系统目标文件参数设置为slrt.tlc
为模型sltestProjectorController
。
open_system (fullfile (matlabroot,“工具箱”,'金宝appsimulinktest',...“金宝appsimulinktestdemos”,'sltestProjectorController'));set_param ('sltestProjectorController',“SystemTargetFile”,'slrt.tlc');
模型必须使用数据格式数据集
。设置数据格式:
打开配置参数。
选择数据导入/导出窗格。
选择格式。
配置您感兴趣的信号进行实时测试:
在“数据导入/导出”窗格的配置参数中启用信号日志记录。
连接信号范围块的金宝app实时仿真软件块库。设置范围类型属性文件
。
名称中使用的信号特性感兴趣的每个信号。未命名的信号可以分配不匹配的基线或等价信号的名称的默认名称。
在这个例子中的测试工具,所记录的信号:
有明确的名称。
使用文件范围将信号数据返回给测试管理器。
使用目标范围在目标计算机上显示数据。
要在实时执行期间在目标计算机上显示信号,请将目标范围添加到您的测试工具中。中显示信号金宝app实时仿真软件资源管理器,添加主机范围。这个测试工具包括用于信号可视化的目标和主机范围。看到范围。
使用测试管理器来创建实时测试用例。
在Simuli金宝appnk工具条中应用在模型验证,验证和测试选项卡,选择金宝app仿真软件测试。
请点击金宝appSimulink的测试经理。
在测试管理器中,选择新>实时测试。
您可以选择基线、等效性或模拟实时测试。对于模拟测试类型,验证
语句作为测试结果中的通过/失败标准。对于等价性和基线测试类型,等价性或基线标准也可以作为通过/失败的标准。
基线-将从目标计算机返回的信号数据与测试用例中的基线进行比较。要将实时执行结果与模型模拟结果进行比较,请将模型基线结果添加到实时测试用例中,并对信号应用可选的公差。
等价-比较信号数据从一个模拟和一个实时测试,或两个实时测试。在目标计算机上进行实时测试,然后将结果与模型仿真进行比较:
选择目标模拟1。
清晰的目标模拟2。
测试用例显示了两个模拟部分,模拟1和模拟2。
比较两个实时测试是相似的,除了您在目标上选择了两个模拟。在等价标准部分中,您可以捕捉从模拟信号记录和申请公差通过/失败分析。
模拟:仅用于评估测试结果验证
语句和实时执行。如果没有验证
语句失败,实时测试执行,测试用例通过。
使用此选项,指定您希望如何加载实时应用程序。实时应用程序是由您的模型或测试工具构建的。你可以从:
模型——选择模型
如果您是第一次运行实时测试,或者您的模型是在最后一次实时执行之后更改的。模型
通常需要最长的时间,因为它包括模型构建和下载。模型
从模型加载应用程序,构建实时应用程序,将其下载到目标计算机,并在目标计算机上执行。
目标应用程序——选择目标应用程序
从主机的目标应用程序发送到目标计算机,并执行应用程序。目标应用程序
如果您希望在多个目标上加载已构建的应用程序,那么它可能非常有用。
目标计算机-此选项执行已经加载到实时目标计算机上的应用程序。您可以更新测试用例中的参数并使用以下命令执行目标计算机
。
此表总结了为每个选项执行哪些步骤和回调。
测试用例执行步骤(从第一步到最后一步) | 加载应用程序从 | ||
---|---|---|---|
模型 | 目标应用程序 | 目标计算机 | |
执行预先加载回调 | 是的 | 是的 | 是的 |
加载仿真软件金宝app模型 | 是的 | 没有 | 没有 |
执行负荷后回调 | 是的 | 没有 | 没有 |
两组信号生成器组 | 是的 | 没有 | 没有 |
从模型构建实时应用程序 | 是的 | 没有 | 没有 |
下载实时应用到目标计算机 | 是的 | 是的 | 没有 |
设置运行时参数 | 是的 | 是的 | 是的 |
执行预启动实时回调 | 是的 | 是的 | 是的 |
执行实时应用 | 是的 | 是的 | 是的 |
执行清理回调 | 是的 | 是的 | 是的 |
选择要从中生成实时应用程序的模型。
如果您使用测试工具来生成实时应用程序,请选择测试工具。
对于实时测试,您可以覆盖模拟停止时间,这在调试实时测试失败时非常有用。考虑一个返回a的60秒测试验证
在15秒时声明衰竭模型中的一个bug。调试你的模型后,您执行实时测试,以验证该修补程序。您可以覆盖停止时间终止在20秒内执行,这缩短了验证补丁的时间。
实时测试提供了开始实时应用回调刚刚在目标计算机上的应用程序执行之前执行命令。实时测试回调的顺序执行与模型负载,编译,下载一起,并执行步骤。回调和逐步执行取决于如何测试负载的情况下应用。
序列 | 从加载应用程序: 模型 |
从加载应用程序: 目标应用 |
从加载应用程序: 目标计算机 |
---|---|---|---|
执行第一 | 预紧回调 |
预紧回调 |
预紧回调 |
Post-load回调 |
- | - | |
开始实时回调 |
开始实时回调 |
开始实时回调 |
|
最后执行 | 清理回调 |
清理回调 |
清理回调 |
您可以执行实时测试迭代。迭代是便于执行实时测试,通过参数值或信号生成器组扫描。结果似乎通过迭代进行分组。有关设置迭代的更多信息,请参阅测试迭代。您可以创建:
属性中定义多个参数集参数将覆盖测试用例的部分。下迭代>表迭代,点击自动生成并选择参数集。
来自信号生成器组的表格式迭代——如果您的模型或测试工具使用信号生成器输入,则在下面迭代>表迭代,点击自动生成并选择信号构建器组。如果您使用的信号生成器组,加载从模型中的应用。
脚本迭代 - 使用模型变量或参数使用脚本进行迭代。例如,在模型sltestRealTimeOscillatorTestExample
中,SettlingTest
利用使用测试序列使用该参数为振荡器系统创建方波测试信号频率
。
在测试文件SettlingTestCases
,实时测试脚本迭代覆盖从5hz到35hz的频率扫描。脚本迭代的值为频率
在测试序列块。
%%重复频率,以确定最佳的振荡器设置%创建参数集FREQ = 5.0:1.0:35.0;为i_iter = 1:长度(频率)创建迭代对象testItr = sltestiteration();%设置参数setVariable (testItr'名称',“频率”,“源”,...测试序列的,'值'频率(i_iter));%注册迭代addIteration (sltest_testCase testItr);结束
验证
语句除了基线和等效信号比较之外,您还可以使用以下工具来评估实时测试执行验证
语句。一个验证
语句评估逻辑表达式并将结果返回给测试管理器。使用验证
在一个测试序列或试验评价如果你有一个Stateflow®许可,一个状态流图表英寸看到使用验证语句评估模型仿真。