张海霞
ZHANG Hai-xia
(南通纺织职业技术学院 机电系,南通 226007)
刀具磨损情况监测有多种方法,直接法有利用传感器监测法,间接法有利用机床功率或电流监测法、声发射监测法和放射性元素监测法[1-3]。对开放式数控系统而言,利用机床电机功率和电流进行监测基本不需要增加新硬件,相对于其它几种方法具有明显优势。因为在加工条件是相同时,通过监测实际加工的电流和功率,并与标准参考加工电流、功率曲线的对比获得之间的差别,在诸多带来差别的影响因素中最大的变化因素是刀具的磨损,据此差别来反映刀具磨损情况,从而能实现对刀具磨损的监测。
本文以台达变频器为例,介绍了开放数控环境下,变频器数据的采集、传输过程,以及通过VB调用Winsock控件采集机床电机功率和电流实现刀具磨损监控的具体过程,为相关企业的监控提供参考。
变频器作为数控控制链中的关键部件,其内部信息运行与状态息息相关,对于其数据的采集具有很重要的作用。现代变频器多采用微计算机数字控制技术构成,并提供标准的工业RS485通讯接口和内置协议,为变频器的计算机远程监控管理提供了必要的基础。以台达VFD-M系列变频器为例,串行通信协议采用的是ASCII(American Standard Code for Information Interchange)模式,在这种模式中每个字节的8位是由两个ASCII码来表示。如单字节十六进制数64Hex是由‘6’(36Hex)和‘4’(34Hex)组合而成。数据传递也采用的是此公司自定的通讯协议,具体如下:
协议符号的含义:
表1 台达变频器通讯格式表
STX:通信起始字节,ASCII码为02Hex;
ADR(1,0):由两个ASCII码组成的变频器通信地址,如ADR1=0、ADR0=1代表与地址为01的变频器进行通信;
CMD(1,0):由两个ASCII码组成的一个字节命令指令,如CMD1=0,CMD0=9为读出变频器的状态;
Datacharacters:为指令的具体参数或操作对象,由2N个ASCII码组合而成,N≤26;
EXT:通信结束字节,ASCII码为03Hex;
CHK(1,0):是由两个ASCII码组合成的一个校验字节。
变频器的每次通信都是按照表1的格式,以特定的ASCII码作为起始标志,变频器在接到计算机发来的命令后首先检查信息中的起始标志,然后检查命令中的栈地址是否与自己的栈地址相符,如果不一致,说明计算机是与其它变频器进行通信,从而忽略该命令;如果一致,就响应该命令,将执行结果回送到计算机,并结束这次通信。按此通讯原理,可以通过命令读出变频器的每个设置参数和状态信息,例如:STX(02H)010849ETX(03H)39命令可以读取P73参数,该参数包含了变频器目前的故障记录。此外,VFD-M系列变频器还提供了一个特别的命令STX(02H)0109ETX(03H) CD,变频器将返回字符串STX(02H)0109 + 34 Data Characters + ETX(03H)+ CHK(1,0),其中34个Data Characters即34个十六进制字符包含了大部分我们要采集的数据,具体如下:
字符1-2:表示当前故障错误代码,根据它可以查找当前故障含义;
字符3-4:表示当前变频器控制面板的LED状态;
字符5-8:表示数控系统指令频率,为4位16进制数,转换为10进制后除以100就能得到数控系统的指令频率;
字符9-12:表示变频器实际输出频率,转换同上;
字符13-16:表示变频器输出电流,为4位16进制数,转换为10进制后除以10就能得到变频器的输出电流;
字符21-24:表示变频器输出电压,转换同上。
由此可见,在应用程序中定时向变频器发送STX(02H)0109ETX(03H) CD命令,就能够实现对变频器的实时数据采集,再通过应用程序中其他模块对这些数据的调用,实现变频器的故障诊断和远程监测[4]。
机床状态数据传输是指将客户端监测到的数据传输到远程监测诊断中心,这些数据传输依靠HTTP协议很难做到,因为HTTP连接是静态的,即当客户端提出请求时,客户端与服务器建立起连接,当服务器完成客户端的请求后,连接立即断掉,这显然不能满足动态监测的要求,应该寻求其它协议支持。Windows操作系统为Internet提供了Winsock标准接口,可以为两个或多个Internet节点建立连接并交换数据。Winsock接口是在应用程序和TCP/IP及硬件之间提供标准的API接口,它为不同的网络硬件提供了标准的函数,使各个厂商所开发的不同的TCP/IP应用程序或硬件可以在相同的平台上工作。
在使用WinSock控件时,首先会考虑使用什么协议。可以使用的协议包括TCP和UDP。两种协议之间的重要区别在于它们的连接状态:TCP协议控件是基于连接的协议(stream socket),与电话通信系统类似,在开始数据传输之前,用户必须先建立连接;UDP协议是一种无连接协议(datagram socket),之间的通信传输类似于传递邮件:消息从一台计算机发送到另一台计算机时两者之间没有明确的连接,而单次传输的最大数据量则取决于具体的网络。
图1 远程数据传输监测服务器与客户端的连接
选择哪一种协议是由需要创建的应用程序的功能来决定,通常可根据以下几种情况来选择[5]:
1)在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息。如果需要,则使用TCP协议,在收发数据之前先明确建立的连接。
2)数据量是否特别大(如图像与声音文件)。连接建立后,TCP协议将会维护连接并确保数据的完整性。显然,这种连接需要占用更多的计算机资源。
3)数据发送是间歇的,还是在一个会话内。如果应用程序在任务完成的时候需要通知某个计算机,UDP协议则更合适。
使用两种协议的明显区别是在数据传送之前是否先建立连接。在本系统中,由于对数据的准确性和实时性要求比较高,数据量不是太大,因此考虑采用TCP协议来进行数据传输。即使用面向连接的套接口编程技术,利用VB6.0所提供的编程环境,设计程序流程如图1所示[6]。
1)客户端实时监测功能实现
设计完成的界面如图2所示。将整个服务界面分为7个区域,它们分别为:变频器状态、变频器参数、变频器故障、手动命令及返参、图表显示、工作效率统计和按钮区域,图中的由于屏幕显示的原因,最右侧的一系列按钮及工作效率统计的区域都没有显示出来。图中变频器状态显示单元中运行和正传的指示灯为绿色,其它几个指示灯都为黑色,表示主轴正在正传运行;电流曲线和功率曲线显示窗口中各显示红色和蓝色两条曲线,绿色的栅格则是曲线有坐标参考。
图2 变频器监测诊断客户端界面
机床实时监测主要包括变频器的状态和变频器参数的实时显示,中间的绘图显示区域则是将实时采集的数据以曲线的形式显示出来,并实现对比功能。图中红色的曲线是标准参考曲线,是从实验中的得到的理想的加工曲线,另一种是蓝色曲线,这是加工实时采集数据的绘制的曲线。这两种曲线对比,最直接反映的就是加工状态的变化,由此推测刀具磨损情况。
变频器在线监测诊断实现过程的部分关键代码是:
(a)初始化程序:
2)服务器端远程监测功能实现
远程监测模块的功能是接收客户端传来的数据进行显示,使远程诊断中心的工作人员能够对远程设备的运行状态有一个直观地认识,进而对机床状态进行分析和故障预测,因此该功能模块在界面设计上基本与现场监测画面保持一致。对应于客户端的变频器在线监测诊断,设计出相应的变频器远程监测服务器端界面如图3所示。图中的显示的曲线基本与客户端同步。
图3 变频器监测诊断服务器端界面
变频器远程监测模块的界面设计和代码编写均是在VB6.0 DHTML编程环境中进行,电流曲线显示、数据处理和数据库查询在程序编写与“变频器客户端监测诊断”类似,其部分关键程序代码如下。
需要一提的是,双方连接上后,可通过服务器或客户端调用close方法来关闭socket连接,但是通过客户端关闭连接,再与服务器端连接就连接不上了,必须退出重新进入才能再次连接上。因此在实际应用中,应通过服务器来关闭socket连接。
本文介绍了在开放式数控系统中,利用间接测量法对刀具磨损情况进行监控,通过采集变频器的实时运行数据,然后与标准参考数据进行显示与对比、分析差异,进而推测出刀具磨损状况,间接地实现对刀具磨损情况监测。
[1]M Ebrahimi and J L Victory.Web-based machine tool cond ition monitoring,Network Intelligence:Internet-based Manufacturing.
[2]马旭,陈捷.数控机床刀具磨损监测方法研究[J].机械,2009(36)3:70-73.
[3]欧阳惠斌.基于功率变化率的刀具磨损在线监测系统[J].仪表技术,2003(2):20-21.
[4]张承阳.基于Web的开放式数控系统远程监测及诊断技术研究[D].南京理工大学,2005.
[5]Microsoft Corp.MSDN Library Visual Studio 6.0.HTML Help Control Version 4.74.
[6]王云霞,等.基于Internet的数控机床远程服务系统[J].制造业自动化.2003(6).