DataSocket技术基于TCPIP协议并对其进行高度封装,能在测试测量过程中实现服务器与多用户的实时数据交换与共享,而用户不必关心程序底层的
DataSocket技能根据TCP/IP协议并对其进行高度封装,能在测验丈量进程中完成服务器与多用户的实时数据交流与同享,而用户不用关怀程序底层的细节。本文剖析DataSocket的内部组成及运用URL进行资源定位的办法,详细评论根据DataSocket的LabVIEW长途测控办法。经过局域网开发的典型运用完成网络测控数据的实时发布与读取。跟着测控体系的网络化,其运用远景将越来越宽广。
1、LabVIEW及其网络通讯
LabVIEW是NI(National Instruments)公司具有革命性的图形化虚拟仪器开发环境,它内置信号收集、丈量剖析与数据显现功用,集开发、调试、运转于一体,现在版别为LabVIEW 7.1。LabVIEW 51及今后的版别充分考虑测控体系的网络化要求,集成各种通讯协议,供给丰厚的网络化组件。
运用LabVIEW完成网络通讯有4种办法:①无须详细协议的长途桌面衔接;②运用DataSocket技能进行网络通讯;③现成实时发布测控程序的网页,异地运用浏览器(如Internet Explorer,Netscape Communicator等)进行监控;④运用TCP、DDP等传输操控协议编程进行网络通讯。
测验数据在网上的发布和同享是长途测控体系工程运用的关键技能之一。尽管现存的TCP/IP和DDE(动态数据交流)等多种技能能够完成运用程序间的数据同享,但大多数运用起来并不便利,开发功率不高,乃至不能满意数据实时传输的需求,日益广泛和杂乱的网络运用必然需求很多的编程作业。DataSocket专为丈量数据的实时传送而触及,是虚拟仪器触及进程中面向网络测控的技能扩展,能简化体系开发进程,满意正确传输,实时通讯和网络安全的触及要求,特别适合于长途数据收集、监控和数据同享等运用程序的开发。
2、DataSocket技能
DataSocket机会Microsoft的COM和ActiveX技能,源于TCP/IP协议并对其进行高度封装,面向丈量和自动化运用,用于同享和发布实时数据,是一种易用的高性能数据交流编程接口。它能有效地支撑本地核算机上不同运用程序对特定数据地一起运用,以及网络上不同核算机地多个运用程序之间的数据交互,完成跨及其、跨言语、跨进程的实时数据同享。用户只需求知道数据源和数据宿及需求交流的数据就能够直接进行高层运用程序的开发,完成高速数据传输,而不用关怀底层的完成细节,然后简化通讯程序的编写进程,进步编程功率。
2.1 DataSocket逻辑构成
DataSocket包括DataSocket Server Manager(以下简称Manager),DataSocket Server和DataSocket API一部分。
Manager是一个独立运转的程序,首要功用有:设置DataSocket Server衔接的客户端程序的最大数目和创立数据项的最大数目:创立用户组和用户;设置用户创立和读写数据项的权限;约束身份不明的客户对服务器进行拜访和进犯。例如,将Manager中的Default Reader设置为everyhost,则网中的每台客户核算机都能够读取服务器上的数据。Manager对DataSocket Server 的装备有必要在本地核算机上进行,而不能长途装备或经过运转程序来装备。
DataSocket Server 是一个有必要运转在服务器端的程序,担任监管Manager中所设定的具有各种权限的用户组和客户端程序之间的数据交流。DataSocket Server经过内部数据自描述格局对TCP/IP进行优化和办理,简化Internet通讯办法,供给自在的数据传输,能够直接传送虚拟仪器程序所收集到的布尔型、数字型、字符串型、数组型和波形等常用类型的数据。它能够和测控运用程序安装在同一台核算机上,也能够分装在不同的核算机上,以便用防火墙进行阻隔来添加整个体系的安全性。DataSocket Server不会占用测控核算机CPU的作业时间,测控运用程序能够运转得更快。运用DataSocket技能进行通讯时服务器和客户端得核算机上笔形都进行DataSocket Server。
DataSocket API供给独立的接口,用于不同的言语渠道内部多种数据类型的通读。在LabVIEW中,DataSocket API被制作成ActiveX控件和一系列功用VI(Virtual Instrument),用户能够便利地运用。一般由服务器进行数据收集,根据需求将丈量地数据写入DataSocket 数据公共区,然后客户端经过网络充数据公共区读取所需地丈量数据。
2.2 DataSocket 资源定位
DataSocket 对外提高资源定位接口和功用调用接口,经过赞同资源定位符(URL)对数据的传输目的地进行定位,读数据时为源地址,写数据时为宿地址。在资源定位符中标明数据的传输协议、网络核算机标志和数据缓冲区变量。DataSocket支撑多种数据传送协议,不同的URL前缀标明不同的协议或数据类型。首要包括:(1)dstp(DataSocket Transfer Protocol):DataSocket 的专门通讯协议,能够传输各种类型的数据,当运用这个协议时,VI与DataSocket Server衔接,用户有必要为数据供给一个附加到URL的标识Tag,DataSocket衔接运用Tag在DataSocket Server上为一个特别的数据项目指定地址,现在运用虚拟仪器技能组成的丈量网络大多选用该协议;(2)http(Hyper Text Transfer Protocol,超文本传输协议);(3)ftp(File Transfer Protocol,文件传输协议);(4)opc (OLE for Process Control,操作方案和操控);特别为实时发生的数据而触及,例如工业自动化操作而发生的数据。要运用该协议,有必要首要运转一个OPC Server;(5)fieldpoint,logos,lookout:分别为NI FieldPoint 模块,LabVIEW数据记载与监控(DSC)模块及NI Lookout模块的通讯协议;(6)file(local file servers,本地文件服务器);可供给一个到包括数据的本地文件或网络文件的衔接。
3、DataSocket网络通讯完成途径
在LabVIEW中运用DataSocket技能完成网络通讯有两种途径:前面板控件特色直接衔接和运用DataSocket VI编程。
3.1 前面板控件直接衔接
LabVIEW为每一前面板控件都设定一个DataSocket Connection特色,运用它能够完成不同核算机上相对应得两个乃至多个同类型控件之间的DataSocket通讯。经过规则URL和控件衔接办法就能够在本地和长途进行实时无差错的数据发布(Publish)和读取(Subscribe)。
衔接办法中的Publish和Subscribe办法为双向传输供给便利,两台核算机中的任何一台都能够操控别的一台核算机的控件数值。例如,要将本地波形显现器(Waveform Graph)的数据与网络中的其他核算机同享,可在本地波形显现器的DataSocket Connection特色对话框中指定URL,并挑选Publish衔接办法,异地波形显现器的DataSocket Connection对话框中URL应契合以下格局:dstp://servernamecom/waveformdata,其间servername com是本地核算机的网址,它能够是核算机名、IP地址或核算机域名:waveformdata是数据的称号标识(tag),用以差异不同的DataSocket衔接。这样两异地控件就树立衔接。运转两程序,当控件右上角的方框层绿色时,标明数据发送或接纳得到正确衔接,本地控件的数据就可实时地传动到异地控件中;当方框呈赤色时,标明数据与DataSocket Server衔接失利。
3.2 DataSocket功用函数
运用控件特色直接衔接完成汪凌数据传输居庸无需编程、简略易用地特色,但缺陷时数据不透明,在客户端处理服务器传入的数据,就有必要运用DataSocket函数库供给的VI。DataSocket函数库包括有ReadHE Write等功用节点。Read节点用于充服务器的数据公共区下载数据;Write节点用于把数据写入服务器的数据公共区。DataSocket在读数据文件时,支撑text,txt,wave和dsd等格局;在写数据文件时,支撑text和dsd等格局。
要写入数据公共区的数据类型有必要与数据公共区设定的数据类型共同。当有多个不同类型数据需求写入时,能够屡次发送和读取或拓荒多个相应类型的数据公共区,也能够运用功用函数Variant把多个不同类型数据转化变为Variant类型而写入一个数据公共区。当有多个相同类型的数据先后写入数据公共区时,后写入的数据会掩盖前一个写入的数据。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/213967.html