Labview时间戳记录

时间:2018-09-25 12:32:56

标签: loops time labview

我的LabView GUI中有一个数据循环,用于记录传感器数据。我的DAQ(滴答计数)中的数据中有一个时间戳,但我试图将数据与一个通用时间戳对齐(“我的高速环路”以20kHz运行,而“低速环路”以500Hz运行)。因此,我从DAQ的最高速度循环中创建了一个局部变量,然后将其注入到较慢的循环中,以为每次循环执行时它只会记录一次时间戳。我是对的,但时间戳是816个时间戳的数据包...所以我的数据如下所示:

数据.......时间
0 ..........时间
0 ..........时间
...
数据.......时间

我知道如何使用Matlab对此进行解析,但是我需要在LabView中对其进行更正。如何从816个数据点中每次循环迭代获得一个时间戳?对齐方式似乎是在时间戳包的末尾读取数据...

编辑:我尝试使用Size_of_array.vi和索引vi,如下所示,但我担心它只会用一个时间戳来填充500ms循环的数组。抱歉,我只能显示多少代码。

time loop

1 个答案:

答案 0 :(得分:0)

您使用哪个DAQ模块?为什么不从设备读取Waveform数据类型?如果您读过Waveform,并且它是一些cDAQ模块,那么您将拥有所有时间戳数据。之后,您可以手动“对齐”来自不同模块的数据时间戳(除非您使用触发式采集,在这种情况下,时间戳应该已经对齐)。 您实际上不能使用局部变量来同步时间戳,因为您可能会陷入竞争状态。 您是否检查了用于采集DAQ信号的LabVIEW示例?特别是关于两个模块的同步?也许可以帮到您;但是没有代码,很难说如何解决您的问题...