用Labwindows/CVI实现基于C/S模式的网络化虚拟测试系统
发布时间:2007/8/24 0:00:00 访问次数:1049
惠俊军 王志贤
摘 要:本文分析了基于C/S模式的网络化虚拟仪器测试系统的框架;简单介绍了DateSocket技术——DataSocket Server和DataSocket API;给出了在Labwindows/CVI下实现C/S模式的网络化虚拟仪器测试系统的方法和实例。
关键词:C/S模式;虚拟仪器;Labwindows/CVI;DataSocket
基于C/S模式的网络化虚拟仪器测试系统框架
随着网络技术的引入,虚拟仪器技术渐渐向网络化方向发展,很多测试任务也提出了远程测试的要求。于是,网络化的虚拟仪器成了虚拟仪器技术的一个发展方向。
Labwindows/CVI是NI公司开发的Measurement studio软件组中的一员,它以标准C语言为基准,提供了丰富的库函数,包括数据采集、仪器控制、网络通信等。在最新的Labwindows/CVI 7.0中又增加了许多功能。本文讨论在Labwindows/CVI下的基于C/S(Client/Server)模式的网络化虚拟仪器测试系统的具体框架,并给出了基本的实现方法和实例,这里主要介绍NI公司的DataSocket技术。
1.DataSocket技术简介
DataSocket是基于NI公司推出的一项基于TCP/IP标准的新技术。DataSocket面向测量和网上实时高速数据交流,可用于一个计算机内或网络中多个应用程序之间的数据交换。虽然目前已经有TCP/IP、DDE等多种用于两个应用程序之间共享数据的技术,但这些技术都不是用于实时数据(Live Data)传输的。只有DataSocket是一项在测量和自动化应用中用于共享和发布实时数据的技术。DataSocket技术是一种简单易用的网络数据通信技术,它封装了TCP/IP编程细节(如选择端口号、定义协议、创建连接、字节流处理、错误处理等),使测试工程师不用了解底层的网络编程技术,就可以方便的搭建网络化虚拟仪器测试系统。如一个大学实验室用一台计算机采集实验设备数据,而同时有多个学生可以在自己的工作站上实时数据分析。DataSocket由DataSocket API和DataSocket Server两大部分组成。DataSocket API提供了多种环境下(如VB、CVI、LV)的编程接口技术,而DataSocket Server是一个网络数据管理软件,只需对数据项和访问组做有关设置,无须任何编程。
2.Labwindows/CVI下基于C/S模式网络化虚拟仪器的测试系统框架
图1是基于C/S模式的网络化虚拟仪器测试系统框架示意图。
在图中,数据采集站使用DataSocket API向DataSocket Server写数据,客户站使用DataSocket API向DataSocket Server读数据。数据采集站和DataSocket Server可以运行在一台计算机上,但DataSocket Server最好还是单独运行在一台机器上,这样可以提高测试系统的性能和安全。客户站和数据采集站应用程序可以用VB、LabVIEW和Labwindows/CVI等软件编写。
具体实现方法结绍
1.DataSocket Server的运行
由图1可以看出,DataSocket Server是整个网络化测试系统的核心。运行界面如图2a所示,其中,“301-ke1yvhwjvjf”为机器名称,可以在Windows的“控制面板”的‘网络’项中进行设置。另外还显示了连接的过程数目和已传递的包的数目等。
2.DataSocket管理器与服务器
(1) DataSocket管理器
在安装了Labwindows/CVI后,其安装目录下会生成一个DataSocket子目录。当打开子目录后,可以看到其中有两个文件名:cwdssmgr与cwdss。
双击“cwdssmgr”,出现DataSocket Manager对话框,如图2b所示。
主要参数设置如下。
1)Server Setting
Maxconnection:最多可以连接的客户端数。最多可以连接1000个客户端。
MaxItems:能够显示的测试参量数。最多可以显示1000个测试参量。
2)Permission Groups
DefaultReaders默认的客户(Host)端测控装置的网络名。设置默认客户端来进一步明确相互通信的对象,否则表示和所有的客户端都进行通信连接。
3)Predefined Data Items
用来设置DataSocket服务器欲显示的测试数据的类型。
(2)DataSocket服务器
双击“cwdss”,出现“DataSocket Server”对话框,如图2c所示。
主要参数设置如下。
Processed connected:显示和DataSocket服务器连接的客户端的实际数目。
Packets Sent:显示传输的数据包的数
惠俊军 王志贤
摘 要:本文分析了基于C/S模式的网络化虚拟仪器测试系统的框架;简单介绍了DateSocket技术——DataSocket Server和DataSocket API;给出了在Labwindows/CVI下实现C/S模式的网络化虚拟仪器测试系统的方法和实例。
关键词:C/S模式;虚拟仪器;Labwindows/CVI;DataSocket
基于C/S模式的网络化虚拟仪器测试系统框架
随着网络技术的引入,虚拟仪器技术渐渐向网络化方向发展,很多测试任务也提出了远程测试的要求。于是,网络化的虚拟仪器成了虚拟仪器技术的一个发展方向。
Labwindows/CVI是NI公司开发的Measurement studio软件组中的一员,它以标准C语言为基准,提供了丰富的库函数,包括数据采集、仪器控制、网络通信等。在最新的Labwindows/CVI 7.0中又增加了许多功能。本文讨论在Labwindows/CVI下的基于C/S(Client/Server)模式的网络化虚拟仪器测试系统的具体框架,并给出了基本的实现方法和实例,这里主要介绍NI公司的DataSocket技术。
1.DataSocket技术简介
DataSocket是基于NI公司推出的一项基于TCP/IP标准的新技术。DataSocket面向测量和网上实时高速数据交流,可用于一个计算机内或网络中多个应用程序之间的数据交换。虽然目前已经有TCP/IP、DDE等多种用于两个应用程序之间共享数据的技术,但这些技术都不是用于实时数据(Live Data)传输的。只有DataSocket是一项在测量和自动化应用中用于共享和发布实时数据的技术。DataSocket技术是一种简单易用的网络数据通信技术,它封装了TCP/IP编程细节(如选择端口号、定义协议、创建连接、字节流处理、错误处理等),使测试工程师不用了解底层的网络编程技术,就可以方便的搭建网络化虚拟仪器测试系统。如一个大学实验室用一台计算机采集实验设备数据,而同时有多个学生可以在自己的工作站上实时数据分析。DataSocket由DataSocket API和DataSocket Server两大部分组成。DataSocket API提供了多种环境下(如VB、CVI、LV)的编程接口技术,而DataSocket Server是一个网络数据管理软件,只需对数据项和访问组做有关设置,无须任何编程。
2.Labwindows/CVI下基于C/S模式网络化虚拟仪器的测试系统框架
图1是基于C/S模式的网络化虚拟仪器测试系统框架示意图。
在图中,数据采集站使用DataSocket API向DataSocket Server写数据,客户站使用DataSocket API向DataSocket Server读数据。数据采集站和DataSocket Server可以运行在一台计算机上,但DataSocket Server最好还是单独运行在一台机器上,这样可以提高测试系统的性能和安全。客户站和数据采集站应用程序可以用VB、LabVIEW和Labwindows/CVI等软件编写。
具体实现方法结绍
1.DataSocket Server的运行
由图1可以看出,DataSocket Server是整个网络化测试系统的核心。运行界面如图2a所示,其中,“301-ke1yvhwjvjf”为机器名称,可以在Windows的“控制面板”的‘网络’项中进行设置。另外还显示了连接的过程数目和已传递的包的数目等。
2.DataSocket管理器与服务器
(1) DataSocket管理器
在安装了Labwindows/CVI后,其安装目录下会生成一个DataSocket子目录。当打开子目录后,可以看到其中有两个文件名:cwdssmgr与cwdss。
双击“cwdssmgr”,出现DataSocket Manager对话框,如图2b所示。
主要参数设置如下。
1)Server Setting
Maxconnection:最多可以连接的客户端数。最多可以连接1000个客户端。
MaxItems:能够显示的测试参量数。最多可以显示1000个测试参量。
2)Permission Groups
DefaultReaders默认的客户(Host)端测控装置的网络名。设置默认客户端来进一步明确相互通信的对象,否则表示和所有的客户端都进行通信连接。
3)Predefined Data Items
用来设置DataSocket服务器欲显示的测试数据的类型。
(2)DataSocket服务器
双击“cwdss”,出现“DataSocket Server”对话框,如图2c所示。
主要参数设置如下。
Processed connected:显示和DataSocket服务器连接的客户端的实际数目。
Packets Sent:显示传输的数据包的数