3

我希望为现有的 Simulink 模型设置一个测试集。理想情况下,我可以完全控制模型,明确地步进并测量模型中任何总线上的任何信号的状态。

正如可能已经收集到的那样,这是模型单元测试系统的前身。既然如此,我真的无法证明更改模型以适应测试是合理的,测试必须按原样适应模型。

到目前为止,我最远的是使用 load_model() 来返回模型的句柄。从那里似乎有一组非常模糊的用于访问模型的函数。我看不到任何与访问状态相关的内容,也看不到与访问已加载模型相关的任何其他命令。

4

2 回答 2

3

最简单的方法是Data Import/Export使用Simulink Preferences.

设置复选框States,它将在您的工作区中存储每个时间步的系统的每个状态,当您暂停模拟或逐步执行它时也是如此。

注意不要设置Save simulation output as single object,这种情况下访问会比较复杂,你需要按照这里的说明进行操作。

于 2013-10-14T09:47:02.993 回答
0

要添加到其他答案,您可能需要查看文档中的此页面:使用命令控制模拟set_param。感兴趣的是以下命令:

set_param(<model_name>, 'SimulationCommand', 'start')
set_param(<model_name>, 'SimulationCommand', 'pause')
set_param(<model_name>, 'SimulationCommand', 'WriteDataLogs')
set_param(<model_name>, 'SimulationCommand', 'continue')

替换<model_name>为模型文件的路径。

于 2013-10-14T11:56:16.473 回答