首页 理论教育LabVIEW2012中文版虚拟仪器数据传输节点简介

LabVIEW2012中文版虚拟仪器数据传输节点简介

【摘要】:LabVIEW将DataSocket函数库的功能高度集成到了DataSocket节点中,与TCP/IP节点相比,DataSocket节点的使用方法更为简单和易于理解。下面对DataSocket节点的参数定义及功能进行介绍。图11-27 打开DataSocket节点模式:规定了数据连接的模式。图11-28 关闭DataSocket节点毫秒超时:规定了函数等待操作完成的毫秒数。数据连接按照这个命名标签寻找DataSocket服务器上某个特定的数据项。要使用该协议,必须运行DataSocket服务器。

在LabVIEW中,利用DataSocket节点就可以完成DataSocket通信。DataSocket节点位于函数选板>>“数据通信”>>“DataSocket”子选板中,如图11-24所示。

LabVIEW将DataSocket函数库的功能高度集成到了DataSocket节点中,与TCP/IP节点相比,DataSocket节点的使用方法更为简单和易于理解。

下面对DataSocket节点的参数定义及功能进行介绍。

1.读取DataSocket

从由连接输入端口指定的URL连接中读出数据。读取DataSocket节点图标及端口定义如图11-25所示。

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

图11-24 DataSocket子选板

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

图11-25 读取DataSocket节点

连接输入:标明了读取数据的来源可以是一个DataSocket URL字符串,也可以是DataSocket connection refnum(即打开DataSocket节点返回的连接ID)。

类型:标明所要读取的数据的类型,并确定了该节点输出数据的类型。默认为变体类型,该类型可以是任何一种数据类型。把所需数据类型的数据连接到该端口来定义输出数据的类型。LabVIEW会忽略输入数据的值。

毫秒超时:确定在连接输入缓冲区出现有效数据之前所等待的时间。如果wait for updated value端口输入为FALSE或连接输入为有效值,那么该端口输入的值会被忽略。默认输入为10000ms。

状态:报告来自PSP服务器或Field Point控制器的警告或错误。如果第31个bit位为1,状态标明是一个错误。其他情况下该端口输入是一个状态码。

质量:从共享变量或NIPublish-Subscribe-Protocol数据项中读取的数据的数据质量。该端口的输出数据是用来进行VI的调试。

连接输出:连接数据所指定数据源的一个副本。

数据:读取的结果。如果该函数多次输出,那么该端口将返回该函数最后一次读取的结果。如果在读取任何数据之前函数多次输出或者类型端口确定的类型与该数据类型不匹配,数据端口将返回0、空值或无效值。

超时:如果等待有效值的时间超过毫秒超时端口规定的时间,该端口将返回TRUE。

时间标识:返回共享变量和NI-PSP数据项的时间标识数据。

2.写入DataSocket

将数据写到由“连接输入”端口指定的URL连接中。数据可以是单个或数组形式的字符串、逻辑(布尔)量和数值量等多种类型。写入DataSocket的节点图标及端口定义如图11-26所示。

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

图11-26 写入DataSocket节点

连接输入:标识了要写入的数据项。连接输入端口可以是一个描述URL或共享变量的字符串。

数据:被写入的数据。该数据可以是LabVIEW支持的任何数据类型。

毫秒超时:规定了函数等待操作结束的时间。默认为0ms,说明函数将不等待操作结束。如果毫秒输入端口输入为-1,函数将一直等待直到操作完成。

超时:如果在函数在毫秒超时端口所规定的时间间隔内无错误地操作完成,该端口将返回FALSE。如果毫秒超时端口输入为0,超时端口将输出FALSE。

3.打开DataSocket

打开一个用户指定URL的DataSocket连接。打开DataSocket的节点图标及端口定义如图11-27所示。

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

图11-27 打开DataSocket节点

模式:规定了数据连接的模式。根据要做的操作选择一个值:只读,只写,读/写,读缓冲区,读/写缓冲区。默认值为0,说明为只读。当使用DataSocket读取函数读取服务器写的数据时使用缓冲区。

毫秒超时:使用ms规定了等待LabVIEW建立连接的时间。默认为10000ms。如果该端口如图为-1,函数将无限等待。如果输入为0,LabVIEW将不建立连接并返回一个错误。

4.关闭DataSocket

关闭一个DataSocket连接。关闭DataSocket的节点图标及端口定义如图11-28所示。

978-7-111-40983-0-Chapter11-34.jpg(www.chuimin.cn)

图11-28 关闭DataSocket节点

毫秒超时:规定了函数等待操作完成的毫秒数。默认为0,标明函数不等待操作的完成。该端口输入值为-1时,函数将一直等待直到操作完成。

超时:如果函数在毫秒超时端口规定的时间间隔内无错误地完成操作,该端口将返回FALSE。如果毫秒超时端口输入为0,超时端口输出为FALSE。

5.DataSocket选择URL

弹出一个选择URL的对话框,用户在这个对话框中可以搜索网上存在的URL数据源,如图11-30所示。节点最后返回一个URL地址。DataSocket选择URL的节点图标及端口定义如图11-29所示。

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

图11-29 DataSocket选择URL节点

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

图11-30 选择URL对话框

起始URL:指明打开对话框的URL。起始URL可以是空白字符串、文件标识或完整的URL。

标题:对话框的标题。

已选定URL:如果选择了有效的数据源,该端口返回TRUE。

URL:输出所选择数据源的URL。只有当已选定URL输出为TRUE时,该值才是有效的。

与TCP/IP通信一样,利用DataSocket进行通信时也需要首先指定URL,DataSocket可用的URL共有下列6种:

(1)Psp:Windows或RT(实时)模块NI发布-订阅协议(psp)是NI为实现本地计算机与网络间的数据传输而开发的技术。使用这个协议时,VI与共享变量引擎通信。使用psp协议可将共享变量与服务器或设备上的数据项相连接。用户需为数据项命名并把名称追加到URL。数据连接将通过这个名称从共享变量引擎找到某个特定的数据项。该协议也可用于使用前面板数据绑定的情况。而fieldpoint协议可作为NI-PSP协议的一个别名。

(2)Dstp:DataSocket传输协议(dstp)——使用该协议时,VI将与DataSocket服务器通信。必须为数据提供一个命名标签并附加于URL。数据连接按照这个命名标签寻找DataSocket服务器上某个特定的数据项。要使用该协议,必须运行DataSocket服务器。

(3)Opc:Windows过程控制OLE(opc)—专门用于共享实时生产数据,如工业自动化操作中产生的数据。该协议须在运行OPC服务器时使用。

(4)ftp:Windows文件传输协议(ftp)—用于指定从ftp服务器上读取数据的文件。使用DataSocket函数从FTP站点读取文本文件时,需要将[text]添加到URL的末尾。

(5)file:用于提供指向含有数据的本地文件或网络文件的链接。

(6)http:用于提供指向含有数据的网页的链接。

表11-2列举了上述6种协议下的URL的实例。

psp、dstp和opc协议的URL用于共享实时数据,因为这些协议能够更新远程和本地的输入控件及显示控件。ftp和file协议的URL用于从文件中读取数据,因为这些协议无法更新远程和本地的输入控件及显示控件。

表11-2 URL的应用实例

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

DataSocket VI和函数可传递任何类型的LabVIEW数据。此外,DataSocket VI和函数还可读写以下数据:

➢原始文本:用于向字符串显示控件发送字符串。

➢制表符化文本:用于将数据写入数组,方式同电子表格。LabVIEW把制表符化的文本当作数组数据处理

➢.wav数据:使用.wav数据,将声音写入VI或函数。

➢变体数据:用于从另外一个应用程序读取数据,如NI Measurement Studio的ActiveX控件。

利用DataSocket节点进行通信的过程与利用TCP节点进行通信的过程相同那个操作步骤如下:

(1)利用打开DataSocket节点打开一个DataSocket连接。

(2)利用写入DataSocket节点和读取DataSocket节点完成通信。

(3)利用关闭DataSocket节点关闭这个DataSocket连接。

由于DataSocket功能的高度集成性,用户在进行DataSocket通信时,可以省略第一步和第三步,只利用写入DataSocket节点和读取DataSocket节点就可以完成通信了。