今日头条
首先要了解如何使用CVI控制开发板DA输出。
我们主要使用开发板DA端口输出指定数值电压并用AD端采集并显示在Strip Chart控件上来实现本次操作。
实验步骤:
1. 打开CVI软件,新建项目。连接开发板。
2. 在控件面板放入一个Strip Chart控件,一个Numeric控件,一个Timer控件以及两个Square Command Button控件。并根据喜好修改Label、Constant name及Callback function属性,如图1。
3. 运行Library→Generate→ All Code打开编程界面,选择“退出”按钮作为程序的关闭控件。在“开始”按钮的callback函数前定义一个整形变量w,赋值为0。并写入一个if循环。当w值等于0时,令w重新赋值为1,同时打开开发板,启动Timer控件函数,将“开始”按钮标签文本改写为暂停。另一方面else条件下则重新将w值置0,退出Timer函数,将“开始”按钮标签文本改写为继续,关闭开发板,代码如图2。
4.在Timer控件的callback函数下定义两个整形变量z、V,一个单精度浮点型变量y。然后写入获取数值函数GetCtrlVal(),该函数位于Library→User Interface Library→Controls/Graphs/Strip Charts→General Functions→Get Control Value,打开函数界面如图3。
函数值介绍:
Panel Handle:选择需要控制的窗体。
Control ID:选择用于获取设定电压值的控件。我们这里选择Numeric控件作为获取数值的入口。
Value:指向想要输入的值的指针。我们这里取变量V的地址。
函数值填写完如图4。
完成后将该函数插入程序内。
5. 对变量V进行数值转换(转换计算公式参考数据采集卡说明书),并将转换结果赋值给变量z。
6. 写入DA单值输出函数DASingleOutV12(),指定输出端口为DA1,设置的输出值为z。并用AD单次采集函数ADSingleV12()采集输出的电压值,并将采集得到的电压值存入变量y中。
7.最后写入控件Strip Chart绘制函数PlotStripChart(),绘制的值取变量y,至此,步骤4~7代码如图5。
8. 将开发板上的端口DA1和端口AD1相连,运行程序,输入指定电压值,结果如图6、7、8所示,可随时更改输出的电压值。
9. 最后退出程序,关闭开发板。
这样我们就成功使用GetCtrlVal()函数获取了想要输出的电压值,并用DA端口输出,最后成功显示在Strip Chart控件上。
审核编辑:符乾江
全部0条评论
快来发表一下你的评论吧 !