实例7 PCI-1710HG数据采集卡电压输出
一、设计任务
采用LabVIEW语言编写程序实现PC与PCI-1710HG数据采集卡模拟量输出。
任务要求如下:在 PC 程序界面中产生一个变化的数值(0~10),绘制数据变化曲线,线路中模拟量输出口输出变化的电压(0~10V)。
二、线路连接
PC与PCI-1710HG数据采集卡组成的模拟电压输出线路如图3-31所示。
图3-31 PC与PCI-1710HG数据采集卡组成的模拟电压输出线路
图3-31中,将PCI-1710HG数据采集卡模拟量输出0通道(58端口和57端口)接信号指示灯 L,通过其明暗变化来显示电压大小变化;并用电子示波器来显示电压变化波形(范围:0~10V)。
也可使用万用表直接测量58端口(AO0_OUT)与57端口(AOGND)之间的输出电压(0~10V))。
本实例用到的硬件包括PCI-1710HG数据采集卡、PCL-10168数据线缆、ADAM-3968接线端子(使用模拟量输出AO通道)、指示灯、示波器等。
三、任务实现
1.设计程序前面板
(1)为了产生输出电压值,添加1个垂直滑动控件:控件→新式→数值→垂直指针滑动杆,标尺范围为0~10。
(2)为了显示要输出的电压值,添加1个数字显示控件:控件→新式→数值→数值显示控件,标签改为“输出电压值”。
(3)为了显示输出电压变化曲线,添加1个实时图形显示控件:控件→新式→图形→波形图形,标签改为“电压输出曲线”,将Y轴标尺范围改为0~10。
(4)为了关闭程序,添加1个停止按钮控件:控件→新式→布尔→停止按钮。
设计的程序前面板如图3-32所示。
图3-32 程序前面板
2.框图程序设计
在进行LabVIEW编程之前,必须首先安装研华设备管理程序(Device Manager)、32bit DLL驱动程序及研华板卡LabVIEW驱动程序。
(1)添加选择设备函数:函数→用户库→Advantech DA&C(研华公司的LabVIEW函数库)→EASYIO→SelectPOP→SelectDevicePop.vi。
(2)添加打开设备函数:函数→用户库→Advantech DA&C→ADVANCE→DeviceManager→DeviceOpen.vi。
(3)添加关闭设备函数:函数→用户库→ADVANCE→DeviceManager→DeviceClose.vi。
(4)添加While循环结构:函数→编程→结构→While 循环。
以下添加的函数放置在While循环结构框架中。
(5)添加模拟量电压输出函数:函数→用户库→Advantech DA&C→ADVANCE→SlowAO→AOVoltageOut.vi,如图3-33所示。
图3-33 SlowAO函数库
(6)添加数值常量:函数→编程→数值→数值常量,将值改为0(模拟量输出通道号)。
(7)添加数值常量:函数→编程→数值→数值常量,将值改为500(时钟周期)。
(8)添加时钟函数:函数→编程→定时→等待下一个整数倍毫秒。
(9)添加非函数:函数→编程→布尔→非。
(10)分别将数值显示控件(标签为“Numeric”)、波形显示控件(标签为“Waveform Chart”)、垂直滑动控件(标签为“Slide”)、按钮控件(标签为“Stop”)等拖入While循环结构中。
(11)将函数SelectDevicePop.vi的输出端口“DevNum”与函数DeviceOpen.vi的输入端口“DevNum”相连。
(12)将函数DeviceOpen.vi的输出端口“DevHandle”与函数AOVoltageOut.vi的输入端口“DevHandle”相连。
(13)将函数AOVoltageOut.vi的输出端口“DevHandle”与函数DeviceClose.vi的输入端口“DevHandle”相连。
(14)将数值常量(值为0,模拟量输出通道号)与函数 AOVoltageOut.vi 的输入端口“Channel”相连。
(15)将滑动杆输出端口与函数AOVoltageOut.vi的输入端口“Voltage”相连。
将滑动杆的输出端口与数字显示控件(标签为“Numeric”)相连。
将滑动杆的输出端口与波形显示控件(标签为“Waveform Chart”)相连。
(16)将数值常量(值为500,时钟周期)与等待下一个整数倍毫秒函数的输入端口“毫秒倍数”相连。
(17)将按钮控件与非函数的输入端口“x”相连。
(18)将非函数的输出端口“非x ?”与While循环结构的条件端子相连。
设计的框图程序如图3-34所示。
图3-34 框图程序
3.运行程序
单击快捷工具栏“运行”按钮,运行程序。
首先运行SelectDevicePop.vi子程序,选择研华板卡设备PCI-1710HG。
硬件设备设置完成,程序开始运行。
用鼠标单击游标上下箭头,生成一间断变化的数值(0~10),在程序界面中产生一个随之变化的曲线。同时,线路中模拟电压输出0通道输出0~10V电压。
程序运行界面如图3-35所示。
图3-35 程序运行界面