研华股份有限公司6024数据采集卡怎么用?急 !!!谢谢好人

MATLAB调用研华USB数据采集卡实现数据实时采集--《煤矿机械》2012年03期
MATLAB调用研华USB数据采集卡实现数据实时采集
【摘要】:为了在MATLAB中调用其不支持的研华便携式USB数据采集模块4711A,实现对现场振动传感器采集信号的实时采集,采用MATLAB应用程序接口C-MEX文件将两者连接成便携式数据采集系统,并用MATLAB图形界面设计工具GUIDE编写数据采集的程序界面,显示采样数据的时域波形。
【作者单位】:
【关键词】:
【分类号】:TP274.2【正文快照】:
0引言目前,在工业现场对传感器信号的采集、分析的实时性要求越来越高,所以数据采集设备必须便于携带,为了适应这一要求,数据采集系统不适合选用广泛应用于设备监测系统的PCI数据采集板卡,而应选用便携式的USB数据采集模块,只需将模块插入USB口就可以使用便于携带的笔记本电
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【参考文献】
中国期刊全文数据库
冯志红;林志贵;王炜;;[J];煤矿机械;2006年06期
【二级参考文献】
中国期刊全文数据库
闫玲;方开翔;姚寿广;;[J];江苏科技大学学报(自然科学版);2006年03期
宋庭新,桂婕;[J];计算机测量与控制;2004年02期
陈会莲;周桂红;赵晓顺;郑艳博;聂彩丽;刘淑霞;;[J];设备管理与维修;2007年03期
王梦玲;王思明;;[J];微计算机信息;2006年19期
【相似文献】
中国期刊全文数据库
金香;;[J];阴山学刊(自然科学版);2007年01期
金祥曙,周晓军;[J];机械;2002年05期
陈家焱,陈冬娇,张达响;[J];计算机与现代化;2005年06期
阳仁贵,潘小东;[J];人民长江;2003年12期
徐春林,马波;[J];今日电子;2004年05期
聂士忠,王玉泰;[J];物理实验;2004年05期
张春,田丽;[J];兵工自动化;2004年03期
周渊,王炳和,刘斌胜;[J];电声技术;2004年07期
徐伟民;[J];包装工程;2004年03期
陈桦,程云艳;[J];陕西科技大学学报;2004年02期
中国重要会议论文全文数据库
于萍;刘胜;;[A];'2002系统仿真技术及其应用学术论文集(第四卷)[C];2002年
成功;邓小青;;[A];第十五届全国遥感技术学术交流会论文摘要集[C];2005年
王兴华;车新生;;[A];科技创新与产业发展(A卷)——第七届沈阳科学学术年会暨浑南高新技术产业发展论坛文集[C];2010年
杨冶杰;邵宁;;[A];系统仿真技术及其应用(第7卷)——'2005系统仿真技术及其应用学术交流会论文选编[C];2005年
李鹏飞;都洪基;罗玉春;张晓萍;;[A];2007中国继电保护及自动化行业年会论文集[C];2007年
郑红梅;张克;仇成群;刘莉;;[A];2005年“数字安徽”博士科技论坛论文集[C];2005年
刘敏;刘藻珍;;[A];'2002系统仿真技术及其应用学术论文集(第四卷)[C];2002年
杜欣;王立德;王艳;邱瑞昌;董春;徐春梅;;[A];第三届全国高等学校电气工程及其自动化专业教学改革研讨会论文集[C];2005年
高湛军;陈青;李霞;贾光辉;朱常青;;[A];第6届全国高等学校电气工程及其自动化专业教学改革研讨会论文集(上册)[C];2009年
孙奎洲;周金宇;;[A];2010年全国机械行业可靠性技术学术交流会暨第四届可靠性工程分会第二次全体委员大会论文集[C];2010年
中国重要报纸全文数据库
;[N];电子报;2007年
中国博士学位论文全文数据库
宋志安;[D];山东科技大学;2005年
王恒升;[D];中南大学;2006年
袁侃;[D];南京航空航天大学;2010年
夏欣;[D];中国海洋大学;2009年
曲兴华;[D];天津大学;2003年
中国硕士学位论文全文数据库
唐世振;[D];中国海洋大学;2007年
叶臣;[D];青岛科技大学;2005年
王雪;[D];重庆大学;2007年
缪志刚;[D];苏州大学;2007年
吴明华;[D];长安大学;2007年
蒋冬初;[D];湖南大学;2004年
程冰;[D];广东工业大学;2005年
肖文彬;[D];华中科技大学;2007年
杨俊;[D];华北电力大学(河北);2005年
赵婵婵;[D];太原理工大学;2007年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备74号&& 查看话题
哪位用过研华的USB4711a数据采集卡,我安装驱动出了些问题,每次都死机。
我最近买了研华的USB4711a数据采集卡,安装驱动后设备管理器显示设备驱动不正确,插入硬件提示搜索驱动,无论自动搜索或手动指定位置搜索都会死机。哪位用过USB4711a或者遇到过类似的情况,请不吝赐教。
我也遇到过同样的问题,时而有用,时而不行。同问! 自己答吧。最后终于找到原因了——杀毒软件。
装驱动前把杀毒软件关了。
使用发现不正常的话,把杀毒软件里面被屏蔽的文件恢复了,就行了。 联系售后服务,会给你很好的解决办法 也有可能供电不足,换机箱后面的试试。。或者先别插启动电脑,再装驱动,每次插着USB电脑都不启动,我遇到过这种状况。也有可能是驱动没装上,你到设备管理器里,看看硬件有识别出来,画没画叹号或者问号,黄色红色的。。杀毒软件一般都卸载了吧。。最后不行就只能售后邮件或者电话了。。研华数据采集卡用LabVIEW怎么实现多通道输入?_百度知道
研华数据采集卡用LabVIEW怎么实现多通道输入?
user Librarise 里面只找到单通道输入的VI
我有更好的答案
也就是VI,可先从第二部分开始。将实际的数据采集先用LabVIEW自带的数组这些在LabVIEW中都有集成的函数模块对于初学者
其他类似问题
为您推荐:
数据采集卡的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁基于研华数据采集卡的的LabVIEW程序设计任务(转)
基于研华数据采集卡的的LabVIEW程序设计任务( 18:45:54)[编辑][删除]
  标签: 研华数据采集卡研华板卡研华模块研华工控机it 分类: 重庆成都西安研华工控机
  第10章 基于研华数据采集卡的LabVIEW程序设计
  本章利用研华公司的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.1.3 基于研华数据采集卡的LabVIEW程序任务实现
  1.建立新VI程序
  启动NI LabVIEW程序,选择新建(New)选项中的VI项,建立一个新VI程序。
   在进行LabVIEW编程之前,必须首先安装研华设备管理程序Device Manager、32bit
DLL驱动程序以及研华板卡LabVIEW驱动程序。
  2.设计程序前面板
  8 在前面板设计区空白处单击鼠标右键,显示控件选板(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 程序前面板
  图10-3 SelectPop函数库
  3.框图程序设计——添加函数
进入框图程序设计界面,在设计区空白处单击鼠标右键,显示函数选板(Functions)。在函数选板(Functions)下添加需要的函数。
  (1)添加选择设备函数:用户库→ Advantech DA&C(研华公司的LabVIEW函数库)→ EASYIO →
SelectPOP → SelectDevicePop.vi,如图10-3所示。
  (2)添加打开设备函数:用户库→ Advantech DA&C → ADVANCE → 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 → ADVANCE → DeviceManager →
DeviceClose.vi,如图10-4所示。
  (8)添加模拟量配置函数:用户库→ Advantech DA&C→ADVANCE→SlowAI→ AIConfig.vi
,如图10-5所示。
   图10-4 DeviceManager函数库 图10-5 SlowAI函数库
  (9)添加一个While循环结构:编程(Programming)→结构(Structures)→While 循环(While
  以下添加的函数或结构放置在While循环结构框架中。
  (10)添加模拟量电压输入函数:用户库 → Advantech DA&C → ADVANCE → SlowAI →
AIVoltageIn.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
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相连。
  (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)将AIVoltageIn.vi函数的输出端口DevHandle与DeviceClose.vi函数的输入端口DevHandle相连。
  将AIVoltageIn.vi函数的输出端口Voltage与数字显示控件(标签为“当前电压值:”)相连。
  将AIVoltageIn.vi函数的输出端口Voltage与波形显示控件(标签为“Waveform
Chart”)相连。
  将AIVoltageIn.vi函数的输出端口Voltage与小于等于?(Less Or
Equal)函数的输入端口x相连。
  将AIVoltageIn.vi函数的输出端口Voltage与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 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 程序运行画面
  10.2 模拟量输出(AO)
  图10-11 计算机模拟电压输出线路
  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.设计程序前面板
  8 在前面板设计区空白处单击鼠标右键,显示控件选板(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-12所示。
  图10-12 程序前面板
  3.框图程序设计——添加函数
  8 进入框图程序设计界面,在设计区空白处单击鼠标右键,显示函数选板(Functions)。
  (1)添加选择设备函数:用户库→ Advantech DA&C(研华公司的LabVIEW函数库)→ EASYIO →
SelectPOP → SelectDevicePop.vi ,如图10-13所示。
  (2)添加打开设备函数:用户库→ Advantech DA&C → ADVANCE → DeviceManager →
DeviceOpen.vi,如图10-14所示。
   图10-13 SelectPop函数库 图10-14 DeviceManager函数库
  (3)添加关闭设备函数:用户库 → ADVANCE → DeviceManager →
DeviceClose.vi,如图10-14所示。
  (4)添加While循环结构:编程(Programming)→结构(Structures)→While 循环(While
  图10-15 SlowAO函数库
  以下添加的函数放置在While循环结构框架中。
  (5)添加模拟量电压输出函数:用户库 → Advantech DA&C → ADVANCE → SlowAO →
AOVoltageOut.vi,如图10-15所示。
  (6)添加数值常量:编程(Programming)→数值(Numeric)→ 数值常量(Numeric
Constant),将值改为0(模拟量输出通道号)。
  (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与函数AOVoltageOut.vi的输入端口
DevHandle相连。
  (3)将函数AOVoltageOut.vi的输出端口DevHandle与函数DeviceClose.vi的输入端口
DevHandle相连。
  (4)将数值常量(值为0,模拟量输出通道号)与函数AOVoltageOut.vi的输入端口Channel相连。
  (5)将滑动杆(Slide)的输出端口与函数AOVoltageOut.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-17 框图程序连线
  单击快捷工具栏中的“运行(Run)”按钮,运行程序。
  首先执行“SelectDevicePop.vi”子程序,选择研华板卡设备PCI-1710HG。
  硬件设备设置完成,程序开始运行。
  用鼠标单击游标上下箭头,改变输出值(0~10),画面中实时趋势曲线将随游标值变化而变化,板卡AO0_OUT通道输出电压随之改变(0V~10V),线路中发光二极管亮度随之变化,在示波器中显示输出电压变化波形。
  程序运行画面如图10-18所示。
  图10-18 程序运行画面
  略。。。。。。
  详见网址为:http://www./51284。
  10.6 温度测量与报警控制
  10.6.1 硬件线路
  在图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.设计程序前面板
  8 在前面板设计区空白处单击鼠标右键,显示控件选板(Controls)。
  (1)添加一个实时图形显示控件:控件(Controls)→新式(Modern)→图形(Graph)→波形图形(Waveform
Chart),将Y轴标尺范围改为0.0~50.0。
  (2)添加6个数字显示控件:控件(Controls)→新式(Modern)→数值(Numeric)→ 数值显示控件(Numeric
Indicator),标签分别为“当前值:”、“测量个数:”、“累加值:”、 “平均值”、“最大值:”、“最小值:”。
  图10-40 程序前面板
  (3)添加两个数值输入控件:控件(Controls)→新式(Modern)→数值(Numeric)→数值输入控件(Digital
control),标签分别为“上限值:”、“下限值:”,将其值改为50、25,并设置为默认值。
  (4)添加两个指示灯控件:控件(Controls)→新式(Modern)→布尔(Boolean)→圆形指示灯(Round
LED),将标签分别改为“上限灯:”、“下限灯:”。
  (5)添加一个停止按钮控件;控件(Controls)→新式(Modern)→布尔(Boolean)→停止按钮(Stop
Button)。
  设计的程序前面板如图10-40所示。
  3.框图程序设计——添加函数
  8 进入框图程序设计界面,在设计区空白处单击鼠标右键,显示函数选板(Functions)。
  (1)添加选择设备函数:用户库→ Advantech DA&C(研华公司的LabVIEW函数库)→ EASYIO →
SelectPOP → SelectDevicePop.vi,如图10-41所示。
  (2)添加打开设备函数:用户库→ Advantech DA&C → ADVANCE → DeviceManager →
DeviceOpen.vi,如图10-42所示。
    图10-41 SelectPop函数库 图10-42 DeviceManager函数库
  (3)添加关闭设备函数:用户库 → ADVANCE → 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
  (7)添加捆绑函数:编程(Programming)→ 簇(Cluster)→捆绑(Bundle)。
  图10-43 SlowAI函数库
  (8)添加模拟量配置函数:用户库 → Advantech DA&C → ADVANCE → SlowAI →
AIConfig.vi,如图10-43所示。
  (9)添加一个While循环结构:编程(Programming)→结构(Structures)→While 循环(While
  以下添加的函数或结构放置在While循环结构框架中。
  (10)添加一个时钟函数:编程(Programming)→定时(Time &
Dialog)→等待下一个整数倍毫秒(Wait Until Next ms Multiple)。
  (11)添加一个数值常量:编程(Programming) →数值(Numeric)→数值常量(Numeric
Constant),值分别为500。
  (12)添加一个非(Not)函数:编程(Programming)→布尔(Boolean)→Not。
  (13)添加一个顺序结构:编程(Programming)→结构(Structures)→层叠式顺序结构(Stacked
Sequence Structure)。
  将其帧(Frame)设置为两个(序号0-1)。设置方法:选中层叠式顺序结构(Stacked Sequence
Structures)上边框,单击右键,执行在后面添加帧(Add Frame After)选项一次。
  (14)在顺序结构Frame 0中,添加模拟量电压输入函数:用户库 → Advantech DA&C → ADVANCE
→ SlowAI → AIVoltageIn.vi,如图10-43所示。
  图10-44 SlowDIO函数库
  (15)在顺序结构Frame 0中,添加两个写端口位函数:用户库 → Advantech DA&C → ADVANCE →
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
  (26)分别将指示灯控件“上限灯:”、“下限灯:”分别拖入两个条件结构的真(True)选项中。
  其他函数略。添加的所有函数及其布置如图10-45和图10-46所示。
  4.框图程序设计——连线
  使用工具箱中的连线工具,将所有函数连接起来。
  图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的输入端口Chan
& Gain相连。
  (7)将函数AIConfig.vi的输出端口DevHandle与函数AIVoltageIn.vi的输入端口DevHandle相连。
  (8)将函数AIVoltageIn.vi的输出端口DevHandle与函数DeviceClose.vi的输入端口DevHandle相连。
  将函数AIVoltageIn.vi的输出端口Voltage与减(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 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
  5.运行程序
  执行菜单中的“文件/保存(File/Save)”命令,保存设计好的VI程序。
  单击快捷工具栏中的“运行(Run)”按钮,运行程序。
  给Pt100热电阻传感器升温或降温,VI程序前面板显示温度测量值及实时变化曲线;同时显示测量温度的平均值、最大值、最小值等。
  可以改变温度报警下限、上限值:在下限指示文本框输入下限报警值;在上限指示文本框输入上限报警值。
  当测量温度小于设定的下限温度值时,程序中的下限指示灯改变颜色,相应的线路中的DO指示灯1亮;当测量温度值大于设定的上限温度值时,程序中的上限指示灯改变颜色,相应的线路中的DO指示灯2亮。
  程序运行界面如图10-49所示。
  图10-49 程序运行界面
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 研华股份有限公司 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信