西门子840d系统 落地式镗铣床用宏程序铣球形圆弧

西门子840d系统 落地式镗铣床用宏程序铣球形圆弧,第1张

看到这回答我才知道什么叫天外有天,时间过了这么久,但不说就和凯是对你不负责任。

假设这个图是一个直径100的孔和一个长100宽60拐角是R10的圆弧角的唤友唤长方形,圆心到长方形的一条长边距离160,主程序跑坐标子程序加工。下面用最简单的宏程序说明一下:

零点放直径100圆心,用直径20刀,铣100圆和R10的圆弧角省换刀。此为一刀切,子程也没功夫编。

G54G64G90G0Z50

R1=100/2-10 R2=60/2-10R3=1

S500M03F1000

AA:

X0Y0

Z=R3

L1 调用子程序

G0Z50提刀至安全高度

TRANS X190坐标系绝对平移,坐标轴X有效

X0 X轴重定位,用G111也可以。

Z1

L2子程告信序加工长方形

G0Z50

M30 程序结束

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

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

一、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’表示为90.5度

反正弦

#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 = #12*COS[#3]

#6 = #12*SIN[#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)=15.349º

起始位置X值=34*COS(15.349)+6=38.787

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

4、变量定义:

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

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

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

%

O300

M03S3000;

G00G90G54Z100.;

#1=15.349

X50.Y0;

Z10.;

WHILE[#1 LE 90] DO1;

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

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

G01Z#3F900

X#2

G02X#2Y0I-#2J0

#1=#1+1

END1

G00Z100.

M30

%

(四)宏程序示例II

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

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

G00X2.5Y26.664

G01G41D01X-8.991Y2.023

G03X2.5Y-3.336I11.491J9.641

X32.969Y-.208I0.J150.

G02X44.955Y-10.952I2.031J-9.792

G03Y-49.048I199.09J-19.048

G02X33.452Y-59.88I-9.955J-.952

G03X-28.452I-30.952J-197.59

G02X-39.922Y-48.75I-1.548J9.88

G03Y-11.25I-148.823J18.75

G02X-27.969Y-.208I9.922J1.25

G03X2.5Y-3.336I30.469J146.872

X13.991Y2.023I0.J15.

G40G01X2.5Y26.664

编程思路:

利用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

X2.5Y26.64

Z5.

WHILE [#1 LE 90] DO1

#2= COS[#1]*15-5

#3= SIN[#1]

*[5+10]-5-10

G10L12P1R#2

G01Z#3F900

G00X2.5Y26.664

G01G41D01X-8.991Y2.023

G03X2.5Y-3.336I11.491J9.641

X32.969Y-.208I0.J150.

G02X44.955Y-10.952I2.031

J-9.792

G03Y-49.048I199.09J-19.048

G02X33.452Y-59.88I-9.955J-.952

G03X-28.452I-30.952J-197.59

G02X-39.922Y-48.75I-1.548J9.88

G03Y-11.25I-148.823J18.75

G02X-27.969Y-.208I9.922J1.25

G03X2.5Y-3.336I30.469J146.87

X13.991Y2.023I0.J15.

G40G01X2.5Y26.664

#1=#1+5

END1

G00Z100.

M30

%

三、小结

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

关于宏程序编程,步骤细致复杂,要对宏程序有相当的了解。

举一个例题如下:

1、例如加工一个长半轴30,短半轴20一个椭圆,椭圆不是圆弧,所以我们不能用圆弧的方式来加椭圆,这里我们用一小段一小段的直线来拼接这个椭圆。

2、椭圆的基本公式拍森为x^2/a^2+y^2/b^2=1 (a>b>0)  焦点在X上这是车床上用的方程。a乘以cosx=x   b乘以sinx=y这是CNC加工中心用的角度公式。

#号在机床编程中也是一种编程语言

3、一般我们将它分为两类可变量不可变量,就是说有些#号代表的意思是会变化的,一般用字母来替代条件字符 EQ等于  NE不等于  GT 大于 GE 大于或等于    LT小于  LE小于或等于  。

拿上面的例题来进行讲解

1、O0001   程序名

T01 M6 换一号刀具

G90 G54 G00 X0 Y0 M03S3000  快速定位 主轴旋转

G43 Z100 H01 建腔贺培立长度补偿

Z10 M08 打开冷却液

G00X70Y0

G01 Z-5 F200 下刀Z方向

#1=30长半轴

#2=20短半轴

#3=0起始角度

#4=360 终止角度

#5=1角度增量 数值越小精度越高

WHILE[#3LE#4]DO1

#6=#1*COS[#3]

#7=#2*sin[#3]

G01 X[#6]  Y[#7]

#3=#3+#5

END1

2、WHILE---DON 

------

---

ENDN

这是一个固定循环格式只要括号中条件满足,它就会无限的循环反之条件不满足循环会被自动结束。

3、建议在学习的时候,最好下载一个仿真软件这样有助快伍唯速的学会并使用,建议使用斯沃仿真。VERICUT是仿真当中最为强悍的,不适合新手,当然如果有这方面的经验可以更好的学习VERICUT。


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

原文地址: http://outofmemory.cn/yw/12344101.html

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

发表评论

登录后才能评论

评论列表(0条)

保存