信息化 频道

NC机床的网络控制系统的实现

0 引言
   
     随着网络技术的发展, 网络控制技术越来越引起大家的重视。网络控制系统是将计算机网络技术和自动化控制技术结合起来, 从而实现网络控制。网络控制系统集机床技术、控制技术、通信技术、检测技术、图像技术、计算机软件技术、网络技术等于一体, 通过Internet/ Intranet 对机床进行远程监控, 可以使机床具有更大的柔性和可控性。国内外许多学者已经对网络控制系统进行了研究和开发 ,有的基于Web通讯平台 ,有的以Windows为开发平台,用VC++工具,采用Windows Sockets技术 ,还有的基于CORBA中间件技术等等。
   
     本文采用Java Sockets技术来实现通过网络对机床的实时监控功能。
   
    1、 Java简介
   
     对于通用网络编程语言来说,三个必要的支柱是:可移植性、速度和安全性。图1表示了Java和其他语言进行比较的结果。

图1 JAVA和其他语言比较

     由上图可以看出Java语言在各方面表现都比较均衡的,通过以上的比较和分析得知无论是从长远的发展和目前的需求来看,使用Java语言都是一个正确的选择。网络控制系统作为一个在网络环境下开发和使用的程序,它必须具有良好的通用性、跨平台性、稳定性和安全性。使用Java语言来实现网络编程,能够满足其在各个方面的需要。
   
     Java提供了两种功能强大的网络支持机制:URL访问网络资源的类和用Socket通讯的类,来满足不同的要求。一是URL用于访问Internet网上资源的应用;另一种是针对client/server(客户端/服务器)模式的应用以及实现某些特殊的协议的应用,它的通讯过程是基于TCP/IP协议中传输层接口socket实现的。
   
    1.1  TCP/IP协议
   
     所谓TCP/IP只是一个简称,分别指网络协议IP(Internet Protocol)及传输控制协议TCP(Transmission Control Protocol),是国际互联网技术中两个非常重要的通信协议,适用于任何一组互联网络上的通讯。并且组建以TCP/IP为网络的成本相对较少,以TCP/IP组建的网络也较为弹性。TCP/IP体系结构是专门用来描述TCP/IP 协议族的,TCP/ IP 的结构将网络分成四个层次, 分别是应用层、传输层、网络层和数据链路层。
   
    1.2 Java sockets简介
   
     套接字( socket )是一种通用的网络编程接口, 它是对通信端点的一种抽象, 提供了一种发送和接收数据的机制。套接字目前有两种: 数据报套接字( Datagram Sockets) 和流式套接字(Stream Sockets) 。我们采用流式套接字, 因为流式套接字可以将数据按顺序无重复地发送到目的地, 它提供的是一种可靠的面向连接的数据传输方式。
   
    1.2.1 流式套接字的使用方法
   
     流式套接字的使用方法是基于连接的协议, 在传输、接收数据之前必须先建立连接, 然后才能从数据流中读出数据。首先服务器要创建一个用于侦听的套接字, 为该套接字分配地址之后, 调用listen ( ) 函数使它处于侦听状态; 客户机在创建套接字完毕后, 为套接字分配地址, 然后调用connect () 函数, 请求与服务器套接字连接; 服务器套接字在收到客户机的连接请求后, 调用accept () 函数, 该函数创建一个用于连接的套接字。应用该套接字和客户机上的连接套接字,就可以在服务器和客户机之间进行数据传输了。在结束传输之后, 双方调用closesocket ( ) 函数关闭套接字。其使用方法如图2所示。

图2 Java Stream Sockets 的通信流程图

    2、网络控制系统的实现
   
    2.1 网络控制系统原理
   
     网络控制系统软件运行在客户机上, 客户机通过Intranet/Internet和服务器连接。机床的数控系统在服务器中运行, 首先启动服务器的本机数控系统, 进行初始设置后, 进入网络控制状态, 打开侦听套节字, 等待客户机的连接请求, 待收到客户机的连接请求后, 对联机信息进行验证, 如果符合联机条件, 则和客户机建立连接, 双方可以互相发送和接收信息或指令。服务器的数控系统在网络控制状态下可以利用摄像头实时采集机床加工状态图像和参数, 将图像以位图格式保存并定时发送到客户机显示加工状态, 将状态参数实时发送到客户机;服务器和客户机之间也可以通过超级语音或网络对讲机进行语音交流。在客户机的远程控制系统软件中可以编辑数控加工代码, 然后将数控代码传递到服务器中, 并下载到PMAC 上等待控制指令。从客户机向服务器发送机床加工控制指令, 控制机床运转, 同时接收服务器发送的信息, 动态监视机床加工情况。通过远程控制程序, 客户机还可在线修改机床加工参数,并能调试机床。

0
相关文章