我需要从我的 simulink 模型中获取数据,将其写入 txt 文件,让另一个程序读取它,并且每 0.008 秒读取一次。
有什么办法吗?我所能得到的就是将数据放入工作区
系统也是离散的
您应该使用To File 块将数据保存到磁盘。它将为您计算出正确的缓冲区大小等,并将数据写入磁盘。您只需从其他程序进行轮询即可获取新数据。
8 毫秒通常不足以证明磁盘 IO 的开销是合理的,因此 To File 块需要更多的时间来写入磁盘,而您的其他程序需要更多的时间来读取。这显然会引入延迟。
如果您想要更低延迟的解决方案,请考虑使用 DSP System Toolbox 库中存在的 UDP 或 TCP 通信块。
当然,如果没有更多细节,就不可能说任何话。
多少数据?什么操作系统?如果你“错过”会怎样?文件在什么类型的磁盘上?它真的必须是磁盘上的文件吗,您不能使用例如管道或其他东西来避免撞击磁盘吗?“其他程序”与数据有什么关系?
8 毫秒对于磁盘执行任何操作来说并不是很多时间,您基本上会假设所有访问都在缓存中以便工作,因此将磁盘排除在外。使用管道或 RAM 磁盘。
对于典型的桌面操作系统来说,8 毫秒的时间也不算多。