基于LabVIEW的网络化技术研究
- 格式:doc
- 大小:27.50 KB
- 文档页数:7
基于LabVIEW的网络化技术研究摘要从研究虚拟仪器以及虚拟仪器的开发平台——labview入手,本文详细分析了六种适基于labview的网络化技术,并通过成功实例研究了网络化虚拟测试技术的可行性、高效性和便捷性,说明了网络技术在虚拟仪器测试领域有着良好的应用空间和发展前景。
关键词 labview;虚拟仪器;网络化技术中图分类号tp393 文献标识码a 文章编号1674-6708(2010)23-0216-020 引言随着计算机网络、微电子、自动化测控、智能等技术的飞速发展,近年来我国出现了一种称为智能化测控网络的先进新型的网络,该网络与信息网不同的是:它的主要应用不是为了一般信息交流和共享,则用于工业的控制与测量的数据等的传输和通信。
我们应用这种智能化测控网络技术和虚拟仪器相结合从而构成网络化虚拟仪器的系统,成为了虚拟仪器发展的方向之一。
1 虚拟仪器的简介虚拟仪器技术(virtual instrument,简称为vi)这是计算机与仪器仪表的技术结合的产物,利用计算机系统功能强大的优点去结合对应的硬件,有效突破了传统仪器在数据处理、数据显示、数据传送、数据存储等方面的制约,在仪器仪表领域注入了新活力,带来革命性的变化。
虚拟仪器是以通用的计算机为核心硬件平台上,用户自己设计定义,虚拟面板的测试功能是由测试软件实现的一种计算机的仪器系统。
使用者需通过鼠标、键盘来操作虚拟的仪器面板使用的时候好像在一台专用的测量仪器上使用。
虚拟仪器实质是利用计算机的显示器来模拟传统仪器的控制面板以各种各样的形式表达输出检测的结果,利用计算机软件功能实现信号数据的分析、运算、处理,利用接口设备i/o完成信号采集、信号测量、信号调理,完成不同种类的测试功能的一种新型计算机仪器系统。
2 labviewlabview(简称lv)——虚拟仪器的开发平台labview是美国一家仪器公司推出的图形化的虚拟仪器开发平台,是一种基于图形开发、调试、运行的集成化开发环境,是国际上唯一种编译型的图形化编程语言。
lv开发平台的采用流程图式的方式来编程,预先不需要编译就可以进行语法对错的检查,调试过程中使用数据探针,还具有丰富的数值分析、函数功能、设备驱动、信号处理等功能。
lv 是设计开发分布式网络化测试系统用户交互界面和用户端数据分析处理组件的理想开发工具。
与其它测试工程软件如vc++.vb,delphi等相比有如下特点和优点:1)图形化的编程环境提供了很多专业性的图形控件,采用图形化编程方法,彻底把工程师从复杂枯涩的文本编程中解脱出来。
2)可重用性高lv继承并发展了结构化和模块化程序设计概念,使测试程序能够很好地体现分层性、模块化。
3)高效的功能、通用lv采用的是数据流模型实现自动的多线程,则充分利用处理器上的多处理器的处理能力。
通过cin与dll节点、activex或者matlab脚本节点、net等技术,实现与其他编程语言混合编程。
lv内创建了分析函数600多个,进行数据分析与信号处理。
ni同时也提供了丰富的附加模块来用于扩展lv应用在不同领域。
4)支持多种仪器和数据采集硬件的驱动lv通过应用程序生成器可以发布exe、动态链接库或安装包。
lv提供大量的驱动和专用工具,能与任何接口硬件进行连接。
5)差错、调试能力强大lv内建编译器在用户编写程序的过程中同时可以在后台自动完成编译。
即时显示出用户编写程序时候的语法错误,并给出错误的类型、原因及准确位置。
调试程序的时候可以设置断点、单布运行等,具有独到的高亮执行工具,采用设计者观察程序运行的细节。
3 lv中的网络化技术及其应用lv环境中提供了几种网络编程技术主要有通信功能模块、vi server技术、web服务器技术、共享变量技术、datasocket技术、internet developers toolkit因特网开发工具包。
1)通信功能的模块在functions>>communication子模板中提供了多种多样的通信功能模块,有datasocket、tcp、 hiq 、activex、dde 、udp、exec七类功能的模块,通过七类功能模块能够轻松完成网络编程得工作。
创建网络应用程序的是activex;实现远程通信的是datasocket;调用hiq数据处理软件是tcp与 hiq;dde和windows 应用程序是进行数据交换的;设计基于tcp/ip协议的网络程序的是tcp;设基于udp协议的网络程序的是udp;exec是调用一个*.exe可执行的应用程序。
2)共享变量技术共享变量是lv8新推出的网络通信技术,它基于共享变量引擎(shared variable engine,sve)。
sve是一个共享变量网络通信的软件框架,在windows中,lv将sve配置为一个服务,当系统启动时便会自动启动sve服务。
通过共享变量,用户可以在不同的计算机上的vi之间、本地不同vi之间或同一个程序框图的不同循环之间交换数据。
共享变量的网络通信是通过ni-psp协议的。
共享变量的使用与全局变量相似,用户在程序框图中只看到一个变量而已,不需要了解任何网络协议,就可以实现网络数据交换。
不仅如此,共享变量还可以用于实时系统中,它使得lv与实时系统的通信变得非常简单。
在c/s模型中的应用共享变量技术,将计算机a作为服务器,计算机b作为客户机,并且a和b上均安装lv8。
要想实现网络数据交换,以产生仿真信号为例其流程为:(1)在服务器a上创建一个共享变量svserver-variable,并通过vi不断地向其写入数据。
具体为:在project explorer中右击my computer或lvlib 并选择new/variable设置共享变量属性;新建一名为svwriter.vi 的vi,直接将project explorer中的共享变量svserver-variable 拖入程序框图中。
程序框图如图1。
(2)在客户机b上建立共享变量svclient-variable,通过在共享变量属性设置中,选中bind to source与服务器a上的svserver-variable进行绑定,并通过创建名为svreader.vi的vi 读取svclient-variable来获得计算机a上svserver-variable的值。
程序框图如图2。
3)datasocket技术是美国ni公司提供的一种基于tcp/ip协议的网络编程技术,所支持本地文件i/o的操作、ftp 与http的文件传输、实时的数据共享,还统一提供api编程接口。
从数据共享的角度看,它是针对winsock高级封装,具有编程工作量少、使用方便、不用了解底层操作过程等优点,特别适合于监控和数据共享、远程数据采集等应用程序的开发。
datasocket把已经建立用于自动测量控制的通信技术相结合,好比web浏览器将不同的internet技术整合成一个容易使用的工具。
4)vi server技术vi server是lv编程环境本身提供的一项技术。
它的功能主要有:动态的将vi加载到内存中,比如像调用子vi一样来调用vi程序。
该功能针对大型应用来说,非常有实际意义,能够节省存储空间与vi启动时间。
可以编程控制vi的用户界面和改变vi的属性;可以创建服务器的应用;可以被lv通过internet或bridgeview调用;可以创建即插式的应用;对已经发布给客户的应用,可通过即插式应用来附加更多功能。
5)web服务器在lv的环境下使用内置web服务器,能够很轻松的vi图像和发布文档。
lvweb服务器提供的是一种简单方式来控制internet用户访问,可设定哪些vi、可被用户浏览。
但这个内置服务器不允许web用户从浏览器端来控制vi,不允许对不同用户设置不相同的访问权限。
其功能:根据通信协议的要求,接收并处理请求,监听客户端发出的请求,将处理结构返回给客户端。
web服务器的优势为:将整个客户端和服务器交互过程全部封装起来,编程人员不用考虑复杂的网络编程,同时可以实现客户机/服务器网络程序的开发。
6)internet developers toolkit internet developers toolkit 简称idt,ni是面对g语言应用环境网络应用开发的工具包,包括ftp vis,简称ftp,email vis又称为smtp, telnet vis,url vis与http servere idt提供了g环境下的internet连接的手和段虚拟仪器,实现在internet上存取数据或将虚拟仪器的前面板发布到internet上面。
idt的工作方式为lv虚拟仪器网络化提供了方便的通道。
其好处有:开放性好,不需要分发给客户的客户端软件,用户随时可以加入;不需要开发专门的客户端软件;服务器端不用编写专门的网关处理程序,直接可以用该工具包提供的vi实现;lv的应用可以轻松提升到网络环境;通过ftp和smtp自动传输现场数据和信息,方便远程进行进一步的分析。
4结论本文通过研究虚拟仪器以及虚拟仪器的开发平台——lv,详细的分析了基于lv的六种网络化技术,将虚拟测试与网络化测试结合起来,充分发挥lv强大的虚拟测试功能和网络的远程测试功能,lv的虚拟测试满足了低成本高精度的工业测试要求,而网络化测试则实现了远程数据传输、远程测试控制、资源共享等应用网络技术所带来的好处。
因此,二者的结合势必会推动自动化测试技术的快速发展。
参考文献[1]刘君华,等.虚拟仪器图邝化骊程借a labview教程[m].西安电子科技大学出版社,2001.[2]杨乐平,等.labview程序设计与应用[m].西安电子科技大学出版社,2001.[3]刘君华,等.虚拟仪器图形化编程语言labwindows/cvi教程[m],电子工业出版社,2001.[4]陈锡辉,张银鸿.labview8.20程序设计从入门到精通[m].清华大学出版社,2008.。