- 数控铣床(FANUC)考工实训教程(第二版)
- 吴明友
- 4531字
- 2020-08-28 23:39:18
1.5 数控铣削编程基础
1.5.1 数控铣床的坐标系
(1)直角坐标系(Rect angular coordinate system)
① 右手笛卡儿直角坐标系。在数控铣床上加工工件的原理是建立在由3个平行于机床轴的坐标轴(X、Y、Z)构成的直角坐标系之上。相对于机床的坐标系统的定位与机床类型有关,坐标轴的方向由“右手定则(Right-hand rule)”确定,即站在机床的前面,用右手中指指向机床主轴的切入方向。可按下面几点来确定各坐标轴的方向。如图1-5所示。
图1-5 机床坐标系和右手定则
a.大拇指指向X轴的正向。
b.食指指向Y轴的正向。
c.中指指向Z轴的正向。
② 数控铣床的坐标轴。数控铣床是以机床主轴轴线方向为Z轴方向,刀具远离工件的方向为Z轴正方向;X轴位于与工件安装面相平行的水平面内,操作者面对主轴的右侧方向为X轴正方向;Y轴方向可根据Z、X轴按照右手笛卡儿直角坐标系来确定。第四轴为A轴,绕X轴作回转运动。
(2)平面定义(Plane designations)
每个平面由两个坐标轴定义,每个情况下的第三个轴[刀具轴(Tool axis)]垂直于这个平面并决定刀具的切入方向。如图1-6所示。当对一个工件编程时,必须为加工指定平面以便数控系统能够正确地计算刀具补偿值。这个平面对于循环编程和极坐标系统(Polar coordinates)具有同样重要的意义。加工平面定义如表1-3所示。
图1-6 平面的定义
表1-3 加工平面定义
(3)极坐标系(Polar coordinates)
① 概述。在零件图用垂直度量的情况下,适合采用直角坐标系来定位,对于用圆弧或者角度度量的零件,适合采用极坐标系来定位。极坐标系的零点在“极点(Pole)”处。
② 举例(图1-7)。在极坐标系里点P1和P2相对极点定义如下。
图1-7 极坐标系里点的定义
a.P1:极半径R=100mm,极角α=30°。
b.P2:极半径R=60mm,极角α=75°。
(4)绝对坐标(Absolute dimension)
① 概述。对于绝对坐标,所有的尺寸都是相对于当前有效的工件原点来说的,对于刀具运动来说,绝对坐标表示刀具必须运动到的位置。
② 举例(图1-8)。绝对坐标里的P1、P2、P3的位置是相对于工件原点来说的。P1:X20 Y35;P2:X50 Y60;P3:X70 Y20。
图1-8 绝对坐标中点的定义
P2:X30 Y20(相对于P1点)。
P3:X20 Y-35(相对于P2点)。
(5)增量坐标(Incremental dimension)
① 概述。对于增量坐标,所有的尺寸都是相对工件里的其他点而不是当前有效的工件原点来说的。对于增量坐标输入,每种情况下的指定的位置都是相对于程序里的上一个点的位置来说的。
② 举例(图1-9)。增量坐标里的P1、P2、P3的定位如下。
P1:X20 Y35(相对于工件原点)。
图1-9 增量坐标中点的定义
(6)参考点与机床坐标系
参考点是机床上的一个固定点,与加工程序无关。数控机床的型号不同,其参考点的位置也不同。通常,立式数控铣床指定X轴正向、Y轴正向和Z轴正向的极限点为参考点。参考点又称为机床零点。机床启动后,首先要将机床位置“回零”,即执行手动返回参考点,使各轴都移至机床零点,在数控系统内建立一个以机床零点为坐标原点的机床坐标系(LCD上显示此时主轴的端面中心,即对刀参考点在机床坐标系中的坐标值为零)。这样在执行加工程序时,才能有正确的工件坐标系。所以编程时,必须首先设定工件坐标系,即确定刀具相对于工件坐标系坐标原点的距离,程序中的坐标值均以工件坐标系为依据。
(7)工件坐标系
对要加工的工件,在编程前,首先要考虑对零件建立一些坐标系。一个零件根据需要可建立多个坐标系。机床坐标系与工件坐标系的关系如图1-10所示。
图1-10 机床坐标系与工件坐标系的关系
① 坐标轴。工件坐标系中坐标轴的意义必须和机床坐标轴一致。坐标轴的运动遵守下列原则:直角坐标轴X、Y、Z的运动遵守右手直角坐标系法则。所谓X、Y、Z的运动方向,均以刀具相对工件运动为准,即假定工件相对静止、刀具运动。一般Z轴规定为平行主轴中心线的轴,刀具离开工件移动的方向为+Z。
② 坐标原点。又称工件零点或程序零点。在一个零件上可根据具体情况建立若干个坐标系,因而相应地有若干个坐标系零点。坐标系零点可根据下列原则指定:便于程序的编制;便于机床操作者寻找该点(即确定出该点相对机床零点的坐标值)。
1.5.2 编程规则
(1)程序结构
为运行机床而送到数控装置的一组指令称为程序。刀具按照指定的指令沿着直线或圆弧移动,主轴电动机按照指令旋转或停止。在程序中,以刀具实际移动的顺序来指定指令。执行数控加工程序的过程如图1-11所示。一组一步一步的顺序指令称为程序段。程序是由一系列加工的一组程序段组成的,用于区分每个程序段的号称为顺序号,用于区分每个程序的号称为程序号。一个程序段从识别程序段的顺序号开始而以程序段结束代码结束,本书用“;”表示程序段结束代码(在ISO代码中为LF,而在EIA代码中为CR)。程序段结构如图1-12所示。通常,在程序段结束代码“;”之后,在程序开头指定程序号,在程序的结尾指定程序结束代码M02或M30。程序结构如图1-13所示。
图1-11 执行数控加工程序的过程
图1-12 程序段结构
图1-13 程序结构
(2)主程序和子程序
当在程序中多次出现相同的加工模式时,可把这个模式编成一个程序,该程序称为子程序,原来的程序称为主程序,在主程序执行期间出现子程序执行指令时,就执行子程序的指令,当子程序执行完时返回主程序继续执行。主程序和子程序如图1-14所示。
图1-14 主程序和子程序
(3)字
一个主程序按需要可以有多个子程序,并可重复调用。主程序和子程序的内容各不相同,但程序格式是相同的。
不论是主程序还是子程序,每一个程序都是由若干个程序段组成的。程序段是由一个或若干个字组成的,它表示加工中心为完成某一特定动作或一组操作而需要的全部指令。字是由表示地址的字母(见表1-4)、数字和符号组成的。
表1-4 地址字母表
字表示控制数控机床完成一定功能的具体指令。举例如下。
1234; N100 G92 X25 Y45 Z15; G00 Z2; M30;
上面每一行称为一个程序段,N100、G92及X25等都是一个字。
1.5.3 FANUC数控系统的编程指令
(1)FANUC 0i数控系统准备功能G指令
准备功能主要用来建立机床或控制数控系统的工作方式,跟在地址G后面的数字决定了该程序段的指令的意义。G代码分为下面两类。
模态G代码:在指令同组其他G代码前该G代码一直有效。
非模态G代码:G代码只在指令它的程序段中有效。举例:G01和G00是01组中的模态G代码。在下面的程序段中从N10到N30程序段G01有效。
N10 G01 X_; N20 Z_; N30 X_; N40 G00 Z_;
关于G代码(表1-5)说明如下。
表1-5 准备功能G代码
① 1in=0.0254m,余同。
① 如果设定参数No.3402的第6位CLR使电源接通或复位时CNC进入清除状态,此时的模态G代码的状态如下。
a.模态G代码列在表1-5中,用“★”指示。
b.当电源接通或复位而使系统为清除状态时原来的G20或G21保持有效。
c.用参数No.3402#7(G23)设置电源接通时是G22还是G23。另外将CNC复位为清除状态时G22和G23保持不变。
d.设定参数No.3402#0(G01)可以选择G00或G01。
e.设定参数No.3402#3(G91)可以选择G90或G91。
f.设定参数No.3402的#1(G18)和#2(G19)可以选择G17、G18或者G19。
② 除了G10和G11以外的00组G代码都是非模态G代码。
③ 当指令了G代码表中未列的G代码或指令了未选择功能的G代码时,输出P/S报警No.010。
④ 不同组的G代码在同一程序段中可以指令多个。如果在同一程序段中指令了多个同组的G代码,仅执行最后指令的G代码。
⑤ 如果在固定循环中指令了01组的G代码,则固定循环被取消,这与指令G80状态相同。注意,01组G代码不受固定循环G代码的影响。
⑥ G代码按组号显示。
⑦ 根据参数No.5431#0(MDL)的设定,G60的组别可以转换(当MDL=0时,G60为00组G代码,当MDL=1时,G60为01组G代码)。
(2)辅助功能M指令
辅助功能有两种类型:辅助功能M代码用于指定主轴启动、主轴停止、冷却液的开关、程序结束等;而第二辅助功能B代码用于指定分度工作台定位。当运动指令和辅助功能在同一程序段指定时,指令以下面的两种方法之一执行。
① 移动指令和辅助功能指令同时执行。
② 移动指令执行完成后执行辅助功能指令。两者顺序的选择取决于机床制造厂的设定,详细情况请见机床制造厂的说明书。当在地址M之后指定数值时,代码信号和选通信号被送到机床,机床使用这些信号去接通或断开它的各种功能,通常在一个程序段中仅能指定一个M代码。在某些情况下最多可以指定三个M代码。哪个代码对应哪个机床功能由机床制造厂决定。除了M98、M99、M198或调用子程序(由参数No.6080~No.6089设定)的M代码外,其他M代码由机床厂处理,详细内容见机床制造厂的说明书。
① 常用M代码的意义。
a. M02、M30。它们表示主程序的结束,自动运行停止并且CNC装置复位。在指定程序结束的程序段执行之后,控制返回到程序的开头。参数No.3402#5(M02)或No.3404#4(M30)用于取消用M02、M30使控制返回到程序的开头的操作。
b. M00/M01。M00:在包含M00的程序段执行之后,自动运行停止。当程序停止时,所有存在的模态信息保持不变,用循环启动使自动运行重新开始。
M01:与M00类似,在包含M01的程序段执行以后,自动运行停止,只是当机床操作面板上的任选停机的开关置1时,这个代码才有效。
c. M03/M4/M5。M03:主轴正转(顺时针:CW);M4:主轴反转(逆时针:CCW);M5:主轴停止。
d. M6。换刀(加工中心用)。
e. M7。切削液开。
f. M9。切削液关。
g. M98。这个代码用于调用子程序,代码和选通信号不送出。
h. M99。这个代码表示子程序结束。执行M99使控制返回到主程序,代码和选通信号不送出。
i. M198。这个代码用于在外部输入/输出功能中调用文件的子程序。
注意:M00、M01、M02和M30后面的程序段不预读(被缓冲)。同样不缓冲的十个M代码可以用参数(No.3411~No.3420)设定。
② 一个程序段中有多个M指令。一般情况下,在一个程序段中仅能指定一个M代码,但是设定参数No.3404的第7位(M3B)=1时,在一个程序段中一次最多可以指定三个M代码,在一个程序段中指定的三个代码同时输出到机床。这意味着与一个程序段中指令一个M代码的方法相比较,在加工中这种方法可以实现较短的循环时间。CNC允许在一个程序段中最多指定三个M代码。但是由于机床操作的限制,某些M代码不能同时指定。M00、M01、M02、M30、M98、M99和M198不得与其他M代码一起指定。某些M00、M01、M02、M30、M98、M99和M198以外的M代码也不能与其他M代码一起指定,这些M代码必须在单独的程序段中指定。这种M代码包括使CNC将M代码本身送往机床,同时还使CNC执行内部操作的代码。比如,调用程序号为9001~9009的程序的M代码和使程序段预读功能无效的M代码,另外,只让CNC将M代码本身送往机床(不执行内部操作)的M代码可在同一程序段内指定。举例如下。
a.在一个程序段中指定一个M指令。
M40; M50; M60; G28 G91 X0Y0Z0; …
b.在一个程序段中指定多个M指令。
M40 M50 M60; G28 G91 X0Y0Z0; …
(3)F、S、T、D、H指令
① 进给功能代码F。表示进给速度,用字母F及其后面的若干位数字来表示,单位为mm/min(米制)或in/min(英制)。例如,米制F300表示进给速度为300mm/min。
② 主轴功能代码S。表示主轴转速,用字母S及其后面的若干位数字来表示,单位为r/min。例如,S1000表示主轴转速为1000r/min。
③ 刀具功能代码T。刀具选择功能,在地址T后指定数值用以选择机床上的刀具,本机床在一个程序段中只能指定一个T代码。当移动指令和T代码在同一程序段中指定时指令的执行有下面两种方法。
a.移动指令和T功能指令同时执行。
b.移动指令执行完后执行T功能指令。具体选择以上的哪一种取决于机床制造厂的规范。
④ 刀具半径补偿功能代码D。表示刀具补偿号,它由字母D及其后面的数字来表示。该数字为存放刀具半径补偿量的寄存器地址字。能储存的刀具补偿值代码的最大号是255。
⑤ 刀具长度补偿功能代码H。为H代码刀具长度偏置,该数字为存放刀具长度补偿量的寄存器地址字,能储存的刀具长度补偿值代码的最大号是255。