2016-06-11 80 views
3

我目前正在使用Matlab从眼动仪使用特定工具箱采集数据。之后,数据流必须稍微处理并发送到C#应用程序(.NET框架)。整个数据流必须尽可能实时(数据采集和处理时间不超过30毫秒))。如何将软实时数据从Matlab传输到C#应用程序?

我需要一种方式来连接从Matlab和C#应用程序获取的数据。我正在考虑使用文本文件,但在这种情况下,应该在写入和读取操作之间存在同步。是否有任何方法将Matlab I/O操作与C#I/O操作同步?

回答

1

我可以建议三种方法:用一个标志文件

  1. 使用基于文件的同步。使用一个文件作为 的数据,另一个文件表示数据已准备好被 读取。数据文件读取后,标志文件被删除。这很容易实现,不需要任何额外的Matlab工具箱,但在尝试实现高数据速率或高速/低延迟同步时存在潜在问题。你基本上必须尝试一下,看看它是否可以在你的硬件上运行。
  2. 将您的Matlab程序编译成一个库(.dll),您可以从您的C#应用​​程序调用 。那么你只有一个应用程序。使用MATLAB Compiler SDK代替 这个。
  3. 使用TCP套接字在两个程序之间进行通信。 这样做的好处是允许两个程序在不同的计算机上运行,​​并且它也可以在同一台计算机上运行。 A Matlab示例给出here
+0

嗨,非常感谢您的回答。 – trilli

相关问题