今日头条
基于Labwindows CVI与硬件连接正确采集到数据并完成数据收集。
用编写程序,令单个AD通道不间断采集一定数量的信号发生器数据并写入txt文档。
操作步骤:
1.打开CVI软件,新建项目。连接开发板。
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份,正确。
这样我们就成功采集到了信号发生器输出的正弦信号并写入txt文档。
审核编辑:符乾江
全部0条评论
快来发表一下你的评论吧 !