程序是数控机床的灵魂。为了满足机械设计、制造加工、维护维修和普及应用的需要,国际上已形成了两种通用的数控加工编程代码,即国际标准化组织(ISO)标准和美国电子工程协会(EIA)标准。我国根据ISO标准制定了相对应的标准,如《数控机床穿孔带程序段格式中的准备功能G和辅助功能M的代码》(JB/T3208-1999)、《数字控制机床用的七单位编码字符》(JB3050-1982)等。但不同的数控机床生产厂家所用的标准尚未统一,其所用的代码格式和含义不完全相同,因此,在进行数控编程时,必须根据该数控机床操作说明书中的规定进行。目前,我国较流行的数控系统常用指令代码ISO代码和EIA代码。
1.数控加工程序
(1)程序的组成
一个完整的加工程序一般由程序名、程序主体和程序结束三个部分组成。如:
1)程序名。程序名是程序的开始部分。每个独立的程序都有一个自己的程序名称。如:FANUC系统的程序名规定为字母O和1~4位数字表示;SIEMENS系统的程序名则规定用%和字母或数字混合组成。
2)程序主体。程序主体包含机床加工前的状态要求和刀具加工零件时的运动轨迹。由若干个程序段组成。
3)程序结束。程序结束指令编在程序最后一行,表示执行运行的所有程序指令后,主轴停止,进给停止,切削液关闭,机床处于复位状态。—般用M02(程序结束后光标停在最后处)或M30(程序结束后光标返回到程序的开头)表示。
(2)程序段格式
每个程序是由若干个程序段组成,程序中的每一行均为一个程序段。程序段的基本格式如下:
每个程序段是由程序段号开头,以字母N和4位以内的数字组成。准备功能由指令G和2位数字组成,运动坐标由坐标轴名X、Y、Z和数字组成,其他坐标为表示辅助坐标的轴名和数字组成,如A,K,C,I,J,K等。切削参数中,由表示进给速度F、主轴转速S和刀具号T的控制字和若干位的数字组成,辅助功能由M和2位数字组成。
(3)程序字
每个程序段是由若干个程序字组成。每个程序字是数控系统的具体指令。它是由表示地址的英文字母、特殊文字和数字组合而成。如M98,X-2356.783,T0101,S4000,G90等。
(4)主程序与子程序
在程序中,如果在工件的不同地方加工同样的图形时,往往先把这部分图形的程序单编出来,把它称作子程序。相对于子程序来说,程序的本体就称为主程序。在执行主程序时,如果有调用子程序的指令,则子程序被执行。子程序执行完成后,再执行主程序的指令。子程序可以多重嵌套,主程序与子程序的关系如图2-30所示。
图2-30 主程序与子程序的关系
2.G指令
在数控机床应用中,准备功能G指令用来规定刀具和工件相对运动的插补方式、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种设置。JB/T 3208-1999标准中规定:G指令由字母G及其后面的两位数字来组成,从G00到G99共有100种代码,见表2-1。
表2-1 准备功能G代码(JB/T 3208-1999)
表内第二栏中标有字母a,c,d,…的,表示第一栏所对应的G代码为模态代码,字母相同的为一组,同组的代码不能同时出现在一个程序段中。模态代码表示这种代码经一个程序段指定后,便一直保持有效,直到以后的程序段中出现同组的另一代码为止。非模态代码只在本段程序内有效。
数控编程常用准备功能G指令如下:
(1)绝对坐标指令G90与增量坐标指令G91
格式:G90
格式:G91
G90为绝对坐标编程指令,表示程序段中的每个尺寸坐标值都是从工件原点开始计算的坐标值。
G91为增量坐标编程指令,表示程序段中的尺寸坐标值都是相对于前一个坐标点来计算坐标值的。
如图2-31所示AB线段,分别使用G90、G91编程,表示从A→B的直线移动指令为
绝对坐标编程:G90 G00 X32 Y24;
增量坐标编程:G91 G00 X-20 -10。
选择适当的编程方式可使编程简化。当图纸尺寸由一个固定基准给定时,采用绝对方式编程较为方便;而当图纸尺寸是以轮廓顶点之间的间距给出时,采用相对方式编程较为方便。值得注意的是,数控系统中,采用增量坐标编程会产生累积误差。因此,编程时应该注意考虑编程基准与设计基准重合,避免累积误差的产生。
图2-31 AB线段
(2)工件坐标系设定G92
格式:G92 X_Y_Z
G92指令用于表示当前刀具所处工件坐标系的位置值,同时也定义了工件坐标系的原点位置。X,Y,Z后的坐标值表示刀具当前所处工件原点的坐标值。注意:用G92建立坐标系时,无断电记忆功能,加工过程中一旦断电,必须重新对刀具建立坐标系。
【例2-2】使用G92编程,建立如图2-32所示的工件坐标系。
编程指令为G92 X0 Y0 Z100。
(3)零点偏置指令G54~G59
格式:G54或G55,G56,G57,G58,G59
工件坐标系是编程人员根据零件图样的特点在零件图上设定的一个坐标系。编程人员根据这个坐标系来计算编程所需的坐标值。
机床坐标系原点是已知的一个固定点,当机床安装调试完成后就已经确定。
图2-32 用G92建立坐标系
将工件安装在机床的工作位置上后,操作者首先应该通过对刀或试切等方法来找到工件零点偏置值,并将零点偏置值存储在数控系统原点参数设置的特定寄存器中。这样,只要数控系统执行调用该寄存器的指令,数控系统就能识别当前工件的坐标系的位置。程序中所指定的坐标值就是围绕着该工件坐标系而执行的。数控系统调用工件零点偏置指令通常是G54~G59。
图2-33所示是工件坐标系与机床坐标系的关系。如编程人员编写程序要求刀具运动到G54工件坐标系中的坐标位置(0,0,100),则编程指令可写为
G54 G90 G00 X0 Y0 Z100。
若编程人员要求刀具运动到G55的工件坐标系的坐标位置(40,60,50),则编程指令可写为
G55 G90 G00 X40 Y60 Z50。
图2-33 工件坐标系与机床坐标系的关系
(4)程序单位指令C20与C21
格式:G20
格式:G21
程序单位指令是用来规定程序中各个坐标尺寸所采用的单位。
G20表示英制单位,G21表示公制单位。
公制单价与英制单位的关系为1in=0.0254m。
(5)插补平面指令G17,G18,G19
格式:G17或G18,G19
插补平面指令如图2-34所示,包括三个指令。
G17表示在XY平面内进行插补加工。刀具的半径补偿是在X,Y坐标方向上进行的。
G18表示在ZX平面内进行插补加工。刀具的半径补偿是在Z,X坐标方向上进行的。(www.xing528.com)
G19表示在YZ平面内进行插补加工。刀具的半径补偿是在Y,Z坐标方向上进行的。
(6)快速点定位指令G00
格式:G00 X_Y_Z
G00用于使刀具从当前位置快速移动到指定的目标位置。X,Y,Z后的数字表示目标位置的坐标值,可用绝对坐标指定,也可用增量坐标指定。此时的刀具一般处于非加工状态。其移动的速度是由所使用的机床参数设定的,不需要在程序中指定。
图2-34 插补平面指令
如图2-31中的AB线段,若刀具当前位置在A点坐标上,需快速移动到B点,则
用绝对坐标编程时:G00 X12 Y14;
用增量坐标编程时:G00 X-12 Y-10。
(7)直线插补指令G01
格式:G01 X_Y_Z_F
G01指令用于使刀具按指定的进给速度从当前位置移动到指定的目标位置,X,Y,Z后的数字表示目标位置的坐标值,可用绝对坐标指定,也可用增量坐标指定。此时的刀具一般处于加工状态。需要指定F后的具体数值。
如图2-31中的AB线段,若刀具当前位置在A点坐标上,以指定150mm/min的切削速度移动到B点,则
用绝对坐标编程时:G01 X12 Y14 F150;
用增量坐标编程时:G01 X-20 Y-10 F150。
(8)圆弧插补指令G02,G03
格式:G02/G03 X_Y_R_F_;或G02/G03 X_Y_I_J_F_(在G17平面上插补时);
G02/G03 Z_X_R_F_;或G02/G03 Z_X_K_I_F_(在G18平面上插补时);
G02/G03 Y_Z_R_F;或G02/G03 Y_Z_J_K_F(在G19平面上插补时)
G02为顺圆弧插补指令,G03为逆圆弧插补指令。X,Y,Z后的数值为圆弧的终点坐标值,R为圆弧的半径值,整圆不能用R编程,小于或等于180°的圆弧R取正值,大于或等于180°的圆弧R取负值。I,J,K为圆弧的圆心相对于圆弧起点位置的坐标值。
如图2-35所示,若刀具当前位置在A点,逆圆插补到B点,用绝对坐标编程,程序可写为
G03 X8 Y20 R20 F100;或
G03 X8 Y20 I-20 J0 F100。
(9)半径补偿指令G40、G41、G42
格式:G41 D_;刀具半径左补偿;
G42 D_;刀具半径右补偿;
G40;撤销刀具半径补偿
G41指定刀具半径左补偿。即指定刀具沿加工方向的左侧偏移一个刀具补偿量。如图2-36所示。
图2-35 用绝对坐标编程
图2-36 刀具半径补偿
G42指定刀具半径右补偿。即指定刀具沿加工方向的右侧偏移一个刀具补偿量。如图2-36所示。
D后的数值表示刀具半径的补偿值存储的地址号。补偿量是通过数控机床的控制面板输入到该指定的地址里。如:G41 D01;刀具半径值为12,则存储器“01”里应输入“12”。
G40撤销刀具半径补偿指令。刀具沿加工轮廓切削,如图2-36所示。
3.刀具功能T指令
T指令用于选样刀库中的刀具。其编程格式因数控系统不同会有差异。主要的编程格式有下面两种:
格式1:“T_;”由T字母和4位数字组成。
其中,前两位数字代表刀具号,后两位数据代表刀具偏置地址号。这种格式一般用于采用四转刀架、刀库刀位数量较少的数控车床系统中,如:“T0101;”表示调用“01”号刀具,刀具的偏置量存放在“01”暂存器中;“T0100;”表示调用“01”号刀具,刀具偏置量存放在“00”暂存器中。由于编程人员通常在“00”地址中存放的数字为“0”,因此,当调用“00”的偏置量时,其效果等同于取消偏置。
格式2:“T_D_;”由T字母和4位以内的数字组成调用刀具号,由D字母和2位数字组成刀具偏置号。T、D控制字可以写在同一行,也可以分开另一行写。
这种格式常常用于加工中心类的数控机床。如:“T16 D19”表示调用“16”号刀具,刀具偏置地址表的地址“19”里存放有刀具的偏置尺寸。
4.进给功能F指令
格式:F_
F用来指定刀具编程点的进给速度,由字母F和4位以内的数字(可含小数点)组成。F指定的进给速度有两种不同的单位表示:一种单位是mm/min;另一种单位是r/min。确定其单位,需由G功能控制字来指定。不同的数控系统,G功能控制字略有区别。如FANUC OiM系统用G94指定F的单位为mm/min;用G95指定F的单位为r/min。
5.主轴功能S
格式:S_
S用来指定主轴转速。由字母S和若干个数字组成。当数控机床为主轴伺服控制系统时,S指定的主轴转速有两种不同的单位表示:一种单位是m/min,另一种单位是r/min。
确定其单位需由G功能控制字来指定。通常用G96来指定S的单位为m/min;用G97来取消恒线速控制,则S的单位为r/min。如:“G96 S200;”表示切削速度为200m/min。若写成“G97 S200”,则表示切削速度为200r/min。
6.M指令
M指令是辅助功能指令,它是控制机床或系统开关量的一类命令。如开、停冷却泵,主轴正、反转,程序结束等。各个生产厂所设定的M指令有差异,具体应用需根据机床操作说明书的规定进行。常用M功能代码见表2-2。
表2-2 常用M功能代码
(续)
注:一个程序段中,同时有G代码和M代码时,表中注明为段前执行的M指令,在执行程序段时,先执行M代码,后执行G代码;表中注明为段后执行的M指令,在执行程序段时,先执行G代码,后执行M代码。如果没有标明是段前还是段后执行的,一般要求独立编写一段程序。
【例2-3】如图2-37所示为垫片零件。通过已知刀具运动轨迹上各基点的坐标值,运用标准数控指令编写出相应的数控加工程序。
图2-37 垫片零件
解:由于加工程序代码较多,为此本书中特意列为表格,以方便查看,详细的加工程序及程序说明见表2-3。
表2-3 数控加工程序清单
(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。