作为菜鸟,对于看懂这张图实在是鸭梨很大,请教各位大虾,如何读懂这个程序。一个关于数据采集的程序。关于这个程序我掌握的就是这些了。
⑴
DeviceOpen(如图中1所示):该VI是用来打开指定的设备端口,并返回一个驱动句柄,之后所执行的子 VI 得到的配置参数都是基于该句柄来获得的。⑵
AllocDSPBuf(如图中2所示):为用户缓冲区分配空间并设置其数据以电压形式显示。⑶Mul
tiChannelINTSetup(如图中
3所示):当中断事件使能后,这个子VI就开始以多通道中断触发方式的进行A/D 转换,该子VI 在运行过程中会自动调用 AllocINTBuf 子 VI,将转换后数据储存到内部缓冲区,直到程序调用 FAIStop VI时停止A/D转换。通过这个子 VI 可进行采样率,循环方式,FIFO缓存器等参数的设置。⑷
WaitFastAIOEvent(如图中4所示):当内部缓冲区发生半满或全满事件时,该
VI会产生中断并将相应的标志位置
1。⑸BufferChangeHandler(如图中
5所示):该VI的作用是将数据从内部缓冲区转移到用户缓冲区。该VI 首先对内部缓冲区当前的状态进行判断:是前半部分满还是后半部分满,从而进行不同的数据流流向:当前半部分满时,先将前半部分的数据存储到用户临时开辟的缓冲区(如图中的:
VoltageBuf);当后半部分满时,将前半部分的数据与后半部分的数据组合后再通过Split1DArray子
VI将不同数据通道的数据进行拆分(采集卡的多通道采集是采用轮询的方式)。本系统要连续数据采集, 程序中用循环的方式反复调用此子 VI。⑹
DeviceClose(如图中6所示): 在程序结尾需调用此子VI,是用来关闭由DeviceOpen 打开的设备,以释放程序运行中占用的资源。
-
这是一个关于数据采集的程序图,新手对着图看不出个所以然来,有许多VI也找不到,想请教大虾们如何读懂这个 ...
一周热门 更多>