1 引言
随着计算机技术的不断提高,现代测控系统正向仪器的自动化、智能化、小型化和网络化方向发展。虚拟仪器(virtual instrument简称vi)的出现给现代测控技术带来了一场革命,它利用计算机系统的强大功能结合相应的软件,大大突破了传统仪器在数据处理、显示、传送、存储方面的限制。虚拟仪器技术与网络技术的融合,使虚拟仪器系统更加突破了传统的测量理念,使测量数据得到了真正意义上的共享,使远程测量得以实现。传统的温室测控系统往往在现场操作,对温室监测受到地域的限制,为此我们利用虚拟仪器技术设计了网络化温室测控系统,使远程客户端通过局域网或internet也能对温室进行监测和控制,从而实现了真正意义上的虚拟仪器。
2 网络化虚拟仪器技术
网络化虚拟仪器也称为虚拟仪器网络化[1],其一般特征是指将虚拟仪器、昂贵的外部设备、被测试点以及数据库等资源纳入网络,实现资源共享,共同完成测试任务。使用网络化虚拟仪器,人们可以在任何地点、任何时间获得测量信息或数据。网络化的虚拟仪器也适合异地或远程监测、数据采集、故障检测、报警等。
网络化虚拟仪器将传统仪器由单台计算机实现的三大功能:数据采集、数据分析以及图形化显示分开处理,分别使用独立的硬件模块实现传统仪器的三大功能,以网线相连接,测试网络的功能将远远大于系统中各部分的独立功能。根据具体的工程实践需要,可以构成各种样式的网络化虚拟仪器。
网络化虚拟仪器由以下几部分组成:网络操作系统、虚拟仪器(有网络测试功能)、分散的i/o系统模块、数据采集卡和控制器。目前通用的虚拟仪器平台通常具有很多网络方面的功能,这样使得建立网络虚拟仪器更加容易和方便,而不必去学习复杂的tcp/ip传输协议。随着测试系统越来越庞大,测试节点或pc机的分布广泛,需要分散的i/o系统模块。此类系统模块提供3种类型的元件:i/o模块、接线座、网络模块,为工业检测和控制应用提供了经济的解决策略。用户可以通过以太网将这些模块集成到已有的虚拟仪器系统中或与rs-232, rs-485等串行设备通信连接。网络测试中的数据采集卡( daq)必须带有远端数据设备访问的驱动软件(rda),这样才能实现在网络上的资源共享。网络测试中所使用的仪器必须是带有网络功能的控制器,即gpib-enet。
3 系统构成
3.1系统的硬件配置
网络化温室测控系统硬件由温度传感器、湿度传感器、光照传感器、数据采集板、集线器、datasocket服务器和远程计算机等构成。如图1所示。其中温度传感器选用 jwsl温度变送器,湿度传感器为jwsl湿度变送器,光照传感器选用北京昆仑海岸传感技术中心生产的zd-vb照度变送器,数据采集板选择了美国ni公司生产的插入式数据采集板pci6024e。
图1 系统硬件结构图
本系统用温度传感器、湿度传感器和光照传感器对温室内的实时数据进行采集并传送给pci6024e数据采集板,并由其将采集的电信号数据转换为计算机可以识别的数字信号,进入预先编制好的实时数据分析处理程序,实现数据的采集、显示、实时传送和分析,同时利用以太网接口,通过通讯和数据发布模块,实现与其他分析系统或网络的互联。
3.2系统的软件设计
虚拟仪器的提出和实现带来测控技术的一次革命,人们开始接受这一全新的仪器概念。labview作为适时推出的一个优秀测控软件开发平台和虚拟仪器构建环境,得到了广泛的推广和应用。
labview (laboratory virtual instrument engineering workbench,实验室虚拟仪器工程平台)是由美国国家仪器公司(national instruments,简称ni)研制的基于图形化编程语言g的开发环境。它结合了简单易用的图形式开发环境与灵活强大的编程语言,提供了一个直觉式的环境,与测量硬件紧密结合,能让用户迅速开发出满足用户需求的各种虚拟仪器系统。使用labview进行原理研究、设计、测试并实现仪器系统,可以缩短系统的开发时间,大大地提高了生产效率[2]。因此,本系统的应用软件均是基于labview平台来开发和实现的。系统的软件结构如图2所示。
图2系统软件模块构成
系统的各个软件模块都是在labview7.1环境下开发的。利用虚拟仪器技术的网络化温室测控系统由以下几个模块组成:(1)参数设置模块;(2)数据采集模块;(3)数据处理模块;(4)远程控制模块;(5)系统帮助模块。各个模块之间是相互独立的。这对于软件的设计和日后升级改进都很有用处,保证了各个模块开发的独立性。参数设置模块负责待测参数、采集通道号、采样间隔、报警和温室内控制设备等参数的设定,数据采集模块负责对温度、湿度和光照信号的收集;数据处理模块负责对被测信号的数字滤波、异常信号剔除和数值转换;远程控制模块负责远程客户端能实现对温室的监测和控制;系统帮助模块给操作者提供系统的功能及如何操作等相关内容
3.3 网络化测控
labview强大的网络通信功能使得用户可以很容易地实现远程测控,本系统选用datasocket技术来实现远程测控。datasocket 就是ni提供的一种编程工具,借助它可以在不同的应用程序和数据源之间传递数据。datasocket可以访问本地文件以及http和ftp服务器上的数据,datasocket为低层通讯协议提供了一致的api(应用编程接口),编程者无需为不同的数据格式和通讯协议编写具体的程序代码,而且这些数据源可以分布在不同的计算机上。
datasocket使用一种增强数据类型来交换仪器类型的数据,这种数据类型包括数据特性(如采样率、操作者姓名、时间及采样精度等)和实际测试数据。datasocket用类似于web中的统一资源定位器(url)定位数据源,url不同的前缀表示了不同的数据类型,file表示本地文件, http为超文本传输资源,ftp为文件传输协议,opc (ole for process control)表示访问的资源是opc服务器,dstp(datasocket transfer protocol)则说明数据来自datasocket服务器的实时数据[3,4]。
利用datasocket技术分别编写服务器端与客户端软件,具体步骤如下:先将服务器前面板的各控件的datasocket连接属性进行设置,编好服务器程序;然后将将服务器端前面板的所有控件复制到一个新的vi中,即客户端前面板与服务器端前面板*相同;由于datasocket只能传递控件的数据(控件对应变量的值),而不能传递控件的属性,因此客户端根据控件值的变化而引起的控件属性的变化的特点来编好客户端程序。这样就可以实现客户端与服务器端的前面板运行变化*相同,即客户端不仅可以显示出服务器端前面板显示的温室的实时数据和控件状态,而且可以控制服务器端面板上的控件动作,从而达到对温室进行网络化测控的目的。
4 结束语
将网络技术引入测控领域,不仅是虚拟仪器发展的必然,也是很多测控任务的要求。通过网络化虚拟仪器,人们不仅可以共享测量数据,而且可以构建网络化测控系统,从而可以在更大范围内提高人们的测控效率。实践证明,labview7.1开发的网络化温室远程测控系统利用虚拟仪器、网络把现有的软、硬件资源和网络带来的各种好处充分利用起来,实现各种资源有效、合理的配置,适应了网络化的需要,具有广阔的应用前景。