《基于某研华大数据采集卡地LabVIEW程序设计》由会员分享,可在线阅读,更多相关《基于某研华大数据采集卡地LabVIEW程序设计(18页珍藏版)》请在金锄头文库上搜索。
1、word第10章 基于研华数据采集卡的LabVIEW程序设计本章利用研华公司的PCI-1710HG数据采集卡编写LabVIEW程序,包括:模拟量输入、模拟量输出、开关量输入以与开关量输出等。10.1 模拟量输入AI.1 基于研华数据采集卡的LabVIEW程序硬件线路在图10-1中,通过电位器产生一个模拟变化电压X围是0V5V,送入板卡模拟量输入0通道管脚68,同时在电位器电压输出端接一信号指示灯,用来显示电压变化情况。图10-1 计算机模拟电压输入线路本设计用到的硬件为:PCI-1710HG数据采集卡、PCL-10168数据线缆、ADAM-3968接线端子使用模拟量输入AI0通道、电位器10K
2、、指示灯DC5V、直流电源输出:DC5V等。.2 基于研华数据采集卡的LabVIEW程序设计任务利用LabVIEW编写应用程序实现PCI-1710HG数据采集卡模拟量输入。任务要求:1以连续方式读取电压测量值,并以数值或曲线形式显示电压测量变化值;2当测量电压小于或大于设定下限或上限值时,程序画面中相应指示灯变换颜色。10.1.3 基于研华数据采集卡的LabVIEW程序任务实现1建立新VI程序启动NI LabVIEW程序,选择新建New选项中的VI项,建立一个新VI程序。在进展LabVIEW编程之前,必须首先安装研华设备管理程序Device Manager、32bitDLL驱动程序以与研华板卡
3、LabVIEW驱动程序。2设计程序前面板8 在前面板设计区空白处单击鼠标右键,显示控件选板Controls。1添加一个实时图形显示控件:控件Controls新式Modern图形Graph波形图形Waveform Chart,标签改为“实时电压曲线,将Y轴标尺X围改为0.0-5.0。2添加一个数字显示控件:控件Controls新式Modern数值Numeric数值显示控件Numeric Indicator,标签改为“当前电压值:。3添加两个指示灯控件:控件Controls新式Modern布尔Boolean圆形指示灯Round LED,将标签分别改为“上限指示灯:、“下限指示灯:。4添加一个停止按
4、钮控件:控件Controls新式Modern布尔Boolean停止按钮Stop Button。设计的程序前面板如图10-2所示。图10-2 程序前面板图10-3 SelectPop函数库3框图程序设计添加函数8 进入框图程序设计界面,在设计区空白处单击鼠标右键,显示函数选板Functions。在函数选板Functions下添加需要的函数。1添加选择设备函数:用户库 Advantech DA&C研华公司的LabVIEW函数库EASYIOSelectPOP ,如图10-3所示。2添加打开设备函数:用户库 Advantech DA&CADVANCEDeviceManager ,如图10-4所示。3添
5、加选择通道函数:用户库Advantech DA&CEASYIOSelectPOPSelect ,如图10-3所示。4添加选择增益函数:,如图10-3所示。5添加Unbundle By Name函数:编程Programming簇、类与变体Cluster & Variant按名称解除捆绑Unbundle By Name。6添加Bundle函数:编程Programming簇、类与变体Cluster & Variant捆绑Bundle。7添加关闭设备函数:用户库 Advantech DA&CADVANCEDeviceManager ,如图10-4所示。8添加模拟量配置函数:用户库 Advantech
6、DA&CADVANCESlowAIAIConfig.vi ,如图10-5所示。图10-4 DeviceManager函数库 图10-5 SlowAI函数库9添加一个While循环结构:编程Programming结构StructuresWhile 循环While Loop。以下添加的函数或结构放置在While循环结构框架中。10添加模拟量电压输入函数:用户库 Advantech DA&C ADVANCESlowAI ,如图10-5所示。11添加一个比拟符号函数“:编程Programming比拟parison 小于等于?Less Or Equal?。12添加数值常量:编程Programming 数
7、值Numeric 数值常量Numeric Constant,将值改为0.5下限电压值。13添加一个比拟符号函数“:编程Programming比拟parison大于等于?Greater Or Equal?。14添加数值常量:编程Programming 数值Numeric 数值常量Numeric Constant,将值改为3.5上限电压值。15添加一个时钟函数:编程Programming定时Time & Dialog等待下一个整数倍毫秒Wait Until Next ms Multiple。16添加数值常量:编程Programming数值Numeric数值常量Numeric Constant,将值
8、改为500采样频率。17添加Not函数:编程Programming布尔Boolean非Not。18添加两个条件结构:编程Programming结构Structures条件结构Case Structure。19分别在两个条件结构的真True选项中各添加一个比拟函数:编程Programming 比拟parison不等于0?Not Equal To 0 ?。20分别在两个条件结构的真True选项各添加一个数值常量:编程Programming 数值Numeric数值常量Numeric Constant,值分别为0、0。21将数字显示控件标签为“当前电压值:、波形显示控件标签为“实时电压曲线、停止按钮控
9、件从外拖入循环结构中。22将指示灯控件“下限指示灯:、“上限指示灯:分别拖入两个条件结构的真True选项中。添加的函数如图10-6所示。23分别在两个条件结构的假False选项中各添加一个局部变量:编程Programming结构Structures局部变量Local Variable。分别选择局部变量,单击鼠标右键,在弹出的快捷菜单的选项Select Item选项下,为局部变量选择控件:“下限指示灯:、“上限指示灯:,将其读写属性设置为“写。24分别在两个条件结构的假False选项中各添加一个比拟函数:编程Programming 比拟parison不等于0?Not Equal To 0 ?。2
10、5分别在两个条件结构的假False选项中各添加一个数值常量:编程Programming 数值Numeric数值常量Numeric Constant,值分别为1、1。添加的函数如图10-7所示。图10-6节点布置图1图10-7节点布置图24框图程序设计连线使用工具箱中的连线工具,将所有函数连接起来。1将函数的输出端口DevNum与函数的输入端口DevNum相连。2将函数的输出端口DevHandle与函数的输入端口DevHandle相连。3将函数的输出端口DevHandle与函数的输入端口DevHandle相连。将SelectChanne函数的输出端口Gain List与函数的输入端口Gain L
11、ist相连。将函数的输出端口ChanInfo与按名称解除捆绑Unbundle By Name函数的输入端口输入簇Input Cluster相连。4将按名称解除捆绑Unbundle By Name函数的输出端口通道Channel与捆绑Bundle函数的一个输入端口簇元素Cluster Element相连。5将SelectGainP函数的输出端口GainCode与捆绑Bundle函数的一个输入端口簇元素Cluster Element相连。6将捆绑Bundle函数的输出端口输出簇OutCluster与函数的输入端口Chan & Gain相连。7将函数的输出端口DevHandle与函数的输入端口Dev
12、Handle相连。8将函数的输出端口DevHandle与函数的输入端口DevHandle相连。将函数的输出端口Voltage与数字显示控件标签为“当前电压值:相连。将函数的输出端口Voltage与波形显示控件标签为“Waveform Chart相连。将函数的输出端口Voltage与小于等于?Less Or Equal函数的输入端口x相连。将函数的输出端口Voltage与Greater Or Equal函数的输入端口x相连。9将数值常量值为0.5,下限电压值与小于等于?Less Or Equal函数的输入端口y相连。10将数值常量值为3.5,上限电压值与大于等于?Greater Or Equal
13、?函数的输入端口y相连。11将小于等于?Less Or Equal?函数的输出端口x = y? 与条件结构2上的选择端口?相连。13在条件结构1的真True选项中,将数值常量值为0与不等于0?Not Equal To 0 ?函数的输入端口x相连;将不等于0?Not Equal To 0 ?函数的输出端口x != 0? 与指示灯控件“下限指示灯相连。14在条件结构1的假False选项中,将数值常量值为1与不等于0?Not Equal To 0 ?函数的输入端口x相连;将不等于0?Not Equal To 0 ?函数的输出端口x != 0?与局部变量“下限指示灯:相连。15在条件结构2的真True
14、选项中,将数值常量值为0与不等于0?Not Equal To 0 ?函数的输入端口x相连;将不等于0?Not Equal To 0 ?函数的输出端口x != 0? 与指示灯控件“上限指示灯相连。16在条件结构2的假False选项中,将数值常量值为1与不等于0?Not Equal To 0 ?函数的输入端口x相连;将不等于0?Not Equal To 0 ?函数的输出端口x != 0?与局部变量“上限指示灯:相连。17将数值常量值为500,时钟周期与等待下一个整数倍毫秒Wait Until Next ms Multiple函数的输入端口毫秒倍数millisecond multiple相连。18将停止按钮与非Not函数的输入端口x相连。19将非Not函数的输出端口.not. x ? 与循环结构的条件端子相连。设计的框图程序如图10-8和图10-9所示。