Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

第 21 卷第 4 期 广东工业大学学报 Vol. 21 No.

4
2004 年 12 月 Journal of Guangdong University of Technology December 2004

用 DataSocket 技术实现网络化的应用研究
1 2
何湘初 李继容
( 1. 广东工业大学 机电学院, 广东广州 510090; 2. 五邑大学 信息学院, 广东江门 529020)

摘要: 对 DataSocket 技术具备的特性、以及它的工具软件和工 作原理做 了详细的阐 述, 并 通过实例 说


明使 用 DataSocket 技术来监 控过程变量, 可以很方便地实 现通过网络从工厂 底层到监控中心办 公室
的数据传送, 同时减少大量的网络化开发的投资 .
关键词: DataSocket; 测控网络; URL;
中图分类号:TP274 文献标识码: A 文章编号: 1007-7162( 2004) 04- 0037-05

网络技术是当今社会推动信息产业及相关产业, 乃至整个社会发展的一种核心技术, 它的
出现使得整个社会的工作、生活方式都发生了极大的变化. 从局域网发展到广域网, 甚至国际互
联网, 人们从这种廉价的信息手段中, 简单、
轻松、快速地获得了世界各地信息和数据. 把虚拟仪
器应用到网络上来, 可以实现仪器数据测量的数据资源共享, 改善传统仪器测量单一、
灵活性不
大的缺点. 随着 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, 同时包含用于连接分布于各地的测量与自动化

收稿日期: 2003- 09-30


作者简介: 何湘初( 1977- ) , 男, 在读硕士 , 主要研究方向为 CIMS 关键技术及网络化集成制造技术.
38 广东工业大学学报 第 21 卷

数据的统一用户端的 API, 因为它的 API 不同于一般的 API, 与协议、语言、操作系统都无关, 因


此可以应用到任何编程环境. 比如: LabVIEW、 ActiveX 控件等.
Visual Basic、
2) 简单的数据定位. DataSocket 的 URL 类似于 Web 中的资源定位器, 不同的前缀代表了不
同的数据类型. http 代表超文本传输协议如: http:PPwww. ni. comPdatasocketPchirp. ds; ftp 代表文件
传输协议如: ftp: PPftp. ni. comPsupportPdatasocket; dstp 即 DataSocket 传输协议如: dstp: PPlocalhostPda-
ta1. txt 或 dstp: PP202. 116. 135. 141Pdata2 是来自 DataSocket 服务器上的数据. 另外还有, 可以直接
输入本地文件, 即 file 如: file: datafilePdata2. dsd.
3) 特的文件格式. DataSocket 采用独特的二进制数据文件格式 dsd( DataSocket Data) , 其文件
后缀为 dsd. dsd 文件附带由用户定义的数据属性如: 数据采集的日期和时间、 采集频率、采集精
度、
采集者姓名、 数据传输结束标志等. dsd 格式可以接受多种数据类型, 如: 单个或数组形式的
字符串、
数值量、逻辑量. dsd 在读数据文件时支持 text、
txt 、
wave 和 dsd 格式, 写数据时支持 text
和 dsd 格式.
4) 可以用于动态数据的传输. 虽然 TCPPIP 技术可以用来共享数据, 但其大部分都不用于传
输动态数据. DataSocket 专门用于在测量与自动化应用中传输和发布动态数据.
5) 是一种 Internet 的编程和通信工具. 虽然人们可以采用通常的文件输入输出函数、
TCPPIP
函数和 ftpPhttp 请求在不同的应用程序、
不同的文件和不同的计算机上交换数据, 但这需要编写
大量复杂的程序代码和做大量的其他工作才能完成. 但 DataSocket 技术通过 API 为这些底层通
信提供了统一的接口, 大大简化了编程, 使用 DataSocket 在计算机之间传输数据就像在 Internet
[ 1,2]
上使用浏览器阅读 Web 也一样简单 .

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

DataSocket \ DataSocket Sever Mannger 后, 会打开其设置界面, 下面对 它的配置问题进行简单介


绍.
1) 服务器的配置: 在界面左栏的 Server Settings 是关于服务器性能相关的设置. 其中, Max-
Connect ions 参数即允许连接客户端服务器数目的最大数, 缺省情况为 50. MaxItem 参数即设置服
务器最大允许的数据项目数.
2) 组许的配置: 在界面左栏的 Permission Groups 是有关安全方面的设置. Data Socket Sever 包
含了三个内建的组即 DefaultWriters、 Creators, 分别代表能写、能读和创建数据项目
DefaultReaders、
的缺省设置. 当然, 也可以通过点击 New Group 按钮来创建新的组.
3) 数据项目预定义: 即 Predelined Dat a Items. 由于 Permission Groups 只是定义了各个主机所
属的组, 而没有定义每个组具体的访问权限, 这些都可以在数据项目预定义中得到解决. 另外在
Predelined Data Items 中预定义了数字型样品、
字符串型样品和布尔型样品.
3. 3 DataSocket 函数库
在 LabVIEW 的框图功能模板存在 DataSocket 的子模板, 位置为: Functions \ Commumication \
DataSocket. 这个模板具有高级 DataSocket 操作, 即 Open、 Close 等操作. 其中 Read 和
Read、Write、
Write 操作分为单个或数组形式的数值型、 布尔型和字符串型. 又因为 DataSocket 技术可在 Lab-
VIEW、 C 语言和 VB 等多种开发环境下应用, 所以这些函数也相应的具有不同的形式. 比如, 在
VB 中是 ActiveX 控件; 在 LabVIEW 中为功能模板; 而在 C 语言中又为函数.

4 DataSocket 工作原理
DataSocket 的体系结 构如图 1 所 示, DataSocket 服 务器 界面 如图 2 所 示. 前面 已经提 过,
DataSocket 是基于 URL 的, 所以可以连接任何地方的测控数据, 又因为是一种独立于协议、
语言
和操作系统的 API, 从而人们可以很方便的通过网络在不同的软件平台上收发数据. DataSocket
发布数据时需要 3 个部分: 发布器、服务器和订阅器. 发布器和订阅器都是客户端, 发布器用于
发布数据, 而订阅器用于接收数据. 通常情况下, 发布器并不直接向订阅器发布数据, 而是通过
DataSocket 服务器, 这种分层结构可以让人们灵活设计系统结构, 比如让 DataSocket 服务器单独
[ 1,4]
运行于一台计算机上, 以提高系统性能, 将数据发布器置于防火墙后, 提高系统安全性 .

图 1 DataSocket 体系结构 图 2 DataSocket 服务器

5 应用实例
用 DataSocket 监控过程变量:
比如有一家甜饼厂要生产好几种不同类型的甜饼, 每一种类型的甜饼有其各自的生产线,
40 广东工业大学学报 第 21 卷

同时每一条生产线通过一台计算机来监控过程变量. 作为该厂的系统工程师需要编写一个 Lab-


VIEW 程序来不断监控每一条生产线上的过程变量. 发布的实时数据要能通过本地网络传送到
监控中心办公室. 监控中心办公室再由一台计算机收集发布过来的数据和显示生产线上实时变
化情况借助生产线和过程变量, 这样工厂的经理可以随时了解整个工厂生产的 流程. 若不用
DataSocket , 系统工程师不得不编写 TCPPIP 服务器和客户端程序来传送工厂底层到监控中心办
公室的数据. 服务器应用方面要求过程数据, 把数据打包到比特流和传送数据到服务器. 服务器
读取数据, 对数据进行解包, 然后显示数据. 另外, 代码需要从服务器中读取数据. 客户端应用也
包含了需要控制多个连接器的代码, 而这些连接器是一个连接器对应一条生产线. 编写所有这
些底层的 TCPPIP 代码来处理数据传送将会花费很大的精力. 然而假如采用 DataSocket, 可以很容
易地通过网络实现从工厂底层到监控中心办公室的数据传送. 图 3 是在 LabVIEW 环境下编写框
图程序, 很好的列举了怎样通过 DataSocket API 来写和读过程变量.

图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.

Research on Using DataSocket Technic to Realize


Network and It. s Applications
1 2
HE Xiang- chu , LI J-i rong
( 1. Faculty of Mechatronic Engineering, Guangdong University of Technology, Guangzhou 510090 China;
2. Faculty of Information Wuyi University, Jiangmen, 529020 China)

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

You might also like