LABVIEW使用DAQ采集数据的完整过程
LABVIEW中DAQ完整采集数据的过程
JBL
2022-8-12
在实际的测试过程中,使用DAQ数据采集系统来采集传感器或其它数据是非常常见的,包括NI公司的采集卡,利用LABVIEW编制相应的软件达进行测试数据的采集及分析,除了NI公司的采集卡,也有一些其它公司的采集卡可以使用,通常这些公司会提供相应的驱动程序,也就是LABVIEW可以直接使用的一些命令等等。
使用NI采集卡采集数据时,可以直接使用它的命令集合:Measurement I/O—》NI DAQmx如下图所示:
一个完整的采集过程包括:通道设置(Channel Setting),时钟设置(Timing Setting),记录设置(Logging Setting){可选},触发设置(Trigger Setting),开始采集任务,数据读取,停止采集任务,清楚采集任务,错误清除。
1. 通道设置(Channel Setting)
Terminal Configuration:设置输入的配置,例如差分,准差分或单端等;
Min Voltage/Max Voltage:最小/最大输入电压;
Physical Channel:物理通道;
Terminal Configuration(输入端配置)
2. 时钟设置(Timing Setting)
Sample Mode:采样模式,有限采样或无限采样,选择有限采样后采样数据达到设置的数据后就会自动停止;
Sample Rate:采样率,每秒钟采样的数据;
Sample Clock Source: 采样时钟源,默认是采集卡的板载时钟
Number of Samples:每通道采样的数据量,系统会根据这个来设置缓冲区。每个采集卡都有限制,例如NI 6001是2047
3. 记录设置(Logging Setting){可选}
Operation:打开文件或创建文件
TDMS File Path:TDMS文件路径
Logging Mode:记录模式,OFF 或Read and Log
4.触发设置(Trigger Setting)
不是所有硬件都支持这种触发, 根据不同的硬件DAQ来设置触发。上图显示的模拟输入边缘触发模式。
Analog Start Trigger Source:触发通道,有效数据是通道名称和上面的通道设置一样的通道名称;
Analog Start Trigger Slope:上升沿或下降沿
Analog Start Trigger LEVEL: 触发幅值
还可以设置触发延时,设置触发属性“Start.AnlgEdge.Hyst” 如上图所示。
5. 开始采集任务
如果不使用这个开始采集任务DAQmx Start Task VI ,DAQmx Read VI运行时自动开始这个测试任务。也是隐性启动。如果不使用开始采集任DAQmx Start Task VI和停止采集DAQmx Stop Task VI,如果你多次使用DAQmx Read VI读取或DAQmx Write VI写入,例如在一个循环中,会不停的启动测试任务和停止测试任务,这样会影响系统的性能。
6 数据读取
数据读取一般使用循环来完成。
Number of Samples: 每通道读取的数据,一般和前面时钟设置的每通道数据一样大小,可以保证每次把数据都读取出来,如果选择-1,就是把缓冲区的数据全部读取;
蓝框里面可以选择很多不同的配置,例如:单通道单采样,单通道多采样,多通道单采样或多通道多采样等等。数据读取后可以放到数组或波形图
7. 停止采集任务
这个和开始采集任务一样,是显性的停止一个测试任务。停止采集任务后回到“开始采集任务”前的状态。
Stops the task and returns it to the state the task was in before the DAQmx Start Task VI ran or the DAQmx Write VI ran with the autostart
有时候会在停止采集任务之前增加一个DAQmx Wait Until Done (VI),这样保证在停止任务之前确保任务已经完成。或者是DAQmx Is Task Done(VI)的状态判断任务是否完成再来停止任务。
8. 清除采集任务
如上图,清除测试任务,释放所有占用的内存。在清除之前,VI会退出任务。清除任务之后,你不能再用这个任务了,需要重新创建任务。
Clears the task. Before clearing, this VI aborts the task, if necessary, and releases any resources the task reserved. You cannot use a task after you clear it unless you recreate the task.
9. 错误消除
如上图,一般一个VI结束之后都要有一个错误处理或消除的动作。
---完