FANUC系统编程(全套代码)

发布时间:2019-08-25 10:37:19

FANUC系统编程

TMSFD代码

T:刀具号

M:辅助代码

S:主轴转速

F:进给速度

D:半径补偿

MCS:机械坐标系

工厂生产厂家出厂时固定的永久不变的一个坐标系,它的原

点在三个轴的最大位移处

WCS:工件坐标系

工件坐标系,为了工作方便自己设定的一个坐标系

REL: 相对坐标系

起一个临时辅助的作用,个人感觉来讲应该叫临时坐标系

模态的概念:一次指定永久有效,只到被同一代码取代。

常用的M代码:

M0:程序停止 M1:程序选择性停止

M2:程序结束 M3:主轴正转

M4:主轴反转 M5:主轴停止

M6:刀具交换 M8:切削液开启

M9:切削液关闭 M30:程序结束返回开头

M98:调用子程序 M99:子程序结束

G代码

注:不同组的G代码写在同一行同时生效,同一组的G代码写一在同一行最后的一个生效

G17 G18 G19:平面选择指令

平面指令 平面第一轴/平面第二轴 平面第三轴

G17 X/Y Z

G18 Z/X Y

G19 Y/Z X

注:平面第三轴的正方向往该平面看,顺时针为正转,逆时针为反转

G0快速定位

格式:G17 G0 X_ Y_

以快速定位的方式到达G17平面的X Y 位置。

G0不需要指定速度,是系统预设好的。

G1直线切削运动

G43:刀具长度补偿(对刀长)

G0 Z0 G43 H1

(指定刀具补偿号为1号刀补,并快速定位到Z0位置)

G94 G95进给方式

格式1G17 G94 G1 X_ Y_ F100

G17平面以mm/分钟的速度直线切削到XY坐标位置。

G94是以 mm/分钟 的速度进给(分钟进给)

格式2G17 G94 G1 X_ Y_ F0.5

G95是以 mm/ 为单位,也就是说刀具转一圈往前走多少毫米。

通常情况下用G94比较多,很少用G95

G90绝对坐标

G91增量坐标

绝对坐标是相对于原点来确定位置的

A(40,40) B(40,60) C(30,60)…………

增量坐标是第二个点是相对于第一个点来确定的,也就是说第二个点是第一个点的坐标增量

G90 A(40,40) G91 B(0,20) C(-10,0) D(10,30)…………

G0 G1小练习

M6 T1; 1号刀

G17 G54 G90; 指定平面、工件坐标,以绝对编程的方式

G0 X40 Y40; 到工件起始坐标点准备下刀

Z100 G43 H1; 刀具抬到Z100的位置

M3 S600; 主轴正转,转速600

M8; 开冷却液

G0 Z2; 靠近工件Z2位置

G1 Z-2 F20; 刀具下刀深2mm 速度20 开始刀削

Y60;

X30;

X40 Y90;

X80;

X90 Y60;

X80;

Y40;

X40;

G0 Z100; 抬刀到100的位置

M9; 关冷却液

M5; 主轴停转

M30; 程序结束并返回程序开头

G2 G3 :圆弧指令

G2:顺时针圆弧 G3:逆时针圆弧

格式1:(终点+半径)

G17 G2/G3 X_ Y_ R_ F_

G18 G2/G3 X_ Y_ R_ F_

G19 G2/G3 X_ Y_ R_ F_

G17 G18 G19 为平面选择,X Y 是圆弧终点坐标,R是圆弧半径,

F是进给速度。注意半径R有大圆弧和小圆弧区别,大圆弧要用负值(-R,小圆弧用正值(R

例:

小圆弧

G1 X50.2 Y57.4 F300

G2 X68.8 Y71.6 R25

大圆弧

G1 X50.2 Y57.4 F300

G2 X68.8 Y71.6 R-25

格式2I J K 方式(终点+I J K

G17 G2/G3 X_ Y_ I_ J_ F_

G18 G2/G3 X_ Z_ I_ K_ F_

G19 G2/G3 Y_ Z_ J_ K_ F_

在半径不知道的情况下,但知道圆心的坐标。I J K 的意思是:圆心的XYZ坐标相对于起点的XYX坐标的增量。

I J K = (圆心XYZ)-(起点XYZ)

例:

G1 X50.2 Y57.4 F300

G2 X68.8 Y71.6 I22.8 J-10.4

如果是绕一个整圆,就不能用终点+半径的方式,只能用I J K 方式。

G1 X50.2 Y57.4 F300

G3 I22.8 J-10.4

逆进针整圆,X Y在上一句中已经被指定,所以在下一句中可以省略不写。而且起点与终点重合,所以只需要写一个起点就可以了。

C:倒角 R:圆角

在用这个命令之前,先了解一个概念:虚拟拐点

虚拟拐点:意思是说,在没有倒角或圆角时,两条直线的交点

用法也很简单,直接在前面的运动轨迹后面加CR

a

G1 X70 Y20 C10

X100 Y70

注意 C为腰长倒角,也就是等腰倒角

b

G1 X70 Y20 R20

X100 Y70 用增量坐标方式也可写成G1 G91 X30 Y50

圆弧小练习:

O0001 文件名

G91 G28 Z0 Z0的参考点(G28Z轴最高位置,

可加可不加,针对老机床换刀时怕回不

到换刀位置

M6 T1 换刀

G17 G55 G90 选择G17平面G55坐标,绝对编程方

G0 X-10.0 Y6.0 快速定位到XY起点位置

Z100.0 G43 H1 抬刀到Z100位置 G43 H1刀具长度补偿)

M3 S750 主轴正转,转速750

G0 Z5.0 靠近零件 5mm位置

M8 开启冷却液

G1 Z-2.0 F20.0 直线切削,下刀深度2mm

Y-15.0 R5.0 F300.0 直线走到Y-15位置,插入R5圆角 速度

300

X0 X0位置

G3 X12.5 Y-8.3 J15.0 逆时针圆弧,终点位置知道X12.5 Y-8.3 ,

半径不知道,用I J K 方式,因为IX

方向的增量是0所以不用写,J的增量是

15

G2 X19.9 Y-19.9 R-7.5 顺时针圆弧,知道半径,用终点+半径

方式,且大于半圆 R值用负数

G0Z100.0 抬刀到Z100位置

M9 关闭冷却液

M5 主轴停转

M30 程序结束并回程序开头

G41 G42 G40 : 刀具半径补偿

G41:半径左补偿,沿前进的方向看,刀具在轮廓的左边

G42:半径右补偿,沿前进的方向看,刀具在轮廓的右边

G40:取消半径补偿(这也是开机时的默认状态)

格式:

G0/G1 G41/G42 D_ X_ Y_

D是刀具半径,在机床里设置。XY是要走到的坐标位置

程序规则:1、刀补建立

2、刀补进行

3、刀补取消

注意:1、只有在G0 G1程序段才可以建立半径补偿

2、半径补偿模态有效,只到被G40 取消

3、半径补偿的程序段内,不允许出现连续2段或2段以上非

当前平面内移动指令

G15 G16 : 极坐标

G15:取消极坐标

G16:开启极坐标

格式:G16;

G17 X_ Y_ ;

G15;

X:代表目标点到原点的长度

Y:代表角度

1 打孔小练习

G91 G28 Z0

M6 T1

G17 G54 G90 指定平面(G17 指定坐标(G54) 绝对编程方式

G16 开启极坐标

G0 X50 Y30 定位到第一个点(X方向为50,角度30)

Z100 G43 H1 抬刀高度100 刀具长度补偿H1

M3 S750 主轴正转,转速750

G0 Z5 靠近零件 Z5

M8 开冷却液

G1 Z-10 F80 向下切削 深度-10 进给速度80

G0 Z100 抬刀 Z100

X50 Y120 到第二个点(X方向50,角度120度)

Z5 靠近

G1 Z-10 直线向下切削深度-10

G0 Z100 抬刀 Z100

X50 Y-150 到第三个点(X方向50,角度-150度)

Z5

G1 Z-10

G0 Z100

X50 Y-60 到第四个点

Z5

G1 Z-10

G0 Z100

G15 关闭极坐标

M9 关冷却液

M5 主轴停转

M30 程序结并回到程序开头

2 走六边形

M6 T2 换刀

G17 G54 G90 指定平面(G17 指定坐标(G54) 绝对编程方式

G16 开启极坐标

G0 X50 Y0 定位到X50 角度0

Z100 G43 H2 抬刀到Z100位置,刀具补偿 H2

M3 S800 主轴正转 转速800

G0 Z5 靠近

M8 开冷却液

G1 Z-2 F200 直线向下切削深度-2 进给速度200

X50 Y60 切削走到X50,角度60度位置

Y120 切削走到角度120度位置(X50上句已指定)

Y180 切削走到角度180度位置,X值不变

G91 Y60 采用增量坐标方式(G91)相对于上个角度180增加了60度,所以Y60度,X值不变

Y60 Y增加60度,X值不变

G90 Y0 改为绝对编程方式(G90Y0度,X值不变

G0 Z100 抬刀 Z100位置

G15 关闭极坐标

M9 关冷却液

M5 主轴停转

M30 程序结束并回程序开头

G52 : 局部坐标

把工件坐标的原点临时移动到另外一个地方

格式:

G52 X_ Y_ Z_

G52 X0 Y0 Z0

G52 X45 Y65 (到临时坐标点)

G52 X0 Y0 (回到坐标原点)

局部坐标小练习

G91 G28 Z0

M6 T1

G17 G54 G90 指定平面(G17 指定坐标(G54) 绝对编程方式

G16 开启极坐标

G0 X50 Y30 定位到第一个点(X方向为50,角度30)

Z100 G43 H1 抬刀高度100 刀具长度补偿H1

M3 S750 主轴正转,转速750

G0 Z5 靠近零件 Z5

M8 开冷却液

G1 Z-10 F80 向下切削 深度-10 进给速度80

G0 Z100 抬刀 Z100

X50 Y120 到第二个点(X方向50,角度120度)

Z5 靠近

G1 Z-10 直线向下切削深度-10

G0 Z100 抬刀 Z100

X50 Y-150 到第三个点(X方向50,角度-150度)

Z5

G1 Z-10

G0 Z100

X50 Y-60 到第四个点

Z5

G1 Z-10

G0 Z100

G52 X12 Y25 到临时坐标点

G0 X18 Y45

Z5

G1 Z-10

G0Z100

X18 Y135

Z5

G1 Z-10

G0 Z100

G52 X0Y0 回到原点位置

G15 关闭极坐标

M9 关冷却液

M5 主轴停转

M30 程序结并回到程序开头

G68 :坐标系旋转

G69 :取消旋转

把坐标系旋转一定的角度,后面的刀路也会跟着一起旋转。

G68 X_ Y_ R_

X Y 是旋转中心,

R是旋转角度

XY的中心点是可以随便指定的一个点

注意:G69取消旋转指令后的每一个运动指令必须用绝对坐标编程。也就是说只能用G90 编程,不可以用G91 编程。

G53:机床坐标系

为了把工件移到人的面前好装缷工件用,基本上很少用。

例: G0 G90 G53 Y-2

旋转小练习

把这个六边形旋转45

M6 T2 换刀

G17 G54 G90 指定平面(G17 指定坐标(G54) 绝对编程方式

G68 X0 Y0 R45 开启旋转,以XY为中心点旋转45

G16 开启极坐标

G0 X50 Y0 定位到X50 角度0

Z100 G43 H2 抬刀到Z100位置,刀具补偿 H2

M3 S800 主轴正转 转速800

G0 Z5 靠近

M8 开冷却液

G1 Z-2 F200 直线向下切削深度-2 进给速度200

X50 Y60 切削走到X50,角度60度位置

Y120 切削走到角度120度位置(X50上句已指定)

Y180 切削走到角度180度位置,X值不变

G91 Y60 采用增量坐标方式(G91)相对于上个角度180增加了60度,所以Y60度,X值不变

Y60 Y增加60度,X值不变

G90 Y0 改为绝对编程方式(G90Y0度,X值不变

G0 Z100 抬刀 Z100位置

G15 关闭极坐标

G69 关闭旋转

M9 关冷却液

M5 主轴停转

G0 G90 G53 Y-2 把工件移到人的面前好装缷(机械坐标G53很少

用,正常都用工件坐标)

M30 程序结束并回程序开头

镜像指令:

G51.1 X_ Y_ 开启镜像

G50.1 取消镜像

G51.1 后面跟一个数是轴对称,后面跟两个数是中心对称

G51.1 Y0 G51.1 X0 G51.1 X0 Y0

镜像小练习

M6 T1; 1号刀

G17 G54 G90; 指定平面、工件坐标,以绝对编程的方式

G51.1 Y0 开启镜像 Y轴镜像

G0 X40 Y40; 到工件起始坐标点准备下刀

Z100 G43 H1; 刀具抬到Z100的位置

M3 S600; 主轴正转,转速600

M8; 开冷却液

G0 Z2; 靠近工件Z2位置

G1 Z-2 F20; 刀具下刀深2mm 速度20 开始刀削

Y60;

X30;

X40 Y90;

X80;

X90 Y60;

X80;

Y40;

X40;

G0 Z100; 抬刀到100的位置

G50.1 取消镜像

M9; 关冷却液

M5; 主轴停转

M30; 程序结束并返回程序开头

比例缩放指令:

G51 G50

G51:开启缩放 G50:取消缩放

比例缩放系数的计算

O为比例缩放中心

:X轴比例系数

:Y轴比例系数

由图和公式可知:

缩放系数其实等于缩放后图形上的某一点到缩放中心的距离与缩放前这一点到缩放中心距离的比值

格式1

G51 X_ Y_ Z_ P_

G50

等比例缩放:XYZ为缩放中心点,P这比例因子。P的取值范围是:1—999999 ,分别是指0.001—999.999倍。比如 放大1.5倍,就写成1500 ,把放大的倍数乘以1000就是P的值。

格式2

G51 X_ Y_ Z_ I_ J_ K_

G50

不等比缩放:XYZ为缩放中心,IJK分别为XYZ三轴的缩放比例

比如:X放大1.5倍,就写成I 1500

Y放大2倍,就写成J 2000

Z放大3倍,就写成K 3000

注:如果我们要缩放的是圆弧的话,用等比缩放就是把半径缩放相应的倍数。

用不等比缩放的话,它是不会形成那种随圆的,而是哪个轴的放大倍数大就会自动选择那个大的倍数进行放大。

半径补偿不能放在缩放指令外面的程序段,一定要放在缩放指令程序段里面。

缩放小程序练习

还是以这个图为例:

我们把X缩放0.5倍,Y缩放1.5

这是一个不等比缩放。

M6 T1

G17 G54 G90

G51 X0 Y0 I500 J1500 开启缩放指令(G51),设XY坐标为0(X0 Y0)X缩放0.5(I500)Y缩放1.5(J1500)

G0 X40 Y40

Z100 G43 H1

M3 S600

M8

G0 Z2

G1 Z-2 F20

Y60

G91 X-10

X10 Y30

G90 X80

G91 X10 Y-30

X-10

G90 Y40

X40 Y40

G0 Z100

G50 取消缩放

M9

M5

M30

钻孔循环:

G81 G82

格式

G81 X_ Y_ Z_ R_ F_;

G82 X_ Y_ Z_ R_ P_ F_;

动作指令:

G81 指令常用于普通孔(浅一点孔),刀具在初始平面快速(G0方式)定位到指定的XY坐标位置,再Z向快速定位到R点平面,然后执行切削进给到孔底(Z值)平面,刀具从孔底快速Z向退回到R点平面或初始平面。

G82 指令在孔底增加了进给后的暂停动作,以提高孔底表面粗糙度质量,如果指令中不指定暂停参数P,则该指令和G81完全相同

G81打孔时是打到底就抬刀,G82是打到底暂停几秒钟再抬刀,至于暂停几秒钟是根据P值决定的,比如暂停1.5秒,就写成1500P值是以毫秒为单位的,不能有小数点。

钻孔练习程序

G91 G28 Z0

M6 T1

G17 G55 G90

G0 X-30 Y0

Z100 G43 H1

M3 S800

M8

G81 X-30 Y0 Z-27 R5 F70 如果我们要钻25的深度,假设刀前面的尖角有2毫米,所以我们Z值取-27Z-27

此时的程序在每个孔钻孔结束后抬刀是在Z100位置,如果在G81前面加一个G99的话,每个孔结束抬刀会在R

X0 因为钻孔模态有效,所以打第二个孔时给个坐标就行了

X30 第三个孔

G80 钻孔循环结束

M9

M5

M30

如果把G81那段改成G82只需在里面加一个P值,

G82 X-30 Y0 Z-27 P2000 R5 F70

这样只要改这一段,钻孔时会在底部停留2秒钟(P2000

深孔啄钻:

G83 G73

格式:

G73 X_ Y_ Z_ R_ Q_ F_;

G83 X_ Y_ Z_ R_ Q_ F_;

指令动作:

X Y是平面坐标,Z是孔底平面位置,R是回退点,Q每次向下钻的深度,F是进给速度

G83是每次下钻回退点都在R点,而G73是每次不回到R点,只是向上退回一定的深度,这个深度是由机床内部设定的。所以G73的排屑没有G83好。我们编程的时候经常都用G83,很少用到G73

深孔钻练习程序

G91 G28 Z0

M6 T1

G17 G55 G90

G0 X-50 Y30

Z100 G43 H1

M3 S800

M8

G83 Z-52 Q5 R5 F80 平面X Y坐标前面已经指定过了,这里不需要再指定了

X50 第二个孔

Y-30 第三个孔

X-50 第四个孔

G80 钻孔循环结束

M9

M5

M30

如果我们要打排孔,比如我们沿X方向每隔15的距离打5个孔,我们就要用到K参数加上G91增量指令:,

G91 G28 Z0

M6 T1

G17 G55 G90

G0 X-50 Y30

Z100 G43 H1

M3 S800

M8

G83 Z-30 Q5 R5 F80 指定第一个孔的位置

G91 X15 K4 G91增量方式沿X方向每隔15距离再打4个孔(K4

G80 G90 结束钻孔循环,并改回绝对坐标G90方式

M9

M5

M30

打圆周孔:

G91 G28 Z0

M6 T1

G17 G55 G90

G16 开启极坐标

G0 X30 Y25 快速定位第一个孔位置

Z100 G43 H1

M3 S800

M8

G81 Z-30 R3 F70 开始钻孔

G91 Y65 K4 以增量方式 每隔65度(Y65)钻一个

孔,再钻4个(K4

G80 G15 G90 结束钻孔循环(G81),关闭极坐标(G15,改为绝对编程方式(G90

M9

M5

M30

铰孔循环

G85 G89

铰孔就是为了获得一个更精确的孔的直径,如果直接钻孔的话有可能会不精确,所以我们就先钻一个稍微小一点的孔再用铰刀钻一次得到一个更精确的孔。用法和G83是一样的。

格式:G85 X_ Y_ Z_ R_ F_ ;

指令动作:

执行G85固定循环时,刀具以切削进给的方式加工到孔底,然后再以切削进给的方式回到R点。与G83唯一不同的一点是G83退刀时是以G0方式快速退刀,而G85G1方式回到R

G89G73的用法是一样的,钻到底部时会停留几秒钟,停留时间是P值决定的

铰刀程序小练习

G91 G28 Z0

M6 T1

G17 G55 G90

G0 X-50 Y30Z100 G43 H1

M3 S800

M8

G81 Z-30 Q5 R5 F80

G80

M9

M5

(先打底孔,假设我们要打一个8毫米的孔,那么底孔稍微小一点直径7.8)

G91 G28 Z0

M6 T2

G17 G55 G90

G0 X0 Y30

Z100 G43 H2

M3 S200

M8

G85 Z-28 R3 F20 8毫米铰刀开始铰孔

G80

M9

M5

M30

攻丝 攻螺纹孔

G84 右旋螺纹

G74 左旋螺纹

格式:

G84 X_ Y_ Z_ R_ P_ F_

G74 X_ Y_ Z_ R_ P_ F_

XY是平面坐标,Z螺纹孔底位置,R点回退平面,P停留时间,F进给速度。注意F的进给速度是根据螺纹的大小有要求的,不是随便定的。

计算F进给速度的公式:

F=S×K

S是主轴转速,K是螺距

练习小程序

(这是一个攻M6丝牙为1毫米的螺纹孔)

G91G28Z0

M6T1

G17G55G90

G0X0Y0

Z100G43H1

M3S800

G81Z-30R3F80

G80

M9

M5

(先打底孔)

G91 G28 Z0

M6 T2

G17 G55 G90

G0 X0 Y0

Z100 G43 H2

M3 S200 这里主轴正转,如果攻反丝的话就要改成主反转(M4

M8

G84 Z-10 R7 F200 右攻丝,攻反丝的话把G84改成G74

G80 结束钻孔循环

M9

M5

M30

镗孔

G76 精镗孔循环

G87 反镗孔循环

G87 很少用,正常都用G76

格式:

G76 X_ Y_ Z_ R_ Q_ P_ F_ ;

XY是孔位置,Z孔底面距离位置,R点平面,Q反向距离,P底部停留时间,F进给速度。

FANUC系统编程(全套代码)

相关推荐