首页 理论教育DataSocket技术简介

DataSocket技术简介

【摘要】:只有DataSocket是一项在测量和自动化应用中用于共享和发布实时数据的技术,如图11-20所示。DataSocket基于Microsoft的COM和ActiveX技术,源于TCP/IP协议并对其进行高度封装,面向测量和自动化应用,用于共享和发布实时数据,是一种易用的高性能数据交换编程接口。数据项实际上是DataSocket Server中的数据文件,未经授权的用户不能在DataSocket Server上创建或读写数据项。在LabVIEW中进行DataSocket通信之前,必须首先运行DataSocket Server。图11-22 DataSocket Server窗口3.DataSocket函数库DataSocket函数库用于实现DataSocket通信。

DataSocket技术是NI公司推出的一项基于TCP/IP协议的新技术,DataSocket面向测量和网上实时高速数据交换,可用于一个计算机内或者网络中多个应用程序之间的数据交换。虽然目前已经有TCP/IP、DDE等多种用于两个应用程序之间按共享数据的技术,但是这些技术都不是用于实时数据(Live Data)传输的。只有DataSocket是一项在测量和自动化应用中用于共享和发布实时数据的技术,如图11-20所示。

DataSocket基于Microsoft的COM和ActiveX技术,源于TCP/IP协议并对其进行高度封装,面向测量和自动化应用,用于共享和发布实时数据,是一种易用的高性能数据交换编程接口。它能有效地支持本地计算机上不同应用程序对特定数据地同时应用,以及网络上不同计算机地多个应用程序之间的数据交互,实现跨及其、跨语言、跨进程的实时数据共享。用户只需要知道数据源和数据宿及需要交换的数据就可以直接进行高层应用程序的开发,实现高速数据传输,而不必关心底层的实现细节,从而简化通信程序的编写过程,提高编程效率

978-7-111-40983-0-Chapter11-26.jpg

图11-20 DataSocket技术示意图

DataSocket实际上是一个基于URL的单一的、一元化的末端用户API,是一个独立于协议、独立于语言以及独立于操作系统的API。DataSocket API被制作成ActiveX控件、LabWindows库和一些LabVIEW VIs,用户可以在任何编辑环境中使用。

DataSocket包括DataSocket Server Manager、DataSocketServer和DataSocket函数库等三大部分,以及Dstp(DataSocket Transfer Protocol)协议、通用资源定位符URL(Uniform ResourDataSocket Server Managerce Locator)和文件格式等规程。DataSocket遵循TCP/IP协议,并对底层进行高度封装,所提供的参数简单友好,只需要设置URL就可用来在Internet进行即时分送所需传输的数据。用户可以像使用LabVIEW中的其他数据类型一样使用DataSocket读写字符串、整型数、布尔量及数组数据。DataSocket提供了三种数据目标:file、DataSocket Server、OPCServer,因而可以支持多进程并发。这样,DataSocket摒除了较为复杂的TCP/IP底层编程,克服了传输速率较慢的缺点,大大简化了Internet网上测控数据交换的编程。

1.DataSocket Server Manager

DataSocket Server Manager是一个独立运行的程序,它的主要功能是设置DataSocket Server可连接的客户程序的最大数目和可创建的数据项的最大数目,创建用户组和用户,设置用户创建数据项(DataItem)和读写数据项的权限。数据项实际上是DataSocket Server中的数据文件,未经授权的用户不能在DataSocket Server上创建或读写数据项。DataSocket Server Manager如图11-21所示。

DataSocket Server Manager窗口左栏中的Server Settings(服务器配置)用于设置与服务器性能有关的参数:参数MaxConnections是指DataSocket Server最多允许多少客户端连接到服务器,其默认值是50;参数MaxItem用于设置服务器最大允许的数据项目的数量。

DataSocket Server Manager窗口左栏中的Permission Groups(许可组)是与安全有关的部分设置,Groups(组)是指用一个组名来代表一组IP地址的合集,这对于以组为单位进行设置比较方便。DataSocket Server共有3个内建组:DefaultReaders、DefaultWriters和Creators,这3个组分别代表了能读、写以及创建数据项目的默认主机设置。可以利用NewGroup按钮来添加新的组。

978-7-111-40983-0-Chapter11-27.jpg

图11-21 DataSocket Server Manager(www.chuimin.cn)

DataSocket Server Manager窗口左栏中的Predefined Data Items(预定义的数据项目)中预先定义了一些用户可以直接使用的数据项目,并且可以设置每个数据项目的数据类型、默认值以及访问权限等属性。默认的数据项目共有3个:SampleNum、SampleString和SampleBool,用户可以利用New Item按钮添加新的数据项目。

2.DataSocket Server

DataSocket Server也是一个独立运行的程序,它能为用户解决大部分网络通信方面的问题。它负责监管DataSocket Server Manager中所设定的各种权限和客户程序之间的数据交换。DataSocket Server与测控应用程序可安装在同一台计算机上,也可以分装在不同计算机上。后一种方法可增加整个系统的安全性,因为两台计算机之间可用防火墙加以隔离。而且,DataSocket Server程序不会占用测控计算机CPU的工作时间,测控应用程序可以运行得更快。DataSocket Server运行后的窗口如图11-22所示。

在安装了LabVIEW之后,可以选择Windows开始菜单>>所有程序>>National Instruments>>DataSocket>>DataSocket Server,运行DataSocket Server。

在LabVIEW中进行DataSocket通信之前,必须首先运行DataSocket Server。

978-7-111-40983-0-Chapter11-28.jpg

图11-22 DataSocket Server窗口

3.DataSocket函数库

DataSocket函数库用于实现DataSocket通信。利用DataSocket发布数据需要三个要素:Publisher(发布器)、DataSocket Server和Subscriber(订阅器)。Publisher利用DataSocket API将数据写到DataSocket Server中,而Subscriber利用DataSocket API从DataSocket Server中读出数据,如图11-23所示。Publisher和Subscriber都是DataSocket Server的客户程序。这三个要素可以驻留在同一台计算机中。

978-7-111-40983-0-Chapter11-29.jpg

图11-23 DataSocket通信过程