今日头条
基于Labwindows CVI与硬件连接,熟悉Lab WindowsCVI中Graph控件的使用。
利用信号发生器输出稳定的正弦波,并用开发板采集,再用Lab WindowsCVI的的控件进行波形显示。
1. 打开CVI软件,新建项目。连接开发板。
2. 在控件面板放入一个Graph控件,一个Timer控件以及两个Square Command Button控件。并修改Label命名,如图1。
注:Graph控件可以根据需求调整大小方便查看波形。Timer控件记得取消Enabled勾选。
1. 运行Library→Generate→ All Code打开编程界面。照例在开始按钮内写入启动Timer控件和暂停启动的程序,如图2。
4.在Timer控件的callback函数下定义一个单精度浮点型数组z[512],用于存放AD1连续采集的数据。然后写入AD单端口连续采集函数ADContinuV12(int ad_mod,int chan,int gain,int Num_Sample,int Rate_Sample,float*databuf);
此处我们用通道AD1进行单端采集,一次性连续采集512个数并存放到数组z中。然后调用Graph控件显示。该显示函数位于Library→User Interface→Controls/Graphs/Strip Charts→Graphs and Strip Charts→Graph Plotting and Deleting→Plot Y进入函数后,界面如图3。
该函数前两个值照常为窗体和控件选择。第三个Y Array代表沿y轴绘制数据的数组变量,我们这里取数组z地址。第四个Number of Points代表绘制的点数,我们这里设置为512个点,和数组z数据个数相同。第五个Y Data Type我们更改为floating point单精度浮点型。剩余的值默认即可。如图4。然后插入到函数ADContinuV12()的后面。
5.在显示函数Plot Y前面再加入一段清空Graph控件的函数DeleteGraphPlot,该函数同样位于Library→User Interface→Controls/Graphs/Strip Charts→Graphs and Strip Charts→Graph Plotting and Deleting→Delete Graph Plot,打开界面如图5。
该函数前两个参数与显示函数Plot Y相同,第三个Plot Handle我们赋值-1代表全部清空,第四个Refresh可以选择清空方式,我们这里选择Immediate Draw立刻清空。如图6。
然后在显示函数前插入清除函数,Timer控件下完整程序如图7。
6. 使用信号发生器输出50Hz正弦信号,并将其接入开发板端口AD1,同时接地,运行程序。效果如图8。
这样我们就成功采集到了信号发生器输出的正弦信号并显示在Graph控件上。需要注意的是Graph控件清空步骤应该在显示步骤之前。
审核编辑:符乾江
全部0条评论
快来发表一下你的评论吧 !