引言
随着网络技术的发展,网络控制技术越来越引起大家的重视。网络控制系统是将计算机网络技术和自动化控制技术结合起来,从而实现网络控制。
网络控制系统集机床技术、控制技术、通信技术、检测技术、图像技术、计算机软件技术、网络技术等于一体www.cechina.cn,通过Internet/Intranet对机床进行远程监控,可以使机床具有更大的柔性和可控性。网络控制技术作为一种新兴技术,已经引起了许多科研单位的广泛关注[1~3],多种类型的网络控制技术正在得到研究和开发,有的基于Web通讯平台[4~6],有的利用Socket技术,还有的基于CORBA中间件技术等等,这必将给制造业的发展带来一场有意义的变革。
本文介绍笔者开发的数控机床的网络控制系统。该系统以Windows2000为开发平台,用Vi
1、TCP/IP网络通信的实现
1.1TCP/IP简介
所谓TCP/IP只是一个简称,分别指网络协议IP(InternetProtocol)及传输控制协议TCP(TransmissionControlProtocol),是国际互联网技术中两个非常重要的通讯协议,适用于任何一组互联网络上的通讯。
TCP/IP的结构将网络分成四个层次,分别是应用层、传输层、网络层和数据链路层。这将国际标准组织(ISO)制定的开放系统互联参考模式(OSI)的七层传输参考模式中的一些层面合并,二者之间映射关系如图1所示。
图1 TCP/IP与OSI结构模型的映射关系
1.2WindowsSockets简介
基于TCP/IP的网络通信可以通过WindowsSockets来实现。套节字(socket)是一种通用的网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。
套节字目前有两种:数据报套节字(DatagramSockets)和流式套节字(StreamSockets)。我们采用流式套节字,因为流式套节字可以将数据按顺序无重复地发送到目的地,它提供的是一种可靠的面向连接的数据传输方式。
WindowsSockets提供给引用程序开发者一套简单的应用程序接口,应用程序调用其接口函数实现相互之间的通信。此外WindowsSockets又利用下层的网络通讯协议(如TCP/IP)功能和操作系统实现实际的通讯工作。它们之间的关系如图2所示。
图2 应用程序与Sockets的关系
1.3流式套节字的使用方法
流式套节字的使用方法是基于连接的协议,在传输、接收数据之前必须先建立连接,然后才能从数据流中读出数据。
首先服务器要创建一个用于侦听的套节字,为该套节字分配地址之后,调用listen()函数使它处于侦听状态;客户机在创建套节字完毕后CONTROL ENGINEERING China版权所有,为套节字分配地址,然后调用connect()函数,请求与服务器套节字连接;服务器套节字在收到客户机的连接请求后,调用accept()函数,该函数创建一个用于连接的套节字。应用该套节字和客户机上的连接套节字CONTROL ENGINEERING China版权所有,就可以在服务器和客户机之间进行数据传输了。在结束传输之后www.cechina.cn,双方调用closesocket()函数关闭套节字。其使用方法如图3所示。 &nbs