LabWindows/CVI语言编程数据采集卡实验指导四:采集正弦波数据并写入txt文档

LabWindows/CVI语言编程数据采集卡实验指导

实验四:采集正弦波数据并写入txt文档

 

开始本实验前,请先参看前面文章《LabWindows/CVI语言编程数据采集卡实验指导一:单次AD采集》板卡配置的基础知识,建议依次按照文章的编排序列阅读,方便后续文章的理解。

 

一、实验目的:

1.学会LabWindows/CVI采集数据的收集

 

二、实验内容:

1.   编写程序,令单个AD通道不间断采集一定数量的信号发生器数据并写入txt文档。

 

三、实验步骤:

1.   打开LabWindows/CVI软件,配置如前文《LabWindows/CVI语言编程数据采集卡实验指导一:单次AD采集》所述,新建项目,连接板卡。

2.   在控件面板放入一个Graph控件,一个Timer控件以及两个Square Command Button控件,并修改Label命名。如图1

 

3.   运行Library→Generate→ All Code打开编程界面,照例在开始按钮内写入启动Timer控件及令“开始”按键可以暂停启动的程序。如图2所示

4.在Timer控件的callback函数下定义一个单精度浮点型数组z[1024],用于存放AD1连续采集的数据。接着用通道AD1进行单端采集,连续采集512个数并存放到数组z中。然后调用Graph控件显示。程序如图3

5.写入函数ArrayToFile()用于将采集到的数据传入指定文档内,该函数位于Library→Formatting and I/O→File I/O→Array to File。打开后函数设定界面如图4

函数值介绍:

File Name:想要写入的文档所在位置,可以点击右边的按钮选择文件位置,如果该位置没有搜索到指定文件,则会自动创建一个。

Array:数据来源,这里我们选择数组z。

Data Type:数据类型,我们选择单精度浮点型。

Number of Elements:写入的数据量,设定为数组大小1024。

Number of Groups:写入数据的组数,默认值为1,即为将所有数据分入一个大组,一个组1024份。如填入2则分为两组,每份1024/2个数据,以此类推。

Array Data Order:数组数据顺序,选择默认值即可。

File Layout:文件格式,Columns为按列写入,Rows为按行写入。

Column Separation:列分隔样式。Constant Width Columns为等宽列。Separate by Comma为按逗号分隔。Separate by Tab为按制表符分隔。

Field Width:字宽度,根据需求调整。

File Type:文件类型,可选择ASCII码或二进制。

File Action:文件执行动作,选择Truncate时,每当写入新的数据则清空旧的数据。选择Append时则会将新的数据排在旧数据后写入。按需求选择即可。

所有函数值填写完毕后如图5。

将填写好的函数插入到Timer控件的callback函数下。如图6

6.   打开信号发生器,输出稳定的正弦波,接入端口AD1并接地,运行程序。如图7

令程序对通道AD1进行三次连续采集,得到写入txt文档的数据如图8,数据数量为1024*3=3072份,正确。

 

四、实验结果及思考:

资源下载: