引言
随着网络技术的发展,网络控制技术越来越引起大家的重视。网络控制系统是将计算机网络技术和自动化控制技术结合起来,从而实现网络控制。
网络控制系统集机床技术、控制技术、通信技术、检测技术、图像技术、计算机软件技术、网络技术等于一体,通过Internet/Intranet对机床进行远程监控,可以使机床具有更大的柔性和可控性。网络控制技术作为一种新兴技术,已经引起了许多科研单位的广泛关注[1~3],多种类型的网络控制技术正在得到研究和开发,有的基于Web通讯平台[4~6],有的利用Socket技术,还有的基于CORBA中间件技术等等,这必将给制造业的发展带来一场有意义的变革。
本文介绍笔者开发的数控机床的网络控制系统。该系统以Windows2000为开发平台,用VisualC++工具开发,采用WindowsSockets,实现了在局域网内对机床的实时监控功能。
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()函数使它处于侦听状态;客户机在创建套节字完毕后,为套节字分配地址,然后调用connect()函数,请求与服务器套节字连接;服务器套节字在收到客户机的连接请求后,调用accept()函数,该函数创建一个用于连接的套节字。应用该套节字和客户机上的连接套节字,就可以在服务器和客户机之间进行数据传输了。在结束传输之后,双方调用closesocket()函数关闭套节字。其使用方法如图3所示。
图3 流式套节字通信流程
2、网络控制系统的实现
2.1网络控制系统原理
网络控制系统软件运行在客户机上,客户机通过局域网和服务器连接。机床的数控系统在服务器中运行,首先启动服务器的本机数控系统,进行初始设置后,进入网络控制状态,打开侦听套节字,等待客户机的连接请求,待收到客户机的连接请求后,对联机信息进行验证,如果符合联机条件,则和客户机建立连接,双方可以互相发送和接收信息或指令。服务器的数控系统在网络控制状态下可以利用CCD实时采集机床加工状态图像和参数,将图像以位图格式保存并定时发送到客户机显示加工状态,将状态参数实时发送到客户机。在客户机的远程控制系统软件中可以编辑数控加工代码,然后将数控代码传递到服务器中,并下载到PMAC上等待控制指令。从客户机向服务器发送机床加工控制指令,控制机床运转,同时接收服务器发送的信息,动态监视机床加工情况。通过远程控制程序,客户机还可在线修改机床加工参数,并能调试机床。
2.2网络控制系统硬件结构
数控机床的网络控制系统采用模块化的硬件结构,数控系统采用“PC+NC”结构,PC机采用奔4主机,NC部分采用开放式多轴运动控制器PMAC2-PCI;网络系统采用“服务器+客户机”方式,数控系统运行在服务器上,网络控制软件运行在客户机上,服务器和客户机通过网卡和通信电缆连接在Intranet/Internet上,数控机床上安装CCD摄像头,用来监视机床加工情况,并通过图像采集卡,将机床的运转情况实时采集保存。该系统硬件结构如图4所示。
图4 网络控制系统硬件结构
2.3网络控制系统软件设计
友好的人机界面对于任何控制系统是不可缺少的。本系统界面设计采用Windows编程中的分隔视技术,将数控系统人机界面分成二个子窗口。左边的窗口为图像显示窗口,实现机床加工过程的图像监视;右边的窗口为网络控制窗口,实现网络联机与断开、加工代码编辑及发送、机床加工状态参数显示、机床在线网络调试等功能。
软件设计的关键是数据的网络传递,为了保证数据及时传递,在软件设计中采用了多线程技术,专门建立一个线程对采集的机床数据进行网络传递。该系统的流程图如图5所示。数控代码在客户机上编辑好之后,可以一次性传递给服务器,服务器将数控代码保存到内存中,然后在编译执行数控代码。控制指令的传递可以随时从客户机传递到服务器,服务器接到指令后立即执行。对于机床加工图像和状态参数的传递则要复杂一些。在服务器上,数控系统通过CCD摄像头实时采集加工图像,利用定时器在每一个周期内将图像保存为位图文件,然后将位图文件通过网络传递到客户机上,客户机在接收完每一个位图文件后,用定时器在每一个周期在图像显示窗口进行刷新显示,使加工图像保持连续性。同时服务器上的数控系统实时采集机床状态参数,利用定时器每一个周期将以一定格式的数据传递到客户机,客户机对数据进行接收后分析,再用定时器在一个周期内对状态参数进行更新显示。为了避免位图数据和参数数据在传递时的混乱现象,在服务器端采用中断方法,在传递图像数据时中断参数数据的传递,等图像数据传递完之后再传递参数数据,这样就很好的解决了在数据传递过程中的占用通道的矛盾问题。
图5 网络控制系统软件流程图
软件在运行过程中图像显示和参数更新会存在一定的滞后性,这与网络传递的速度以及数据量的大小有一定关系。
3、网络控制系统演示
图6为开发的网络控制系统在局域网内对机床加工进行网络监控的演示情况。通过试验可以看出,控制命令和状态数据的传递实时性较好,可以满足实际控制的需要;加工状态的图像显示刷新速度较慢,实时性稍差,图像显示具有跳跃性,需要进一步提高图像显示的流畅性。
图6 网络控制系统远程监控演示界面
4、结论
本文具体介绍了一套应用于数控机床的网络控制系统,基于TCP/IP通讯协议,利用Socket(套节字),建立服务器/客户机模式,装有数控系统的主机作为服务器,网络控制端作为客户机。通过客户机对数控机床进行网络控制和调试,可以使机床具有更大的柔性和可控性。该系统可以异地实时操作机床,基本达到动态调试和监控机床运转情况的目的,为机床控制和调试技术提供了高效的途径,具有一定的实用性和价值。