5.4.3 常用编程指令代码
1.常用准备功能(G代码)编程指令
(1)绝对值G90、增量值G91(相对值)坐标指令格式为:
G90 X_Y_Z_;
G91 X_Y_Z_;
G90指令按绝对值坐标方式设定运动轴的移动坐标,即移动指令终点的坐标值X、Y、Z都是以工作坐标系原点(程序零点)为基准来计算。
G91指令按增量值方式设定运动轴的移动坐标,即移动指令终点的坐标值X、Y、Z都是以刀具的起始点为基准来计算,再根据终点相对于始点的方向判断正负,与坐标轴同向取正,反向取负。如图5-22所示,刀具从A点快速移动到B点,用以上两种方式编程分别如下:
G90 G00 X80.0 Y150.0;
G91 G00 X-120.0 Y90.0;
图5-22 绝对坐标和增量坐标
(2)工作坐标系的选取指令(G54~G59) 一般数控机床可以预先设定6个(G54~G59)工作坐标系。这些坐标系存储在机床存储器内,在机床重开机时仍然存在,在程序中可以交替选取任意一个工作坐标系使用。6个工作坐标系都以机床原点为参考点,分别以各自与机床原点的偏移量表示,需要提前输入机床数控系统。
值得注意的是,G54~G59是在加工前设定好的坐标系,如果使用了G54~G59指令,就没有必要使用G92指令了(G92是在程序中设定坐标系),否则G54~G59将被G92替换,因此,初学者必须充分注意该事项。
(3)平面选择指令(G17、G18、G19)在加工中心时,如进行圆孤插补,要规定加工所在的平面,用G代码G17、G18、G19可以进行平面选择,如图5-23所示。
图5-23 平面选择
G17(指定X、Y平面);G18(指定Z、X平面);G19(指定Y、Z平面);
其中,在XY平面内的加工,程序中可以省略G17的使用。
(4)快速定位指令(G00) 刀具从当前位置快速移动到切削开始前的位置,在切削完之后,快速离开工件,一般在刀具非加工状态时使用快速移动。该指令只是快速定位到目标点,无运动轨迹要求。其运动轨迹因具体的控制系统不同而异,进给速度F对G00指令无效,快速移动的速度由系统内部参数确定。
其指令格式为:
G00 X_Y_Z_;
其中:X、Y、Z后面的数值为指令目标点的坐标值,如图5-24所示。
图5-24 快速点定位
该图从O点到目标点的程序指令为:G00 G90 X300.0 Y150.0;
快速定位指令的运动轨迹有两种形式:①非直线插补定位:各轴独立用快速进给来定位,刀具轨迹通常不能成为直线;②直线插补定位:各轴联合运动,其轨迹和直线插补(G01)一样,但不超过各轴的单独最快进给速度,用最短时间来定位。
(5)直线插补指令(G01) 刀具做两点间的直线移动,在切削加工时使用该指令。G01指令表示刀具从当前位置开始以给定的速度(切削进给速度F),沿直线移动到目标点。
其指令格式为:
G01 X_Y_Z_F_;
其中:X、Y、Z后面的数值为指令目标点的坐标值;F后面的数值为指令直线插补的进给速度,如图5-25所示。
图5-25 直线插补
该图从O点到目标点的程序指令为:G01 X40.0 Y20.0 F100;
当直线插补指令(G01)第一次在程序中出现时,切削进给速度(F)指令的使用是不可忽视的。
(6)圆弧插补指令(G02、G03) 该指令能使刀具沿着圆弧运动,切出圆弧轮廓。G02为顺时针圆弧插补,G03为逆时针圆弧插补。刀具进行圆弧插补时必须规定所在平面,然后再确定回转方向。沿垂直于圆弧所在平面(如XY平面)的坐标轴的负方向(−Z)看去,顺时针方向为G02;逆时针方向为G03(如图5-26所示)。
其指令格式为:
G17 G02(G03)X_Y_R_(I_J_)F_;
G18 G02(G03)X_Z_R_(I_K_)F_;
G19 G02(G03)Y_Z_R_(J_K_)F_;
其中:X、Y、Z后的值为指令圆弧终点坐标,可以用绝对值,也可以用增量值,由G90 或G91指定;I、J、K后的值分别为圆弧的起点到圆心的X、Y、Z轴方向的增量(无论是采用绝对值,还是采用增量值编程),且I、J、K必须根据方向指定其符号(正或负);如图5-27 I、J、K值示意。当一个程序段中同时指定地址I、J、K和R时,用地址R指定的圆弧优先,其他都被忽略。R为圆弧的半径,必须根据圆弧的情况指定其符号(正或负)。当被加工圆弧小于180°时,R为(+)正值;大于180˚小于360˚时,R为(−)负值;等于360˚时,无法用R指令。
图5-26 圆弧插补顺逆方向
图5-27 I、J、K值示意
(7)暂停指令(G04) 该指令可以使用刀具作短时间(几秒钟)无进给光整加工,直到经过指令的暂停时间,使加工表面降低表面粗糙度值。此功能常用于切槽或钻孔到孔底时。
其指令格式为:
G04 X_;
或G04 P_;
地址符X或P指令暂停的时间,其中地址符X后可以是带小数点的数,单位为秒(s);地址符P不允许用小数点输入,只能用整数,单位为毫秒(ms)。如暂停1s可写为G04 X1.0 或G04 P1000。
(8)自动返回机床原点指令(G28) 机床原点是机床每个移动轴正向移动的极限位置。如刀具交换时常要返回z轴参考点(z轴机床原点)。
其指令格式为:
G28 X_Y_Z_;
执行G28指令,使各轴快速移动,分别经过指定的中间点(坐标值由x、y、z后的值指定)返回到机床原点。值得注意的是,使用G28指令时,必须先取消刀具半径补偿,而不必先取消刀具长度补偿,因为G28指令包含刀具长度补偿取消、主轴停止、切削液关闭等功能。故G28指令一般用于自动换刀。
(9)刀具半径补偿指令(G40、G41、G42) 加工中心的数控系统具有刀具半径补偿功能。也就是说,在加工轮廓时,可以直接按加工工件轮廓编程,同时在程序中给出刀具半径补偿指令,而不必给出刀具中心的运动轨迹,如图5-28所示。
图5-28 刀具半径补偿示意
实际的刀具中心运动轨迹与工件轮廓(编程轨迹)有一个偏移量,这个偏移量等于刀具半径。加工中心可以自动判断补偿的方向和补偿值大小,自动计算出实际刀具中心轨迹,并按刀心轨迹运动。这样使得编制加工程序简单了。
①刀具半径补偿指令(G40、G41、G42)的含义如下:
G40:取消刀具半径补偿;
G41:刀具半径左补偿,亦称左刀补;
G42:刀具半径右补偿,亦称右刀补。
ISO标准规定:沿着刀具前进的方向观察,刀具中心轨迹偏在工件轮廓的左边时,用左补偿指令G41;刀具中心轨迹偏在工件轮廓的右边时,用右补偿指令G42,如图5-29刀具所示。G41、G42皆为续效指令,机床初态为G40。
图5-29 刀具补偿方向
其指令格式如下:
G17(G01、G00)(G41/G42)X_Y_D_;
G18(G01、G00)(G41/G42)Z_X_D_;
G19(G01、G00)(G41/G42)Y_Z_D_;
取消补偿格式:
G01(G00)G40 X_Y_;
其中:D为刀具半径补长寄存器地址字,在寄存器中存有刀具半径补偿值。
②平面选择指令(G17、G18、G19)用G17、G18、G19命令选择进行刀具半径补偿的工作平面。选择不同的平面,其所补偿的坐标轴是有所区别的。例如:当执行G17命令之后,刀具半径补偿仅影响x、y轴移动,而对z轴没有作用。
③补偿编号和补偿值 在加工中心操作面板上调出刀具补偿画面,设定补偿值,补偿值与补偿编号相对应,如图5-30所示。01号位置上的刀具半径值为5mm,在编程时只要给出补偿编号D01就可以了。
图5-30 刀具补偿编号和补偿值的设定示意
该图所显示的半径补偿值:D=5.00MM;
如果采用(绝对值)左补偿,其程序段可写成:G90 G01 G41 X100.0 Y150.0 D01;
注意:刀具半径补偿值需要在加工或试运行之前设定在补偿存储器中;D代码是续效代码;刀具半径补偿必须在程序结束之前取消,否则刀具中心将不能回到程序原点。
④刀具半径补偿的优点如前所述,利用刀具半径补偿功能可以简化编程,避免了繁琐的数学计算。另外,在实际加工中,刀具的磨损是必然的。这时,我们只需将半径补偿值加以修改,而不必修改程序,如图5-31所示,可以省略粗加工程序。程序是按工件的精加工轮廓尺寸编制的,在实际加工中,将半径补偿值设定为不同的值,即可利用同一程序完成粗加工、半精加工和精加工,如图5-32所示。
图5-31 半径补偿用于刀具磨损
图5-32 半径补偿用于粗、精加工
⑤补偿值的设定如图5-33所示。
粗加工补偿值:C=A+B;精加工补偿值:C=A;
其中:A——刀具半径;B——精加工余量;C——补偿值。
图5-33 补偿值的设定示意
⑥刀具半径补偿过程刀具半径补偿过程分为三步:启动刀补、补偿模式、取消补偿。下面通过例题详细说明刀具半径补偿的全过程。
如图5-34所示,在xy平面内使用半径补偿(没有z轴移动)进行轮廓切削,设刀具半径为r,其补偿程序如下:
图5-34 半径补偿示意
启动刀补 当程序满足下列条件时,机床以移动坐标轴的形式开始补偿动作:
a.有G41和G42指令。b.在补偿平面内有轴的移动。c.指定一个补偿编号或已经指定了一个补偿编号,但不能是D00。d.指定或已经指定补偿(偏值)平面。e.在G00或G01模式下(若用G02或G03,机床会报警;但是目前有些机床的数控系统也可以用G02或G03)。
例中程序满足了a~e的条件,故补偿从N2程序段开始。那么执行N2程序段之后,刀具中心到达了什么位置呢?当程序中指定G41(或G42)程序段的坐标点与下边量程序段中最近的且在选定平面内有坐标移动语句的坐标点相连,其连线垂直方向为偏值方向,G41为左偏,G42为右偏,偏值大小为指定的偏值存储器(D01)中的数值。这里N2程序段坐标点与N3程序段坐标点的连线垂直于x轴,故执行N2程序段之后,刀具中心位置应在P点(20−r,10)处,如图5-35所示。
图5-35 半径补偿刀具轨迹示意
补偿模式 在补偿开始后进入补偿模式,此时半径补偿在G01、G02、G03、G00模式下均有效。
在补偿模式下,机床同样要预读两个程序段以确定当前程序段目标点的位置。如图5-35所示,执行N3程序段时刀具沿y轴正向运动,但目标点不再是Y50.0,而是当前刀具轨迹与狭义程序段偏置刀具轨迹的交点(20.0−r,50.0+r),以确保机床在执行下一个程序段时把刀具向外补偿一个偏置量。依此类推,结果把整个工件轮廓向外偏移了一个补偿量,得到刀心轨迹,这个补偿量即为刀具半径。如图5-35所示,a、b、c、d分别为执行N3、N4、N5 和N6各程序段的刀具轨迹,而N3程序段的目标点A为a与b的交点,同样,B为b与c的交点,C为c与d的交点。补偿模式下刀具轨迹转接交点的计算方式等工作是由数控系统自动完成的。
取消补偿 当满足下面两个条件中任意一个时,补偿模式被取消,称此过程为取消补偿。
a.有指令G40,同时补偿平面内坐标轴要移动。
b.刀具补偿号为D00。
取消补偿与建立刀具半径补偿类似,也必须在G00或G01模式下取消补偿,若使用G02或G03则机床会报警。
如图5-35所示,当执行N6程序段时,由于N7中有G40指令,故N6的目标点不再受下一程序段的影响,其目标点就是(10,20−r)点,再执行N7程序段,刀具执行后回到程序原点。
(10)刀具的长度偏置指令(G43、G44、G49)
刀具长度偏置指令用于刀具周详的补偿。它可以使刀具在z方向上的实际位移量大于或小于程序的给定值。
①刀具长度补偿原理 加工中心运行时要经常交换刀具,而每把刀具长度的不同给工作坐标系的设定带来了困难。试想当第一把刀具正常切削工件时,而更换另一把稍长的刀具后,在工作坐标系不变的情况下零件将被过切削;而更换较短的刀具后,将使零件产生欠切削。
为了解决上述问题,在设定工作坐标系时,让主轴锥孔基准面与工件上表面理论上重合,在使用每一把刀具时可以让机床按刀具长度升高一段距离,使刀尖正好在工件上表面上,这段长度就是刀具长度补偿值。这就是刀具长度补偿原理,如图5-36所示。刀具长度补偿值可以在刀具预调仪或自动测长装置上测出。
图5-36 刀具长度补偿原理示意
②刀具长度补偿指令:
G43:正向偏置,即把刀具向上抬起。
G44:负向偏置,即把刀具向下补偿。
G49:取消长度补偿(在z轴回原点后使用比较安全)
如图5-36所示,钻头用G43指令向上补偿H1值,铣刀用G43指令向上正向补偿了H2值。
③刀具长度补偿指令格式 其指令格式如下:
G43 G00 Z_H_;
G44 G10 Z_H_;
H为刀具长度补偿寄存器地址字。与刀具半径补偿类似,H后指定的地址中存有刀具长度值,在加工前要预先将所使用的每一把刀具长度预设在数控系统中。
注意:进行刀具长度补偿时,刀具要向z轴移动,G43、G44是模态代码,机床初态为G49。
如图5-37所示,其为不同命令下刀具的实际位置。特别应指出的是,G90 G54 G0 Z0程序段在有长度补偿的情况下,如果没有G43指令,机床将造成严重的碰撞事故。
图5-37 正向补偿方法示意
(11)有关G指令的规定和说明 G指令的有关规定和含义,如表5-6所示,G代码按其功能的不同分为若干组。G代码有两种模态:模态式G代码和非模态式G代码。00组的G代码属于非模态式的G代码,只在被指定的程序段中有效。其余组的G代码属于模态式G代码,具有G代码效性,在后续程序段中,只要同组其他G代码未出现它一直有效。
不同组的G代码在同一个程序段中可以指令多个G代码,但如果在同一个程序段中指令了两个或两个以上属于同一组的G代码,只有最后那个G代码有效。如果在程序中指令了G代码表中没有列出的G代码,则显示报警。但是随着数控技术的发展,数控系统的功能不断强大,许多著名的数控系统又开发了新的G功能,且在ISO标准中查不到,因此要求编程人员要对所使用的数控系统的功能做充分的了解。
2.常用辅助功能(M代码)编程指令
M指令用来控制机床各种辅助动作及开关状态,如主轴的转与停、冷却液的开与关等等。其特点是靠续电器的通断来实现其控制过程。程序的每一个程序段中,M代码只能有一个。如果在一个程序段中同时指定了两个或两个以上的M代码,则只有最后一个M代码有效,其余的M代码无效。以下是加工中心编程中主要的M指令:
(1)M00(程序暂停) 执行M00指令后,机床所有的动作都被切断,需重新启动后,才能继续执行后面的程序段。如编程者想要在加工中使机床暂停(如检验工件、调整、排屑等),可使用M00指令。
(2)M01(选择停止) 执行过程和M00相同,常用于关键尺寸的检验或临时暂停。只是当机床控制面板上的“选择停止”键处显示在“NO”状态时此功能才有效,否则,该指令无效。
(3)M02(主程序结束) 该指令表明主程序结束,机床的数控单元复位,如主轴、进给、冷却停止,表示加工结束,但执行该指令并不返回程序起始位置。
(4)M03(主轴正转) 主轴正转只从主轴正向(+Z)看,即从主轴头向工作台方向看,主轴顺时针方向旋转。
(5)M04(主轴反转) 主轴逆时针旋转是反转,当主轴换向(从M03转换为M04)时,不需要用M05先使主轴停转。
(6)M05(主轴停转) 主轴停止,是在程序段其他指令执行完成后才停止。
(7)M06(换刀指令) 用于加工中心刀库的自动换刀。它必须与相应刀号(T代码)结合,才构成完整的换刀指令。
(8)M07(切削液开) 执行M07后,冷却气体(雾状切削液)打开。
(9)M08(切削液开) 执行M08后,液状切削液打开。
(10)M09(切削液关)冷却液关闭。
(11)M19(主轴定向停止) 主轴准停在预定的角度位置上。
(12)M21(x轴镜像) 使x轴运动指令的正负号相反,这时x轴的实际运动是程序指定方向的反方向。
(13)M22(y轴镜像) 使y轴运动指令的正负号相反,这时y轴的实际运动是程序指定方向的反方向。
(14)M23(镜像取消) 执行M23指令后,x或y轴镜像取消。
(15)M30(程序结束) 与M02功能相同,表示主程序结束。区别是执行M30指令后,使程序返回到开始状态。
(16)M48 取消M49指令功能。
(17)M49 取消进给速度人工调整的功能。执行M49指令,使机床控制面板上的进给倍率按钮(FEED RATE OVERRIDE)无效,该指令常用于攻螺纹(但固定循环如G76、G84等不用此指令)。
(18)M98(调用子程序) 在其他节中将详细介绍M98、M99指令的使用。
(19)M99 子程序结束并返回到主程序。
其他M指令及意义请参阅有关手册和标准。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。