立即咨询

首页 走心机知识 文章详情

数控机床远程监控平台开发和实现

来源:互联网   作者:机床世界    发表时间:2019-01-22    浏览量:4206




0 引言
     
数控系统的网络监控,通常以网络为媒介,实现数控系统与系统外的其它控制系统或计算机的通讯。计算机等上位机通过网络来实现对数控设备的远程控制和无人化操作、远程加工程序的传输、远程诊断和远程维修服务、技术服务。


网络化数控装备是近年来的一个新亮点。国外的一些著名数控机床和数控系统制造公司推出了相关的概念和样机,例如德国西门子(Siemens)公司展出的Open Manufacturing Environment(开放制造环境,简称OME),日本山崎马扎克(Mazak)公司展出的“Cyber Production Center”(智能生产控制中心,简称CPC)等,反映了数控机床加工向网络化方向发展的动向。国内在网络化数控装备方面的研究也取得了一定的进展。武汉华中数控股份有限公司研制开发的华中世纪星(HNC-21M)铣削数控装置就是具有网络功能的数控产品,可以利用以太网实现网络通信。


本文主要设计了一款远程监控平台,实现PC 机与DNC-11数控系统间的网络通讯,实现机床加工状态、机床参数及故障诊断等多信息交互和融合,使操作人员能通过PC机上的人机界面监控数控机床的运行状态,查阅其加工历史信息或进行相关故障诊断,为未来数控机床网络化管理、物联网建设等提供良好的平台服务。


1 监控平台总体结构设计
  
远程监控平台是由一台PC机、一个集线器、若干个DNC-11数控系统连接机床而成,形成一个星形的拓扑结构。远程监控平台的总体结构如图1所示。



本平台是客户机/服务器模式,即C/S模式。特殊之处在于客户端与服务器之间是一对多的关系,即一个客户端可与多个服务器之间进行通讯。


PC 机作为客户端,用户通过操作HMI(即人机界面)向服务器端发起通讯请求和服务请求,并通过自定义的数据包格式完成机床状态信息和控制信息的交互,最终图形化、数字化地显示在HMI上。DNC-11为服务器端,在接到客户端请求后提供相应的服务。DNC-11是带有网络功能的数控系统,能够提供基于TCP/IP协议的网络通讯服务,可以将数控系统的运行状态数据采集后周期上传,也可以接收控制指令进行相关的控制动作。
  
本平台采用上下位机的结构,将实时性要求高的任务分配给下位机,将实时性要求不高的任务分配给上位机PC。PC端运行监控平台应用程序,通过通讯服务接口与DNC-11等进行网络通讯,实现显示监测结果、图形及机床加工轨迹,远程发送控制指令,修改设置机床参数等功能。
 
2 监控平台应用软件的设计
   
远程监控平台应用程序的总体结构包括设备层、数据通讯服务层、核心功能层和应用访问层。软件分层结构如图2所示。软件的开发实现主要集中在数据通讯服务层和核心功能层。



数据通讯服务层主要提供参数服务、命令服务和文件服务等。参数服务是为上层提供读取/修改DNC-11 的参数数据的服务。命令服务是为上层提供远程控制的服务,将命令组装成相应命令报文,通过以太网向DNC-11传输,DNC-11会根据解析报文后得到的操作命令来执行用户需要的控制操作。文件服务是向上层提供加工程序的传输,加工程序目录的选择,系统文件的卸载及加载,加工程序的选择等服务。
   
核心功能层将具体实现的功能划分为三类:设备管理、实时监测和在线测试。设备管理具体包括数控机床的参数管理,数控机床的远程控制,数控机床的加工程序管理,数控机床设备信息管理等。实时监测主要指数控机床运行状态监测,各轴状态监测,PLC状态监测,以及数控机床关键部位监测等。在线测试包括数控机床故障模拟测试等。


3 网络通讯接口的设计
   
在本文设计的监控平台中,网络通信作为数据传输唯一通道,是整个监控平台的信息支撑。监控平台对通讯接口设计的功能需求主要有:通讯资源的初始化和释放;网络连接的处理;网络状态的判断;数据的接收和发送。
   
远程监控平台是基于TCP/IP网络协议开发的。在TCP/IP的四层模型中,传输层定义了两个端到端协议:传输控制协议TCP和用户数据报协议UDP。在数据完整性和准确性要求较高的场合,采用TCP协议;在实时性要求较高且数据完整性要求较低的场合,采用UDP协议。UDP通信不需要建立连接,并且没有数据确认和重传机制,因此实时性较高。但在数控机床远程监控平台的通讯中,各功能模块对数据完整性的要求较高,因而采用TCP传输协议开发。
  
Windows Sockets是从Berkeley Sockets扩展而来的,定义了TCP/IP网络最为通用的API,以动态链接库的形式提供给用户使用。Socket的出现,使用户可以很方便的访问TCP /IP,从而开发各种网络应用程序。Windows Sockets与协议无关并向下兼容,可以使用任何底层传输协议提供的通信能力,来为上层应用程序完成网络数据通信,而不必关心底层网络链路的通信情况,能真正实现底层网络通信对应用程序的透明。
  
Windows Sockets主要支持三种套接字类型,分别为:流式套接字(SOCK_STREAM)、数据报式套接字(SOCK_DGRAM)、原始式套接字(SOCK_RAM)。
  
根据采用的通讯协议,并考虑到对通信可靠性和正确性的要求较高,本监控平台选用流式套接字来实现网络通讯。基于Client /Server模式的流式套接字通讯过程如图3 所示。 



InitializeEngine是通讯资源初始化接口,Uninitialize Engine是通讯资源释放接口。通讯资源的初始化和释放主要是通讯端口分配释放、IP地址和远端IP 地址的赋值、变量的初始化、套接字的加载和缓冲区的分配等。
   
StateLoop是网络连接处理接口。网络的连接状态有三种:未连接、等待连接和正在连接。网络连接处理是根据不同的连接状态,客户端和服务器端执行相应的操作。
   
IsConnected是网络连接状态判断接口。连接状态的判断就是通过变量的当前值返回网络连接的状态。
   
Send 和Receive是发送/接收数据接口。数据的收发就是调用socket API来接收和发送数据。客户端是一对多的,要将接收的数据根据不同的设备号存入不同的缓冲区;服务器端超过设定的时间未发送成功则进行重发。
   
平台中作为客户端的PC机能够同时与多台在线服务器端进行网络连接,因而采用多线程技术,对每台设备开一条独立的通信线程。通信线程中调用相应的通讯接口,通过检测标识位,满足条件时发送缓存中已写入的数据,并当接收到的数据包长度大于零时,调用数据包的解析函数,将解析出来的有效数据传递给HMI 或者存储到相应数据缓存区。在成功完成通讯的基础上,实现参数的发送和接收需要考虑的是参数信息的存取、维护,以及数据包的组包和解析。 


4 HMI功能实现
   
根据对数据通讯服务层和核心功能层的分析,远程监控平台人机界面要实现的功能有参数服务功能、命令服务功能、文件服务功能等。各功能实现的流程类似,采用的具体方法存在差异,本文主要介绍参数服务功能的实现。
   
运行应用程序,进入监控平台,添加数控设备后初始化的界面如图4所示。 



一对多的客户端,能同时显示和操作多个数控设备的监控界面,双击需要监控的数控设备,即能弹出对应数控设备的监控界面,如图5所示。 



每台数控设备的参数管理界面主要显示的是参数号、参数名和参数值等,其中参数号与参数名不支持用户修改,参数值为用户的编辑项,因而参数的显示可使用两个静态文本控件和一个编辑框控件。但由于上述显示方式中存在问题及不足,在人机界面的开发中,使用继承自CListCtrl类的CReportCtrl类,在列表控件已有的功能基础上封装数据项的编辑功能,并提供一些操作的函数接口。使用列表控件显示参数的界面如图6所示。 



从图中可以看出,使用列表形式显示的参数可以方便的添加、删除等,并且能尽可能多的显示参数信息,界面的美观性也得到提高。
  
CReportCtrl 类中的SetEditable 函数,可以改变进行修改操作的布尔型标志变量的值,能方便的实现编辑操作只对参数值对应列有效。CReportCtrl类中在编辑功能完成时,会向列表控件所在的父窗口发送一条消息,代码如下:
  
GetParent()- > SendMessage(WM_EDIT_COMMITTED,
(WPARAM)m_ptEdittingx,(LPARAM)m_ptEdittingy);
  
在父窗口中捕获WM_EDIT_COMMITTED消息,在对应的响应函数中编写代码,将编辑的参数值写到缓存中,等待发送。在响应函数中可以编写任意参数值的写缓存操作,因此在代码量上有缩减,代码重复率下降。


5 结束语
   
本文介绍的机床远程监控平台采用windows环境PC上位机,通过socket流式套接字与linux环境的下位机进行网络数据交互,图形化、数字化地处理和显示数控系统的参数及状态等信息,实现了远程控制和远程监测等功能,解决了数控机床状态以及故障等信息的远程传输问题,为实现数控机床的无人化操作与监控提供了基础。