每次运行Simulink测试实时测试案例,如何避免重建模型?万博1manbetx

10次​​观看(最近30天)
I am trying to run Real-Time tests using Simulink Test and Simulink Real-Time (with Speedgoat hardware).
问题是我有时想多次进行相同的测试,但这需要很长时间才能完成。我认为这是因为模型重建(至少部分),并且每次运行测试时都会重新部署到硬件。我已经验证了部署到目标计算机的MLDATX文件在测试的每次运行时都会重建。但是,该模型的源代码,MEX文件等在每次运行时都没有重建,因此它不是完全“完整”的重建。我还尝试在一个测试套件中使用多个同一测试用例的副本,而MLDATX文件仍在重建每个测试用例。
这是复制步骤:
1)连接并配置SLRT目标计算机
2)打开测试管理器并创建实时测试案例
3)打开使用以下命令测试的演示模型:>> sltestProjectOndorController
4)在测试管理器中,转到测试案例并选择正确的目标机器
5)一次测试一次。由于生成了所有源代码和MEX文件,因此需要一些时间(在我的计算机上〜1分钟)。
6)再次进行测试。请注意,它比第一次运行快(在我的机器上〜30秒),但是该模型说“构建...”,即使模型中没有任何更改,MLDATX文件也会重新生成。
请注意,在此示例中,该模型构建并运行速度相当快,但是对于我的真实模型,构建和运行大约需要10分钟。
So the question is: is there a way to prevent the model from re-building and re-deploying if it is already loaded on the target hardware? Or, is there any other way to speed up multiple runs of the test?

接受的答案

数学工作Support Team
数学工作Support Team on 1 Dec 2021
Edited:数学工作Support Team on 1 Dec 2021
我有2个解决方法,可以允许您避免重建。
1)更改“测试系统”
如果您只想使用相同的确切模型来定义几个测试用例,该模型之后不会更改,在“测试系统”中,您可以使用“加载申请”下的以下选项之一:
“目标应用程序”:指定实时MLDATX文件,而不是模型,如果尚未加载,则将MLDATX文件加载到测试案例开头的目标
“目标计算机”:指定已加载实时应用程序的目标名称
2)使用迭代
如果你想使用定义多个测试用例same model and wants to sweep parameters between test cases, you can use iterations to achieve this. Only the first iteration will trigger a build and load; all subsequent iterations will sweep parameters and start execution on the target directly. For more information on creating iterations, you can refer to the following example:
另外,请注意,在指定从“到“目标应用程序”或“目标计算机”)指定“加载应用程序”时也可以定义迭代。

更多答案(0)

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

Start Hunting!