CVI采集正弦波数据并写入txt文档

今日头条

1143人已加入

描述

基于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文档。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分