如何在高速率收集多通道数据时定期更新Labview图表

Azi*_*zim 1 labview daq-mx

寻求Labview数据收集计划的一些帮助.如果我可以在每个通道以8kHz(提供16个数据点)收集2ms的数据(我使用National Instruments数据采集板在4个模拟通道上采集数据).DAQ-MX收集任务提供4个波形的一维阵列.

如果我不显示数据我可以做的所有计算时间大约是2ms,如果处理循环落后于收集循环,则可以.在Labview的前面板中更新图表会引入不可接受的延迟.我们不需要非常快速地更新显示器,可能在5-10Hz就足够了.但我不知道如何设置它.

我目前的Labview VI有三个并行循环

  1. 用于数据收集的定时循环
  2. 用于分析和处理的循环
  3. 用于将数据缓存为TDMS文件的低优先级循环

使用队列将数据从集合循环传递到其他循环.Labview示例给了我一些想法,但我被卡住了.

任何建议,参考,想法将不胜感激.

谢谢

阿齐姆

跟进问题

eaolson建议我重新对数据进行采样以用于显示目的.来自DAQ-MX读数的数据是一维波形阵列.所以我需要以某种方式构建或连接每个通道的波形数据.然后在更新前面板图表之前重新采样数据.我想最好的方法是对数据进行排队,并在显示循环中使堆栈构建出列,并根据屏幕分辨率重新采样数据,然后更新图表.会不会有任何其他方法.我将查看(NI Labview论坛)[ http://forums.ni.com/ni/board?board.id=170]以获取eaolson提供的更多信息.

更新

  1. 将图表的可接受更新率更改为5-10Hz(感谢Underflow和eaolson)
  2. 磁盘缓存循环是低优先级的(感谢eaolson)
  3. 感谢所有的回复.

Joe*_*e Z 5

您的整体架构描述听起来很稳固,但是......对于任何非平凡的图表来说,达到30Hz都是具有挑战性的.在尝试实现之前,请确保您确实需要该速率.优化到该级别可能需要一些时间.

应该有用的参考资料:

您可以推迟面板更新.这样可以防止前面板刷新,直到您准备好它为止,这样您就可以在后台缓冲数据,并且只能偶尔绘制它.

你应该知道(a)同步显示.此选项允许对显示速率进行一些控制.

有一些关于加速执行的一般建议.

在LAVA论坛上有关于执行速度的(有点过时的)报告.如果您需要优化速度,那么在LAVA论坛上搜索是一个好主意.