1、1宏程序用于 FANUC 程序的防错摘 要:介绍了使用卧式加工中心时为防止人为操作失误,运用FANUC 宏程序编写防错程序的方法及相关思路 关键词:卧式加工中心;程序;防错 1 背景 随着生产成本的压力越来越大,生产车间对于效率的要求越来越高,而在机加工车间会发生因为操作人员的疏忽造成撞车的现像。严重的情况会造成机床损坏,生产停止数周、后续品质不稳定,轻则造成生产中断、刀具损坏。在工艺设计时充分考虑防错的应用,不但能够有效的减少发生事故的风险,而且对于操作人员的技术要求也相应的降低。然而,在实际工作中,由于工艺人员的经验和水平参差不齐,设计出来的程序也经常存在不足。将以往的经验利用宏程序设计一
2、个通用模板,可以有效的预防错误的发生。 2 程序逻辑机构的设计 卧式加工中心在程序设计时,要基于以下几方面考虑。1、工件加工过程中,由于某种原因造成程序中止,或者加工完工件时,由于尺寸不合格需要返修,程序启动时程序的设定参数可能错误。2,生产车间是一个多品种小批量的生产线,日常生产中需要经常换型,操作人员可能会调错程序。3、刀具安装时,操作员可能会忽略机床的允许刀具长度和直径,会造成刀库损坏或刀具干涉事件。4、刀具尺寸输入时,操作员需要2根据对刀仪的测量值将刀具的尺寸输入到机床中,这一过程中作业员可能会把刀具参数输错,会造成碰撞事故。5、由于卧式加工中心有两个工作台分别安装不同的工件,每一个工
3、作台对应一个程序,操作人员在操作时可能会发生调用的工作台与程序不对应。基于以上几点,逻辑结构图设计如下: 程序初始化选定程序是否与加工程序相符刀具的长度和直径是否超出规范刀具的补偿数值是否输错根据当前工作台的编号调用对应的程序切削加工 3 主程序的设计 FANUC 宏程序在设计时要将相应的技术信息包括在内,如机器编号、图纸号、程序版本、程序编写者以及日期,以便后续的维护和管理。程序的初始化分为模态初始化,刀具回到安全位置和应用参数初始化。#120需要操作员在换型时将要加工的产品型号输入机床,程序运行时会检查当前的程序是否是操作员要调用的程序。如果正确就继续加工,否则就会在屏幕出现请更换主程序的
4、报警。刀具参数的检查是通过指令 M98调用程序 8803完成的。机床参数的设置是通过指令 M98调用程序 10完成的。机床在运行时,会将当前的工作台编号返回给#147,程序会检查#147,如果#147=1,就调用 1号工作台的程序,如果#147=2,就调用 2号台的程序。完成通用程序的设计后,工艺人员可以根据工件的尺寸完成后续工步程序轨迹的设计。 IF#120 EQ 8000GOTO1159 #3006=1(PLS CHANGE MAIN PROGRAM) 3N1159 M98P8803 M98P10 IF#147EQ1GOTO18000(PALETTE 1) IF#147EQ2GOTO280
5、00(PALETTE 2) 4 设定参数的初始化程序 数控编程时,必须先建立工件坐标系,用来确定刀具刀位点在坐标系中的坐标值。工件坐标系一旦设定错误,往往会发生严重的事故。利用变量可以改变 G54等坐标数据,从而达到用程序来设定零件坐标原点的各轴的机械数值。#5221、#5222、#5223 和#5224 分别用来记录 G54坐标的 X轴、Y 轴、Z 轴和 B轴的坐标。#5241、#5242、#5243 和#5244 分别用来记录 G55坐标的 X轴、Y 轴、Z 轴和 B轴的坐标。在程序 10中 ,N50 和 N60语句通过#147 参数判断当前工作台为 1号还是 2号,如果是 1号工作台就继
6、续执行 N1000号语句,将工件的坐标中心赋予 G54坐标系,赋值结束后执行 GOTO999跳转到 N99语句,如果是 2号工作台就继续执行 N1000号语句,将工件的坐标中心赋予 G55坐标系。#1、#2 和#3分别用于调整 G54坐标的偏差值,#11、#12 和#13 分别用于调整 G55坐标的偏差值,当加工完的工件有位置偏差时,只需调整#1、#2 和#3 来调整 G54的 X、Y、Z 的偏差值,只需调整#11、#12 和#13 来调整 G55的X、Y、Z 的偏差值。 O0010(ORIGIN) N10 4N50IF#147 EQ 1GOTO1000(PALETTE 1) N60IF#14
7、7 EQ 2GOTO2000(PALETTE 2) N1000 (# PALLET 1 #) #1=0(PALLET 1 G54 X OFFSET) #2=0(PALLET 1 G54 Y OFFSET) #3=0(PALLET 1 G54 Z OFFSET) N999 M99 5 刀具尺寸和补偿的检查程序 刀具参数包括半径尺寸和半径补偿,以及长度尺寸和长度补偿。长度尺寸和半径尺寸是在刀具安装到机床时,将刀具的长度尺寸和半径尺寸输入到机床中。半径补偿和长度补偿是根据加工完的工件尺寸偏差,做出的调整值。宏程序的作用是当认为输入的尺寸超过安全规范时,机床会报警。刀具各项数据也可以程序控制,如#11
8、001 为 1号刀长度补偿(H1) ,#11002 为 2号刀长度补偿(H2) ,各数值分别对应如下:刀具长度#11XXX 刀具长度磨损 #13XXX 刀具半径 #13XXX 刀具半径磨损#12XXX(其中 XXX为刀号,3 号刀则为#11003,123 号刀则为#11123)利用程序控制刀具数据可以方便管理,同时也能方便编程加工,例如在一把刀分粗精加工时,只要更该刀具数据就可以用同一程序同一把刀来完成了。#1 用来设定允许刀具长度的最小值,#2 用来设定允许刀具长度的5最大值,#3 用来设定允许刀具半径的最小值,#4 用来设定允许刀具半径的最大值,#10 用来设定刀具的编号。#10001 到
9、#10400 用来记录刀具长度的 1到 400的磨损补偿,#11001 到#11400 用来记录刀具长度的 1到400的外形补偿。当#10=1 时,#10+10000+#10+11000的返回值为1号补偿号的刀具长度值与刀具长度补偿值的和。如果#10+10000+#10+11000的返回值大于#2 设定的允许刀具长度的最大值,跳转到N910语句,显示刀具长度大于最大值报警。如#10+10000+#10+11000的返回值小于#1 用来设定允许刀具长度的最小值,跳转到N920语句,显示刀具长度小于最小值报警。#12001 到#12400 用来记录刀具半径的 1到 400的磨损补偿,#13001
10、到#13400 用来记录刀具半径的 1到 400的外形补偿。当#10=1 时,#10+10000+#10+11000的返回值为 1号补偿号的刀具半径与刀具半径补偿值的和。如果#10+10000+#10+11000的返回值大于#4 设定的允许刀具半径的最大值,跳转到N930语句,显示刀具半径大于最大值报警。如果#10+10000+#10+11000的返回值小于 31用来设定允许刀具半径的最小值,跳转到 N940语句,显示刀具半径小于最小值报警。如果有多把刀具,按照上述方法依此类推。 6 总结 此程序已经使用多次,使用效果良好,使用此程序后未发现有漏洞,程序稳定可靠,大大的减少了因为人员疏忽而造成的“撞车”事故,而且编程的时间大大缩短。 参考文献 61FANUC Series 16i/160i/160is-MB OPERATORS MANUAL OCT.,2001/Edition 02 作者:FANUC LTD