寻求有关 Labview 数据收集程序的帮助。如果我可以在每个通道以 8kHz(提供 16 个数据点)收集 2ms 的数据(我正在使用 National Instruments 数据采集板在 4 个模拟通道上收集数据)。DAQ-MX 采集任务提供 4 个波形的一维数组。
如果我不显示数据,我可以做的所有计算时间大约是 2 毫秒,如果处理循环稍微落后于收集循环,那也没关系。在 Labview 的前面板中更新图表会引入不可接受的延迟。我们不需要非常快速地更新显示,可能 5-10Hz 就足够了。但我不知道如何设置。
我当前的 Labview VI 有三个并行循环
- 用于数据收集的定时循环
- 用于分析和处理的循环
- 用于将数据作为 TDMS 文件缓存到磁盘的低优先级循环
使用队列将数据从收集循环传递到其他循环。Labview 的例子给了我一些想法,但我被卡住了。
任何建议、参考、想法将不胜感激。
谢谢
阿齐姆
跟进问题
eaolson 建议我重新采样数据以进行显示。来自 DAQ-MX 读取的数据是一维波形数组。所以我需要以某种方式构建或连接每个通道的波形数据。然后在更新前面板图表之前重新采样数据。我想最好的方法是对数据进行排队,并在显示循环中将堆栈构建出列并根据屏幕分辨率重新采样数据,然后更新图表。有没有其他办法。我将在(NI Labview 论坛)[ http://forums.ni.com/ni/board?board.id=170]上查看 eaolson 建议的更多信息。
更新
- 将图表的可接受更新率更改为 5-10Hz(感谢 Underflow 和 eaolson)
- 磁盘缓存循环是低优先级的(感谢 eaolson)
- 感谢所有的回复。