0 引言
数控机床是数字控制机床(Computernumericalcontrolmachine tools)的简称,是一种装有程序控制系统的自动化机床。该控制系统能够逻辑地处理具有控制编码或其他符号指令规定的程序,并将其译码,从而使机床动作数控折弯机并加工零件。
随着网络技术的发展,网络控制技术越来越引起大家的重视。网络控制系统是将计算机网络技术和自动化控制技术结合起来,从而实现网络控制。
网络控制系统集机床技术、控制技术、通信技术、检测技术、图像技术、计算机软件技术、网络技术等于一体,通过Internet/Intranet对机床进行远程监控,可以使机床具有更大的柔性和可控性。
本文介绍笔者开发的数控机床的网络控制系统。该系统以Windows2000为开发平台,用VisualC++工具开发,采用Windowssockets,实现了在局域网内对机床的实时监控功能。
1 TCP/IP网络通信的实现
1.1 TCP/IP简介
所谓TCP/IP只是一个简称,分别指网络协议IP(InternetProtocol)及传输控制协议TCP(TransmissionControlProtocol),是国际互联网技术中两个非常重要的通讯协议,适用于任何一组互联网络上的通讯。
TCP/IP的结构将网络分成四个层次,分别是应用层、传输层、网络层和数据链路层。这将国际标准组织(ISO)制定的开放系统互联参考模式(OSI)的七层传输参考模式中的一些层面合并,二者之间映射关系如图1所示。
图1 TCP/IP与OSI结构模型的映射关系
1.2 WindowsSockets简介
基于TCP/IP的网络通信可以通过WindowsSockets来实现。套节字(socket)是一种通用的网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。
套节字目前有两种:数据报套节字(DatagramSockets)和流式套节字(StreamSockets)。
WindowsSockets提供给引用程序开发者一套简单的应用程序接口,应用程序调用其接口函数实现相互之间的通信。此外WindowsSockets又利用下层的网络通讯协议(如TCP/IP)功能和操作系统实现实际的通讯工作。它们之间的关系如图2所示。
图2 应用程序与Sockets的关系
1.3 流式套节字的使用方法
流式套节字的使用方法是基于连接的协议,在传输、接收数据之前必须先建立连接,然后才能从数据流中读出数据。
首先服务器要创建一个用于侦听的套节字,为该套节字分配地址之后,调用listen()函数使它处于侦听状态;客户机在创建套节字完毕后,为套节字分配地址,然后调用connect()函数,请求与服务器套节字连接;服务器套节字在收到客户机的连接请求后,调用accept()函数,该函数创建一个用于连接的套节字。应用该套节字和客户机上的连接套节字,就可以在服务器和客户机之间进行数据传输了。
图3 流式套节字通信流程
2 网络控制系统的实现
2.1 网络控制系统原理
网络控制系统软件运行在客户机上,客户机通过局域网和服务器连接。机床的数控系统在服务器中运行,首先启动服务器的本机数控系统,进行初始设置后,进入网络控制状态,打开侦听套节字,等待客户机的连接请求。从客户机向服务器发送机床加工控制指令,控制机床运转,同时接收服务器发送的信息,动态监视机床加工情况。通过远程控制程序,客户机还可在线修改机床加工参数,并能调试机床。
2.2 网络控制系统硬件结构
数控机床的网络控制系统采用模块化的硬件结构,数控系统采用“PC+NC”结构,PC机采用奔4主机,NC部分采用开放式多轴运动控制器PMAC2-PCI;网络系统采用“服务器+客户机”方式,数控系统运行在服务器上,网络控制软件运行在客户机上,服务器和客户机通过网卡和通信电缆连接在Intranet/Internet上,数控机床上安装CCD摄像头,用来监视机床加工情况,并通过图像采集卡,将机床的运转情况实时采集保存。该系统硬件结构如图4所示。
图4 网络控制系统硬件结构
2.3 网络控制系统软件设计
友好的人机界面对于任何控制系统是不可缺少的。本系统界面设计采用Windows编程中的分隔视技术,将数控系统人机界面分成二个子窗口。左边的窗口为图像显示窗口,实现机床加工过程的图像监视;右边的窗口为网络控制窗口,实现网络联机与断开、加工代码编辑及发送、机床加工状态参数显示、机床在线网络调试等功能。
软件设计的关键是数据的网络传递,为了保证数据及时传递,在软件设计中采用了多线程技术,专门建立一个线程对采集的机床数据进行网络传递。该系统的流程图如图5所示。数控代码在客户机上编辑好之后,可以一次性传递给服务器,服务器将数控代码保存到内存中,然后在编译执行数控代码。同时服务器上的数控系统实时采集机床状态参数,利用定时器每一个周期将以一定格式的数据传递到客户机,客户机对数据进行接收后分析,再用定时器在一个周期内对状态参数进行更新显示。
图5 网络控制系统软件流程图
软件在运行过程中图像显示和参数更新会存在一定的滞后性,这与网络传递的速度以及数据量的大小有一定关系。
3 网络控制系统演示
图6为开发的网络控制系统在局域网内对机床加工进行网络监控的演示情况。通过试验可以看出,控制命令和状态数据的传递实时性较好,可以满足实际控制的需要;加工状态的图像显示刷新速度较慢,实时性稍差,图像显示具有跳跃性,需要进一步提高图像显示的流畅性。
图6 网络控制系统远程监控演示界面
4 结论
本文具体介绍了一套应用于数控机床的网络控制系统,基于TCP/IP通讯协议,利用Socket(套节字),建立服务器/客户机模式,装有数控系统的主机作为服务器,网络控制端作为客户机。该系统可以异地实时操作机床,基本达到动态调试和监控机床运转情况的目的,为机床控制和调试技术提供了高效的途径,具有一定的实用性和价值。