当前位置:文档之家› 基于研华数据采集卡的LabVIEW程序设计

基于研华数据采集卡的LabVIEW程序设计

基于研华数据采集卡的LabVIEW程序设计
基于研华数据采集卡的LabVIEW程序设计

第10章基于研华数据采集卡的

L a b V I E W程序设计

本章利用研华公司的PCI-1710HG数据采集卡编写LabVIEW程序,包括:模拟量输入、模拟量输出、开关量输入以及开关量输出等。

10.1 模拟量输入(AI)

10.1.1 基于研华数据采集卡的LabVIEW程序硬件线路

在图10-1中,通过电位器产生一个模拟变化电压(范围是0V~5V),送入板卡模拟量输入0通道(管脚68),同时在电位器电压输出端接一信号指示灯,用来显示电压变化情况。

图10-1 计算机模拟电压输入线路

本设计用到的硬件为:PCI-1710HG数据采集卡、PCL-10168数据线缆、ADAM-3968接线端子(使用模拟量输入AI0通道)、电位器(10K)、指示灯(DC5V)、直流电源(输出:DC5V)等。

10.1.2 基于研华数据采集卡的LabVIEW程序设计任务

利用LabVIEW编写应用程序实现PCI-1710HG数据采集卡模拟量输入。

任务要求:

(1)以连续方式读取电压测量值,并以数值或曲线形式显示电压测量变化值;

(2)当测量电压小于或大于设定下限或上限值时,程序画面中相应指示灯变换颜色。

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 209 –

10.1.3 基于研华数据采集卡的LabVIEW 程序任务实现

1.建立新VI 程序

启动NI LabVIEW 程序,选择新建(New )选项中的VI 项,建立一个新VI 程序。

在进行LabVIEW 编程之前,必须首先安装研华设备管理程序Device Manager 、32bit DLL 驱动程序以及研华板卡LabVIEW 驱动程序。

2.设计程序前面板

在前面板设计区空白处单击鼠标右键,显示控件选板(Controls )。

(1)添加一个实时图形显示控件:控件(Controls )→新式(Modern )→图形(Graph ) →波形图形(Waveform Chart ),标签改为“实时电压曲线”,将Y 轴标尺范围改为0.0-5.0。

(2)添加一个数字显示控件:控件(Controls )→新式(Modern )→数值(Numeric )→ 数值显示控件(Numeric Indicator ),标签改为“当前电压值:”。

(3)添加两个指示灯控件:控件(Controls )→新式(Modern )→布尔(Boolean )→圆形指示灯(Round LED ),将标签分别改为“上限指示灯:”、“下限指示灯:”。

(4)添加一个停止按钮控件:控件(Controls )→新式(Modern )→布尔(Boolean )→停止按钮(Stop Button )。

设计的程序前面板如图10-2所示。

图10-2 程序前面板

3.框图程序设计——添加函数

进入框图程序设计界面,在设计区空白

处单击鼠标右键,显示函数选板(Functions )。

在函数选板(Functions )下添加需要的函数。

(1)添加选择设备函数:用户库→ Advantech

DA&C (研华公司的LabVIEW 函数库)→

EASYIO → SelectPOP → SelectDevicePop.vi ,如

图10-3所示。

图10-3 SelectPop 函数库

LabVIEW 虚拟仪器数据采集与串口通信测控应用实战

– 210 –

(2)添加打开设备函数:用户库→ Advantech DA&C → ADV ANCE → DeviceManager → DeviceOpen.vi ,如图10-4所示。

(3)添加选择通道函数:用户库→Advantech DA&C→EASYIO→SelectPOP→ Select ChannelPop.vi ,如图10-3所示。

(4)添加选择增益函数:用户库→Advantech DA&C→EASYIO→SelectGainPop.vi ,如图10-3所示。

(5)添加Unbundle By Name 函数:编程(Programming )→簇、类与变体(Cluster & Variant )→按名称解除捆绑(Unbundle By Name )。

(6)添加Bundle 函数:编程(Programming )→簇、类与变体(Cluster & Variant )→捆绑(Bundle )。

(7)添加关闭设备函数:用户库→ Advantech DA&C → ADV ANCE → DeviceManager → DeviceClose.vi ,如图10-4所示。

(8)添加模拟量配置函数:用户库→ Advantech DA&C→ADV ANCE→SlowAI→ AIConfig.vi ,如图10-5所示。

图10-4 DeviceManager 函数库 图10-5 SlowAI 函数库 (9)添加一个While 循环结构:编程(Programming )→结构(Structures )→Wh ile 循环(While Loop )。

以下添加的函数或结构放置在While 循环结构框架中。

(10)添加模拟量电压输入函数:用户库 → Advantech DA&C → ADVANCE → SlowAI → AIV oltageIn.vi ,如图10-5所示。

(11)添加一个比较符号函数“≤”:编程(Programming )→比较(Comparison )→ 小于等于?(Less Or Equal ?)。

(12)添加数值常量:编程(Programming ) → 数值(Numeric ) → 数值常量(Numeric Constant ),将值改为0.5(下限电压值)。

(13)添加一个比较符号函数“≥”:编程(Programming )→比较(Comparison )→ 大于等于?(Greater Or Equal ?)。

(14)添加数值常量:编程(Programming ) → 数值(Numeric ) → 数值常量(Numeric Constant ),将值改为3.5(上限电压值)。

(15)添加一个时钟函数:编程(Programming )→定时(Time & Dialog )→ 等待下一个整数倍毫秒(Wait Until Next ms Multiple )。

(16)添加数值常量:编程(Programming )→ 数值(Numeric )→ 数值常量(Numeric

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 211 –

Constant ),将值改为500(采样频率)。

(17)添加Not 函数:编程(Programming )→布尔(Boolean )→非(Not )。

(18)添加两个条件结构:编程(Programming )→结构(Structures )→条件结构(Case Structure )。

(19)分别在两个条件结构的真(True )选项中各添加一个比较函数:编程(Programming ) → 比较(Comparison )→不等于0?(Not Equal To 0 ?)。

(20)分别在两个条件结构的真(True )选项各添加一个数值常量:编程(Programming ) → 数值(Numeric )→ 数值常量(Numeric Constant ),值分别为0、0。

(21)将数字显示控件(标签为“当前电压值:”)、波形显示控件(标签为“实时电压曲线”)、停止按钮控件从外拖入循环结构中。

(22)将指示灯控件“下限指示灯:”、“上限指示灯:”分别拖入两个条件结构的真(True )选项中。

添加的函数如图10-6所示。

(23)分别在两个条件结构的假(False )选项中各添加一个局部变量:编程(Programming ) →结构(Structures )→局部变量(Local Variable )。

分别选择局部变量,单击鼠标右键,在弹出的快捷菜单的选项(Select Item )选项下,为局部变量选择控件:“下限指示灯:”、“上限指示灯:”,将其读写属性设置为“写”。

(24)分别在两个条件结构的假(False )选项中各添加一个比较函数:编程(Programming ) → 比较(Comparison )→不等于0?(Not Equal To 0 ?)。

(25)分别在两个条件结构的假(False )选项中各添加一个数值常量:编程(Programming ) → 数值(Numeric )→数值常量(Numeric Constant ),值分别为1、1。

添加的函数如图10-7所示。

图10-6 节点布置图1 图10-7 节点布置图2

4.框图程序设计——连线

使用工具箱中的连线工具,将所有函数连接起来。

(1)将SelectDevicePop.vi 函数的输出端口DevNum 与DeviceOpen.vi 函数的输入端口DevNum 相连。

(2)将DeviceOpen.vi 函数的输出端口DevHandle 与SelectChannelPop.vi 函数的输入端口DevHandle 相连。

LabVIEW虚拟仪器数据采集与串口通信测控应用实战

(3)将SelectChannelPop.vi函数的输出端口DevHandle与AIConfig.vi函数的输入端口DevHandle相连。

将SelectChannelPop.vi函数的输出端口Gain List与SelectGainPop.vi函数的输入端口Gain List相连。

将SelectChannelPop.vi函数的输出端口ChanInfo与按名称解除捆绑(Unbundle By Name)函数的输入端口输入簇(Input Cluster)相连。

(4)将按名称解除捆绑(Unbundle By Name)函数的输出端口通道(Channel)与捆绑(Bundle)函数的一个输入端口簇元素(Cluster Element)相连。

(5)将SelectGainPop.vi函数的输出端口GainCode与捆绑(Bundle)函数的一个输入端口簇元素(Cluster Element)相连。

(6)将捆绑(Bundle)函数的输出端口输出簇(OutCluster)与AIConfig.vi函数的输入端口Chan & Gain相连。

(7)将AIConfig.vi函数的输出端口DevHandle与AIVoltageIn.vi函数的输入端口DevHandle相连。

(8)将AIV oltageIn.vi函数的输出端口DevHandle与DeviceClose.vi函数的输入端口DevHandle相连。

将AIV oltageIn.vi函数的输出端口V oltage与数字显示控件(标签为“当前电压值:”)相连。

将AIV oltageIn.vi函数的输出端口V oltage与波形显示控件(标签为“Waveform Chart”)相连。

将AIV oltageIn.vi函数的输出端口V oltage与小于等于?(Less Or Equal)函数的输入端口x相连。

将AIV oltageIn.vi函数的输出端口V oltage与Greater Or Equal函数的输入端口x相连。

(9)将数值常量(值为0.5,下限电压值)与小于等于?(Less Or Equal)函数的输入端口y相连。

(10)将数值常量(值为3.5,上限电压值)与大于等于?(Greater Or Equal?)函数的输入端口y相连。

(11)将小于等于?(Less Or Equal?)函数的输出端口x <= y? 与条件结构1上的选择端口?相连。

(12)将大于等于?(Greater 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)选项中,将数值常量(值为0)与不等于0?(Not Equal To 0 ?)函数的输入端口x相连;将不等于0?(Not Equal To 0 ?)函数的输出端口x != 0? 与指示灯控件“上限指示灯”相连。

(16)在条件结构2的假(False)选项中,将数值常量(值为1)与不等于0?(Not Equal – 212 –

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 213 –

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所示。

图10-8 框图程序2 图10-9 框图程序1 5.运行程序

进入程序前面板,执行菜单中的“文件/保存(File/Save )”命令,保存设计好的VI 程序。 单击快捷工具栏中的“运行(Run )”按钮,运行程序:

? 执行“SelectDevicePop.vi ”子程序,选择研华板卡设备:PCI-1710HG 。

? 执行“SelectChannelPop.vi ”子程序,选择板卡通道号,如0通道。

? 执行“SelectGainPop.vi ”子程序,选择板卡模拟电压输入范围,如+/-5V 。

硬件设备设置完成,程序开始运行。

旋转电位器旋钮,改变其输出电压(范围是0V ~5V ),线路中AI 指示灯亮度随之变化,同时,VI 程序前面板中的当前电压值、实时图形显示控件中的曲线都将随电位器输出电压变化而变化。当测量电压小于或大于设定下限电压值(0.5V )或上限电压值(3.5V )时,程序画面中相应的指示灯变换颜色。

程序运行画面如图10-10所示。

图10-10 程序运行画面

LabVIEW 虚拟仪器数据采集与串口通信测控应用实战

– 214 – 10.2 模拟量输出(AO )

10.2.1 硬件线路

在图10-11中,将板卡模拟量输出(范围

0V ~10V )0通道(管脚58)接示波器显示电

压变化波形;接发光二极管来显示电压大小变

化(范围:0V ~10V )。

本设计用到的硬件为:PCI-1710HG 数据

采集卡、PCL-10168数据线缆、ADAM-3968

接线端子(使用模拟量输出AO 通道)、发光

二极管、电子示波器等。 10.2.2 设计任务

利用LabVIEW 编写应用程序实现PCI-1710HG 数据采集卡模拟量输出。

任务要求:在程序画面中产生一个变化的数值(范围:0~10),绘制数据变化曲线,线路中示波器中显示电压变化波形,发光二极管亮度随电压变化(范围:0V ~10V )而变化。 10.2.3 任务实现

1.建立新VI 程序

启动NI LabVIEW 程序,选择新建(New )选项中的VI 项,建立一个新VI 程序。

在进行LabVIEW 编程之前,必须首先安装研华设备管理程序Device Manager 、32bit DLL 驱动程序以及研华板卡LabVIEW 驱动程序。

2.设计程序前面板

在前面板设计区空白处单击鼠标右键,显示控件选板(Controls )。

(1)添加一个数字显示控件:控件(Controls )→新式(Modern )→数值(Numeric )→ 数值显示控件(Numeric Indicator ),标签改为“输出电压值”。

(2)添加一个实时图形显示控件:控件(Controls )→新式(Modern )→图形(Graph ) →波形图形(Waveform Chart ),标签改为“电压输出曲线”,将Y 轴标尺范围改为0~10。

(3)添加一个垂直滑动控件:控件(Controls )→新式(Modern )→数值(Numeric )→ 垂直指针滑动杆(Vertical Pointer Slide ),标尺为0~10。

(4)添加一个停止按钮控件:控件(Controls )→新式(Modern )→布尔(Boolean )→停止按钮(Stop Button )。

图10-11 计算机模拟电压输出线路

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 215 –

设计的程序前面板如图10-12所示。

图10-12 程序前面板

3.框图程序设计——添加函数

进入框图程序设计界面,在设计区空白处单击鼠标右键,显示函数选板(Functions )。

(1)添加选择设备函数:用户库→ Advantech DA&C (研华公司的LabVIEW 函数库)→ EASYIO → SelectPOP → SelectDevicePop.vi ,如图10-13所示。

(2)添加打开设备函数:用户库→ Advantech DA&C → ADV ANCE → DeviceManager → DeviceOpen.vi ,如图10-14所示。

图10-13 SelectPop 函数库 图10-14 DeviceManager 函数库 (3)添加关闭设备函数:用户库 → ADV ANCE → DeviceManager → DeviceClose.vi ,如图10-14所示。

(4)添加While 循环结构:编程(Programming )→结构(Structures )→While 循环(While Loop )。

以下添加的函数放置在While 循环结构框架中。

(5)添加模拟量电压输出函数:用户库 →

Advantec h DA&C → ADV ANCE → SlowAO →

AOVoltageOut.vi ,如图10-15所示。

(6)添加数值常量:编程(Programming )→

数值(Numeric )→ 数值常量(Numeric Constant ),

将值改为0(模拟量输出通道号)。

图10-15 SlowAO 函数库

LabVIEW 虚拟仪器数据采集与串口通信测控应用实战

– 216 –

(7)添加数值常量:编程(Programming )→ 数值(Numeric )→数值常量(Numeric Constant ),将值改为500(时钟周期)。

(8)添加时钟函数:编程(Programming )→ 定时(Time & Dialog )→ 等待下一个整数倍毫秒(Wait Until Next ms Multiple )。

(9)添加Not 函数:编程(Programming )→布尔(Boolean )→非(Not )。

(10)分别将数值显示控件(标签为“Numeric ”)、波形显示控件(标签为“Waveform Chart ”)、垂直滑动控件(标签为“Slide ”)、按钮控件(标签为“Stop ”)等拖入While 循环结构中。

添加的所有函数及其布置如图10-16所示。

图10-16 节点布置图

4.框图程序设计——连线

使用工具箱中的连线工具,将所有函数连接起来。

(1)将函数SelectDevicePop.vi 的输出端口DevNum 与函数DeviceOpen.vi 的输入端口 DevNum 相连。

(2)将函数DeviceOpen.vi 的输出端口DevHandle 与函数AOV oltageOut.vi 的输入端口 DevHandle 相连。

(3)将函数AOV oltageOut.vi 的输出端口DevHandle 与函数DeviceClose.vi 的输入端口 DevHandle 相连。

(4)将数值常量(值为0,模拟量输出通道号)与函数AOVoltageOut.vi 的输入端口Channel 相连。

(5)将滑动杆(Slide )的输出端口与函数AOV oltageOut.vi 的输入端口Voltage 相连。 将滑动杆(Slide )的输出端口与数字显示控件(标签为“Numeric ”)相连。

将滑动杆(Slide )的输出端口与波形显示控件(标签为“Waveform Chart ”)相连。

(6)将数值常量(值为500,时钟周期)与等待下一个整数倍毫秒(Wait Until Next ms Multiple )函数的输入端口毫秒倍数(millisecond multiple )相连。

(7)将按钮控件与非(Not )函数的输入端口x 相连。

(8)将非(Not )函数的输出端口.not. x ? 与While 循环结构的条件端子相连。

设计的框图程序如图10-17所示。

5.运行程序

进入程序前面板,执行菜单中的“文件/保存(File/Save )”命令,保存设计好的VI 程序。

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 217 –

图10-17 框图程序连线

单击快捷工具栏中的“运行(Run )”按钮,运行程序。

首先执行“SelectDevicePop.vi ”子程序,选择研华板卡设备PCI-1710HG 。

硬件设备设置完成,程序开始运行。

用鼠标单击游标上下箭头,改变输出值(0~10),画面中实时趋势曲线将随游标值变化而变化,板卡AO0_OUT 通道输出电压随之改变(0V ~10V ),线路中发光二极管亮度随之变化,在示波器中显示输出电压变化波形。

程序运行画面如图10-18所示。

图10-18 程序运行画面

略。。。。。。

详见网址为:https://www.doczj.com/doc/9f6501468.html,/51284。

10.6 温度测量与报警控制

10.6.1 硬件线路

LabVIEW虚拟仪器数据采集与串口通信测控应用实战

在图10-39中,Pt100热电阻检测温度变化,通过变送器和250Ω电阻转换为1V~5V电压信号送入板卡模拟量1通道(管脚34);当检测温度小于计算机程序设定的下限值,计算

图10-39 温度测量与控制线路

机输出控制信号,使板卡DO1通道13管脚置高电平,指示灯1亮;当检测温度大于计算机设定的上限值,计算机输出控制信号,使板卡DO2通道46管脚置高电平,指示灯2亮。

本设计用到的硬件为:PCI-1710HG数据采集卡、PCL-10168数据线缆、ADAM-3968接线端子(使用模拟量输入AI通道、数字量输出DO通道)、热电阻传感器(Pt100)、温度变送器(输入:0~200℃,输出:4mA~20mA)、直流电源(输出:DC24V)、继电器(DC24V)、指示灯(DC24V)、250Ω电阻、电阻(10K)、三极管等。

10.6.2 设计任务

利用LabVIEW编写应用程序实现PCI-1710HG数据采集卡温度测量与报警控制。

任务要求:

(1)自动连续读取并显示温度测量值,绘制测量温度实时变化曲线;

(2)统计采集的温度平均值、最大值与最小值;

(3)实现温度上、下限报警指示,并能在程序运行中设置报警上、下限值。

10.6.3 任务实现

1.建立新VI程序

启动NI LabVIEW程序,选择新建(New)选项中的VI项,建立一个新VI程序。

2.设计程序前面板

在前面板设计区空白处单击鼠标右键,显示控件选板(Controls)。

– 218 –

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 219 – (1)添加一个实时图形显示控件:控件(Controls )→新式(Modern )→图形(Graph )→波形图形(Waveform Chart ),将Y 轴标尺范围改为0.0~50.0。

(2)添加6个数字显示控件:控件(Controls )→新式(Modern )→数值(Numeric )→ 数值显示控件(Numeric Indicator ),标签分别为“当前值:”、“测量个数:”、“累加值:”、 “平均值”、“最大值:”、“最小值:”。

(3)添加两个数值输入控件:控件(Controls )→新式(Modern )→数值(Numeric )→数值输入控件(Digital control ),标签分别

为“上限值:”、“下限值:”,将其值改为

50、25,并设置为默认值。

(4)添加两个指示灯控件:控件

(Controls )→新式(Modern )→布尔

(Boolean )→圆形指示灯(Round LED ),

将标签分别改为“上限灯:”、“下限灯:”。

(5)添加一个停止按钮控件;控件

(Controls )→新式(Modern )→布尔

(Boolean )→停止按钮(Stop Button )。

设计的程序前面板如图10-40所示。

图10-40 程序前面板

LabVIEW 虚拟仪器数据采集与串口通信测控应用实战

– 220 –

3.框图程序设计——添加函数

进入框图程序设计界面,在设计区空白处单击鼠标右键,显示函数选板(Functions )。

(1)添加选择设备函数:用户库→ Advantech DA&C (研华公司的LabVIEW 函数库)→ EASYIO → SelectPOP → SelectDevicePop.vi ,如图10-41所示。

(2)添加打开设备函数:用户库→ Advantech DA&C → ADV ANCE → DeviceManager → DeviceOpen.vi ,如图10-42所示。

图10-41 SelectPop 函数库 图10-42 DeviceManager 函数库 (3)添加关闭设备函数:用户库 → ADV ANCE → DeviceManager → DeviceClose.vi ,如图10-42所示。

(4)添加选择通道函数:用户库 → Advantech DA&C → EASYIO → SelectPOP → SelectChannelPop.vi ,如图10-41所示。

(5)添加选择增益函数:用户库 → Advantech DA&C → EASYIO → SelectGainPop.vi ,如图10-41所示。

(6)添加按名称解除捆绑函数:编程(Programming )→ 簇(Cluster )→ 按名称解除捆绑(Unbundle By Name )。

(7)添加捆绑函数:编程(Programming )→ 簇(Cluster )→捆绑(Bundle )。

(8)添加模拟量配置函数:用户库 → Advantech DA&C → ADV ANCE → SlowAI → AIConfig.vi ,如图10-43所示。

(9)添加一个While 循环结构:编程

(Programming )→结构(Structures )→While 循

环(While Loop )。

以下添加的函数或结构放置在While 循环结

构框架中。

(10)添加一个时钟函数:编程(Programming )→

定时(Time & Dialog )→等待下一个整数倍毫秒

(Wait Until Next ms Multiple )。

(11)添加一个数值常量:编程(Programming ) →数值(Numeric )→数值常量(Numeric Constant ),值分别为500。

(12)添加一个非(Not )函数:编程(Programming )→布尔(Boolean )→Not 。

(13)添加一个顺序结构:编程(Programming )→结构(Structures )→

层叠式顺序结构 图10-43 SlowAI 函数库

第10章 基于研华数据采集卡的LabVIEW 程序设计

– 221 –

(Stacked Sequence Structure )。

将其帧(Frame )设置为两个(序号0-1)。设置方法:选中层叠式顺序结构(Stacked Sequence Structures )上边框,单击右键,执行在后面添加帧(Add Frame After )选项一次。

(14)在顺序结构Frame 0中,添加模拟量电压输入函数:用户库 → Advantech DA&C → ADV ANCE → SlowAI → AIVoltageIn.vi ,如图10-43所示。

(15)在顺序结构Frame 0中,添加两个写端口位函数:用户库 → Advantech DA&C → ADV ANCE → SlowSlowDIO → DIOWriteBit.vi ,如图

10-44所示。

(16)在顺序结构Frame 0中,添加一个减号函数

“—”:编程(Programming )→数值(Numeric )→ 减

(Subtract )。

(17)在顺序结构Frame 0中,添加一个乘号函数:

编程(Programming )→数值(Numeric ) → 乘

(Multiply )。

(18)在顺序结构Frame 0中,添加一个比较符号函

数“≥”:编程(Programming )→比较(Comparison )→大于等于?(Greater Or Equal ?)。 (19)在顺序结构Frame 0中,添加一个比较符号

函数“≤”:编程(Programming )→比较(Comparison )→小于等于?(Less Or Equal ?)。

(20)在顺序结构Frame 0中,添加6个数值常量:编程(Programming )→数值(Numeric )→数值常量(Numeric Constant ),值分别为1、50、0、1、0、2。

(21)在顺序结构Frame 0中,添加两个条件结构:编程(Programming )→结构(Structures )→条件结构(Case Structure )。

(22)添加4个不等于0?函数:编程(Programming )→比较(Comparison )→不等于0?(Not Equal To 0 ?),这4个比较函数分别放入两个条件结构的真(True )选项和假(False )选项中。

(23)在两个条件结构的真(True )选项和假(False )选项中添加8个数值常量:编程(Programming )→数值(Numeric )→数值常量(Numeric Constant ),值分别为0、1。

(24)在两个条件结构的假(False )选项中添加两个局部变量:编程(Programming )→结构(Structures )→局部变量(Local Variable )。

选择局部变量,单击鼠标右键,在弹出的快捷菜单的选项(Select Item )下,为局部变量选择控件:“上限灯:”、“下限灯:”,将其读写属性设置为“写”。

(25)分别将数值显示控件Numeric 、波形图形(Waveform Chart )控件、停止按钮控件从外拖入到循环结构While Loop 中。

(26)分别将指示灯控件“上限灯:”、“下限灯:”分别拖入两个条件结构的真(True )选项中。

其他函数略。添加的所有函数及其布置如图10-45和图10-46所示。

4.框图程序设计——连线

使用工具箱中的连线工具,将所有函数连接起来。

图10-44 SlowDIO 函数库

LabVIEW虚拟仪器数据采集与串口通信测控应用实战

– 222 –

图10-45 节点布置图1

图10-46 节点布置图2

(1)将函数SelectDevicePop.vi的输出端口DevNum与函数DeviceOpen.vi的输入端口DevNum相连。

(2)将函数DeviceOpen.vi的输出端口DevHandle与函数SelectChannelPop.vi的输入端口DevHandle相连。

(3)将函数SelectChannelPop.vi的输出端口DevHandle与函数AIConfig.vi的输入端口DevHandle相连。

将函数SelectChannelPop.vi的输出端口Gain List与函数SelectGainPop.vi的输入端口Gain List相连。

将函数SelectChannelPop.vi的输出端口ChanInfo与函数按名称解除捆绑(Unbundle By Name)的输入端口Input Cluster相连。

(4)将按名称解除捆绑(Unbundle By Name)函数的输出端口通道(Channel)与捆绑(Bundle)函数的一个输入端口簇元素(Cluster Element)相连。

(5)将函数SelectGainPop.vi的输出端口GainCode与捆绑(Bundle)函数的一个输入端口簇元素(Cluster Element)相连。

(6)将捆绑(Bundle)函数的输出端口输出簇(Out Cluster)与函数AIConfig.vi的输入

第10章基于研华数据采集卡的LabVIEW程序设计

端口Chan & Gain相连。

(7)将函数AIConfig.vi的输出端口DevHandle与函数AIV oltageIn.vi的输入端口DevHandle相连。

(8)将函数AIV oltageIn.vi的输出端口DevHandle与函数DeviceClose.vi的输入端口DevHandle相连。

将函数AIV oltageIn.vi的输出端口V oltage与减(Subtract)函数的输入端口x相连。

(9)将数值常量(值为1)与减(Subtract)函数的输入端口y相连。

(10)将减(Subtract)函数的输出端口x-y与乘(Multiply)函数的输入端口x相连。

(11)将数值常量(值为50)与乘(Multiply)函数的输入端口y相连。

(12)将乘(Multiply)函数的输出端口x*y与数值显示控件Numeric相连。

将乘(Multiply)函数的输出端口x*y与波形显示控件(Waveform Chart)相连。

将乘(Multiply)函数的输出端口x*y与大于等于?(Greater Or Equal?)函数的输入端口x相连。

将乘(Multiply)函数的输出端口x*y与小于等于?(Less Or Equal?)函数的输入端口x相连。

(13)将数值常量(值为50,上限温度值)与大于等于?(Greater Or Equal?)函数的输入端口y相连。

(14)将数值常量(值为25,下限温度值)与小于等于?(Less Or Equal?)函数的输入端口y相连。

(15)将大于等于?(Greater Or Equal?)函数的输出端口x >= y? 与条件结构(上)的选择端口?相连。

(16)将小于等于?(Less Or Equal?)函数的输出端口x <= y? 与条件结构(上)的选择端口?相连。

(17)将数值常量(值为0,设备号)与函数DIOWriteBit.vi(上)的输入端口Port相连。

将数值常量(值为0,设备号)与函数DIOWriteBit.vi(下)的输入端口Port相连。

(18)将数值常量(值为1,DO通道号)与函数DIOWriteBit.vi(上)的输入端口BitPos相连。

将数值常量(值为2,DO通道号)与函数DIOWriteBit.vi(下)的输入端口BitPos相连。

(19)将函数DeviceOpen.vi的输出端口DevHandle与函数DIOWriteBit.vi(上)的输入端口DevHandle相连;

将函数DeviceOpen.vi的输出端口DevHandle与函数DIOWriteBit.vi(下)的输入端口DevHandle相连。

(20)将条件结构(上)的真(True)选项中的数值常量(值为1,状态位)与函数DIOWriteBit.vi(上)的输入端口State相连。

将条件结构(上)的假(False)选项中的数值常量(值为0,状态位)与函数DIOWriteBit.vi (上)的输入端口State相连。

(21)将条件结构(下)的真(True)选项中的数值常量(值为1,状态位)与函数DIOWriteBit.vi(下)的输入端口State相连。

将条件结构(下)的假(False)选项中的数值常量(值为0,状态位)与函数DIOWriteBit.vi (下)的输入端口State相连。

(22)在条件结构(上)的真(True)选项中,将数值常量(值为0)与不等于0?(Not

– 223 –

LabVIEW 虚拟仪器数据采集与串口通信测控应用实战

– 224 –

Equal To 0 ?)函数的输入端口x 相连;将不等于0?(Not Equal To 0 ?)函数的输出端口x != 0? 与指示灯控件“上限灯:”相连。

在条件结构(上)的假(False )选项中,将数值常量(值为1)与不等于0?(Not Equal To 0 ?)函数的输入端口x 相连;将不等于0?(Not Equal To 0 ?)函数的输出端口x != 0?与局部变量“上限灯:”相连。

(23)在条件结构(下)的真(True )选项中,将数值常量(值为0)与不等于0?(Not Equal To 0 ?)函数的输入端口x 相连;将不等于0?(Not Equal To 0 ?)函数的输出端口x != 0? 与指示灯控件“下限灯:”相连。

在条件结构(下)的假(False )选项中,将数值常量(值为1)与不等于0?(Not Equal To 0 ?)函数的输入端口x 相连;将不等于0?(Not Equal To 0 ?)函数的输出端口x != 0?与局部变量“下限灯:”相连。

(24)将数值常量(值为500,采样频率)与等待下一个整数倍毫秒(Wait Until Next ms Multiple )函数的输入端口毫秒倍数(millisecond multiple )相连。

(25)将停止按钮控件与非(Not )函数的输入端口x 相连。

(26)将非(Not )函数的输出端口.not. x ? 与循环结构的条件端子相连。

其他函数的连线略。设计的框图程序如图10-47与图10-48所示。

图10-47 框图程序1

图10-48 框图程序2

第10章基于研华数据采集卡的LabVIEW程序设计5.运行程序

执行菜单中的“文件/保存(File/Save)”命令,保存设计好的VI程序。

单击快捷工具栏中的“运行(Run)”按钮,运行程序。

给Pt100热电阻传感器升温或降温,VI程序前面板显示温度测量值及实时变化曲线;同时显示测量温度的平均值、最大值、最小值等。

可以改变温度报警下限、上限值:在下限指示文本框输入下限报警值;在上限指示文本框输入上限报警值。

当测量温度小于设定的下限温度值时,程序中的下限指示灯改变颜色,相应的线路中的DO指示灯1亮;当测量温度值大于设定的上限温度值时,程序中的上限指示灯改变颜色,相应的线路中的DO指示灯2亮。

程序运行界面如图10-49所示。

图10-49 程序运行界面

– 225 –

(整理)基于LabVIEW和DAQmx的温度采集与控制系统1.

基于LabVIEW和DAQmx的温度采集与控制系统 学院:工程学院 专业:电子信息工程 姓名: 学号: 指导教师:

摘要 虚拟仪器的技术基础是计算机技术,核心是计算机软件技术。随着现代测试技术的不断发展,以LABVIEW为软件平台虚拟仪器测量技术正在现代测控领域占据越来越重要的位置。本次设计报告首先给出了虚拟温度测量系统总体方案的设计,然后对数据采集模块和LABVIEW的软件模块进行了设计。基LabVIEW为软件平台,通过热电偶冷端补偿的方法进行温度测量。有效地运用了LabVIEW虚拟仪器技术,将诸多重要步骤都在配备硬件的普通PC电脑上完成,与传统的温度测量仪表相比,该系统具有结构简单、成本低、构建方便、工作可靠等特点.具有较高应用价值,是虚拟仪器技术应用于温度测量领域的一个典型范例。 关键词:温度测量;LabVIEW虚拟仪器;热电偶;冷端补偿

目录 一、设计任务 (4) 二、设计所需设备 (5) 三、设计要求: (5) 四、设计步骤 (6) 五、总体方案的设计................................................................................... 错误!未定义书签。 六、LABVIEW软件模块的设计 (7) 6.1 温度信号处理的设计 (7) 6.1.1 前面板设计 (7) 6.1.2 框图程序设计(这里要根据我们的图描述) (7) 七、系统调试及结果分析 (10) 结论及尚存在的问题..................................................................................... 错误!未定义书签。课程设计感想 (12)

LabVIEW程序设计步骤

LabVIEW 程序设计步骤 下面通过一个设计实例来详细介绍虚拟仪器软件LabVIEW 的程序设计步骤。 设计目标:假设有一台仪器,需要调整其输入电压,当调整电压超过某一设定电压值时,需通过指示灯颜色变化发出警告。 1 建立新VI 启动LabVIEW 程序,单击VI 按钮,建立一个新VI 程序。 这时将同时打开LabVIEW 的前面板和后面板(框图程序面板)。在前面板中显示控件选板,在后面板中显示函数选板。在两个面板中都显示工具选板。 如果选板没有被显示出来,可以通过菜单查看(View )/工具选板(Tools Palette )来显示工具选板,通过查看(View )/控件选板(Controls Palette )显示控件选板,通过查看(View )/函数选板(Functions Palette )显示函数选板。 也可以在前面板的空白处,单击鼠标右键,以弹出控件选板。 2 前面板设计 输入控制和输出显示可以从控件选板的各个子选板中选取。 本例中,程序前面板中应有1个调压旋钮,1个仪表,1个指示灯,1个关闭按钮共4个控件。 1)往前面板添加1个旋钮控件:控件(Controls )→ 新式(Modern ) → 数值(Numeric ) → 旋钮(Knob ),如图2-14所示,标签改为“调压旋钮”; 2)往前面板添加1个仪表控件:控件(Controls )→ 新式(Modern ) → 数值(Numeric ) → 仪表(Meter ),如图2-14所示,标签改为“电压表”。 3)往前面板添加1个指示灯控件:控件(Controls )→ 新式(Modern )→ 布尔(Boolean ) → 圆形指示灯(Round LED ),如图2-15所示,将标签改为“上限灯”。 4)往前面板添加1个停止按钮控件:控件(Controls )→ 新式(Modern )→ 布尔 图2-15 添加指示灯、按钮控件 图2-14 添加旋钮、仪表控件

研华数据采集卡USB 的安装和使用

基于Labview的研华数据采集卡的安装和使用数据采集卡型号:USB 4704,要求用labview采集研华的采集卡上的数据第一节研华设备管理器DAQNavi SDK安装 安装前的准备: 要求先安装好labview, 然后再进行以下安装 第一步: 安装研华的DAQ设备管理程序DAQNavi SDK包 1. 双击""文件,弹出安装对话框, 选择第1项“Update and DAQNavi”并点击“Next”: 点击“Next”:

如左上所示勾选,并点击“Next”: 点击“Next”,得如下图所示对话框,表示正在安装,请耐心等待。

耐心等待安装结束。安装结束后,选择操作系统上的“程序”,在程序列表中应该有“Advantech Automation”选项,点击该选项展开应有“DAQNavi”,如下图所示: 单击上图中的“Advantech Nagigator”选项,即可打开研华的设备管理器对话框,如下图所示,在这里,左侧的“Device”栏中列出了本机上连接的所有采集卡,可以对这些卡进行管理和测试,具体如何测试,请参照帮助文档。

第三二步.usb4704采集卡驱动安装 1. 双击“进行安装; 2. 安装完毕后,将采集卡与PC机相连(将usb数据线一端连上采集卡,另外一端连到计算机的USB口上),系统将自动安装采集卡的驱动,并识别采集卡。 3. 检查采集卡安装成功否 首先查看插在PC机上的采集卡上的灯是否呈绿色; 其次,打开“DAQNavi”,如下图所示,观察设备列表中是否显示出了“USB-4704” 第三步:在研华的设备列表中添加模拟卡(Demo Device) 若没有实际的采集卡,可以添加模拟卡进行模拟测试和数据采集编程练习 那么如何添加模拟卡呢? 如下图所示,点击“Advantech Automation”——〉DAQNavi ——〉Add Demo Device

LABview 程序设计

基于Labview的ADD波形 第一部分:概述 随着计算机技术、大规模集成电路技术和通讯技术的飞速发展,仪器技术领域发生了巨大的变化,美商国家仪器公司(National Instruments)于八十年代中期首先提出基于计算机技术的虚拟仪器的概念,把虚拟测试技术带入新的发展时期,随后研制和推出了基于多种总线系统的虚拟仪器。 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。 本次就是一个基于labview平台的一次设计来达到对虚拟仪器课程的掌握,尽量使用学习到知识,在设计过程中有些部分存在对于总体设计影响不大,仅仅作为对知识的巩固。 本次的ADD waveforms 设计能够对两种不同的信号进行的运算,由于现有的示波器仅能对两组波形进行简单的加减,而ADD waveforms能够进行除加减意外的乘除运算。 第二部分:设计的思路与基本原理 本次设计是基于labiew界面的一个虚拟仪器的设计,所设计的虚拟仪器要具有对一个正弦波、一个三角波进行各种合成运算的功能,可完成add、divide、multip、subtra四种基本数学运算的功能。 通过以上的目标,我们可以分别选择能产生三角波、正弦波的子VI,再通过一个条件结构来确定每次输入的波形需要进行那种运算,然后在波形图中显示出来以供观察,最后可以比较ADD前的波形与ADD之后的,同时对最终信号进行了频谱分析。 本次设计结构主要有这基本分组成:条件结构、信号产生子VI、信号合并、波形验证部分、控制开关部分、频谱分析部分。在接下来的部分会对这些部分做详细的介绍。 第三部分:设计模块与元器件的介绍

基于labview温度数据采集文献综述

基于LabVIEW温度数据采集文献综述 摘要:本课题介绍了虚拟仪器概况及其发展背景;通过对虚拟仪器的学习和研究,运用软件工具,实现温度显示系统的模拟。实现系统软件设计思路是:利用LabVIEW中的各种控件,实现温度数据采集显示。利用虚拟仪器的优越性实现了基于操作系统下的交通终端服务系统的展示部分。 关键字:labVIEW,温度,数据采集 引言 美国国家仪器公司推出的LabVIEW不仅是一个图形化编程语言,而且是一个广泛应用于虚拟测控系统的虚拟仪器平台,它与数据采集卡一起构成虚拟测试仪器,其测试系统的构建可以通过图形化的语言描述,组态容易,设计简单,广泛应用于测量与控制[2] 。 LabVIEW是虚拟仪器领域中最具有代表性的图形化编程开发平台[1] ,是目前国际上首推并应用最广的数据采集和控制开发环境之一,主要应用于仪器控制、数据采集、数据分析、数据显示等领域,并适用于多种不同的操作系统平台。与传统程序语言不同,LabVIEW采用强大的图形化语言(G 语言)编程,面向测试工程师而非专业程序员,编程非常方便,人机交互界面直观友好,具有强大的数据可视化分析和仪器控制能力等特点。使用LabVIEW 开发环境,用户可以创建32位的编译程序,从而为常规的数据采集、测试、测量等任务提供了更快的运行速度。LabVIEW是真正的编译器,用户可以创建独立的可执行文件,且该文件能够脱离开发环境而单独运行[4] 。 1.1虚拟仪器的优势 1.经济实惠 2.方便适用 3.提高测试效果 4.开放且灵活 远程虚拟仪器的优势在于不受地域限制,功能可由用户自己定义,且构建容易,所以使用面极为广泛,是科研、开发、测量、检测、计量、测控等领域不可多得的好工具,更值得一提的是它可应用在高危险的区域进行在线的数据采集和检测[5]。使测量人员的工作不但摆脱了地理位置和条件的限制,还可以通过Intcrnet把所采集到的数据自动地转送到另一台计算机进行评估[8]。 1.2 VI及相关知识 使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。VI包括三个部分:程序前面板、框图程序和图标/ 连接器。程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。控制和显示是以各种图标形

labview基本程序设计

虚拟仪器导论 实验报告 目录 一.实验目的

二.实验原理 2.1 一阶系统状态空间表达式 2.2 四阶龙格—库塔法 2.3 PID控制算法 三.实验内容 四.实验报告 4.1一阶系统仿真前面板 4.2 一阶系统仿真程序框图 五.实验分析 5.1 一阶系统特点 5.2 PID参数对控制系统性能的影响 5.3 PID参数整定方法 六.实验总结 实验二 LabVIEW基本程序设计 一、实验目的 (1) 熟悉LabVIEW 8.5开发环境; (2) 掌握LabVIEW编程语言的程序结构和图形控件的使用方法; (3) 掌握LabVIEW编程环境的程序调试方法; 二、实验原理与内容 已知一阶系统状态空间表达式

x y u x x = + - =2 2.0 编程时可采用4阶龙格-库塔算法求解上述方程: K1 = -0.2*X(k)+2*u(k); K2 = -0.2*(X(k)+0.5*T*K1)+2*u(k); K3 = -0.2*(X(k)+0.5*T*K2)+2*u(k); K4 = -0.2*(X(k)+T*K3)+2*u(k); X(k+1) = X(k)+(K1+2*K2+2*K3+K4)*T/6; Y = X(k+1); 控制算法可采用增量式PID控制算法: du = Kp*(e(k)-e(k-1))+T/Ti*e(k)+Td/T*(e(k)-2*e(k-1)+e(k-2)); u(k) = u(k-1)+du; 本实验要求基于LabVIEW编程环境,针对上述一阶系统进行控制仿真。通过控制系统仿真,分析一阶系统的特点和各个PID参数对控制系统性能的影响。 三、实验报告 (1)简述实验目的及实验原理。 (2)完成实验内容,并附上前面板和程序框图。 (3)分析一阶系统特点和各PID参数对控制系统性能的影响,总结PID参数整定的方法。 (4)总结在编程过程中遇到的问题、解决办法。

基于Labview的数据采集系统设计

武汉工程大学邮电与信息工程学院 毕业设计(论文)说明书 论文题目基于Labview的数据采集系统设计 2013年5月25日

目录 摘要........................................................................................................................................ I I Abstract .................................................................................................................................... III 第一章绪论........................................................................................................................ - 1 - 1.1背景.......................................................................................................................... - 1 - 1.2国内外技术现状...................................................................................................... - 1 - 1.3数据采集技术的介绍............................................................................................. - 2 - 1.4虚拟仪器的介绍...................................................................................................... - 9 - 第二章PCI8602的硬件结构及性能.................................................................................. - 13 - 2.1 功能概述............................................................................................................... - 13 - 2.2元件布局图及简要说明........................................................................................ - 15 - 2.3信号输入输出连接器............................................................................................ - 17 - 2.4 各种信号的连接方法........................................................................................... - 18 - 2.5各种功能的使用方法............................................................................................ - 21 - 2.6 CNT定时/计数功能.............................................................................................. - 22 - 第三章PCI8602的编程函数........................................................................................... - 23 - 3.1 编程纲要............................................................................................................... - 23 - 3.2 PCI设备操作函数接口......................................................................................... - 25 - 第四章数据采集的程序设计............................................................................................ - 33 - 4.1 前面板设计........................................................................................................... - 33 - 4.2 程序后面板设计................................................................................................... - 33 - 4.3 vi层次结构............................................................................................................ - 40 - 第五章采集实验结果及总结.......................................................................................... - 41 - 5.1 实验结果............................................................................................................... - 41 - 5.2 总结与展望........................................................................................................... - 42 - 致谢...................................................................................................................................... - 43 - 参考文献.............................................................................................................................. - 44 -

在LabVIEW中利用DLL实现数据采集

在LabVIEW中利用DLL实现数据采集Realization of Data Acquis ition with DLL in LabVIEW 班级学号:0704114-23 姓名:杨鹏

摘要: 随着计算机技术及虚拟仪器技术的迅速发展, 虚拟仪器正逐渐成为测试领域的发展方向。本文介绍了在LabVIEW 环境下驱动普通数据采集卡的重要方法- - 动态链接库机制(DLL), 并结合具体实例介绍了一种利用LabVIEW 提供的Call LibraryFunction (CLF)节点实现对动态链接库(DLL)调用的关键技术及步骤, 实现LabV IEW 与普通数据采集卡的结合, 丰富LabVIEW 对硬件的控制能力。并将数据库技术应用于虚拟测试系统中, 建立了Access 数据库, 实现数据的存储和自动管理,从而拓展了虚拟测试系统的功能。 关键词:动态链接库(DLL); 数据采集; 1 绪论

目前, 电子测试仪器的发展方向正在从简单功能组合向以个人计算机(PC)为核心的通用虚拟测试平台过渡, 从硬件模块向软件包形式过渡。建立在PC 机和数据采集设备上的虚拟仪器系统, 由于其特有的灵活和强大的功能, 也越来越广泛的应用于实验室研究和工业控制中的测试及测量领域。从简单的仪器控制, 数据采集到尖端的测试和工业自动化, 从大学实验室到工厂, 从探索研究到技术集成, 人们都可以发现LabVIEW 应用的成果和开发的产品。LabVIEW采用基于流程图的图形化编程方式, 也被成为G 语言(graphical language)。 G 语言编程和虚拟仪器技术已经成为工业界和学术界关注的热点技术之一。数据采集是LabVIEW 的核心技术之一, 也是LabVIEW 与其他编程语言相比的优势所在。使用LabVIEW 的DAQ 技术,可以编写出强大的DAQ 应用软件。NI 公司生产的系列数据采集卡借助LabVIEW 内部的DAQ 库的驱动,可以在LabVIEW环境下运行。但由于NI 公司的采集卡价格比较昂贵,但是选择第三方的数据采集卡, 就需要解决LabVIEW 与非NI 数据采集卡的兼容和驱动的问题。 2 LabVIEW 调用外部程序代码的途径之一———动态链接库机制 LabVIEW 具有强大的外部接口能力, 可以实现LabVIEW与外部的应用软件, C 语言, Windows API 以及HiQ 等编程语言之间的通信, 在LabVIEW 中可用的外部接口包括:DDE,CIN,DLL,MATLAB Script 以及HiQ Script 等。合理地使用这些接口,充分利用其他软件的功能, 弥补LabVIEW 自身的不足, 可以编 写出功能更加强大的LabVIEW应用软件。 动态链接库(Dynamic Link Libraries,简称DLL)是一个可执行模块, 但不接受任何消息, 所以并不可以直接运行, 只是提供一群函数供Windows 应用程序或其他的动态链接函数库调用。动态链接库只有在别的模块中调用了它的某个函数以后才发生作用。由于动态链接库在应用程序运行期间被连接起来的,故称为动态链接库。动态链接库(DLL)一直是基于Windows 程序设计的一个非常重要的组成部分。DLL 是一种基于Windows的程序模块, 它可以在运行时刻被装入和连接。为了实现LabVIEW对普通数据采集卡的支持, 用户可以使用LabVIEW 提供的调用库函数节点CLF (Call Library Function)和代码接口节点CIN(Code Interface)将编程灵活的C 语言和直观方便的LabVIEW程序结合起来。但是比较调用库函数节点CLF 和代码接口节点CIN 这两种方法, 使用CLF 节点访问动态链接库DLL 更具优势:首先, DLL 是外部模块, 自行开发一个DLL 比使用CIN 节点易于实现且便于维护。其次, CIN

基于LabVIEW的温度采集系统实验报告

南通大学计算机科学与技术学院 《虚拟仪器技术》课程作业 报告书 课题名:基于LabVIEW的温度采集系统 班级:软件工程 姓名: 学号: 2014年6月 18 日

1 设计目标 随着工业的不断发展,对温度测量的要求越来越高,而且测量范围也越来越广。本设计用LabView软件在PC机上编程实现了多点温度采集、动态图形显示、数据存储、报警、数据分析等功能。 2 设计内容 本温度采集系统的设计采用软件代替了数据采集卡,在数据采集过程中,实时地显示数据。当采集的温度值大于设定的高限报警数值时,就会点亮高报警红色灯,同时触发条件结构里的事件发生,使系统发出蜂呜声。当采集过程结束后,在图表上画出数据波形,并算出最大值、最小值,并自动产生数据文件,以供查询。 3 前面板设计

4 程序框图 温度采集总程序框图 实现步骤: 1、从结构工具模板选择条件循环结构“while循环”放入框图程序窗口,调整该条件循环框的大小,把节点放入循环框内。 2、使用随机数产生功能,用于产生随机温度值。添加温度控件,并将实时温度显示出来。

3、在前面板内再放置一个趋势图,标注为“温度历史趋势”,该图表将实时地显示温度值。 4、使用定时子模板中的等待下一个整数倍毫秒函数,再加上时间常数,把它设置为500。

5、该程序使用了条件结构,右边的TRUE Case与图中的FALSE Case同属于一个Case结构。根据输入端上的数值,来决定执行哪一个Case程序。如果产生的随机温度值大于高限数值,将执行True Case程序,反之则执行False Case 程序。 6.该程序框图还使用了写入电子表格文件函数(在文件 I/O子模块)。该模块把一个二维或者一维单精度数组转换成字符串,并把字符串写入一个新文件或者附回在一个已存在的文件后面。在本系统中,它将由温度采集数据和上限值组成的二维数组附加在一个默认路径为d:testdata.xls数据文件后面

研华数据采集卡PCI-1710快速入门手册

PCI-1710快速安装使用手册 PCI-1710快速安装使用手册 (1) 第一章产品介绍 (2) 概述 (2) 即插即用功能 (2) 单端或差分混合的模拟量输入 (2) 卡上FIFO(先入先出)存储器 (2) 卡上可编程计数器 (2) 用于降低噪声的特殊屏蔽电缆 (2) 16路数字输入和16路数字输出 (3) 短路保护 (3) 特点: (3) 一般特性: (3) 第二章安装与测试 (3) 初始检查 (3) Windows2K/XP/9X下板卡的安装 (4) 软件的安装: (6) 硬件的安装: (7) 测试 (8) 模拟输入功能测试 (8) 模拟输出功能测试 (9) 数字量输入功能测试 (10) 数字量输出功能测试 (11) 计数器功能测试 (12) 第三章信号连接 (13) 模拟信号输入连接: (15) 单端模拟输入连接 (15) 差分式模拟输入连接 (15) 模拟信号输出连接 (17) 触发源连接 (17) 内部定时器触发连接 (17) 外部触发源连接 (18) 第四章例程使用详解 (18) 板卡支持例程列表 常用例子使用说明 (18) ADSOFT/ADTRIG(软件触发方式例程) (18) ADint(中断方式进行数据采集的例程) (19) DIGOUT(数字量输出): (21) COUNTER(计数程序) (23) Digin (数字量输入例程) (24) PULSE(脉冲输出例程) (24) MADint(多通道中断采集例程) (25) 第五章遇到问题,如何解决...................................... 错误!未定义书签。

基于labview的贪吃蛇游戏程序设计

成绩评定表

课程设计任务书

目录 1 目的及基本要求 0 本程序是基于常看到的一款小游戏贪吃蛇而设计的,即有一条小 蛇不停地在屏幕上游走,吃各个方向上出现的苹果(姑且称它为 “苹果”),越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的 身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作的一款完整的迷你贪吃蛇游戏。 0 4.1 运行结果 (8)

1 目的及基本要求 本程序是基于常看到的一款小游戏贪吃蛇而设计的,即有一条小蛇不停地在屏幕上游走,吃各个方向上出现的苹果(姑且称它为“苹果”),越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作的一款完整的迷你贪吃蛇游戏。 熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现贪吃蛇游戏的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。 2 贪吃蛇游戏设计原理 贪吃蛇游戏大体上可分为以下几个部分: 1) 控制部分就是通过输入输出来控制蛇的运动 2) 逻辑部分进行判断蛇吃了没有是否撞墙同时把蛇的长度增加一节还要实现分数的计算 3) 图象显示部分就是将游戏显示出来 本程序的主要实现如下功能:1.小蛇在屏幕上不停的游走;2.用键盘方向键可控制小蛇的移动方向;3.吃过一个苹果后小蛇长度增加并随机产生另一个蛋; 4.小蛇碰到四壁或者碰到自己的身体时游戏结束并给出得分和提示是否继续; 5.游戏可以有多种难度选择等 3 贪吃蛇游戏设计与仿真 3.1 前面板设计 采用LabVIEW中提供的“Express XY图”作为游戏界面,显示蛇和苹果,这样就可以通过方向键来移动小蛇到想要去的地方。对XY图的属性做如下修改:

研华PCL-818系列板卡中文手册

PCL-818HD/HG/L快速安装使用手册 PCL-818HD/HG/L快速安装使用手册 (1) 第一章产品介绍 (2) 1.1 概述 (2) 1.1.1自动通道增益/扫描 (2) 1.1.2 板卡ID (2) 1.2共有特点 (3) 1.3 一般特性 (3) 第二章 安装与测试 (3) 2.1 初始检查 (3) 2.2 开关和跳线的设置 (3) 2.2.1 基址的选择 (4) 2.2.2通道设置 (4) 2.2.3 DMA通道选择 (5) 2.2.4定时器时钟选择 (5) 2.2.5 D/A基准电压选择 (5) 2.2.6内部基准电压源选择 (6) 2.2.7 EXE.trigger和GATE0的选择 (6) 2.2.8 FIFO打开/关闭选择 (7) 2.2.9 FIFO中断选择 (7) 2.2.10 数字输出20引脚或37引脚选择 (7) 2.3 引脚图 (8) 2.4 Windows2K/XP/9X下板卡的安装 (9) 2.4.1 软件的安装: (9) 2.4.2硬件的安装: (11) 2.5 测试 (17) 2.5.1模拟输入功能测试 (18) 2.5.2 模拟输出功能测试 (19) 2.5.3 数字量输入功能测试 (20) 2.5.4数字量输出功能测试 (21) 2.5.5计数器功能测试 (22) 第三章 信号的连接 (23) 3.1 模拟信号输入连接 (23) 3.1.1 单端模拟信号输入连接 (23) 3.1.2 差分模拟信号输入 (24) 3.2 模拟输出连接 (25) 3.3 数字信号连接 (25) 第四章 例程使用详解 (26) 4.1 板卡支持例程 (26) 4.2 常用例子使用说明 (26) 4.2.1 ADSOFT/ADTRIG(软件触发方式例程) (26) 4.2.2 ADint(中断方式进行数据采集的例程) (27) 4.2.3 DIGOUT(数字量输出): (29) 4.2.4 COUNTER(计数程序) (31)

研华采集卡使用培训资料

LabView Driver Guide

The procedure should be as following. Install Labview6/6i/7/7.1 Application Install Advantech Labview Driver from CD Install Advantech I/O card(driver/Hardware) Check the Support list in the manual to know what card and function/example can be supported Access the example in the path: C:\Program Files\National Instruments\LabVIEW 7.1\examples\Advantech Refer to the example to write own program

The support list for the card

Get voltage input from PCL-818L(1) 1. Click “New VI” button to create a new LabVIEW program. 2. Select Front Panel & enable Controls Palette to choose a “Waveform Chart” indicator in “Graph”group, add to front panel and name it “Voltage”.

LabVIEW和声卡控制系统程序设计

LabVIEW和声卡控制系统程序设计 1 引言 目前,控制系统的编程软件非常多,各类编程语言也数不胜数,具有代表性的有C语言、C++及汇编语言等,相比LabVIEW软件来讲,由于他们具有严格的语言逻辑以及语言规则,所有在设计、实践中往往比较复杂,而LabVIEW作为一种G语言,以图形,线条,结点的形式进行编程,简单易学。而且图形所表示的功能已经用完善的代码集成过,拿来就用,也节省了大量的工作任务。声卡作为一种普遍而且常用的材料,能够在LabVIEW自带的声卡VI中得到更好的运用和体现,二者结合是作为平面控制系统最实用的,最方便的,而且成本较低的体现。 2 LabVIEW软件介绍 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是它与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G 编写程序,产生的程序是框图的形式。用图标代替文本行创建应用程序的图形化编程语言,LabVIEW采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是LabVIEW的程序模块。虚拟仪器

具备很好的数据采集、仿真、数字信号处理的功能。LabVIEW 拥有专门用于控制领域的模块――LabVIEWDSC以及 NI-Motion。除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。使用LabVIEW可以非常方便的编制各种控制程序。 3 声卡介绍 3.1 PCI声卡 PCI声卡就是指采用PCI接口的独立声卡,PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。从结构上看,PCI是在CPU 的供应商和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。 3.2 USB声卡 USB声卡在原理上和结构上与普通的板载声卡很相似,但是由于USB具有其外置特点,他就没有了电路体积的限制,所以他能够通过复杂的模拟电路并采用更好的屏蔽设计从 而提高音质。脱离机箱,拥有不错的音质使他在性能上,实用性上得到了很大的提升,价格也相对较低,因此我们采用的是USB声卡作为平面控制系统的输出部分。 4 LabVIEW程序设计

LabView数据采集

第一节概述 LabVIEW的数据采集(Data Acquisition)程序库包括了许多NI公司数据采集(DAQ)卡的驱动控制程序。通常,一块卡可以完成多种功能 - 模/数转换,数/模转换,数字量输入/输出,以及计数器/定时器操作等。用户在使用之前必须DAQ卡的硬件进行配置。这些控制程序用到了许多低层的DAQ驱动程序。本课程需要一块安装好的DAQ卡以及LabVIEW开发系统。 数据采集系统的组成: DAQ系统的基本任务是物理信号的产生或测量。但是要使计算机系统能够测量物理信号,必须要使用传感器把物理信号转换成电信号(电压或者电流信号)。有时不能把被测信号直接连接到DAQ卡,而必须使用信号调理辅助电路,先将信号进行一定的处理。总之,数据采集是借助软件来控制整个DAQ系统–包括采集原始数据、分析数据、给出结果等。

上图中描述了插入式DAQ卡。另一种方式是外接式DAQ系统。这样,就不需要在计算机内部插槽中插入板卡,这时,计算机与DAQ系统之间的通讯可以采用各种不同的总线,如USB,并行口或者PCMCIA等完成。这种结构适用于远程数据采集和控制系统。 模拟输入: 当采用DAQ卡测量模拟信号时,必须考虑下列因素:输入模式(单端输入或者差分输入)、分辨率、输入范围、采样速率,精度和噪声等。单端输入以一个共同接地点为参考点。这种方式适用于输入信号为高电平(大于一伏),信号源与采集端之间的距离较短(小于15英尺),并且所有输入信号有一个公共接地端。如果不能满足上述条件,则需要

使用差分输入。差分输入方式下,每个输入可以有不同的接地参考点。并且,由于消除了共模噪声的误差,所以差分输入的精度较高。 输入范围是指ADC能够量化处理的最大、最小输入电压值。DAQ卡提供了可选择的输入范围,它与分辨率、增益等配合,以获得最佳的测量精度。 分辨率是模/数转换所使用的数字位数。分辩率越高,输入信号的细分程度就越高,能够识别的信号变化量就越小。下图表示的是一个正弦波信号,以及用三位模/数转换所获得的数字结果。三位模/数转换把输入范围细分为23或者就8份。二进制数从000到111分别代表每一份。显然,此时数字信号不能很好地表示原始信号,因为分辩率不够高,许多变化在模/数转换过程中丢失了。然而,如果把分辩率增加为16位,模/数转换的细分数值就可以从8增加到216即65536,它就可以相当准确地表示原始信号。

基于LabVIEW的数据采集系统的设计与实现

基于LabVIEW的数据采集系统的设计与实现 李延 (陕理工物理系电信专业072班,陕西汉中 723001) 指导教师:卢进军 [摘要]:利用图形化编程工具LabVIEW和EDA工具Proteus设计了一个温度数据采集仿真系统。该系统中上位机与下位机通过虚拟串口进行通信,下位机将采集到的现场数据传送到上位机后,上位机即可显示并判断是否超限报警。设计表明,基于该两种软件建立一个仿真系统可以有效验证项目设计的正确性,从而缩短项目开发时间,降低项目开发成本。 [关键词]:LabVIEW;Proteus;单片机;数据采集;仿真 The Design and Realization of Data Acquisition System Based on LabVIEW Liyan (Grade07,Class02,MajorElectronic Information Science and Technology,PhysicsDept.,Shaanxi University of Technology,Hanzhong 723001 Shaanxi) Tutor:LuJinju n Abstract:Use of LabVIEW graphical programming tools and EDA tools Proteus designed a data acquisition simulation system. The system of upper computer and lower computer through a virtual serial communication, the next crew will be collected on-site data to the host computer, the host computer to display and to determine whether the limit alarm. Design showed that the two software based on a simulation system can verify the correctness of the project design to reduce project development time, reduce project development costs. Key words:LabVIEW; Proteus; MCU; data collection; Simulation

基于研华数据采集卡的labview程序设计.doc

第10章基于研华数据采集卡的 L a b V I E W程序设计 本章利用研华公司的PCI-1710HG数据采集卡编写LabVIEW程序,包括:模拟量输入、模拟量输出、开关量输入以及开关量输出等。 10.1 模拟量输入(AI) 10.1.1 基于研华数据采集卡的LabVIEW程序硬件线路 在图10-1中,通过电位器产生一个模拟变化电压(范围是0V~5V),送入板卡模拟量输入0通道(管脚68),同时在电位器电压输出端接一信号指示灯,用来显示电压变化情况。 图10-1 计算机模拟电压输入线路 本设计用到的硬件为:PCI-1710HG数据采集卡、PCL-10168数据线缆、ADAM-3968接线端子(使用模拟量输入AI0通道)、电位器(10K)、指示灯(DC5V)、直流电源(输出:DC5V)等。 10.1.2 基于研华数据采集卡的LabVIEW程序设计任务 利用LabVIEW编写应用程序实现PCI-1710HG数据采集卡模拟量输入。 任务要求: (1)以连续方式读取电压测量值,并以数值或曲线形式显示电压测量变化值;

第10章基于研华数据采集卡的LabVIEW程序设计(2)当测量电压小于或大于设定下限或上限值时,程序画面中相应指示灯变换颜色。 –209 –

LabVIEW 虚拟仪器数据采集与串口通信测控应用实战 – 210 – 10.1.3 基于研华数据采集卡的LabVIEW 程序任务实现 1.建立新VI 程序 启动NI LabVIEW 程序,选择新建(New )选项中的VI 项,建立一个新VI 程序。 在进行LabVIEW 编程之前,必须首先安装研华设备管理程序Device Manager 、32bit DLL 驱动程序以及研华板卡LabVIEW 驱动程序。 2.设计程序前面板 在前面板设计区空白处单击鼠标右键,显示控件选板(Controls )。 (1)添加一个实时图形显示控件:控件(Controls )→新式(Modern )→图形(Graph ) →波形图形(Waveform Chart ),标签改为“实时电压曲线”,将Y 轴标尺范围改为0.0-5.0。 (2)添加一个数字显示控件:控件(Controls )→新式(Modern )→数值(Numeric )→ 数值显示控件(Numeric Indicator ),标签改为“当前电压值:”。 (3)添加两个指示灯控件:控件(Controls )→新式(Modern )→布尔(Boolean )→圆形指示灯(Round LED ),将标签分别改为“上限指示灯:”、“下限指示灯:”。 (4)添加一个停止按钮控件:控件(Controls )→新式(Modern )→布尔(Boolean )→停止按钮(Stop Button )。 设计的程序前面板如图10-2所示。 图10-2 程序前面板 3.框图程序设计——添加函数 进入框图程序设计界面,在设计区空白 处单击鼠标右键,显示函数选板(Functions )。 在函数选板(Functions )下添加需要的函数。 (1)添加选择设备函数:用户库→ Advantech DA&C (研华公司的LabVIEW 函数库)→ EASYIO → SelectPOP → SelectDevicePop.vi ,如 图10-3 SelectPop 函数库

相关主题
文本预览
相关文档 最新文档