第二章: Lab WindowsCVI波形显示实验
文章目录
- 第二章: Lab WindowsCVI波形显示实验
- 一、实验目的:
- 二、实验内容:
- 三、实验步骤:
- 1.打开CVI软件,新建项目。
- 2.在控件面板放入两个Square Command Button控件,一个Timer控件,一个Numeric控件,一个Meter控件以及一个Strip Chart控件并各自修改Label属性命名。
- 3.双击延时控件,进入修改该控件属性,在Interval (seconds)一栏可以修改延时长度,1即为延时1秒,我们在这里将值设为2,意味延时2秒,同时取消下方Enabled选项的勾选。
- 4.确定每个控件都有Constant name命名后点击Code→Generate→All Code进入编程界面。在开始按钮的点击事件下面写入开发板启动函数OpenUsbV12(),以及函数SetCtrlAttribute(Panel Handle;Control ID;Control Attribute;Attribute)用于启用延时控件。该函数位于Library→User Interface→Controls/Graphs/Strip Charts→General Functions→Set Control Attribute。
- 5.接着找到延时控件的callback函数。在其下面定义一个整形变量x,三个单精度浮点型变量y、sum=0、z。写入一个for循环,让x从0开始计数,循环100次。循环内写入开发板单次采集函数ADSingleV12(),设置单端采集通道AD1,用变量y进行存储并用电压表显示。
- 6.定义一个双精度浮点型变量i,将采集得到的y值赋予i。写入示波器绘制点函数PlotStripChart();该函数位于Library→User Interface→Controls/Graphs/Strip Charts→Graphs and Strip Charts→Strip Chart Traces→Plot Strip Chart。进入函数界面,取示波器ID为控件ID,数据地址取变量i,一次描点个数Number of Points设为1,后面三个值默认。
- 7.将sum的值除以100求得平均值并赋予变量z,用平均值控件显示。
- 8.在按键start前面定义一个整形变量w,令w=1。在Timer启动函数后面写入一个if判断,当w值为0,将w设为1,并且用SetCtrlAttribute()函数改变按键的标签文本属性,令其变成“暂停”,然后停止Timer运行,反之亦然。
- 9.运行程序,结果如图12,可以正常启动和暂停,波形显示平均值计算也正确。
- 10.退出程序。
- 四、实验结果及思考:
- 五、注意事项:
一、实验目的:
熟悉Lab WindowsCVI中Timer控件和Strip Chart控件的使用。
二、实验内容:
用CVI编程令开发板循环100次单次AD采集,并将数据打印在记录仪控件上,再对100份数据求出平均值。
三、实验步骤:
1.打开CVI软件,新建项目。
2.在控件面板放入两个Square Command Button控件,一个Timer控件,一个Numeric控件,一个Meter控件以及一个Strip Chart控件并各自修改Label属性命名。
效果如图1:
3.双击延时控件,进入修改该控件属性,在Interval (seconds)一栏可以修改延时长度,1即为延时1秒,我们在这里将值设为2,意味延时2秒,同时取消下方Enabled选项的勾选。
如图2:
4.确定每个控件都有Constant name命名后点击Code→Generate→All Code进入编程界面。在开始按钮的点击事件下面写入开发板启动函数OpenUsbV12(),以及函数SetCtrlAttribute(Panel Handle;Control ID;Control Attribute;Attribute)用于启用延时控件。该函数位于Library→User Interface→Controls/Graphs/Strip Charts→General Functions→Set Control Attribute。
打开界面如图3:
我们填入上方的窗体及控件ID,然后点击Control Attribute输入框右边的选项按钮,找到Timer控件相关函数值,选择Timer Enable,点击OK确认使用。如图4:
接着点击Attribute Value选项,设置值为1,表示启动。如图5:
完成后插入函数。如图6。
5.接着找到延时控件的callback函数。在其下面定义一个整形变量x,三个单精度浮点型变量y、sum=0、z。写入一个for循环,让x从0开始计数,循环100次。循环内写入开发板单次采集函数ADSingleV12(),设置单端采集通道AD1,用变量y进行存储并用电压表显示。
程序如图7:
6.定义一个双精度浮点型变量i,将采集得到的y值赋予i。写入示波器绘制点函数PlotStripChart();该函数位于Library→User Interface→Controls/Graphs/Strip Charts→Graphs and Strip Charts→Strip Chart Traces→Plot Strip Chart。进入函数界面,取示波器ID为控件ID,数据地址取变量i,一次描点个数Number of Points设为1,后面三个值默认。
如图8:
插入函数,并令sum+=y用于求和,如图9。
7.将sum的值除以100求得平均值并赋予变量z,用平均值控件显示。
如图10:
8.在按键start前面定义一个整形变量w,令w=1。在Timer启动函数后面写入一个if判断,当w值为0,将w设为1,并且用SetCtrlAttribute()函数改变按键的标签文本属性,令其变成“暂停”,然后停止Timer运行,反之亦然。
如图11:
9.运行程序,结果如图12,可以正常启动和暂停,波形显示平均值计算也正确。
10.退出程序。
四、实验结果及思考:
成功采集到电压并求得平均值。
五、注意事项:
示波器量程可依据所测电压需求更改,在实验前应明确量程大小。如图13所示便是更改左侧y轴量程。