FANUC 圆锥数控加工中心宏程序

FANUC 圆锥数控加工中心宏程序,第1张

程序是精铣。没带去余量。

本例使用直径50mm圆柱毛坯料,外圆和端面均精处理过,表面粗糙度已达图纸要求。Z轴原点设在圆台底面,即直径45的圆的中心。

刀具使用10mm平底立铣刀

%

0001

G90 G80 G40 G00

G91 G30 Z0

M06 T10

G54 G90 G00 X0 Y0

G43 H10 Z100

M03 S8000

M08

#700=25 //毛坯半径

#701=50 //圆台Z轴高度,即铣削初始高度。

#703=5 //刀具半径,本例使用10mm平底立铣刀

N10

#710=225-015#701 //计算当前Z轴高度下圆台截面圆周的半径,公式中015=(45/2-30/2)/50

G00 X[#700+#703+2] Y1 //XY向落刀安全距离

G00 Z[#701+05] //Z轴落刀

G01 Z#701 F1000

G01 X#710

G01 Y0

G02 I-#710

G01 Y-1

G00 Z[#701+5]

#701=#701-01 //Z轴每次进给量

IF[#701 GE 0] GOTO10

G00 Z50

M05

M09

G91 G28 Z0

G28 Y0

M30

%

-----------------------------------------------------

-----------------------------------------------------

刀具使用直径10mm球头立铣刀程序

%

0001

G90 G80 G40 G00

G91 G30 Z0

M06 T10

G54 G90 G00 X0 Y0

G43 H10 Z100

M03 S8000

M08

#700=25 //毛坯半径

#701=50 //圆台Z轴高度,即铣削初始高度。

#703=5 //刀具半径,本例使用直径10mm球头立铣刀

N10

#710=225-015#701 //计算当前Z轴高度下圆台截面圆周的半径,公式中015=(45/2-30/2)/50

#711=#701-#703+0742 //计算圆台截面半径为#710时,球头刀刀尖Z轴位置,0742=5×sin(arctg(45/2-30/2)/50)

G00 X[#700+#703+2] Y1 //XY向落刀安全距离

G00 Z[#711+05] //Z轴落刀

G01 Z#711 F1000

G01 X#710

G01 Y0

G02 I-#710

G01 Y-1

G00 Z[#711+5]

#701=#701-01 //Z轴每次进给量

IF[#701 GE 0] GOTO10

G00 Z50

M05

M09

G91 G28 Z0

G28 Y0

M30

%

1、在MDI模式下,按SET键,在画面中输入1,把参数开关打开。

2、按对应屏幕底部“密码”的键,进入密码画面,输入”admln”,按确认键,屏幕左下角会显示”密码正确”。

3、按”程控”键,再按屏幕底下对应”PLCPAR”键,进入K参数画面。注意,现在要改K参数,先把这个画面拍照保存。以防改错好还原。

4、移动光标,把K107,K106分别改为"1",按"保存"键。注意,按上下键光标是一排整体移动,按左右键才可以选择K107,K106,才可以输入"1"。

5、按"MDI"键,再按"程控"键,回到K参数画面,把K106,K107改回"0",按"保存"键保存。机床停止调试。再把参数开关关掉就可以进行换刀 *** 作了

注意事项:

采用新版本的FLADDER梯形图处理软件,增加到了125个专用功能指令,并且可以自己定义功能块,可以实现多通道PMC程序处理,兼容C语言PMC程序。作为应用层的开发工具,提供了C语言接口,机床厂可以方便地用C语言开发专用的 *** 作界面。

数控铣削加工宏程序的编制与应用

在数控编程中,宏程序编程灵活、高效、快捷。宏程序不仅可以实现象子程序那样,对编制相同加工 *** 作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。

一、FANUC宏程序的理论基础

(一)FANUC宏程序的构成

1)包含变量

2)包含算术或逻辑运算(=)的程序段

3)包含控制语句(例如:GOTO,DO,END)的程序段

4)包含宏程序调用指令(G65,G66,G67或其他G代码,M代码调用宏程序)的程序段

(二)FANUC宏程序的变量

FANUC数控系统变量表示形式为# 后跟1~4位数字,变量有四种:

1、FANUC宏程序的变量Ⅰ

变量号

变量类型

功能

#0

空变量该变量总是空

没有任何值能赋给该变量

2、FANUC宏程序的变量Ⅱ

变量号

变量类型

功能

#1——#33

局部变量

局部变量只能用在宏程序中存储数据,例如运算结果。当断电时局部变量被初始化为空,调用宏程序时自变量对局部变量赋值。

3、FANUC宏程序的变量Ⅲ

变量号

变量类型

功能

#100—#199

#500—#999

公共变量

公共变量在不同的宏程序中的意义相同当断电时变量#100 #199初始化为空变量

#500 #999 的数据保存即使断电也不丢失

4、FANUC宏程序的变量Ⅳ

变量号

变量类型

功能

#1000——

系统变量

系统变量用于读和写CNC 运行时各种数据的变化例如刀具的当前位置和补偿值等

(三)刀具补偿存储器C用G10指令进行设定

H代码的几何补偿值

G10L10P R ;

D代码的几何补偿值

G10L12P R ;

H代码的磨损补偿值

G10L11P R ;

D代码的磨损补偿值

G10L13P R ;

P:刀具补偿号

R:绝对值指令(G90)方式时的刀具补偿值。增量值指令(G91)方式时的刀具补偿值为该值与指定的刀具补偿号的值相加。

用G10改变工件坐标系零点偏移值

格式:G10L12PpIP ;

P=0:外部工件零点偏移值

P=1:工件坐标系G54的零点偏移值

P=2:工件坐标系G55的零点偏移值

P=3:工件坐标系G56的零点偏移值

P=4:工件坐标系G57的零点偏移值

P=5:工件坐标系G58的零点偏移值

P=5:工件坐标系G59的零点偏移值

IP: 对于绝对值指令(G90),为每个轴的工件零点偏移值。

对于增量值指令(G91),为每个轴加到设定的工件零点偏移值。

(四)FANUC宏程序运算符Ⅰ

1、FANUC宏程序运算符Ⅰ

功能

格式

备注

定义

#i=#j

加法

#i=#j+#k

减法

#i =#j- #k

乘法

#i =#j#k

除法

#i=#j/#k

2、FANUC宏程序运算符Ⅱ

功能

格式

备注

正弦

#i=SIN[#j]

角度以度指定,如90º30’表示为905度

反正弦

#i=ASIN[#j]

余弦

#i=COS[#j]

反余弦

#i=ACOS[#j]

正切

#i=TAN[#j]

反正切

#i=ATAN[#j]

3、FANUC宏程序运算符Ⅲ

功能

格式

备注

平方根

#i=SQRT[#j]

绝对值

#i=ABS[#j]

舍入

#i=ROUND[#j]

上取整

#i=FIX[#j]

下取整

#i=FUP[#j]

自然对数

#i=LN[#j]

指数函数

#i=EXP[#j]

4、FANUC宏程序运算符Ⅳ

功能

格式

备注

#i=#j OR #k

逻辑运算一位一位的按二进制数执行

异或

#i=#j XOR #k

#i=#j AND #k

从BCD转为BIN

#i=BIN[#j]

用于与PMC的信号交换

从BIN转为BCD

#i=BCD[#j]

(五)FANUC宏程序的转移和循环

1、FANUC宏程序的转移和循环Ⅰ

无条件转移:GOTOn

(n为顺序号,1——99999)

例:GOTO10为转移到N10程序段

2、FANUC宏程序的转移和循环Ⅱ

条件转移:(IF语句)

IF [条件表达式] GOTOn

当指定的条件表达式满足时,转移到标有顺序号n的程序段,如果指定的条件表达式不满足时,执行下个程序段

3、FANUC宏程序的转移和循环Ⅲ

条件转移:(IF语句)

IF [条件表达式] GOTOn

如果变量#1的值大于10,转移到顺序号N20的程序段。

如果条件不满足 IF [#1 GT 10] GOTO 2

如果条件满足

程 序

程程序序

N20 G00 G90 X100 Y20

:

4、FANUC宏程序的转移和循环Ⅳ

IF [条件表达式] THEN

当指定的条件表达式满足时,执行预先决定的宏程序语句。

例:IF [#1EQ #2] THEN #3=0;

(六)FANUC宏程序的循环

FANUC宏程序循环Ⅰ

WHILE [条件表达式] Dom;

(m=1,2,3)

条件不满足 条件满足

ENDm

注:循环允许嵌套,最多3层,但不允许交叉;

FANUC宏程序循环Ⅱ

FANUC宏程序循环Ⅲ

(七)FANUC宏程序的条件表达式运算符

运算符

含义

EQ

等于

NE

不等于

GT

大于

GE

大于或等于

LT

小于

LE

小于或等于

(九)FANUC宏程序的调用Ⅰ

FANUC宏程序的调用Ⅰ

非模态调用G65:

格式: G65PpLl<自变量指定>

其中

p:要调用的程序号

L:调用次数(默认为1)

自变量:数据传递到宏程序

FANUC宏程序的调用Ⅱ

模态调用(G66):

G66PpLl<自变量指定>;

程序点

G67;(取消模态)

其中

p:要调用的程序号

L:调用次数(默认为1)

自变量:数据传递到宏程序

(十)FANUC宏程序的自变量指定

1、FANUC宏程序的自变量指定I

地址

变量

地址

变量

地址

变量

A

#1

I

#4

T

#20

B

#2

J

#5

U

#21

C

#3

K

#6

V

#22

D

#7

M

#13

W

#23

E

#8

Q

#17

X

#24

F

#9

R

#18

Y

#25

H

#11

S

#19

Z

#26

2、FANUC宏程序的调用II

地址

变量

地址

变量

地址

变量

A

#1

K3

#12

J7

#23

B

#2

I4

#13

K7

#24

C

J4

#14

I8

#25

I

#4

K4

#15

J8

#26

J

#5

I5

#16

K8

#27

K

#6

J5

#17

I9

#28

I2

#7

K5

#18

J9

#29

J2

#8

I6

#19

K9

#30

K2

#9

J6

#20

I10

#31

I3

#10

K6

#21

J10

#32

J3

#11

I7

#22

K10

#33

二、FANUC宏程序的应用

(一)宏程序示例(铣圆)

#1=圆心坐标X值

#2=圆心坐标Y值

#3=园孔最终Z值

#4=圆孔直径

#5=刀具直径

#6=[#4+#5]/4 (进刀半径)

#7= #3+50 (进刀高度)

#8= [#1+#4]/2-#6(进刀圆弧起点X值)

#9 = #2 - #6 (进刀圆弧起点Y值)

#10= #1+#4/2 (铣圆起点X值)

#11= -#4/2 (I矢量)

#12= #2+#6(退刀圆弧Y值)

%

O100

M03S1000

G00G90G54G43H01Z100

X#1Y#2

Z#7

G01Z#3 F100

G41D02X#8Y#9

G03X#10Y#2R#6

G03X#10Y#2I#11J0

G03X#8Y#12R#6

G01G40X#1Y#2

G00Z100

M30

%

(二)宏程序示例(铣半圆球)

自上而下等角度水平圆弧环绕球面精加工

#1=(A)球面的圆弧半径

#2=(B)球头铣刀刀具半径

#3=(C)球面的起始角度

#4= (I)球面的终止角度,#4≤90°

#17=(Q)Z坐标每次递减量

#24=(X)球心坐标X值

#25=(Y)球心坐标Y值

#26=(Z)球心坐标Z值

%

O200

M03S1000

G00G90G541Z100

G00X0Y0

G65P1912X Y Z A B C I Q

M30

%

O1912 (宏程序)

G52X#24Y#25Z#26

G00X0Y0Z[#1+30]

#12=#1+#2

WHILE [#3LT#4]DO1

#5 = #12COS[#3]

#6 = #12SIN[#3]

X[#5+#2] Y#2

G03X#5Y0R#2F1000

G02 I-#5

G03X[#5+#2]Y-#2R#2

G00Z[#7+1]

Y#2

#3 = #3 + #17

END 1

GOO Z[#1+30]

G52 X0 Y0 Z0

M99

%

注释说明

(主程序)

调用宏程序O1912

(空格处为变量赋值)

在球心处建立局部坐标

球心与刀心连线距离

如果#3<#4,循环1继续

任意角度刀心X坐标值

任意角度刀心Y坐标值

G00定位于下刀点

圆弧进刀

沿球面切削

圆弧退刀

提刀1

移到进刀点

角度#3每次递增#17

循环1结束

提刀

恢复G54坐标

宏程序结束返回

(三) 宏程序示例Ⅰ

采用Φ20R4铣刀加工SR30的球,已知球心坐标为(X0Y0Z-5)

宏程序示例Ⅱ

1、分析:铣球程序一般采用自动编程来实现,但是,利用宏程序强大的功能同样也可以实现,而且程序更加简洁。

2、编程思路:

铣球可以认为是多个铣圆的组合。

3、排刀分布:

有两种方案,一是按Z向分布,二是按圆心角分布。从保证表面质量来看,最佳方案为按圆心角分布。

圆弧起点计算,从X正向开始起刀。

刀具根部R4的圆心在XZ平面的运动轨迹为与R30等距的圆R34(见图示中红色轨迹),刀尖点上4mm处的轨迹(即褐色轨迹)为红色轨迹沿X正向平移6毫米,刀尖点坐标为褐色轨迹沿Z轴向下平移4mm(即绿色轨迹)。

起始角度=ARCSIN((5+4)/34)=15349º

起始位置X值=34COS(15349)+6=38787

起始位置Z值=0 (通用表达式=34sin(15349)-5-4)

4、变量定义:

#1为圆心角,范围由(15349,90)

#2为刀尖中心X值,#2=34COS[#1]+6

#3为刀尖中心Z值,#3=34SIN[#1]-5-4

%

O300

M03S3000;

G00G90G54Z100;

#1=15349

X50Y0;

Z10;

WHILE[#1 LE 90] DO1;

#2=34COS[#1]+6;

#3=34SIN[#1]-5-4;

G01Z#3F900;

X#2;

G02X#2Y0I-#2J0;

#1=#1+1;

END1;

G00Z100;

M30;

%

(四)宏程序示例II

用Φ20R10铣刀加工轮廓处R5圆角

下面为铣外形的一段程序,采用刀具半径补偿

G00X25Y26664

G01G41D01X-8991Y2023

G03X25Y-3336I11491J9641

X32969Y-208I0J150

G02X44955Y-10952I2031J-9792

G03Y-49048I19909J-19048

G02X33452Y-5988I-9955J-952

G03X-28452I-30952J-19759

G02X-39922Y-4875I-1548J988

G03Y-1125I-148823J1875

G02X-27969Y-208I9922J125

G03X25Y-3336I30469J146872

X13991Y2023I0J15

G40G01X25Y26664

编程思路:

利用G10指令修改刀具半径偏置值来实现倒圆角。

G10格式为G10L12P1R ,其中,P1表示修改D01,R后为刀具半径偏置值。

设定倒角的圆心角为变量#1,取值范围为0-90º

设定#2为刀具半径偏置值,取值=COS[#1]15-5

设定#3为Z值,取值=SIN[#1][5+10]-5-10

%

O400

M03S3000

G00G90G54Z100

#1=0

X25Y2664

Z5

WHILE [#1 LE 90] DO1

#2= COS[#1]15-5

#3= SIN[#1]

[5+10]-5-10

G10L12P1R#2

G01Z#3F900

G00X25Y26664

G01G41D01X-8991Y2023

G03X25Y-3336I11491J9641

X32969Y-208I0J150

G02X44955Y-10952I2031

J-9792

G03Y-49048I19909J-19048

G02X33452Y-5988I-9955J-952

G03X-28452I-30952J-19759

G02X-39922Y-4875I-1548J988

G03Y-1125I-148823J1875

G02X-27969Y-208I9922J125

G03X25Y-3336I30469J14687

X13991Y2023I0J15

G40G01X25Y26664

#1=#1+5

END1

G00Z100

M30

%

三、小结

随着现代制造技术的发展和数控机床的日益普及,数控加工得到广泛应用。对于加工形状简单的零件,计算比较简单,程序不多,采用手工编程较容易完成。因此,在点定位加工及由直线与圆弧组成的轮廓加工中,手工编程仍广泛应用。但对于形状复杂的零件,特别是具有非圆曲线、列表曲线及曲面的零件,用一般的手工编程就有一定的困难,且出错机率大,有的甚至无法编出程序。在CAD/CAM软件普遍应用的今天,手工编程的应用空间日趋缩小。但手工编程是自动编程的基础。宏程序的运用,其最大的特点就是将有规律的形状或尺寸用最短的程序段表示出来,具有极好的易读性和易修改性。

系统参数全清,机床不重新输入参数,就没法正常工作的。没必要,最好不要清除了。如果是要删除全部程序的话,是输入O9999然后DEL。删除系统参数就只有在断电情况下,取掉系统里面的电池。下面3个宏程序能清掉部分参数,因为系统参数的类型是不同的,所以要用到3个。第一个程序是字节轴型的,第二个是字轴型的,第三个是位轴型的。第一个程序遇到其它型的参数就会报警,其余两个程序也是一样的。所以如果你想清除更多的参数的话,可以再报警后将#1=0中0的改成报警时参数号后面一点的号。这3个程序我都没试过(肯定不敢试的),具体能不能成功,就不知道了。再次提醒,更改参数需注意啊!\x0d\O1\x0d\#1=0\x0d\N10 G10 L50\x0d\N[#1] R0\x0d\G11\x0d\#1=#1+10\x0d\IF[#1LE200000] GOTO10\x0d\M30\x0d\\x0d\O2\x0d\#1=0\x0d\N10 G10 L50\x0d\N[#1] P1 R0\x0d\G11\x0d\#1=#1+10\x0d\IF[#1LE200000] GOTO10\x0d\M30\x0d\\x0d\O3\x0d\#1=0\x0d\N10 G10 L50\x0d\N[#1] R00000000\x0d\G11\x0d\#1=#1+10\x0d\IF[#1LE200000] GOTO10\x0d\M30

以上就是关于FANUC 圆锥数控加工中心宏程序全部的内容,包括:FANUC 圆锥数控加工中心宏程序、FANUC0i系统加工中心宏程序怎么做循环指令用、数控铣削宏程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9425044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存