关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 (一)

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

作者: 时间:2015-03-06 来源:网络 收藏

  (1)流式套接字

本文引用地址://m.amcfsurvey.com/article/270596.htm

  流式套接字为应用程序提供可靠的通信连接和无边界限制的双向数据流,能够提供有序、无重复的传输,适用于处理大量数据,并适用于要求得到响应的应用程序。流式套接字是基于直接连接的,建立在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同样大小*/

  };

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

  (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客户端程序,显示结果

tcp/ip相关文章:tcp/ip是什么


数字通信相关文章:数字通信原理


通信相关文章:通信原理




关键词:LabVIEW数控机床

评论


相关推荐

技术专区

关闭