触发固定长度的数据捕获从无限长的仿真软件模拟(实时)金宝app
1视图(30天)
显示旧的评论
我目前使用仿真软件和实时窗口目标为了控制和金宝app半系统上执行测试。硬件设备是不稳定的,所以我设计了一个简单的闭环控制器仿真软件在测试期间保持系统稳定。金宝app我使用一个固定的离散解算器(没有连续的状态)。
测试时间持续约一个小时,所以我使用了“正”模拟结束时间保持控制器的操作技巧。然而,我需要执行一系列的30秒的数据收集试验在这个小时。这些数据捕获时间必须由技术人员手动激活。
给定数据采集期间,我想保存30秒长度的几个信号到工作区。现在,假设技术员开始一段数据捕获按下一个按钮在指导GUI。我熟悉GUI修改模型参数在运行时。金宝app
而使用m或C实现这个功能很简单,我画一个空白如何用仿真软件。金宝app似乎触发或启用子系统模块可以使用,但是我不知道如何可以“关闭”在正确的时间。特别是,(似乎)无法代码for循环工作时间步长和时间步长,而不是在一个时间步是令人沮丧的。
有好方法在仿真软件实现此功能?金宝app感谢任何帮助。
0评论
接受的答案
Jan Houska
2014年10月13日
这可以通过利用外部模式触发功能。模型中,把模拟输入(或任何)块以外的任何触发或启用子系统,以便它测量数据对整个实验的持续时间。然后,使用外部模式只记录你感兴趣的间隔。
要做到这一点,去
代码
,
外部模式控制面板
,
触发信号
。在那里,选择
持续时间
参数,它对应于30秒——例如,1 kHz的采样率,这将是30.000样品,所以你会设置这个
持续时间
。然后,设置
模式
来
只有一次的
,所以数据记录停止并不是re-triggered经过一个缓冲的数据收集。最后,取消选择
当连接到目标
所以,数据记录不开始后立即模型开始,并关闭GUI。
然后,构建和运行模式,离开
外部模式控制面板
开放。每次你想记录数据,按下
手臂触发
按钮,你会得到一个缓冲的数据。如果你喜欢来构建自己的GUI,命令行设置外部模式参数的等价物,武装扳机确实存在。
你也可以看一下
数据归档
功能,允许您自动保存捕获的数据缓冲区与自动递增mat文件名称,所以你不需要照顾阅读捕获缓冲区从工作区。
进一步自动化该过程,如果你想,你可以设置外部模式时自动启动日志记录一些信号穿过一个指定值,这还可以包括pre-trigger(启动日志记录
之前
触发事件发生时)。有关更多信息,请参阅文档。