基于数控机床的主轴温度预警系统设计

2018-05-14 16:31高庆云张中明
宁波职业技术学院学报 2018年5期
关键词:可编程控制器数控系统数据采集

高庆云 张中明

摘 要: 为防止机床主轴长时间在高温情况下运行,以配置有华中HNC-818D数控系统的加工中心为例,设计了机床主轴温度预警系统,利用PT100热电阻感测主轴温度,通过采集卡和NCUC总线传送到数控系统的G寄存器内,PLC读取实测温度数据后作出判断,确定是否需要进行屏幕报警。由于数控系统不能大量保存數据,所以借助有线网络通信将G代码行号与主轴温度共同上传到PC,实现温度与指令域的匹配保存,方便后续对数据价值的开发利用。

关键词: 数控系统; 主轴温度; 可编程控制器; 数据采集

中图分类号: TG 502 文献标志码: A 文章编号: 1671-2153(2018)05-0097-04

0 引 言

数控机床在加工过程中,由于摩擦和负载阻力的存在,会使得各运动部件发热。对于加工中心而言,主轴的温度升高较为明显,特别是在高速或重切削情况下尤甚。因为热胀冷缩,温升会引起相关部件变形,致使主轴旋转中心位置偏移,降低加工精度。当温升过高时,内部轴承的间隙被改变,润滑条件被破坏,磨损加速,导致主轴的使用寿命缩短[1]。所以,当主轴温度持续超过某一定值时应当产生报警,以便提示操作人员采取适当措施,避免主轴长时间处在高温运行状态。

1 系统整体设计

HNC-818D 数控系统提供二次开发接口,方便用户根据实际需要增加新的功能。图1为主轴温度预警系统框图[2]。图1中,选用三线制PT100端面热电阻感测主轴前轴承、后轴承的温度,无需温度变送模块,可直接接入HIO-1075温度采集卡(低电平有效,最多可接入6个PT100),HIO-1075温度采集卡插在底板上,通过NCUC总线将温度值传送到数控系统的X寄存器内,再利用PLC实现温度报警。在PC上开发通信程序,经过网络接口读取温度数据并保存。

2 温度采集程序设计

2.1 看门狗设置

HNC-818D 数控系统配置的I/O单元及各类采集卡上都有指示灯显现通信状况,若指示灯常亮则表示通信正常,若指示灯闪烁则意味着通信不畅。每次根据使用情况重新配置I/O单元和数据采集卡之后,该指示灯会闪烁,则必须重新设置看门狗,以确定系统内部映射的X、Y寄存器地址与物理I/O单元保持对应关系。

主轴温度预警系统配置的I/O单元、采集卡示意图,如图2所示。每个HIO-1031单元占用4个字节的X寄存器、2个字节的Y寄存器;HIO-1073 模数/数模转换卡有4路模数输入,每路占用2个字节的X寄存器;HIO-1075温度采集卡共6路输入,每路占用2个字节的X寄存器;则实际占用X寄存器数目为4+4+4+2×4+2×6=32 Bytes。因为HNC-818D 数控系统默认10个字节容量的I/O点为一组,所以,向大数值方向取10的整数倍,即40个字节的X寄存器容量,I/O单元和采集卡共占用X寄存器的地址范围为X0-X39。在PLC程序的初始化程序结束指令iEND之后,添加数据传送指令MOV,将X39所有数据传送到Y39,设置看门狗,若在梯形图程序监控界面看到所有的X39数据能够实时传送到Y39之内,则说明看门狗设置成功,数控系统与I/O单元、采集卡的通信正常,指示灯会处于常亮状态。

2.2 P参数设置

使用采集卡将温度变化引起的阻值变化直接转换成具有特定意义的数字信号,经NCUC总线传输到数控系统的X寄存器内,再将数控系统内部进行的数值运算转换成单位为摄氏温度(℃)的数据存放在起始地址为G3080的系统G寄存器内(每路通道的温度数据对应存放在一个G寄存器内)。为了完成数值的正确演算,需要准确计算每个采样通道的X寄存器偏移地址。由图2可知,“温度0”使用X20-X21寄存器(16位分辨率),“温度1”使用X22-X23寄存器。只要在PLC中使用“TEMPSEN 0 X20 2 P91”和“TEMPSEN 1 X22 2 P95”功能指令[3],即可将I/O端的前轴承温度、后轴承温度模拟信号换算成℃保存到数控系统的G3080和G3081寄存器(每个寄存器含2个字节)内,并显示在屏幕主界面的右上角。指令中的“TEMPSEN”是指令名称,“0和1”指温度传感器编号,“X20和X22”是温度采集数字信号对应的X寄存器首地址,“2”指的是每个温度数据占用2个字节,“P91和P95”是连续4个P参数(用户自定义参数)的首地址。PLC程序编写完毕后,必须将温度传感器的测温范围及其对应的分度电阻值扩大100倍写入指定的P参数内。本系统选用的PT100热电阻可测温度范围是0~150 ℃,对应电阻值分别是100 Ω和157.33 Ω[4],应写入P参数的数据值,如表1所示。

2.3 温度预警

主轴温度预警系统的PLC程序设计主要是在原机床的基础上添加了主轴前轴承和后轴承的温度数据采集、显示与报警功能,使用梯形图语言编程,程序流程如图3所示。理论上,系统寄存器G3080和G3081的值1 ms更新1次,由于温度的升高具有连续性、滞后性、累积性,所以,将实际温度与报警阈值进行比较的频次没有必要跟随理论值确定。故本系统设定5 min内,每30 s比较1次温度值,考虑到数据采集与传输的偶发性错误,决定总共比较的10次结果中,若有80%的结果都是实际值大于报警阈值的,则进行报警。

图3中,初始化是指利用数据传送指令MOV将温度阈值赋予Tmax(使用断电保持继电器B)、计数值D0和D1(使用单字节内部继电器R)清零;使用加一指令INC实现计数值的自动增长;利用延时导通定时器TMRB实现30 s计时;HNC-818D 数控系统并没有设置主轴温度报警内容,所以,还需要将报警文件“PMESSAGE.txt”拷贝到PC上增加主轴轴承温度报警号与报警提示信息,再在PLC程序中让相应的G信号得电,即可显示温度报警。例如,若将温度报警阈值Tmax设为35 ℃,则当采集的主轴前轴承温度值连续5 min大于35 ℃时,就会在数控系统屏幕的“报警显示”界面出现“UP_ERR_0097 用户PLC——主轴前轴承温度过高 G3016.0”的提示,“UP_ERR_0097”是报警号,“G3016.0”是外部报警的使能G地址,必须紧接着上一个报警地址进行编辑,不可跳跃。实际使用中,应当根据主轴、轴承等相关零部件的可承受范围确定Tmax值和比较时间。

3 上位机软件设计

HNC-818D 数控系统具有32个通道(通道编号为0~31)可供上位机利用网络通信从数控系统获取寄存器、参数、G代码行号、坐标系等数据,直接调用二次开发提供的C++函数接口即可。主轴温度预警系统上位机的主要作用是实现历史温度数据与指令域对齐保存在TXT文本中,每按下一次“采样开始”按钮就会用时10 s产生一个TXT数据文件,每个文件包括500组数据,每组数据的读取间隔为20 ms,分为5列,对应0~4号通道。其中,第一列是当前G代码行号,第2列是X轴指令位置,第3列是HIO-1073采集卡的压力数据,第4列是主轴前轴承温度数据,第5列是主轴后轴承温度数据。只有第一列数据不需要与标准单位进行数值换算,其他4列需要根据算式将纯粹数值转换为指定含义的数据,温度预警系统用到的第4列、第5列数据只需要除以10就能够得到单位是℃的温度。TXT文件的数据容量、每组数据时间间隔可以根据实际需要通过修改程序参数来进行设置。

3.1 开发环境配置

上位机软件是在Windows平台下利用Microsoft Visual Studio 10.0进行开发的,对于新建的工程要进行环境配置,具体步骤如图4所示。图4中,首先,需要将二次开发提供的头文件、动态链接库文件加入新建的工程目录下,再配置新建工程的属性,将库文件和头文件的存放路径告知新建工程,在生成的.exe文件目录下加入动态链接文件,最后在新建项目文件的顶部声明各个加入的头文件,就可以在此基础上进行所需功能的开发。

3.2 网络通讯

将新建工程的开发环境配置完毕后,为了从数控系统获取数据,还需要建立网络连接。主轴温度预警系统使用有线网络通信,将普通网线分别插在数控系统和PC的网络端口,设置IP地址为192.168.1.101和192.168.1.108(必须在同一网段内),可以先在PC上的“命令提示符”窗口利用Ping命令检查网络是否连通,尽早排除物理故障和“本地连接属性”设置等错误。

在已配置好的开发环境中建立通讯的步骤是:网络初始化、网络连接、断开网络。根据二次开发接口要求,必须先进行网络初始化,才能连接网络。网络初始化调用HNC_NetInit接口函数,网络连接调用HNC_NetConnect接口函数,网络断开调用HNC_NetExit接口函数[5]。编程时,需要根据各个接口函数的要求填入相应参数,且可以利用函数的返回值判断各个功能是否成功。

3.3 数据采样与存储

当数控系统和PC建立通信后,即可进行数据采样,采用按钮触发方式打开数据采样功能,当按下“开始采样”按钮,会按照如图5所示的流程自动完成数据采样与文件写入。程序中调用HNC_SamplSetPeriod接口函数实现采样周期的设定,调用HNC_SamplSetChannel接口函数设置采样通道,使用HNC_SamplTriggerOn接口函数开启采样功能,调用HNC_SamplGetStat接口函数获取当前采样状态,利用HNC_SamplGetData接口函数读取采样数据[5]。

需要注意的有3点:① 在设置主轴前轴承、后轴承的温度采样通道时,偏移量应分别为G3080-G2960=120和G3081-G2960=121,因为系统G寄存器的地址是从G2960开始;② 应当申请动态二维数组,原因是PC的时钟周期与数控系统的时钟周期不同步,在设定的读取数据周期内,并不一定正好获得指定量的数据,使用动态数组可以根据实际情况开辟数据存放空间,避免出现存储空间不够或者浪费的情况。而对于申请的动态数组在使用完毕之后,必须进行内存释放,因为系统不会自动释放存储空间;③ TXT文件的命名方式为时间戳,即读取温度数据时的年月日时分秒。

4 结 论

主轴温度预警系统在主轴前轴承、后轴承实际温度连续超过一定时间大于设定的温度阈值Tmax时,会在屏幕上显示报警信息提示操作人员,以便采取相应措施,避免了轴承在超过自身耐温情况下继续运行导致磨损加剧,降低主轴使用寿命。还可以将历史温度数据与G代码行号对齐保存在上位机,为今后对加工程序优化、主轴热误差补偿的实现提供了可靠的数据支撑。

参考文献:

[1] 冯伟,张祥雷. 机床主轴温升试验研究及控制措施[J]. 装备制造技术,2013(11):250-251.

[2] 林锦富. 一种机床主轴温度控制系统及方法[P]. 中国专利:201510091841.2,2015-07-29.

[3] 武汉华中数控股份有限公司. 华中8型数控系统PLC编程说明书[EB/OL]. (2016-02-01)[2018-05-17].http://www.huazhongcnc.com/UploadFiles/Files//yuhao/201710/au52dgsj.x1k.pdf.

[4] 江苏华科自动化仪表有限公司. Pt100热电阻分度表[EB/OL]. (2010-09-27)[2018-05-22]. http://www.chem17.com/tech_news/detail/97351.html.

[5] 武汉华中数控股份有限公司. 华中8型数控系统二次开发手册[EB/OL]. (2016-12-16)[2018-05-17].https://wenku.baidu.com/view/1c450e3a33d4b14e842468b3.html.

Abstract: In order to prevent machine spindle from running at impermissible temperature for a long time, a temperature warning system of spindle of CNC machine tool is designed based on the HNC-818D CNC. The PT100 thermoelectric resistance is used for sensing the spindle temperature in the system. The data is transmitted to the G registers in CNC by means of the acquisition card and the NCUC bus. According to the measured temperature, PLC can decide whether the screen alarm needs to be carried out. There is not have enough storage space for large amount of data in CNC, so the G code line number and the spindle temperature are uploaded to PC by the cable network, and the temperature and the instruction domain can be matched and preserved, which is convenient for the subsequent development and application of the data.

Keywords: CNC; spindle temperature; PLC; data acquisition

(責任编辑:徐兴华)

猜你喜欢
可编程控制器数控系统数据采集
海德汉ITNC530系统的Q参数循环的应用
浅析可编程控制器在港口起重设备中的运用
基于CDIO模式高职“可编程序控制器”实践教学研究
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
利用三菱PLC实现煤制氢变压吸附的控制
基于开源系统的综合业务数据采集系统的开发研究
基于PLC和触摸屏在切断机控制系统中的应用
华中数控在CIMT 2015上展示3C钻攻生产线
基于Windows的线接触加工数控系统实时性研究