关键词:交换式Ethernet;虚拟仪器;网络测试;DataSocket
0 引 言
随着科学技术的飞速发展,数据通信、网络工程和信息管理等系统性能的巨大改进,出现了将自动测试技术、计算机技术和通信技术结合起来的时机。利用网络技术将分散在不同地方、功能不同的测试设备联系在一起,使得昂贵的硬件设备、软件在网络内得以共享,从而减少设备的重复投资,有利于降低测试系统的成本,实现测试设备的远距离诊断与维护,实现远距离测控和资源共享。
1 用于虚拟仪器网络测试系统的交换式Ethernet技术
实时控制及其确定性实现是网络化测试任务的重要指标,也是一种网络技术。Ethernet的应用给网络化测试带来了新的希望,它在传输信息的性能、速度、质量是其它现场总线系统无法比拟的。
1.1 Ethernet技术简介
Ethernet技术是目前应用最广泛的计算机网络技术。Ethernet系统最早是由Xerox公司创建的,它利用载波多路侦听/冲突检测机制来解决介质的冲突问题。在这种方法中,所有工作站共享一根网络电缆,但某一时刻只有一台工作站可以使用电缆。Ethernet适配器只有当它独占电缆时,才用在共享网上传输信息分组。冲突检测用于解决对电缆的同时访问。当电缆空闲时,两个或多个站点可能同时试图访问它。如果它们同时发送信息时,这些站点所发送的信息就会发生碰撞,其结果是信息被破坏。Ethernet使用IEEE802.3标准,采用CSMA/CD协议解决介质访问冲突,使用CSMA/CD协议,检测机制监测到冲突时,工作站点就停发并在一任意长的时间段内重发。重发时间是0到 -1内的随机时间片,其中i是指第i个冲突事件,而一个时间片长指一个来回发送所需的最短的时间。CSMA/CD机制有效地减少了网络拥塞和传输冲突,网桥、集线器的应用使网络结构可以任意拓展,同时把网络分割成为独立的冲突域,改进了网络的质量,进一步提高了性能。
CSMA/CD方法在网络负载很轻时是很有效的,但当通信量增大时,更多冲突将会发生。CSMA/CD机制引起人们对确定性的关心,特别是用于实时测试、控制和数据采集领域。
1.2 交换式Ethernet
众所周知,过去使用的Ethernet均是一种共享式Ethernet系统,但是目前在局域网上的工作站点的数目明显增加了,大量的数据要在网上传输,这就要求网络有更高的数据传输率。但是共享式Ethernet受CSMA/CD介质访问控制方式的制约,各个站点都去竞争和共享网络的带宽,因而整个网络系统处在一个碰撞域范围中。在一个碰撞域中,站点数越多,则每个站点得到的带宽越少,也就是说,每秒往介质上发送的数据量越少。在这种情形下,一种交换式Ethernet应运而生。
从共享式Ethernet发展到交换式Ethernet,这是局域网技术发展的一个飞跃,主要体现在解决了系统的带宽问题,使系统的带宽成十、百倍地增长。在交换式Ethernet中使用了一种交换式集线器,以它为核心设备连接站点或者网段,如图1所示。交换式集线器的主要特点是所有端口平时都不连通,当工作站需要传送信息时,交换式集线器能同时连通许多端口,使每一对端口相互通信的工作站都能像独占通信介质那样进行无冲突地传输数据,通信完成后就断开连接。因此,端口间帧的输入和输出已不再受到CSMA/CD介质访问控制协议的约束。假如原来Ethernet传输率是100Mb/s,使用交换式集线器后,虽然数据传输率没有改变,但是一个用户在通信时是独占而不是和其他用户共享传输介质的带宽,因此,对于拥有N对端口的交换式集线器,其总容量就变为N 100Mb/s。可见,拓宽整个系统带宽是交换式Ethernet的最大的特点。
图1 Ethernet集线器
1.3 交换式Ethernet技术的优点
Ethernet是一种非常经济的、有效的网络,可以满足大多数网络化测试的要求。它的彻底开放性和应用的广泛性是目前任何一种现场总线无法比拟的。最新发展起来的交换式Ethernet比以前的共享式Ethernet更具优越性,它既具有传统Ethernet的各种优点,比如:成本低、通信率高、彻底的开放性、能满足控制系统各个层次的要求、抗干扰能力强等,还具有以下优点:
(1) 系统的最大带宽可以达到端口带宽的n倍(其中n是端口数)。也就是端口越多,系统能达到的带宽也越宽。
(2) 每个端口上都可以连接站点或网段,它们都独占10M或100M的带宽。
(3) 被交换器隔离的独立网段上的信息流不会传播到其他端口上,具有一定数据安全性。
(4) 被交换器连接的多个网段是相互独立和被隔离的,一个网段的运行不会影响其他网段的运行。
2 虚拟仪器网络测试系统组成
虚拟仪器是利用现有的个人计算机,配上适当的仪器硬件,借助计算机专用软件来实现一般仪器测量功能的新型仪器,具有一般仪器所没有的特殊功能。它利用计算机系统强大的运算能力,通过硬件的配合,大大突破了传统仪器在数据处理、显示、传送等方面的限制,使用户可以方便地对其进行维护、扩展升级等。
在测试系统中,常需要对多台仪器设备进行集中控制,并对它们的数据进行统一分析处理。一个大的复杂的数据采集、结果分析和处理往往分布在不同的地理位置,这就需要由分布在不同的地理位置的若干台计算机共同完成整个测试任务。在这种情况下,网络化测试成为一种十分有效的方式。网络化测试系统在物理形体上分布在两台或两台以上的计算机上,每一台计算机为完成一个测试任务而协同工作或并行运行。因此,可以把它看作是一个形体上分散,通过网络交换信息并能动态接受、执行给定任务的完整的测试系统。
虚拟仪器网络化测试系统一般由两大部分组成:一部分是通信部分,即通信网络;另一部分是由通信网络连接的带网络功能的PC机、虚拟仪器、服务器,即基本功能单元。测试底层采用了虚拟仪器,充分发挥虚拟仪器模块程控能力强、功能强大的特点,实现对复杂系统的测试。测试服务器和数据服务器通过以太网把虚拟仪器设备和中央管理计算机等连接起来,组成可以扩展的网络化测试系统。因此,基于Ethernet的虚拟仪器网络测试系统组成如图2所示。
图2 虚拟仪器网络测试系统结构图
该系统可以实现大量测试仪器互连,大量仪器同时工作,大量数据高速传输和交换,从而可以用于大量测试仪器分散测试、远程自动测试、测试信息需相互交换的大型复杂系统的测试中。如果需要将测试范围扩大,可以通过路由器或互联网接口使多个测试系统互联,这样就可以将测量范围扩大到全国各地,甚至世界各个角落能对同一个测量点进行测量和信息的相互交流。
3 DataSocket——系统网络功能的实现
DataSocket是由NI公司提供的一个网络测控系统开发工具,借助它可以在不同的应用程序和数据源之间共享数据。DataSocket使用一种增强数据类型来交换仪器类型的数据,这种数据类型包括数据特性和实际测试数据。虽然目前已经有TCP/IP、DDE等多种用于两个应用程序之间共享数据的技术,但是这些技术都不是用于实时数据(Live Data)传输的。只有DataSocket是一项在测量和自动化应用中用于共享和发布实时数据的技术。利用客户/服务器架构,使网络上的数据传输达到最优化,并使用户交互式地在网络上传送现场数据成为现实,如图3所示。
图3 DataSocket体系结构
DataSocket遵循了TCP/IP协议,并对底层进行了高度封装,所提供的参数简单友好,只需要通用资源定位符URL,就可以来在网络中及时分送所需要传输的数据。DataSocket以自己特有编码格式表示各种类型的数据,包括字符串、数字、布尔量及波形等,还可以在现场数据和用户自定义属性之间建立联系。根据通信需求,LabVIEW提供了一下三个工具。
(1) DataSocket ActiveX
DataSocket ActiveX控件是用来连接数据源和数据宿,并使其共享数据的元件,可以用它在Active环境中开发共享数据应用程序
(2) DS Server
DS服务器DataSocket Server是一个小巧、独立运行的程序,利用DS技术传输数据必须在服务器和客户端都要打开DataSocket Server。在两个应用程序间用DSTP协议进行数据通信和交换是可行的,发布数据的程序通过它进行数据输出,输入数据的程序找到它接收数据。
(3) DataSocket Server Manager
DS服务管理器DataSocket Server Manager也是一个独立运行的小程序,其主要功能是设置DS Server可连接的客户数目和可创建的数据项数目、设置用户权限、预定义数据项等。
LabVIEW6i以上的LabVIEW版本中,所有控件都增加了一个叫DataSocket Connection的特殊属性。利用这个属性,就可以将现有的LabVIEW DAQ应用程序改造成为具有远程数据采集功能的DAQ应用程序。将客户端软件和服务器软件分别安装在客户机和DAQ服务器上,并且在客户机和DAQ服务器上分别运行DataSocket Server。然后在DAQ服务器上运行服务端软件,在客户机运行客户端软件。这样就可以在客户机上控制服务器端软件进行远程数据采集,实现虚拟仪器的网络化。
4 结 论
随着Ethernet性能的不断提高,其确定性更加好,价格更低。同时虚拟仪器具有强大的生命力,是传统测试仪器所不能比美的。运用虚拟仪器技术的设计思想构造开发自动测试系统,并使之网络化,实现了大型、复杂、危险系统的远程测试。随着网络技术的发展以及在测试和仪器领域的广泛应用,基于以太网的虚拟仪器网络测试技术必将逐步得到广泛的应用,使测试系统发展进入了一个崭新的阶段。
参考文献
[1] G.Bucci,E.Fiorucci,and C.Landi,“Digital Measurement Station for Power Quality Analysis in Distributed Environment,” IEEE Trans.Instrum.Meas.,vol.52,no.1,Feb.2003
[2]王承,何志伟.基于虚拟仪器的网络化自动测试系统的架构及实现.电子技术应用.2001.11
[3]石博强,赵德永,李畅,雷振山. LabVIEW6.1编程技术实用教程. 北京:中国铁道出版社,2002
[4]张云生,祝晓红,王静. 网络控制系统. 重庆:重庆大学出版社,2003.6