(完整版)FANUC系统编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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:进给方式
格式1:G17 G94 G1 X_ Y_ F100
在G17平面以mm/分钟的速度直线切削到XY坐标位置。

G94是以 mm/分钟的速度进给(分钟进给)
格式2:G17 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
格式2:I 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:圆角
在用这个命令之前,先了解一个概念:虚拟拐点
虚拟拐点:意思是说,在没有倒角或圆角时,两条直线的交点用法也很简单,直接在前面的运动轨迹后面加C或R
图a:
G1 X70 Y20 C10
X100 Y70
注意C为腰长倒角,也就是等腰倒角
图b:
G1 X70 Y20 R20
X100 Y70 (用增量坐标方式也可写成:G1 G91 X30 Y50)
圆弧小练习:
O0001 文件名
G91 G28 Z0 回Z0的参考点(G28)Z轴最高位置,
可加可不加,针对老机床换刀时怕回不
到换刀位置
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 方式,因为I在X
方向的增量是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度,所以Y为60度,X值不变
Y60 Y增加60度,X值不变
G90 Y0 改为绝对编程方式(G90)Y为0度,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度,所以Y为60度,X值不变
Y60 Y增加60度,X值不变
G90 Y0 改为绝对编程方式(G90)Y为0度,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为比例缩放中心
a
:X轴比例系数
b
c
:Y轴比例系数
d
由图和公式可知:
缩放系数其实等于缩放后图形上的某一点到缩放中心的距离与缩放前这一点到缩放中心距离的比值
格式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方式)定位到指定的X、Y坐标位置,再Z向快速定位到R 点平面,然后执行切削进给到孔底(Z值)平面,刀具从孔底快速Z向退回到R点平面或初始平面。

G82 指令在孔底增加了进给后的暂停动作,以提高孔底表面粗糙度质量,如果指令中不指定暂停参数P,则该指令和G81完全相同
G81打孔时是打到底就抬刀,G82是打到底暂停几秒钟再抬刀,至于暂停几秒钟是根据P值决定的,比如暂停1.5秒,就写成1500。

P值是以毫秒为单位的,不能有小数点。

钻孔练习程序
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值取-27(Z-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方式快速退刀,而G85是G1方式回到R点
G89和G73的用法是一样的,钻到底部时会停留几秒钟,停留时间是P值决定的
铰刀程序小练习
G91 G28 Z0
M6 T1
G17 G55 G90
G0 X-50 Y30
Z100 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_
X、Y是平面坐标,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_ ;
X、Y是孔位置,Z孔底面距离位置,R点平面,Q反向距离,P 底部停留时间,F进给速度。

相关文档
最新文档