通信工程毕业设计(论文)运用DataSocket技术实现基于labview的测控系统_第1页
通信工程毕业设计(论文)运用DataSocket技术实现基于labview的测控系统_第2页
通信工程毕业设计(论文)运用DataSocket技术实现基于labview的测控系统_第3页
通信工程毕业设计(论文)运用DataSocket技术实现基于labview的测控系统_第4页
通信工程毕业设计(论文)运用DataSocket技术实现基于labview的测控系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、运用datasocket技术实现基于labview的测控系统摘 要现代测控技术在工业、农业、国防、航空航天等领域的自动化发展过程中发挥着巨大作用。labview是一款强大的工业标准图形化编程工具,已广泛应用到工业自动化、通信、航空等各个领域,labview7.0以上版本中提供了datasocket结点,datasocket技术是一种网络数据通信技术,用于共享和发布实时数据,能实现实时数据传输。本文将虚拟仪器技术应用到锅炉监测系统中,利用现有的pc计算机,加上仪器硬件和专用软件,并利用datasocket技术构建了一个远程的锅炉监控系统。利用ni公司的labview2009中的 datasock

2、et提供的网络数据通信技术,并借助互联网的强大功能, 将来自测量或控制设备中的数据直接发布到web 网页上, 使资源得以共享,解决了一个大型的、复杂的锅炉测控系统数据的采集输入、分析处理和输出的自动化测控问题。abstractmodern measurement and control technology play a huge role in industry,agriculture,national,defense,aerospace and other fields in the process of automation. labview is a powerful industry

3、-standard graphical programming tool,which has been widely applied to industrial automation,telecommunications,aviation and other field. labview above 7.0 version provided datasocket node. datasocket technology is a network data communication technology for data sharing and real-time dissemination t

4、o achieve real-time data transmission. this article will apply virtual instrument technology to a supervisory system of boiler. using existing pc computer as well as instrument hardware and proprietary software, datasocket technology can be used to build a remote supervisory system of boiler. using

5、the network data communication technology provided by datasocket of ni's labview2009, and with the strong power of the internet, data from the measurement or control device can be directly posted to the web page so that resources can be shared, thus to successfully solve a large, complex boiler

6、measurement and control systems problems of data collection and input, processing and output of automated measurement and control.【key words】datasocket、remote monitoring、labview、virtual instrument【type of thesis】design 前言远程测控系统是以计算机和通信网为手段,为实现资源共享及远程支援而组建的。远程测控技术是一门随着计算机技术、检测技术和控制技术的发展而迅猛发展的综合性技术,融现

7、代传感技术、通信技术和计算机技术于一体,广泛的应用到科学研究和各种社会生活中。一个大的、复杂的测试系统其数据的采集输人、输出和分析处理往往分布在不同的地理位置上, 传统的集成测试方法不能满足复杂测试任务的需求。因此, 网络化仪器的出现成为必然。随着计算机网络技术、总线技术和数据库技术的不断发展, 互联网使数据共享进入了一个新的阶段, 加速了虚拟仪器在网络及远程计算技术方面的发展。虚拟仪器技术借助互联网的强大功能, 将来自测量或控制设备中的数据直接发布到web 网页上, 把分散在不同位置的不同设备联系起来组成一个测试系统, 使资源得以共享。为此,ni公司推出了datasocket技术,datas

8、ocket是ni公司提供的一种网络数据通信技术,可用于一个计算机内或者网络中多个应用程序之问的数据交换,这项技术面向测控和自动化,用于共享和发布实时数据,能实现实时数据传输。datasocket技术作为一种重要的远程监控手段,其隐藏网络传输细节,能方便地实现测试终端和现场仪器之间地数据交换,同时满足实时性、安全性地指标要求。锅炉是一个耗能设备,每年有近五个月的时间处于供暖期,由此可以想象,投在其中的资金、人力、物力非常多,而且锅炉工业现场环境复杂甚至恶劣。因此,为了节约能源和减少人力的投入,本文将虚拟仪器技术应用到锅炉监测系统中,利用现有的pc计算机,加上仪器硬件和专用软件,并利用dataso

9、cket技术构建了一个远程的锅炉监控系统,经过授权的客户端可以通过datasocket服务器完成对锅炉的监控。目录1 绪论11.1本文研究意义11.2国内外研究现状11.3本文主要工作22 datasocket技术在虚拟仪器中的应用32.1虚拟仪器概述32.1.1 虚拟仪器的概念32.1.2 虚拟仪器的构成42.2基于labview的虚拟仪器设计62.2.1 labview简介62.2.2 基于labview的虚拟仪器开发步骤102.3 datasocket技术122.3.1 datasocket技术简介122.3.2 datasocket技术在labview中的实现162.4 实例172.5

10、 本章小结193数据采集(daq)与传感器技术203.1 daq系统的构成203.2 daq系统的功能213.3传感器技术243.3.1传感器概述243.3.2几种常用传感器253.4 本章小结264 基于datasocket技术的远程锅炉测控系统的设计274.1现代测控系统的结构模型274.2现代测控系统的设计方法284.3 设计远程锅炉监控系统304.3.1系统总体框架304.3.2系统功能介绍314.3.3系统硬件配置及软件设计314.3.4使用datasocket技术实现远程测控344.4 本章小结365 总结与展望375.1 总结375.2 展望37致谢38主要参考文献391 绪论1

11、.1本文研究意义作为仪器技术和计算机技术完美结合的虚拟仪器技术为测试操作人员带来了绝好的解决方案。利用虚拟仪器技术,只需使用计算机和少量的硬件即可成功开发多种测试仪器,而且在计算机上对虚拟面板的操作与现实中的仪器操作一样方便。通过采用虚拟技术对锅炉进行监控,使该测控系统工作性能更加稳定,监控结果精度更高,而且开发周期短,用户操作灵活方便。锅炉是一个耗能设备,尤其我国北方城市,每年有近五个月的时间处在采暖期,供热期较长,由此可以想象,必须投在其中大量的资金、人力、物力。工业锅炉的控制是自动化领域的典范,涉及多种类型参数(如温度、压力、流量、液位、转速等),大多数需要检测和控制。实现工业锅炉检测与

12、控制的手段较多,目前较多采用基于plc+开放的上位软件(如ifix、intouch、组态王等)模式。同样用虚拟仪器技术也可以实现工业锅炉的监控。本文将虚拟仪器技术应用到锅炉监测系统中,利用现有的pc计算机,加上仪器硬件和专用软件,并利用datasocket技术构建了一个远程的锅炉监控系统。利用ni公司的labview2009中的 datasocket提供的网络数据通信技术,并借助互联网的强大功能, 将来自测量或控制设备中的数据直接发布到web 网页上, 使资源得以共享,解决了一个大型的、复杂的锅炉测控系统数据的采集输人、分析处理和输出的自动化测控问题。1.2国内外研究现状随着计算机网络技术的发

13、展和对测控系统的精度、数据处理速度和资源共享要求的不断提高,虚拟仪器测控系统在过程领域得到广泛应用。虚拟仪器是计算机技术、网络通信技术与仪表技术相结合所产生的一种新型仪器,可由用户定义自己的专用仪器系统。它功能强大,可实现示波器、频谱仪、信号发生器等多种普通仪器功能,而且可以和高速数据采集卡等构成自动控制系统。目前,虚拟仪器赖以生存的pc计算机最近几年以极高的速度在发展,微处理器以及新的数据采集卡的出现,使我们更有可能造出更强的虚拟仪器系统。此外pc计算机价格不断下降,各种应用软件层出不穷,都为虚拟仪器发展奠定了基础。虚拟仪器作为传统仪器的替代产品,市场容量很大。在最近几年内国内已有多家企业生

14、产虚拟仪器,推动了国内虚拟仪器更快地发展。在国外,虚拟仪器已经得到比较广泛的应用,国际上从1998年开始陆续有虚拟产品问世。美国是虚拟仪器的诞生地,也是全球最大的虚拟仪器制造国,生产的厂家有hp、ni公司等。中国是对锅炉设计、制造、安装、使用、修理、改造等环节实行全过程安全管理的国家。伴随着中国制造业的不断发展壮大,我国锅炉制造业取得了长足的进步,目前已可以生产多种不同压力等级和容量的锅炉,已成为当今世界锅炉生产和使用最多的国家。但是还存在许多问题,目前,我国工业锅炉的控制大多还是采用现场仪表控制,锅炉热效率不高,燃煤锅炉烟尘排放污染严重;制造厂的产品技术水平、工艺及管理落后。因此,为了提高锅

15、炉监控系统的可靠性、节省人力、财力,国家开发了工控技术、plc+开放的上位监控软件控制技术、虚拟仪器技术等先进技术实施锅炉监控。1.3本文主要工作本文利用ni公司的labview2009中的 datasocket提供的网络数据通信技术,用于锅炉监控计算机并借助互联网的强大功能, 将来自测量或控制设备中的数据直接发布到web 网页上, 使资源得以共享,解决了一个大型的、复杂的锅炉测控系统数据的采集输人、分析处理和输出的自动化测控问题。本文主要内容如下:第一章:绪论,主要介绍选题意义、国内外研究现状和本文主要工作。第二章:datasocket技术在虚拟仪器中的应用,主要研究labview图形化编程

16、工具编辑人机界面和利用datasocket技术实现网络数据通信。第三章:数据采集与传感器技术,主要研究数据采集系统的构成、功能以及传感器的基础知识。第四章:基于datasocket技术的远程锅炉测控系统的实现,主要利用labview和datasocket以及硬件设备实现远程锅炉监控系统。第五章:总结与展望,总结本文的研究工作,提出本系统存在问题,展望今后需进一步完善的工作。2 datasocket技术在虚拟仪器中的应用虚拟仪器(virtual instrument,vi)是全新概念的新一代测试仪器、是现代仪器技术和计算机技术深层结合的产物。虚拟仪器技术是建造现代测控系统最便捷最先进的工具,是当

17、今计算机辅助测试(cat)领域的一项重要技术,代表了现代测控技术和仪器技术的发展方向。2.1虚拟仪器概述虚拟仪器是继第一代仪器(模拟式仪表)、第二代仪器(分离元件式仪表)、第三代仪器(数字式仪表)和第四代仪器(智能仪器)只后的新一代仪器。它打破了计算机与仪器之间的界限,将计算机强大的信号分析处理和显示功能与测控系统硬件资源有机地结合起来,能够更迅速、更经济、更灵活的解决测控问题。2.1.1 虚拟仪器的概念所谓虚拟仪器,就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟面板、测试功能由测试软件实现的一种计算机仪器系统。用户可以在通用计算机平台上,根据需求定义和设计仪器的测试功能。使用

18、者在操作这台计算机时,就像是在操作一台自己设计的测试仪器一样。虚拟仪器的出现,打破了传统仪器由厂家定义、用户无法改变的工作模式,用户可以根据自己的需求,设计自己的仪器系统。虚拟仪器的实质是利用i/o接口设备完成信号的采集与传输,利用计算机强大的软件功能完成信号的运算、分析与存储,利用计算机显示器模拟传统仪器的控制面板,并以多种形式表达输出测试结果。“虚拟”二字主要包括以下两方面的含义。1)仪器面板是虚拟的虚拟仪器面板上的各种“控件”与传统仪器面板上的各种“器件”所完成的功能是相同的。由各种开关、按钮、显示器等实现仪器电源的“通”、“断”,被测信号“输入通道”、“放大倍数”等参数的设置,及测量结

19、果的“数值显示”、“波形显示”等。传统仪器面板上的器件都是“实物”,而且是由“手动”或“触摸”进行操作的;虚拟仪器面板控件是外形与实物相像的“图标”,“通”、“断”、“放大”等对应着相应的软件程序,用户通过计算机鼠标或键盘来完成对控件的操作。设计虚拟仪器面板的过程就是在面板设计窗口中摆放所需的控件,然后对控件属性进行设置。初学者可以通过虚拟仪器软件开发工具,如labview等,在短时间内轻松完成美观而又实用的虚拟仪器面板设计。2)仪器功能由软件编程来实现在虚拟仪器中,仪器功能是由软件编程来实现的。在以计算机为核心的硬件平台支持下,不仅可以通过软件编程设计实现各种传统仪器的测试功能,而且可以实现

20、一些传统仪器不能或难以实现的数据处理功能,如频谱分析、小波分析、数字滤波、回归分析、统计分析等。通过将不同测试功能的软件模块进行组合,还可以实现多种测试功能,因此有“软件就是仪器”的说法。2.1.2 虚拟仪器的构成与传统仪器一样,虚拟仪器由3大功能模块组成:信号采集、信号分析处理、结果输出与显示。相应的,虚拟仪器由计算机、仪器硬件和应用软件3大要素构成,计算机与仪器硬件又称为虚拟仪器的通用仪器硬件平台。虚拟仪器的基本构成如图2-1所示。图2-1 虚拟仪器的构成1) 通用仪器硬件平台虚拟仪器硬件平台包括通用计算机和i/o接口设备。通用计算机可以是微型计算机或工作站,是硬件平台核心;i/o接口设备

21、主要完成被测输入信号的采集、放大、模数转换等。根据i/o接口设备所采用的不同总线方式,虚拟仪器可分为以下几种类型。 (1)pc-daq型pc-daq(data acquisition)型是以数据采集卡、信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统采用计算机本身的pci总线或isa总线,将数据采集卡(daq)插入计算机的pci或isa插槽中。pc-daq型虚拟仪器系统通过数据采集卡与相应的应用软件,将来自传感器的被测信号采集到计算机中,然后进行运算、分析、显示等处理,并可通过d/a转换实现反馈控制。利用pc-daq系统可以方便快速地组建基于计算机的仪器,实现“一机多型”和

22、“一机多用”。该方式是构建vi最基本的方式,也是最廉价的方式。(2)gpib型gpib(general purpose interface bus)型是以gpib标准总线仪器与计算机为硬件平台的虚拟仪器系统。一个典型的gpib系统是由一台计算机、一块gpib接口卡和若干台gpib接口的仪器,通过标准gpib电缆与计算机连接。一块gpib接口卡可与多达14台gpib仪器子系统连接。利用gpib技术,可以灵活组建测控系统,扩建系统的功能和规模,且不同厂家的产品具有良好的兼容性与互换性,提高了测控系统的可靠性和效率。(3)vxi型vxi型是以vxi(vme bus extention for ins

23、trumentation)标准总线仪器模块与计算机为硬件平台组成的虚拟仪器测试系统。vxi总线是一种高速计算机总线-vme总线在仪器领域的扩展。vxi总线系统采用机箱式结构,一个接插模块相当于一台仪器或特定功能的器件,多个模块共存于一个机箱内并组成一个测试系统。控制器(计算机)与vxi总线的连接方式包括gpib-vxi方式、嵌入式方式、1394-vxi方式和高速mxi总线方式。由于vxi总线标准开放,具有传输速率高、数据吞吐能力强、定时和同步精确、模块化设计、结构紧凑、使用方便灵活等特点,便于组织大规模、功能多样的现代集成式虚拟仪器系统。(4)pxi型pxi型是以pxi(pci extensi

24、ons for instrumentation)标准总线仪器模块与计算机为硬件平台组成的虚拟仪器系统。pxi总线式pci总线在仪器领域的扩展,它将pci总线技术发展成适合于试验、测量与数据采集场合应用的机械、电气和软件规范。pxi规范将台式pc的性价比优势与pci总线面向仪器领域的必要扩展完美地结合起来,形成一种主流的虚拟仪器测试平台。pxi总线与pci总线电气兼容,传输速度高达132mbps和264mbps。pxi总线系统也采用机箱式结构,用户可以根据自己的需求从众多的pxi总线产品中选择合适的模块,组建相应的测控系统。pxi总线产品的市场增长速度很快,有取代vxi总线系统的趋势。(5)串口

25、型串口型是以serial标准总线仪器与计算机为硬件平台组成的虚拟仪器测试系统。(6)usb型和ieee1394型usb和ieee1394是现在发展比较快、应用越来越广泛的两种高速串行总线技术。基于usb或ieee1394总线的虚拟仪器测试系统是目前发展的一个热点。另外,还有以图像采集卡或运动控制卡作为i/o接口设备的虚拟仪器系统,它们是虚拟仪器技术在现代新型测控系统中的典型应用。2) 虚拟仪器软件虚拟仪器软件包括i/o接口仪器驱动程序、虚拟仪器开发工具和应用软件3个层次。(1)i/o接口仪器驱动程序这类程序用来完成特定外部硬件设备的扩展、驱动和通信。应用软件通过仪器驱动程序实现与外围硬件模块的

26、通信连接。(2)虚拟仪器开发工具开发虚拟仪器必须选用合适的软件开发工具,目前的虚拟仪器软件开发工具有如下两类。文本式编程语言开发工具:如visual c+,visual basic,labwindows/cvi等。其中labwindows/cvi(c for visual instrumentation)是面向仪器与测控系统的交互式c/c+软件开发平台,在程序设计上具有更强的灵活性。图形化编程语言开发工具:如labview,hp vee等。这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。ni公司推出的虚拟仪器开发平台labview是一种易学易用、功能强大的图

27、形化开发软件,用户不需要懂得其他编程语言就可以学习使用,非常适合从事科研、开发的科学工作者和工程技术人员。(3)应用程序它包含两方面的程序:一是实现虚拟仪器面板功能的软件程序,二是定义虚拟仪器测试功能的流程图软件程序。2.2基于labview的虚拟仪器设计在确定了测控系统的功能和硬件平台之后,关键在于选择合适的软件开发工具编写相应的应用软件。该开发工具能够提供一个集成的开发环境,与仪器硬件连接方便,且具有良好的用户界面。下面就以图形化编程语言labview2009为例,介绍基于labview的虚拟仪器设计方法。2.2.1 labview简介labview(laboratory virtual

28、instrument engineering workbench,实验室虚拟仪器工程平台)是美国ni公司推出的一种基于g语言(graphics language,图形化编程语言)的虚拟仪器软件开发工具。labview为虚拟仪器设计者提供了一种全新的程序编写方法,设计者可以在 一个便捷、轻松的设计环境中,利用labview所提供的图形化控件迅速地组建一个测控系统,构建自己的仪器面板,而几乎不需要编写任何代码。1)labview的特点作为一种功能强大的虚拟仪器开发工具,labview具有以下特点:(1)用图形化的编程方式代替了传统的程序代码,是真正的工程师的语言。(2)提供专门用于设计数据采集程序

29、和仪器控制程序的功能库的功能库和开发工具库,为数据采集、分析及存储提供丰富的库函数。(3)提供用于pci、gpib、pxi、rs-232、usb等各种仪器总线标准的应用程序模块,使不懂总线标准的设计者也能够驱动不同接口的设备和仪器。(4)具有强大的外部接口能力和函数扩展功能,可以方便地实现与外部应用软件(如word、excel等)和c、matlab等编程语言之间的通信。(5)具有强大的internet功能,内置便于应用tcp/ip、dde(动态数据变换)、activex等软件标准的库函数,支持常用网络协议,方便网络、远程测控仪器的开发。(6)提供传统的程序调试手段,如设置断点、单步运行等,同时

30、提供独具特色的调试工具,设计者能够通过探针、动态执行程序等观察程序运行细节,使程序的调试和开发更为便捷。(7)32位的编译器编译生成32位的编译程序,保证数据采集、数据处理及整个测控系统的高速执行。总之,labview为虚拟仪器开发提供了一种快捷、方便和功能强大的软件工具,在现代测控系统中具有越来越广泛的应用。2)labview基本开发环境设计一个虚拟仪器是在两个窗口中进行的。第一个是前面版设计窗口,如图2-2(a)所示,所有虚拟仪器前面版的设计都是在这个窗口中进行并完成的,前面版仿照实际仪器的面板,可以包括按钮、按键、刻度盘、开关、图表和其他界面工具;第二个是流程图编辑窗口,如图2-2(b)

31、所示,它包含由节点、端口及连线等组成的流程图,流程图是图形化的源代码,是vi测试功能软件的图形化表达。图2-2(a)图2-2(b)设计者主要利用labview提供的工具模板、控件选板和函数选板来完成vi前面版和流程图的设计任务,如图2-3所示。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。(a)控件选板 (b)函数选板 (c)工具选板图2-3 labview的三种选板(1)工具模板位于前面版设计窗口和流程图设计窗口,通过主菜单查看选择工具选板命令可弹出工具模板。工具模板为编程者提供用于操作、编辑前面版和流程图上对象的各种工具,当从模板内选择了任一种工具后,鼠标箭头就会变成该工具

32、相应的形状。工具模板包含的工具有:操作工具、定位/尺寸/选择工具、文本编辑工具、连线工具、对象弹出菜单工具、滚动工具、断点工具、探针工具、着色工具。(2)控件选板控件选板和功能模板与上述工具模板不同,控件模板和功能模板只显示顶层子模块的图标,每一个顶层图标表示一类子模块。在这些顶层子模块中包含许多不同的控制或函数功能子模块。通过这些控制或函数功能子模块可以找到创建程序所需要的面板对象和流程图对象。用鼠标单击顶层子模块图标就可以展开对应的控制或功能子模块。通过按下控制或功能子模块左上角的大头针就可以把该模块变成浮动板留在屏幕上。控件选板位于前面版设计窗口,通过主菜单查看选择控件选板命令,或者在前

33、面版设计窗口中单击鼠标右键,可以弹出控制模板。控件选板是提供各种按钮、开关、显示屏等所有可能涉及到的仪器面板部件,外形与实物相似。其中包括数字量、布尔量、字符串和路径、数组与簇、表、图以及自定义控件等。每个图标代表一个子虚拟器件。通过鼠标单击控制模板上的虚拟控件和示件并拖放到前面版视图中,就可以构造虚拟仪器的前面版。控件选板包含的子模块有:数值量、布尔量、字符串和路径、数组和簇、列表框和表格、图形、环和枚举量、容器、输入输出、对话框、经典控件、参考号和用户控件等。(3)函数选板函数选板是创建流程图的工具,位于流程图窗口,通过主菜单查看选择函数选板命令,或者在流程图设计窗口单击鼠标右键,可以弹出

34、函数模板。函数选板包括的子模块有:结构、数值、布尔量、字符串、数组、簇、比较、时间与对话框、文件输入/输出、测量、波形、分析、仪器输入/输出、应用程序控制、图形和声音、通信、报告生成、高级、选择vi和用户vi等。2.2.2 基于labview的虚拟仪器开发步骤在labview开发平台上创建虚拟仪器,就是编制图形化程序,该图形化程序简称vi,它包括前面版程序和流程图程序两部分。用labview设计一个虚拟仪器的主要步骤如下。 1)虚拟前面版设计前面版是vi的用户界面,设计前面版的过程是根据所设计的仪器的功能,仿照实际仪器的面板,在设计窗口内摆放按钮、按键、刻度盘、开关、图表以及其他需要的界面元素

35、。这些元素均位于前面版的控制模板中。在前面版摆放好所需控件后,还可以利用labview提供的工具和菜单命令对这些控件的布局、颜色、名称等属性进行进一步设置。2)流程图设计流程图相当于vi的源程序,因此vi的实际功能都是通过流程图编程实现的。流程图的构成元素主要包括端口、节点、图框和连线。(1)端口端口是只有一路输入/输出、并且方向固定的节点,是数据流的源头或终点。在流程图编辑窗口中,数据流源头端口的边框为粗实线,数据流终点端口的边框为细实线。labview端口分为以下类型:前面版对象端口。该端口图标对应于前面版所放置的对象,用来从前面版输入控制型控件获取数据,或者向输出显示型控件输出数据。常量

36、端口。该端口为数据流源头端口,用于设置程序中数据运算所需的常量。全局变量或局部变量端口。该端口对应于程序中定义的全局变量或局部变量,用于在程序内部或不同vi之间传送数据。daq端口。数据来源于数据采集卡采集的数据。(2)节点节点型图标是代表各种“函数”和“运算”的子程序,通过这些节点可以完成对数据的函数运算、分析处理等功能,节点型图标上通常有若干个输入或输出端子。labview的节点分为两类:函数节点。这种节点是labview编译好的机器代码,以图标形式提供给用户使用,用户不能对其进行访问和修改。子vi节点。由于vi程序可以是一层层嵌套的,低级的vi可以以图标的形式出现在调用它的vi中,这种图

37、标被称为子vi节点。子vi节点有labview提供,或者由用户自己定义,用户可以对此类节点进行访问和修改。(3)图框图框是用来定义程序的结构化执行控制命令,包括for循环、while循环、case结构、按帧顺序执行等。(4)连线连线表示程序执行过程中的数据流及其流动方向。在labview中,通过连线的颜色可以判断数据的类型,如橙色表示浮点型、绿色表示布尔型;通过连线的粗细可以判断该数据流是单个数据还是数组等。使用连线工具按数据流的方向将各个端口、节点、图框等依次相连,即可实现相应的数据采集、分析、显示等功能。3) 运行检查在完成前面版程序与流程图程序设计以后,虚拟仪器设计已基本完成,是否达到预

38、期功能,还需运行检验。labview提供的程序调试方法主要有:(1)设置程序运行为高亮方式。在程序运行前单击高亮按钮,则运行过程中正在执行的节点会以高亮形式显示。这种方式一般用于单步模式,可以跟踪数据流传输情况。(2)单步执行。按下单步按钮进入单步执行模式,下一个将要执行的节点就会闪烁,指示它将被执行。通过单步执行可以跟踪程序运行细节。再次单击单步按钮,程序将会变成连续执行方式。(3)探针。从工具模板中选择探针工具,将探针置于某根连线上,可以查看程序过程中该连线上的实时数据。(4)断点。使用断点工具可以在程序的某一地方中止程序执行,同时结合探针或单步方式查看数据。综上所述,在labview开发

39、平台创建虚拟仪器的过程,就是在“前面版设计窗口”与“流程图设计窗口”分别进行“虚拟前面版”及其相应的“流程图”程序设计。图形化的编程思想与文本的编程方法是一致的,为了完成对信号数据的采集,需要编写对i/o接口硬件设备的驱动程序;为了对采集的信号进行运算、分析处理,需要编写运算、分析处理程序等。使用labview进行虚拟仪器设计的特别之处在于该平台将传统程序所需要的常量、数组、数据流控制命令、各种常用函数和数据运算、标准i/o设备的调用等用图标表示,因而不熟悉文本式编程方法的工程师、科学家一样可以随心所欲地进行程序设计,大大提高了虚拟仪器开发效率。2.3 datasocket技术2.3.1 da

40、tasocket技术简介为便于与其他应用程序交换数据,labview提供了dde、ndde、tcp/ip、active、net技术支持。除此之外,national instrument公司开发了datasocket技术并在labview7.0以上版本中提供了datasocket结点。datasocket是ni公司推出的一种面向测量和自动化工程的网上实时数据交换的编程技术,可用于一个计算机内或网络中多个应用程序之间的数据转换,用于共享和发布实时数据。datasocket技术提供一种基于tcp/ip协议的网络编程技术,它支持本地文件i/o操作、ftp和http文件传输、实时数据共享并为低层通信协议

41、提供了一致的api供编程人员使用。datasocket技术是一种简单易用的网络数据通信技术,它封装了tcp/ip编程细节(如选择端口号、定义协议、创建连接、字节流处理、错误处理等),即具体的底层tcp/ip编程由datasocket提供的vi完成,使测控工程师不用了解底层的网络编程技术,就可以方便地搭建网络化虚拟仪器测控系统。datasocket技术隐藏网络传输细节,能方便地实现测试终端和现场仪器之间的数据交换,同时满足实时性、安全性的指标要求。目前datasocket在10m网络中的传输速度可达640kb/s。对于中频以下的数据采集系统,可以达到很好的传输效果。随着网络技术的飞速发展和网络信

42、道容量的不断扩大,测控系统的网络化已经成为现代测量与自动化应用的发展趋势。依靠datasocket和网络技术,人们将能更有效地控制远程仪器设备,在任何地方进行数据采集、分析、处理和显示,并利用各地专家的优势,获得正确的测量、控制和诊断结果。1)datasocket的组成datasocket的体系结构如图2-4所示。图2-4 datasocket的体系结构由图可知,采用datasocket技术的测控系统,其客户端可以是用户的web浏览器、labview的vi及labview/cvi,而服务器端完成数据采集并通过datasocket服务器发送给客户。ni公司的componentworks软件包中提

43、供的datasocket具备以下3个工具。(1)datasocket activex控件:开发者可以利用它提供的控件在诸如vb、vc等activex容器中开发共享数据应用程序。(2)datasocket服务器:利用dstp协议在应用程序之间交换数据。(3)datasocket服务器管理程序:它是一个配置和管理工具,负责确定datasocket服务的最大连接数,实现设置访问控制等网络管理功能。2)datasocket工具datasocket包括datasocket server manager、datasocket server和datasocket函数库3个软件以及dsip协议、统一资源定位器

44、(url)和文件格式等技术规范。用户可以像使用labview中的其他数据类型一样使用datasocket读写字符串、整型数、布尔量及数组数据,只需要设置url,就可用来在internet进行及时分发送所需传输的数据。它能大大简化internet网上计算机之间的测控数据交换的编程工作。ds技术可在c语言、vb和labview等多种开发环境中使用。(1)datasocket server managerdatasocket server manager是一个独立运行的程序,其功能是运行:服务器设置(server settings,设置可连接的客户程序的最大数目、可创建的数据项的最大项目)、许可组设

45、置(permission group,允许创建用户组和用户)和预定义数据项设置(predefined data items,发布和共享数据项的设置)等。数据项实际上是datasocket server中的数据文件,未经授权的用户不能再datasocket server上创建或读写数据项。如何运行datasocket server manager?即安装好labview之后,打开如图2-5所示命令,双击cwdssmgr,进入图2-6所示页面。图2-5 运行datasocket server manager图2-6 datasocket server manager页面datasocket ser

46、ver manager是一个独立运行的小程序,它主要功能是设置datasocket服务器可连接的客户程序的最大项目,设置用户和用户组,设置用户可创建数据项(data item)和读写数据项的权限。主要参数有以下几个。server settings(服务器设置):设置与服务器性能有关的参数。参数maxconnections是指服务器最多可以连接的客户端数目,最多可连接1000个客户端,默认值为50;参数maxitems是用于设置能够显示的测试参量数,最多可显示1000个测试参量,默认值为200。permission groups(许可组):设置与完全有关的参数。grooups(组)是指以一个组名

47、来代表一组ip地址的集合,这对于以组为单位进行设置比较方便。datasocket server共有4个内建组:administrators、defaultreaders、defaultwriters和creators,分别代表了管理、读、写和创建数据项目的默认主机设置。单击new group按钮可添加新的组。predefined data items(预定义的数据项目):预定义用户可直接使用的数据项目并且可以设置每个数据项目的数据类型、默认值和访问权限等属性。默认的数据项目共有3个,即samplenum、samplestring和samplebool。单击new item按钮可添加新的数据项目

48、。(2)datasocket serverdatasocket server也是一个独立运行的程序,它为用户提供一个数据交换的场所。如何运行datasocket server?即在安装好labview之后,打开如图2-5所示命令,双击cwdss,进入如图2-7所示界面。datasocket server负责监控datasocket server manager中所设定的各种权限和客户程序之间的数据交换。datasocket server 与测控应用程序可安装在同一台计算机上,也可分装在不同计算机上。主要参数有以下几个。processes connected:显示与datasocket服务器连接

49、的客户端的实际数目。packets received:显示接收的数据包的数目。packets sent:显示发送的数据包的数目。图2-7 datasocket server运行界面(3)datasocket函数库datasocket函数库用于实现datasocket通信,ds函数库包含open、read、write、close等函数。利用datasocket发布数据需要3个要素:publisher(发布器)、datasocket server和subscriber(订阅器)。publisher利用datasocket api将数据写到datasocket server中,而subscriber

50、利用datasocket api从datasocket server中读取数据,如图2-8所示。publisher和subscriber都是datasocket server的客户程序,三者可同时驻留在同一台计算机中。图2-8 datasocket通信过程(4)统一的资源定位器(url)datasocket用类似于web中的统一资源定位器(url)定位数据源,url不同的前缀表示了不同的数据类型,file表示本地文件,http为超文本传输资源,ftp为文件传输协议,opc表示访问的资源是opc服务器,dstp(datasocket transfer protocol,datasocket传输协

51、议)则说明数据来自datasocket服务器的实时数据。利用datasocket进行通信时首先需要指定url。datasocket可用的url共5中:dstp、opc、logos、ftp和file传输协议。dstp是datasocket自己的数据传输协议。opc(ole for process control)是目前自动化领域广泛应用的工业标准接口,用于不同应用程序之间的连接,使用opc协议要运行opc server,ni提供这个外挂的工具包。logos是ni在计算机和网络之间传输数据的内部技术。ftp(file transfer protocol)是一种流行的文件传输协议。file协议提供对

52、本地计算机或网络计算机的数据文件链接。由于dstp、opc、logos协议能够更新远程和本地的控制量和指示量,可以利用这些协议下的url共享实时数据;而ftp和file协议不能更新远程和本地的控制量和指示量,可以利用ftp和file urls从文件中读取数据。2.3.2 datasocket技术在labview中的实现在labview中运用datasocket技术实现网络通信有两种途径:前面版控件直接连接和利用datasocket vi编程。1)前面版控件直接连接labview为每一前面版控件都设定一个datasocket connection属性,利用它可以实现不同计算机相对应得两个甚至多个

53、同类型控件之间的datasocket通信。通过规定url和控件连接方式就可以在本地和远程进行实时无误差的数据 发布(publish)和读取(subscribe)。连接方式中的publish和subscribe方式为双向传输提供方便,两台计算机中的任何一台都可以控制另外一台计算机的控件数值。例如,要将本地波形显示器的数据与网络中的其他计算机共享,可在本地波形图显示器的datasocket connection属性对话框中指定url,并选择publish连接方式,异地波形显示器的datasocket connection对话框中url应符合以下格式:dstp:/servernamecom/wave

54、formdata,其中servernamecom是本地计算机的网址,它可以是计算机名、ip地址或计算机域名:waveformdata是数据的名称标识(tag),用以区别不同的datasocket连接。这样两异地控件就建立连接。运行两程序,当控件右上角的方框呈绿色时,标明数据发送或接受得到正确连接,本地控件的数据就可实时的传输到异地控件中;当方框呈红色时,表明数据与datasocket server连接失败。2)datasocket编程函数利用控件属性直接连接实现数据传输而无需编程、简单易用,但缺点是数据不透明,在客户端处理服务器传入的数据,就必须利用datasocket函数库提供的vi。dat

55、asocket函数库包含有readhe write等功能节点。read节点用于充服务器的数据公共区下载数据;write节点用于把数据写入服务器的数据公共区。datasocket在读数据文件时,支持text,txt,wave和dsd等格式;在写数据文件时,支持text和dsd等格式。要写入数据公共区的数据类型必须与数据公共区设定的数据类型一致。当有多个不同数据类型数据需要写入时,可以多次发送、读取和开辟多个相应类型的数据公共区,也可以利用功能函数variant把多个不同类型数据转换变为variant类型而写入一个数据公共区。当有多个相同类型的数据先后写入数据公共区时后写入的数据会覆盖前一个写入的

56、数据。datasocket编程函数位于“函数”选板下“数据通信”中的“datasocket”子选板下,如图2-9所示。图2-9 datasocket vi编程函数面板2.4 实例 制作虚拟的汽车控制系统,系统的功能是:当输入发动机的转速时,经过一定的运算过程,输出发动机的温度和汽车速度值。当速度超过100km/h时,则速度报警灯亮。如果燃料液位低于50l时,则燃料报警灯亮。 1)前面版 (1)启动labview2009,选择文件中的新建vi选项,建立一个vi。(2)在前面版中空白处单击鼠标右键,从弹出的控件选板中选择“控件经典经典数值”子选板中的旋钮控件并将其拖入至前面版中,选中控件单击鼠标右

57、键,修改其属性,将标签名改为发动机转速。(3)在默认情况下,旋钮控件的数值范围是0-10,此处需要将数值范围改为0-5000。(4)按(2)和(3)相同的方法添加一个温度计控件、一个仪表控件、一个液罐控件、一个滑动杆控件、两个指示灯控件和四个数值显示控件。并将其属性设置为如图2-10所示。图2-10汽车控制前面版 2)程序框图 (1)选择“窗口”下拉菜单中的“显示程序框图窗口”,则显示出程序框图窗口。(2)在程序窗口中空白处单击鼠标右键,弹出函数选板,从函数选板中的“函数编程数值”子选板中选择乘法函数并将其拖入程序框图中。(3)按(2)相同的方法完成加法函数、平方根函数、除法函数和相应的数字常量。并将其连线如图2-11所示。图2-11汽车控制程序框图(4)打开前面版,点击运行按钮,转动旋钮和滑动杆观察数值变化和报警灯的变化。2.5 本章小结本章主要介绍了labview的相关知识以及datasocket在labview中的网络通信方法。然后结合实例详细说明了用labview创建vi的经典过程,为下面的深入学习打下一个良好的基础。3数据采集(daq)与传感器技术数据采集是labview的一项重要功能。ni公司为lab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论