我目前正在从事一个项目,该项目涉及Simulink中的数据采集和实时处理。我们继承了一些相当时髦的数据采集卡硬件,这些硬件是专门为这个项目购买的--即美国国家仪器公司的cDAQ设备。在这一点上,更换硬件的成本太高。
我以前见过使用DAQ工具箱的Simulink模块,所以很自然地认为我可以在Simulink中使用我们的cDAQ。然而,在进一步的调查中,这些模块似乎只适用于PCI NI设备,而不是像我们这样的“紧凑型”USB设备。
我已经创建了一个解决方法,编写了一个二级M-S函数,它使用DAQ工具箱的基于会话的接口,将传入数据放入队列中,并通过onOutputs中的输出端口将其推出。这似乎运行得很好。
我的问题是:为什么MathWorks决定不让他们的数据采集块与cDAQ设备一起工作?我知道USB倾向于有一些延迟问题,但我真的疯狂地认为这是可能的吗?我甚至可以说,它实际上看起来相当简单,但肯定有动机在DAQ工具箱中缺乏对cDAQ设备的Simulink支持。我是不是把问题过于简单化了?如果是这样,又是如何做到的呢?
谢谢你的帮助。
发布于 2013-03-27 22:37:19
Mathworks的动机可能是由需求驱动的,可能没有很多用户要求它。
不知道这是否对您有帮助,但是编写C库来进行数据采集非常容易,而且可能更快。然后,您可以从Simulink调用库中的函数。此解决方案还具有让您完全控制DAQ板的优势。DAQmx的发行版磁盘有很多C示例。
https://stackoverflow.com/questions/15658845
复制相似问题