基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 1

发布者:脑洞飞扬最新更新时间:2015-03-09 来源: eefocus关键字:LabVIEW  数控机床  DataSocket 手机看文章 扫描二维码
随时随地手机看文章
4数控机床远程测控系统的网络通信关键技术研究

基于Internet组建数控机床网络测控系统目前主要有两种基本的模式:C/S和B/S模式。两种通信模式各有自己的优缺点,本章将对两种结构进行详细的比较。同时在LabVIEW环境下实现网络通信的也有多种方式,在本章中会做一一比较。数据的存储与访问也是实现远程测控系统的关键,在本章最后会进行Web数据库的设计和LabVIEW平台下实现远程数据库的访问技术方面的分析与研究。

4.1 B/S结构与C/S结构的比较

本文提出的基于Internet组建网络化测控系统目前主要有两种基本的模式:C/S和B/S模式,性能和功能场合上各有自己的优缺点,现做如下分析对比。

(1)C/S模式:(客户/服务器模式)

C/S模式模型是网络通信中常用的一种模型,通常集散控制系统多采用这种结构,它一般有多个客户端来采集数据,而且通常有一个服务器来充当数据库的角色,客户端通过通信协议把测试数据写入远程服务器数据库。这种模型的设计包括两个方面:客户端采集程序和远程发布的程序设计以及客户端数据的接收程序的设计。在LabVIEW环境下,专门为测试数据的安全快速的传输设置了DSTP协议。

C/S模式的优点:

①由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
②操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
③C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

C/S模式的缺点:

①需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
②兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
③开发成本较高,需要具有一定专业水准的技术人员才能完成。

(2)B/S模式:(浏览器/服务器模式)

B/S模型是为了方便用户在Web下发布数据。通常用户端只需要安装一个浏览器,直接访问该测控网站的地址,就可以监视远程测控点的数据变化情况。它的主要工作就是在服务器端程序的开发,不存在客户端程序的开发和维护。在B/S模式下,一般采用HTTP协议。B/S组网模式的网络化虚拟仪器如图4.1所示。

B/S组网模式的网络化虚拟仪器

B/S模式的优点:

①具有分布性特点,可以随时随地进行查询、浏览等业务处理。
②业务扩展简单方便,通过增加网页即可增加服务器功能。
③维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
④开发简单,共享性强。

B/S模式的缺点:

①个性化特点明显降低,无法实现具有个性化的功能要求。
②操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
③页面动态刷新,响应速度明显降低。
④无法实现分页显示,给数据库访问造成较大的压力。
⑤功能弱化,难以实现传统模式下的特殊功能要求。

综上所述,B/S模式建立在广域网上,面向不同的用户群,分散地域,这是C/S模式无法作到的。与操作系统平台关系最小。C/S模式多是建立的Window平台上,表现方法有限,对程序员普遍要求较高,B/S模式建立在浏览器上,有更加丰富和生动的表现方式与用户交流。。并且大部分难度减低,降低开发成本。鉴于两种结构模式优缺点性能的比较和笔者的论文实现难以上考虑,本文的远程测控系统采用B/S模式。

4.2 LabVIEW实现网络通信的方法研究

数控机床远程测控系统有多种实现网络通信的方法。

其中,基于虚拟仪器LabVIEW实现网络通信有四大类方法:

 

(1)使用网络通信协议编程实现网络通信,可以使用的通信协议类型包括TCP/IP协议、UDP、串口通信协议、无线网络协议、Socket等;

(2)使用基于TCP/IP的数据传输协议DSTP的DataSocket技术实现网络通信;

(3)使用共享变量实现网络通信;

(4)通过远程访问来实现网络通信。



本节将简单地分析了各种方法的优缺点及应用场合。

4.2.1 TCP与UDP通信技术

TCP与UDP,这些协议在绝大多数计算机上都有安装,因此他们的使用更为普遍,但是正是由于这些协议更加基础,因此针对它们的编程要更加复杂,用户需要考虑如何建立连接、分配端口号、进行地址转换等。LabVIEW为用户提供了封装好的VI函数,大大简化了TCP与UDP编程。

网络通信协议是网络中传递、管理信息的一些规范,是计算机之间相互通信需要共同遵守的一些规则。网络通信协议通常被分为多个层次,每一层完成一定的功能,通信在对应的层次之间进行。LabVIEW中支持的通信协议类型包括TCP/IP、UDP、串口通信协议、无线网络协议和邮件传输协议。TCP/IP协议体系是目前最成功,使用最频繁的Internet协议,有着良好的实用性和开放性。它定义了网络层的网际互连协议IP,传输层的传输控制协议TCP、用户数据协议UDP等。[page]

选择采用C/S模式网络应用构架时,网络通信利用Socket编程。Socket是TCP/IP协议传输所提供的接口,一般对于软件开发主要使用两种类型的套接字:

(1)流式套接字

流式套接字为应用程序提供可靠的通信连接和无边界限制的双向数据流,能够提供有序、无重复的传输,适用于处理大量数据,并适用于要求得到响应的应用程序。流式套接字是基于直接连接的,建立在TCP基础上。TCP三次握手——使用TCP协议的流程图如图4.2所示

 

TCP三次握手

 

使用TCP协议的流程图

(2)数据报套接字

支持双向数据流动,但不能保证数据的顺序和不重复性,同时也不十分可靠。数据报是无连接的,由UDP(用户数据报协议)支持,几乎是直接建立在IP层上,传输速度比较快。UDP即用户数据报协议,它是一种无连接协议,因此不需要像TCP那样通过三次握手来建立一个连接。同时,一个UDP应用可同时作为应用的客户端或服务器端。由于UDP协议并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单得多。它比TCP协议更为高效,也能更好地解决实时性的问题。使用UDP协议的流程图如图4.3所示。

 

使用UDP协议的流程图

 

其中Socket信息数据结构程序如下:

struct sockaddr

{

unsigned short sa_family; /*地址族*/

char sa_data[14]; /*14字节的协议地址,包含该socket的IP地址和端口号。*/

};

struct sockaddr_in

{

short int sa_family; /*地址族*/

unsigned short int sin_port; /*端口号*/

struct in_addr sin_addr; /*IP地址*/

unsigned char sin_zero[8]; /*填充0以保持与struct sockaddr同样大小*/

};

 

LabVIEW中为网络通讯提供了基于TCP/UDP的通讯函数供用户调用。这样用户可直接调用TCP模块中已发布的TCP VI及相关的子VI来完成流程的编写,而无需过多考虑网络的底层实现。在设计上采用C/S(客户端/服务器)通信模式,VI程序分为两部分:处理主机工作在Server模式,完成数据接收,并提供数据的相关处理;数据点计算机工作于Client模式,实现数据传送。TCP传输数据过程如下:首先由发送端发送连接请求,接收端侦听到请求后回复并建立连接,然后开始传输,数据传输完成后关闭连接,传输过程结束。[page]


(3)利用TCP协议通信实例

以下通过C/S(客户端/服务器)通信模式实现的数据传输模式。

在服务器端,用“TCP Create Listener”节点创建侦听,“TCP Wait on Listener”节点等待客户机连接,通过循环产生100个正弦信号数据,用两个“TCP Write”节点来发送数据,第一个节点用来发送波形数据的长度,第二个节点发送波形数据,最后,用“TCP Close Connection”节点结束连接。程序框图如图4.4所示:


程序框图


在客户端,用“TCP Open Connection”节点打开TCP连接,用两个“TCP Read”节点读取数据,第一个节点接收波形长度作为第二个节点的输入,第二个节点接收波形数据,最后,用“TCP Close Connection”节点结束连接。程序框图如图4.5所示:

 

 

运行TCP客户端程序,显示结果如下图4.6所示。

运行TCP客户端程序,显示结果

4.2.2 DataSocket技术

在LabVIEW中实现网络通信的最简单方法就是DataSocket.由于DataSocket可以应用于任何编程环境,而且支持多种协议(PSP、DSTP、OPC、LOOKOUT、HTTP、FTP和文件访问)。DataSocket是一种编程技术,它简化了网络计算机之间尤其是现场数据的交换。DataSocket技术是一种面向测控领域的网上实时数据交换编程技术,DataSocket技术基于Microsoft的COM和ActiveX技术,对TCP/IP协议进行高度封装,它包括了通用资源定位符URL (UNIform Resource Locator)和文件格式等技术规范。它能大大简化Internet网上计算机之间测控数据交换的编程工作。DataSocket也可用于一台计算机内或局域网中多个应用程序之间的数据交换,DataSocket的体系结构如图所示。

 

DataSocket的体系结构

(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的工作时间,测控应用程序可以运行得更快。[page]

DataSocket API提供独立的接口,用于不同的语言平台内部多种数据类型的通读。在LabVIEW中,DataSocket API被制作成ActiveX控件和一系列功能VI(Virtual Instrument),用户可以方便地使用。一般由服务器进行数据采集,根据需要将测量地数据写入DataSocket数据公共区,然后客户端通过网络充数据公共区读取所需地测量数据。DataSocket API包含有Open、Read、Write和Close等函数,其中的Read和Write函数又分为单个或数组形式的字符串型、布尔型、数值型和波形等多种类型。DataSocket技术可在C语言、VB和LabVIEW等多种开发环境中应用。

(2)DataSocket资源定位

DataSocket对外提升资源定位接口和功能调用接口,通过同意资源定位符(URL)对数据的传输目的地进行定位,读数据时为源地址,写数据时为宿地址。在资源定位符中标明数据的传输协议、网络计算机标志和数据缓冲区变量。DataSocket支持多种数据传送协议,不同的URL前缀表示不同的协议或数据类型。主要包括:

①DSTP(DataSocket Transfer Protocol):DataSocket的专门通信协议,可以传输各种类型的数据,当使用这个协议时,VI与DataSocket Server连接,用户必须为数据提供一个附加到URL的标识Tag,DataSocket连接利用Tag在DataSocket Server上为一个特殊的数据项目指定地址,目前应用虚拟仪器技术组建的测量网络大多采用该协议;

②HTTP(Hyper Text Transfer Protocol,超文本传输协议);

③FTP(File Transfer Protocol,文件传输协议);

④OPC(OLE for Process Control,操作计划和控制);特别为实时产生的数据而涉及,例如工业自动化操作而产生的数据。要使用该协议,须首先运行OPC Server;

⑤Fieldpoint,Logos,Lookout:分别为NI FieldPoint模块,LabVIEW数据记录与监控(DSC)模块及NI Lookout模块的通信协议;

⑥File(local file servers,本地文件服务器);可提供一个到包含数据的本地文件或网络文件的连接。

(3)DataSocket网络通信实现途径

在LabVIEW中运用DataSocket技术实现网络通信有两种途径:前面板控件属性直接连接和利用DataSocket VI编程。具体实现方式见下图4.8所示:

用DataSocket在数据发送端首先形成具有一定规律的数据流,再用DataSocket控件的写操作把这些数据传输到DataSocket服务器,在各客户端用读操作从服务器获取数据流,然后对数据流进行解析并恢复为原始信息在客户端形成的响应。这样就实现协同工作的基本流程。整个应用分成“写”和“读”两个模块。

写模块的核心时DataSocket write vi.它在工作前需要用户指定数据宿的URL地址。

VI每次从上一步程序接收数据后形成数据包并送到目标地址。在数据传送过程中,写端计算机的DataSocket Server会实时监视网络连接和数据传送情况。“写”模块选择条件为“True”时的程序,详见图4.8.


“写”模块选择条件为“True”时的程序


读模块起核心作用的时DataSocket Read vi,其数据源的URL地址须与数据宿的URL地址相同,要注意接收的数据类型与写端输出的数据类型一致。读端计算机也会运行DataSocket Server来监视网络接收和数据接收情况。“读”模块程序详见图4.9.

 

读”模块程序



有时网络拥塞会使数据传送周期变长,可以在程序的循环中设置等待时间(ms),本应用写端和读端分别设计为1000和100.在实际现场应用时,应尽量有专用的传送线路,一面网络拥塞时发生数据丢失。DataSocket Server读取的数据可以做进一步的处理,并存储起来以供调用。

关键字:LabVIEW  数控机床  DataSocket 引用地址:基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 1

上一篇:基于LabVIEW的数控机床网络测控系统--下位机硬件设计(一)
下一篇:基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 2

推荐阅读最新更新时间:2024-03-30 22:54

如何学习LabVIEW
还记得当初是因为一个项目才与labview结缘的,使用图像化的编程方式操作外设,通过NI和研华的板卡采集和控制外设的数据,一直对自己很大的吸引力。从未接触过的程序语言,要在短时间内满足项目的需求,刚开始是压力是有的,没哟接触过这门语言,又是短时间的要求,有点信心不足,但后来慢慢使用了之后觉得这门语言挺好用的,可视化的界面编程,方便的编程指导,不到两周就能熟练应用在项目中了。 才开始在网上搜索资料,查找相关的学习资源,发现还是挺多的。后来还参加了NI的学校毕业设计竞赛,最后获得了参与奖,但是参加竞赛的过程还是挺让人记忆犹新的。先简述下学习labview的学习方法吧。(以下部分为摘自网络)   学习LabVIEW一般有以下
[测试测量]
如何学习<font color='red'>LabVIEW</font>
传感器在数控机床上的设计应用
由于高精度、高速度、高效率及安全可靠的特点,在制造业技术设备更新中,数控机床正迅速地在企业得到普及。数控机床是一种装有程序控制系统的自动化机床,能够根据已编好的程序,使机床动作并加工零件。它综合了机械、自动化、计算机、测量、微电子等最新技术,使用了多种传感器,本文介绍的是各种各样的传感器在数控机床上的应用。 2 传感器简介 传感器是一种能够感受规定的被测量,并按照一定的规律转换成可用输出信号的器件或装置,其输入信号(被测量)往往是非电量,输出信号常常为易于处理的电量,如电压等。 传感器种类很多,分类标准不一样,叫法也不一样,常见的有电阻传感器、电感式传感器、电容式传感器、温度传感器、压电式传感器、霍尔传感器、热电偶传感器、光电传感
[嵌入式]
Labview数据库基本操作及相关一些步骤和疑问解决方法
1. 先安装好Labview的database toolkit , office access,Microsoft Jet 4.0 OLE DB Provider , 可以在NI官网下载到。 2. 通常使用数据库时会使用到DB tools open connection ,而它的connection information 需要 udl 文件连接数据库,因此在labview中绕不开下面这些步骤(图为最简单的表创建程序,一般来说不做下面的步骤是不能用的)。 3.先在Access创建一个数据库,步骤略,直接在软件界面新建而且选好路径就好了,一般新建文件是mdb后缀,接着打开控制面板的管理工具,进入ODBC资源管理器,按添加
[测试测量]
<font color='red'>Labview</font>数据库基本操作及相关一些步骤和疑问解决方法
基于LabVIEW的汽车燃油泵性能测试检测系统
摘要 针对汽车电动燃油泵手工检测操作不便,数据精度、效率低等问题,以某款汽车燃油泵为研究对象,研制一种基于LabVIEW环境和数据采集卡的汽车电动燃油泵性能测试系统。该系统通过NI—USB 6210数据采集卡采集燃油压力、燃油流量、油泵工作电压和工作电流等参数,以LabVIEW编制的上位机界面实现控制参数的设定、油泵性能评价、数据显示、存储、历史记录查询等功能。实验结果表明,该系统的测试时问较传统检测方法缩短了90%以上,燃油泵性能的测试精度和检测效率均有大幅提高。 电动燃油泵是汽车发动机燃油供给系统中的关键部件,其作用是提供足够的燃油压力和流量,满足发动机各种工况对燃油的要求。燃油泵性能的好坏直接影响发动机的工作性能,因而必须
[测试测量]
基于<font color='red'>LabVIEW</font>的汽车燃油泵性能测试检测系统
数控机床设备在运行中对电源的要求
   电源 是维持数控系统正常工作的 能源 支持部分,它失效或故障的直接结果是造成系统的停机或毁坏整个系统。所以安全性也是数控设备安装前期工作中重要的一环。   另外,数控系统部分运行数据,设定数据以及加工程序等一般存贮在RAM存贮器内,系统断电后,靠电源的后备蓄电池或锂电池来保持。因而,停机时间比较长,拔插电源或存贮器都可能造成数据丢失,使系统不能运行。同时,由于数控设备使用的是三相交流380V电源,所以安全性也是数控设备安装前期工作中重要的一环。   基于以上的原因,对数控设备使用的电源有以下的要求:   一、电网电压波动应该控制在 10% -15%之间。   我国电源波动较大,质量差,还隐藏有
[电源管理]
数控机床核心关键技术演进过程
引言:制造机器的机器 机床( machine tools )是指用来制造机器的机器,又被称为“工作母机”或“工具机”。早在15世纪就已出现了早期的机床,1774年英国人威尔金森发明的一种炮筒镗床被认为是世界上第1台真正意义上的机床,它解决了瓦特蒸汽机的气缸加工问题。至18世纪,各种类型机床相继出现并快速发展,如螺纹车床、龙门式机床、卧式铣床、滚齿机等,为工业革命和建立现代工业奠定了制造工具的基础。1952年,世界上第1台数字控制(numerical control,NC )机床在美国麻省理工学院问世,标志着机床数控时代的开始。数控机床是一种装有数字控制系统(简称“数控系统”)的机床,数控系统包括数控装置和伺服装置两大部分,当前数控
[嵌入式]
<font color='red'>数控机床</font>核心关键技术演进过程
LabVIEW 8.2的数字滤波设计
  LabVIEW中提供了多种滤波器和用来设计滤波器的函数节点和Ⅵ。滤波器节点位于函数选板的 信号处理-滤波器 ,如图所不。   数字滤波节点可以将输入信号直接经过滤波器处理,也可以计算滤波器系数来设计滤波器。滤波器包括Butterworth滤波器、Chebyshev滤波器、椭圆滤波器、贝塞尔滤波器、等纹波滤波器等。如表详细列出了滤波器节点的图标、接线端、名称和功能。其中常见参数说明如下。   filter type:滤波器类型,值为0表示低通、1表示高通、2表示带通、3表示带阻。   X:输入信号序列,数据类型可以是双精度浮点数或双精度浮点复数。   如图 滤波器子选板   samp1ing freq:fs:采样
[测试测量]
<font color='red'>LabVIEW</font> 8.2的数字滤波设计
LabVIEW string/array Type
LabVIEW CLN调用dll时,接口只能是c99的类型,不可以使用c++的string类型。 LabVIEW有其定义的string类型: LStrHandle。 -------------------------------------------------------------------------------------------- C++的code如下: #include extcode.h // extcode.h 的路径是在C:Program FilesNational InstrumentsLabVIEW 2009cintools 里面。如
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved