在.txt文件中每隔0.008s从MATLAB Simulink获取数据

时间:2013-06-13 09:51:26

标签: c matlab simulink

我需要从我的simulink模型中获取数据,将其写入txt文件,让另一个程序读取它,并且每隔0.008s一次。

有什么办法吗?我所能得到的就是将数据输入工作空间

系统也是离散的

2 个答案:

答案 0 :(得分:1)

您应该使用To File block将数据保存到磁盘。它会为您找出正确的缓冲区大小等,并将数据写入磁盘。您只需要从其他程序轮询以获取新数据。

8毫秒通常不足以证明磁盘IO的开销是合理的,因此To File块需要更多来写入磁盘,而您的其他程序需要的不仅仅是读取。这显然会引入延迟。

如果您需要低延迟解决方案,请考虑使用DSP系统工具箱库中存在的UDP或TCP通信块。

答案 1 :(得分:0)

当然,如果没有更多细节,就不可能说出任何话。

多少数据?什么操作系统?如果你“错过”会怎么样?该文件是什么类型的磁盘? 真的是否必须是磁盘上的文件,你不能使用,例如管道或东西,以避免撞到磁盘? “其他程序”与数据有什么关系?

8毫秒并不是磁盘做任何事情的大量时间,你基本上会假设所有访问都在缓存中才能工作,因此将磁盘分解出来。使用管道或RAM磁盘。

对于典型的桌面操作系统来说,8毫秒也不是很多时间。