新软件技艺在摄谱仪器仪表远端勘测扼制里的运用研讨
计量专家 · 2011-12-09 09:25 · 44259 次点击
美国国家仪器公司在1986年推出了实验室虚拟仪器集成环境LabVIEW,用计算机灵活强大的软件代替传统仪器的某些部件,用人的智力资源代替许多物质资源,通过一组软件和硬件,形成了具有普通仪器的基本功能,又有一般仪器所不具有的特殊功能的新型仪器。随着计算机技术和Internet技术的发展,虚拟仪器正沿着高性能、多功能、集成化和网络化的方向发展,满足了不同领域和用户的需求。目前,国内外都对虚拟仪器技术展开了研究,剑桥大学、斯坦福大学、新加坡国立大学、清华大学等都在虚拟仪器方面取得了一定的进展。
远程监控是本地计算机通过网络系统如Internet/Intranet,对远端进行监视和控制,完成对分散控制网络的状态监控及设备的诊断维护等功能。
远程监控是同内外研究的前沿课题。
1997年1月,首届基于Internet的远程监控诊断工作会议由斯坦福大学和麻省理工学院联合主办;斯坦福大学和麻省理工学院也合作开发出了基于Internet的下一代远程监控诊断示范系统。国内对于远程监控技术也开展了积极的研究。目前,西安交通大学、华中科技大学、哈尔滨大学、南京理工大学等已取得了较为先进的研究成果。
本文将首先对基于LabVIEW的虚拟仪器技术,以及基于TCP协议的远程监控技术进行介绍,然后将两种技术相结合,设计一个基于LabVIEW的远程监控系统,并进行实验仿真和结果分析。最后,展望这种技术的应用前景。
1虚拟仪器开发平台LabVIEWLabVIEW是一种图形化的编程语言和开发环境,它广泛地被工业界、学术界和研究实验室所接受,公认为是标准的数据采集和仪器控制软件。由于LabVIEW采用基于流程图的图形化编程方式,因此也被称为G语言。
在LabVIEW开发环境中,系统提供了支持TCP的功能函数,即TCPListen、TCPOpen、TCPRead、TCPWrite和TCPClose,使编程过程变得简单快捷。
2TCP协议的实现过程
TCP(传输控制协议)是基于不可靠的IP服务,提供一种面向连接的、可靠的传输层服务。在TCP连接服务,采用三次握手建立一个连接。首先,建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;然后,服务器收到syn包,必须确认客户的SYN(ack=j+1),同时服务器也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN-RECV状态;最后,客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
LabVIEW具有强大的网络通信功能,支持TCP/IP协议、UDP协议等,并且借助DataSocket技术可以实现在不同的应用程序和数据源之间共享数据,使得LabVIEW的用户可以很容易地编写具有强大网络通信能力的LabVIEW应用软件,实现远程监控虚拟仪器。
3虚拟仪器技术在远程监控系统中的应用
3.1远程监控系统的实现
在LabVIEW平台上构建的远程监控系统,虚拟仪器技术和网络通信技术是主要的软件基础,数据I/O卡、通信网络等是必要的硬件基础。在虚拟仪器技术和通信网络技术的联系和协调下,实现人机之间的信息交换,以达到远程监控的目的。
目前,在远程监控系统中,多数仍采用服务器/客户器模式进行通信。本文首先由服务器产生一组正弦波形,通过局域网送至客户机进行显示和保存。服务器端和客户端的程序流程图分别如1和2所示。服务器端的程序实现如3所示。首先指定网络端口号,并用TCPCreateListener节点在指定端口进行TCP侦听。在本程序中,可以通过Points控制器选择波形的点数,以及通过Function控制器选择需要发送的波形,其中有随机波形、正弦波形等;并且利用了两个TCPWrite节点来发送数据。第一个TCPWrite发送的是波形的长度;第二个TCPWrite发送的是波形数据。
客户端的程序实现如4所示。对应地采用两个TCPRead节点读出服务器端送来的波形数据。第一个TCPRead节点读出波形的长度,第二个TCPRead节点根据波形的长度值将波形的数据全部显示出来。在本程序运行环境下,如果在前面板按下Stop按钮,系统根据ExportWaveformstoSpreadsheetFile节点弹出一个保存对话框,用户可以把其中的波形数据在excel文件、txt文件中保存下来,保存的点数由服务器端设置的Points参数确定,这样可以方便用户进行数据分析和打印,从而实现实时监测。
另外,客户端程序中设定的网络端口号必须与服务器端指定的一致,才能实现两端通信,一般地,端口号的数值设置为1000以上。并且客户端必须设置服务器计算机的IPAddress或者计算机名。
3.2仿真结果及分析
从5和6可以看出,客户端基本上能无失真地接收服务器端发送过来的数据,即基于TCP协议的网络通信是可靠的,另外LabVIEW环境下的远程控制系统的编程是相对简单的。
通过合理的设置有关参数,服务器端的程序运行后,客户端就能读取到从服务器端采集到的信号数据。为了提高系统的实时性和可靠性,必须保证网络通信的顺畅;同时为使在网络中传输的数据不受窜改,必须对端口号和网络地址进行加密。
4结语及展望
LabVIEW作为一个功能强大的图形化编程软件,是开发虚拟仪器的一种方便快捷的工具。在TCP/IP协议和WWW规范的支持下,基于LabVIEW的虚拟仪器可以实现远程监控。在介绍了LabVIEW虚拟技术,以及基于TCP/IP协议的远程控制技术以后,将两种技术相结合,实现了基于虚拟仪器的远程控制系统设计,并结合程序实例,进行了计算机仿真,结果令人满意。
实际应用中,在现场设备分布广泛或数据不易采集的场合,要能够及时地监视设备的运行状态并进行有效控制,利用基于LabVIEW的远程监控技术可对工业生产进行监控。比如,全自动的光学镀膜系统中的压力和温度等工业参数,能实际反应生产的进展情况,对生产过程十分重要。可以通过传感器把压力和温度等参量转换为电信号,然后通过数据采集卡将电信号传给PC机。只要设置一个远程监控系统,在远端可以通过网络把PC机中的数据读取出来,通过另外的PC机对数据进行处理操作。这样可以很方便、灵活和安全地对系统进行控制,同时也很容易地对数据进行处理。
另外,本系统也可以改进成为报警系统,可以通过触摸传感装置,使客户端处于运行状态,信号通过网络发出,而服务器端一直处于侦听状态,当接收到客户端发送过来的信号后,利用该信号驱动报警装置,从而实现报警功能。