Professional Documents
Culture Documents
ÓÃData Socket ÊõÊ ÏÖÍøÂç ÄÓ ÓÃÑÐ ¿
ÓÃData Socket ÊõÊ ÏÖÍøÂç ÄÓ ÓÃÑÐ ¿
4
2004 年 12 月 Journal of Guangdong University of Technology December 2004
用 DataSocket 技术实现网络化的应用研究
1 2
何湘初 李继容
( 1. 广东工业大学 机电学院, 广东广州 510090; 2. 五邑大学 信息学院, 广东江门 529020)
网络技术是当今社会推动信息产业及相关产业, 乃至整个社会发展的一种核心技术, 它的
出现使得整个社会的工作、生活方式都发生了极大的变化. 从局域网发展到广域网, 甚至国际互
联网, 人们从这种廉价的信息手段中, 简单、
轻松、快速地获得了世界各地信息和数据. 把虚拟仪
器应用到网络上来, 可以实现仪器数据测量的数据资源共享, 改善传统仪器测量单一、
灵活性不
大的缺点. 随着 Internet 的不断普及和 Intranet 在企业中的日益增多, 将虚拟仪器技术与计算机
网络技术相结合就有必要和可能, 测试技术网络化, / 网络就是仪器0成为大势所趋, 网络化虚拟
仪器成为时代的产物应运而生. 以往人们一般都采用 TCPPIP 和 ActiveX 等技术来解决测控数据
在网络上传输和共享, 但由于 TCPPIP 技术较为复杂, 且涉及底层编程, 影响了测控技术的进一
步推广. 随着美国国家仪器公司( 简称: NI) 1999 年初正式推出 DataSocket 技术后, 为网络测控技
[ 1, 2]
术提供了很好的开发捷径 .
1 DataSocket 简介
DataSocket 既是一种技术, 也是一种编程工具, 借助 DataSocket 可以在不同的数据源和应用
程序之间实现数据的共享, 这些数据源和应用程序包含文件和 HTTPPFTP 服务器, 它们一般分布
在不同的计算机上, 可以通过 URL( 资源定位器) 来标识或连接数据源, 这里的 URL 与平常使用
的 URL 模式是相符的.
DataSocket 一般在安装 LabVIEW 时会自动安装到 Windows 的系统下, 同时得到注册. 默认情
况下, 会把 DataSocket 的服务器和管理器安装在 Program Files \ Nat ional Instruments \ DataSocket 目
录下, 相应的例子安装在 LabVIEW \ examples \ DataSocket 目录里, 用户也可在 LabVIEW 开发环
[ 3]
境下搜索 DataSocket, 会得到同样的例子 .
2 DataSocket 特性
1) 具备很强的通用性. DataSocket 基于 URL, 同时包含用于连接分布于各地的测量与自动化
3 DataSocket 的工具软件
DataSocket 由 DataSocket Sever 和 DataSocket Sever Mannger 以及它的函数库组成. 下面分别作
[ 2,4]
以介绍 .
3. 1 DataSocket Sever
它是一个独立的应用程序, 通常随 LabVIEW 的安装而自动安装. DataSocket Sever 能为用户
解决大部分的网络通信方面的问题. 客户连接可以向服务器读数据也可以向服务器写数据( 此
时客户端分别叫做 DataSocket 订阅器和发布器) , DataSocket Sever 会自动处理底层的网络连接及
数据报的传送, 使网络连接对客户端保持透明. 由于采用 DataSocket API 形式, 所以人们开发程
序时不必担心如何管理 TCPPIP 的连接, 和程序性能因连接的客户数量变化而受影响. DataSocket
Sever 主要负责监 管 DataSocket Sever Mannger 中所 设定 的各种 权限 和客 户程 序之 间的交 换.
DataSocket Sever 与测控应用程序可以安装在同一台计算机上, 也可以分布在不同的计算机上.
不过安装在不同计算机上可以提高整个系统的安全性, 且 DataSocket Sever 程序不会占用测控计
算机上的 CPU 的工作时间, 从而可以提高系统的运行速度. 目前, Data Socket Sever 只有 Windows
版本, 主要是因为它是通过 ActiveX 接口实现的, 但这并未影响 DataSocket 的跨平台应用, 因为已
经有人开发用 Java 来实现异种平台下用浏览器来访问 Windows 下的 DataSocket 服务器.
3. 2 DataSocket Sever Mannger
它也是一个独立运行的小程序, 其主要功能是设置 DataSocket Sever 可连接的客户程序的最
大数目以及可创建的数据项的最大数目, 也可用来建立各种组, 这些组可以使得 DataSocket Sev-
er 连接的各个数据项具有不同的访问权限. 当从/ 开始/ 程序菜单中进入 National Instruments \
第 4期 何湘初, 等: 用 DataSocket 技术实现网络化的应用研究 39
4 DataSocket 工作原理
DataSocket 的体系结 构如图 1 所 示, DataSocket 服 务器 界面 如图 2 所 示. 前面 已经提 过,
DataSocket 是基于 URL 的, 所以可以连接任何地方的测控数据, 又因为是一种独立于协议、
语言
和操作系统的 API, 从而人们可以很方便的通过网络在不同的软件平台上收发数据. DataSocket
发布数据时需要 3 个部分: 发布器、服务器和订阅器. 发布器和订阅器都是客户端, 发布器用于
发布数据, 而订阅器用于接收数据. 通常情况下, 发布器并不直接向订阅器发布数据, 而是通过
DataSocket 服务器, 这种分层结构可以让人们灵活设计系统结构, 比如让 DataSocket 服务器单独
[ 1,4]
运行于一台计算机上, 以提高系统性能, 将数据发布器置于防火墙后, 提高系统安全性 .
5 应用实例
用 DataSocket 监控过程变量:
比如有一家甜饼厂要生产好几种不同类型的甜饼, 每一种类型的甜饼有其各自的生产线,
40 广东工业大学学报 第 21 卷
图3 DataSocket 监控过程变量
因为数据被写入了一个 DataSocket 服务器, 监控中心办公室的计算机就没有必要再执行附
[5]
加的代码来处理多个生产线上的附加连接器, 它只需要读取每一条生产线上的数据 .
这个例子只是列举了怎样通过本地网络发布数据, 当然, 也可以使监控中心办公室的计算
机指挥生产线上的过程控制信息. 因为 DataSocket 通信可以跨越本地网络或者因特网, 所以监
控中心办公室可以位于同一个建筑物甚至全球各地.
6 结束语
DataSocket 技术是 LabVIEW 在构建分布式测控网络系统时的关键技术, 它非常适合于在大
型测控网络实时的协调各个功能计算机上的工作, 获取它们当前的工作状态, 发布下一步操作
命令. DataSocket 传输协议( DSTP) 是适合虚拟仪器数据传送的协议, 因此如何在浏览器和其它应
用程序间充分利用 DataSocket 技术, 以及由此引起的系统安全性和稳定性是将来人们研究和应
用的重点. 随着网络的迅速发展和普及, 相应的问题将会逐步得到解决, DataSocket 技术也将得
到广泛的应用.
第 4期 何湘初, 等: 用 DataSocket 技术实现网络化的应用研究 41
参考文献:
[ 1] 寇小明, 杨高科, 杜丽文. DataSocket 技术及其应用[ J] . 测控技术, 2002, 20( 12) : 36- 38.
[ 2] 王思华. DataSocket 技术及其在虚拟仪器远程测控系统中的应用[ J] . 暨南大学学报, 2000, 21( 3) : 42- 48.
[ 3] 赵槲. LabVIEW 与 DataSocket 技术[ J] . 世界产品与技术, 2000, ( 2) : 53- 55.
[ 4] 毛顿, 郭庆平. LabVIEW 中用 DataSocket 技术实现网络化应用[ J] . 现代电子技术, 2002, 134( 3) : 70- 71.
[ 5] National Instruments Corporation. Integrating the Internet into Your Measurement System- DataSocket Technical Overview
[ EB/ OL] . http:PPnatinst. comPdatasocketP, 1998- 10- 01.
Abstract: This paper discusses the DataSocket characteristics, its tool softs, and work theory. An example is
used to explain DataSocket monitoring process variables can easily handle the network communicat ion
required to move data from the factory floor to the central off ice and can reduce the cost to develop the net-
work.
Key words: DataSocket; measure- control network; URL