FANUC系统加工编程中捷通用线技术部工艺室肖兵兵一、认识机床搞清楚机床每个轴的正负方向对于机床在编程过程中的运动方向来讲,分为工件运动和刀具运动,同一类机床的某个轴结构的差异会导致正负向相反(龙门的X轴),同一台机床的XYZ轴也容易造成正负向的混淆(刨台、龙门),在编程的时候一定要保持清醒。一、认识机床搞清楚机床每个轴的正负方向X+二、PC编程的格式1、对于FANUC系统来讲,要在记事本中编写编程语句,编写完成以后要将扩展名删掉。2、程序内容的开头和结尾使用%,在系统中直接编程由系统自动生成。3、文件的名称只能写成Oxxxx,x只能是数字,不可以是字母或其它字符。4、打开程序文件后,先是%,接下来就是程序名,程序名要与文件名保持一致。5、对程序的说明只能写在程序名后面的小括号内(),不能使用汉字。6、在系统中编程,每个程序段都有“;”,在PC上编程不需要写“;”,换行即可。二、PC编程的格式二、PC编程的格式在系统中的显示三、指令1、坐标系G53:机床坐标系,也叫机械坐标系,空间内的原点是机床每个轴的回零点(光栅尺)G54-G59:工件坐标系,以工件加工前的对刀点为原点。G52:临时坐标系,G52XaYbZc,a、b、c代表临时坐标系原点相对于当前坐标系原点的偏移量;运行程序段G52X0Y0Z0会取消临时坐标系回到原坐标系对刀:对刀的目的就是确定工件坐标系原点G54-G59,一般用棒铣刀,如果尺寸不精确可以用钻头、面铣刀,特殊情况用检棒和千分垫,也有其它一些专门的对刀工具。三、指令工件坐标系设定界面三、指令2、最基本指令G0/G00:快速定位,走直线,速度由系统设置的快移速度和面板上的倍率按钮决定;G1/G01:直线差补,走直线,速度由程序设定的进给速度和面板上的倍率旋钮决定;G90:绝对坐标值G91:相对坐标值F:进给倍率,mm/min,°/mmM3/M03:主轴正转;M4/M04:主轴反转;S:主轴转数;M5/M05:主轴停;三、指令FANUC系统操作面板三、指令3、平面选择G17:X-Y平面;G18:Z-X平面;G19:Y-Z平面;请大家在记忆平面时一定要注意XYZ的顺序。4、圆弧插补G2/G02:顺时针插补G3/G03:逆时针插补圆弧插补有两种方式:(1)终点+半径(2)终点+圆心三、指令(1)终点+半径顺时针从A点到B点有两条半径为R路径,路径1为多半圆,路径2为少半圆,编程选择路径时R值的正负来区分,R为正值走少半圆,R为负值走多半圆。(G90/G91)G2/G3G17XbYbRb(-b)F_(G90/G91)G2/G3G18XbZbRb(-b)F_(G90/G91)G2/G3G19YbZbRb(-b)F_右下图,编写程序用G90用G91三、指令(2)终点+圆心顺时针从A点到B点的路径,只要确定圆心位置,路径就固定了。I,J,K分别代表圆心位置相对于圆弧起点在XYZ方向上的偏移量。(G90/G91)G2/G3G17XbYbI_J_F_(G90/G91)G2/G3G18XbZbI_K_F_(G90/G91)G2/G3G19YbZbJ_K_F_无论在G90还是G91模式,I,J,K均代表圆心位置相对于圆弧起点在XYZ方向上的偏移量。右下图,编写程序用G90/用G91如果路径是一个整圆,只能使用I、J、K模式三、指令5、刀具半径补偿G41:刀具半径左补偿G42:刀具半径右补偿G40:取消刀具半径补偿Dxx:生效的刀具号,xx为数字系统遇到G41或G42语句时,系统会自动预读下一条语句,根据下一条语句中刀具的走向在本条语句执行时给出偏移量。系统知道程序中含有G40语句时,系统会在其前一条语句执行时不再给出偏移量。刀具半径补偿多用在轮廓加工中,凹槽或凸台,开始加工时,必须先选取一个起刀点(不在轮廓上)、一个进刀点(在轮廓上),G41/G42语句加在由起刀点运动到进刀点的程序段中,同时给出生效的刀号Dxx。一个轮廓循环完成后,一般情况下会将刀具返回到起刀点,G40语句加在返回起刀点的语句中。可以通过修改Dxx的值达到粗加工留量。三、指令用刀具半径补偿的方式编写下图键槽的加工程序三、指令刀具参数修改指令G10格式:(G90/G91)G10PxxRxxL10/11/12/13P后面的xx代表要修改的刀具编号;R后面的xx为刀具偏置量,在G90模式下,xx直接替换原补偿数值,G91模式下,xx与原补偿数值相加。L10/L11/L12/L13用来选择刀具参数项,L10为刀具长度,L11为刀具长度磨损,L12刀具半径,L13为刀具半径磨损。三、指令G90方式使用G10G91方式使用G10G10使用说明三、指令6、固定循环G81:钻孔循环G82:钻孔循环-停顿G84:攻丝G74:左旋螺纹攻丝G85:镗孔-匀速退回G88:镗孔-手动退回G76:精镗孔-主轴定向退回G80:取消固定循环G4:进给暂停M29:刚性攻丝G98:返回安全平面G99:返回参考平面格式:(G90/G91)G17G81G99(G98)X_Y_Z_R_F_(P_)(K_)三、指令G81钻孔循环G81标准使用格式:(G90/G91)G17G81G99(G98)X_Y_Z_R_F_(K_)(对比G0/G1G90X_Y_Z_)刀具以G0的速度定位寻找孔的坐标X_Y_,Z轴以G0的速度走到参考平面,再以G1的速度(F值)钻孔直至加工深度后立即以G0的速度抬刀直至参考平面(或安全平面)格式可以灵活使用:G0G90G17X0Y0G81G99Z_R_F_(1)G81与G90组合G0G90G17X_Y_G81G99Z-30R5F_(2)G81与G91组合G0G91G17X_Y_G81G99Z-35R-45F_三、指令循环使用G81如果存在多个相同的孔,调用一次G81后,只需指定其它孔的坐标值和定位方式即可。例如,EGC2040-56103导轨螺钉孔,%O0012(DAOGUILUODINGKONG)G0G90Z100M3S500G81G99X25Y26.5Z-50R5F500G91X55K2X60K66X55X55G98G80M05M00%这里的G91被执行后不会改变G81的Z轴的绝对方式三、指令G82钻孔循环G82钻孔循环与G81大致相同,唯一的区别是钻头到达孔底后可编入一个停顿时长,主轴不停转。G82的格式(G90/G91)G17G82G99(G98)X_Y_Z_R_F_P_(K_)P的单位是毫秒G82钻孔循环经常用与加工螺钉沉头孔。G84攻丝循环(G74)G84攻丝循环与G82类似,区别(1)Z轴到达孔底后反转退出(2)F值需要计算F=主轴转数X螺距,攻丝过程进给的倍率不受进给倍率旋钮的控制(3)退出的倍率与攻丝的倍率相同(4)退到R点以后主轴停止,瞬间变为正转。G82的格式(M29)刚性攻丝(G90/G91)G17G84G99(G98)X_Y_Z_R_F_P_(K_)注意事项:G84的R值不宜过小三、指令7、循环与跳转#x:变量,x是数字Nx:程序段标志,x是数字,1-9999GOTOx:无条件跳转到Nx程序段IF[]GOTOx:满足[]条件,跳转到Nx程序段GE/GT:大于等于/大于LE/LT:小于等于/小于EQ:等于NE:不等于#x变量#1-#33,局部变量,只在本程序中有效,主程序与子程序中出现相同编号的变量互不干扰。#100-#199,#500-#999,公共变量,在每个调用它们的程序中具有相同的值,其中#500-#999下电不丢失。变量的应用之一:刀具偏置三、指令程序段标号Nxx是数字,1-9999,用于标识程序段,对本程序段不会产生任何影响。N20G0G91X-30Y50无条件跳转GOTOx程序跳转到标号为Nx的程序段处执行。GOTO20条件满足跳转IF[]GOTOx[]内是条件运算式,当条件满足时程序跳转到Nx处执行#1=1……#1=#1+2三、指令无条件跳转GOTOx程序跳转到标号为Nx的程序段处执行。龙门工作台悠水平程序:N20G0G91X-500G4X15G4的意义是程序暂停,这里的X并不是GOTO20X轴,是暂停时间单位秒的意思。M02整个程序就是一个死循环,直至X轴走到负极限。三、指令利用变量和程序跳转指令铣槽条件:本序为半精铣,Φ16立铣刀,要求槽底面和侧面均留量0.5mm,每次进刀深度为2mm。槽深10mm。三、指令8、极坐标G15:取消极坐标G16:极坐标生效在极坐标的应用中,使用最多的就是圆周打孔(G90/G91)G17G16G81G99(G98)X_Y_Z_R_F_在这个程序段中,X、Y不再代表X、Y轴坐标,X代表圆周半径,Y代表圆周角度,圆周角度遵照平面解析几何四象限的规则。第一象限:0-90第二象限:90-180第三象限:180-270第四象限:270-0三、指令如果其中一个轴的正负方向发生改变,四个象限的排法也会发生改变。在其它平面内(G18,G19)这种规则也适用。G18是Z-X平面,Z是第一坐标轴,X是第二坐标轴,组建平面直角坐标系时,要以Z为水平轴,X为竖直轴,四个象限的排法也会发生改变。三、指令实例三、指令编写程序条件:平面图上所有元素都要加工,铸件毛坯壁厚30mm,刀具自选三、指令9、子程序调用M98:子程序调用M99:子程序返回格式:M98Pxxxxxxxx前一组xxxx是调用次数,不写代表1次,后一组xxxx是程序号。子程序的编写也要符合一般程序的编写原则,程序最后以M99结束,主程序继续执行下一条指令。子程序也可以单独执行,只不过在没有干预的情况下反复执行。使用自程序时要特别注意一些指令对主程序的影响,如G0/G1,G2/G3,G17/G18/G19等。用子程序调用的方式编写上一页图中的程序三、指令10、宏程序调用宏程序实际上是带有数值传递关系的子程序,编写规则与子程序相同,只不过子程序中涉及的变量需要在程序的开头进行赋值声明,宏程序不需要。G65:宏程序调用M99:宏程序返回格式:G65PxxxxLxxxx______第一个xxxx代表程序号,后一个xxxx代表调用次数,如果L没写代表只调用1次,________上的内容是对变量和数值的说明。为什么要使用宏程序?三、指令宏程序与主程序之间的参数对应关系宏程序有两种参数对应关系,在使用上没有区别,可以随意指定,但尽量使用同种对应关系,增强程序的可读性。传递函数中如果同时使用了I、J、K,那么I、J、K顺序不能反,每个传递函数之间用空格隔开参数变量参数变量参数变量A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26参数变量参数变量参数变量A#1K3#4J7#20B#2I4#5K7#21C#3J4#6I8#22I1K4J8J1I5K8K1J5I9I2K5J9J2#7I6#13K9#23K2#8J6#17I10#24I3#9K6#18J10#25J3#11I7#19K10#26三、指令宏程序应用举例O0001(EGC2040-56103)G0G90G54G17Z100M3S500X[55+55+25]Y26.5Z50G65P0009A45B500C60D64G0G90Z100M05M00O0009(DAOGUILUODINGKONG)G81G99G90Z-#1R5F#2G91X#3K#4M99三、指令用宏程序调用的方式编写下图加工程序