宏程序.docx

上传人:b****1 文档编号:19775483 上传时间:2023-04-24 格式:DOCX 页数:27 大小:185.30KB
下载 相关 举报
宏程序.docx_第1页
第1页 / 共27页
宏程序.docx_第2页
第2页 / 共27页
宏程序.docx_第3页
第3页 / 共27页
宏程序.docx_第4页
第4页 / 共27页
宏程序.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

宏程序.docx

《宏程序.docx》由会员分享,可在线阅读,更多相关《宏程序.docx(27页珍藏版)》请在冰豆网上搜索。

宏程序.docx

宏程序

FUNNC用户宏程序

用户宏程序

能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。

l所存入的这一系列指令——用户宏程序

l调用宏程序的指令————宏指令

l特点:

使用变量

一.变量的表示和使用

(一)变量表示 

#I(I=1,2,3,…)或#[<式子>]

例:

#5,#109,#501,#[#1+#2-12]

(二)变量的使用 

1.地址字后面指定变量号或公式

格式:

 <地址字>#I

<地址字>-#I

<地址字>[<式子>]

例:

F#103,设#103=15 则为F15

Z-#110,设#110=250 则为Z-250

X[#24+#18*COS[#1]]

2.变量号可用变量代替

例:

#[#30],设#30=3 则为#3

3.变量不能使用地址O,N,I

例:

下述方法下允许

O#1;

I#2 6.00×100.0;

N#3 Z200.0;

4.变量号所对应的变量,对每个地址来说,都有具体数值范围

例:

#30=1100时,则M#30是不允许的

5.#0为空变量,没有定义变量值的变量也是空变量

6.变量值定义:

程序定义时可省略小数点,例:

#123=149

MDI键盘输一.变量的种类

1.局部变量#1~#33

一个在宏程序中局部使用的变量

例:

   A宏程序     B宏程序

      …        …

     #10=20     X#10 不表示X20

      …        …

断电后清空,调用宏程序时代入变量值

2.公共变量#100~#149,#500~#531

各用户宏程序内公用的变量

例:

上例中#10改用#100时,B宏程序中的

 X#100表示X20

#100~#149 断电后清空

#500~#531保持型变量(断电后不丢失)

3.系统变量

固定用途的变量,其值取决于系统的状态

例:

#2001值为1号刀补X轴补偿值

  #5221值为X轴G54工件原点偏置值

入时必须输入小数点,小数点省略时单位为μm

一.运算指令

运算式的右边可以是常数、变量、函数、式子

式中#j,#k也可为常量

式子右边为变量号、运算式

1.定义

#I=#j

2.算术运算

#I=#j+#k

#I=#j-#k

#I=#j*#k

#I=#j/#k

3.逻辑运算

#I=#JOK#k

#I=#JXOK#k

#I=#JAND#k

4.函数

#I=SIN[#j]正弦

#I=COS[#j]余弦

#I=TAN[#j]正切

#I=ATAN[#j]反正切

#I=SQRT[#j] 平方根

#I=ABS[#j] 绝对值

#I=ROUND[#j] 四舍五入化整

#I=FIX[#j] 下取整

#I=FUP[#j] 上取整

#I=BIN[#j] BCD→BIN(二进制)

#I=BCN[#j] BIN→BCD

1.说明

1)角度单位为度

例:

90度30分为90.5度

2)ATAN函数后的两个边长要用“1”隔开

例:

#1=ATAN[1]/[-1]时,#1为了35.0

3)ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入

例:

设#1=1.2345,#2=2.3456,设定单位1μm

G91 X-#1;X-1.235

X-#2 F300;X-2.346

X[#1+#2];X3.580

未返回原处,应改为

X[ROUND[#1]+ROUND[#2]];

4)取整后的绝对值比原值大为上取整,反之为下取整

例:

设#1=1.2,#2=-1.2时

若#3=FUP[#1]时,则#3=2.0

若#3=FIX[#1]时,则#3=1.0

若#3=FUP[#2]时,则#3=-2.0

若#3=FIX[#2]时,则#3=-1.0

5)指令函数时,可只写开头2个字母

例:

ROUND→RO

FIX→FI

6)优先级

函数→乘除(*,1,AND)→加减(+,-,OR,XOR)

例:

#1=#2+#3*SIN[#4];

7)括号为中括号,最多5重,园括号用于注释语句

例:

#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)

一.转移与循环指令

1.无条件的转移

格式:

 GOTO 1;

    GOTO #10;

2.条件转移

格式:

 IF[<条件式>] GOTO n

条件式:

#j EQ#k表示=

#j NE#k表示≠

#j GT#k表示>

#j LT#k表示<

#j GE#k表示≥

#j LE#k表示≤

例:

 IF[#1 GT 10] GOTO 100;

   …

   N100 G00 691 X10;

例:

求1到10之和

  O9500;

  #1=0

  #2=1

  N1 IF [#2 GT10] GOTO 2

  #1=#1+#2;

  #2=#2+1;

  GOTO 1

  N2 M301.循环

格式:

WHILE[<条件式>]DO m;(m=1,2,3)

ENDm

说明:

1.条件满足时,执行DOm到ENDm,则从DOm的程序段

    不满足时,执行DOm到ENDm的程序段

   2.省略WHILE语句只有DOm…ENDm,则从DOm到ENDm之间形成死循环

   3.嵌套

4.EQ NE时,空和“0”不同

其他条件下,空和“0”相同

 例:

求1到10之和

   O0001;

   #1=0;

   #2=1;

   WHILE [#2LE10] DO1;

   #1=#1+#2;

   #2=#2+#1;

   END1;

   M30;

FANUC宏程序条件循环格式

WHILE[。

]DO1

当条件未达到要求时,在此范围内循环;当达到条件时

END1结束,再继续运行下面的程序

END1

条件转换:

LT------小于

LE——小于并等于

GT——大于

GE——大于并等于

一、宏程序下刀

O00001

G54G90G40G0Z20

M3S1000

G0X-70Y-50Z5

#1=-2起始深度为-2

WHILE[#1GE-10]DO1当深度达到大于等于-10时,循环到达END1结束

G1Z#1F200下刀到深度值

G41X-60Y-42D1

Y40

X60

Y-40外形铣削

X-62

G40X-70Y-50

#1=#1-2每循环一次深度下2mm

END1

G90G0Z20

M30

二、铣平面

平面铣削(Ф10刀具)

G54G40G90G0Z20

M3S2400

G0X-70Y-40Z5

G1Z0F600

#1=-40设定#1为Y值,起始值为-40

WHILE[#1LE44]DO1总共6次来回,下面循环1次14mm

X70

Y#1Y方向进给

#1=#1+7走1次增量进给7mm

X-70

Y#1再一次Y方向进给

#1=#1+7再增量Y方向7mm

END1

G90G0Z20

M30

三、椭圆铣削(Ф10刀具)

G54G40G90G0Z20

M3S2400

G0X60Y0Z5

G1Z-5F300

#1=0设定角度为#1,起始角度为0度

WHILE[#1LE360]DO1当角度小于等于360度时,循环结束

#2=COS[#1]*40设#2为X值

#3=SIN[#1]*20设#3为Y值

G42X#2Y#3D1半径补偿到椭圆并铣削椭圆

#1=#1+1每次增量1度

END1

G40X60Y0取消半径补偿

G90G0Z20

M30.

 

四、分层铣削椭圆

G54G40G90G0Z20

M3S2400

G0X60Y0Z5

#10=-1设定#10为深度起始值

WHILE[#10GE-5]DO2当深度等于-5时循环结束

G1Z#10F800下刀到深度

#1=0设定角度为#1,起始角度为0度

WHILE[#1LE360]DO1当角度小于等于360度时,循环结束

#2=COS[#1]*40设#2为X值

#3=SIN[#1]*20设#3为Y值

G42X#2Y#3D1半径补偿到椭圆并铣削椭圆

#1=#1+1每次增量1度

END1

G40X60Y0取消半径补偿

#10=#10-1每铣一次下1mm

END2

G90G0Z20

M30.

五、球刀铣削凸圆球(球心对刀)

G54G40G90G0Z20

M3S3000

G0X40Y0Z40

G1Z0F500

#1=0设定角度为#1变量,起始值为0度

WHILE[#1LE90]DO1当角度小于等于90度时,循环结束

#2=COS[#1]*35设#2为X值

#3=SIN[#1]*35设#3为Y值

G1X#2Z#3F200刀具从下往上进给

G3I-#2F1000每进给一次,铣削圆

#1=#1+1每次增量1度

END1

G90G0Z100

M30

六、平刀铣削凸球面

G54G40G90G0Z20

MS3000

G0X40Y0Z40

G1Z0F300

#1=0设定#1为角度变量,起始值为0度

WHILE[#1LE90]DO1

#2=COS[#1]*30+5X值

#3=SIN[#1]*30Z值

G1X#2Z#3F200

G3I-#2

#1=#1+1

END1

G90G0Z20

M30

 

七、球刀铣削凹球面

G54G40G90G0Z20

M3S3000

G0X0Y0Z20

#1=20#1为角度变量,从工件上方开始铣削

WHILE[#1GE-90]DO1

#2=COS[#1]*25X值

#3=SIN[#1]*25Z值

G1X#2Z#3F300

G3I-#2F1000

#1=#1-1

END1

G90G0Z100

M30

 

八、铣削锥圆台(Ф10平刀)

G54G40G90G0Z20

M3S3000

G0X20Y0Z20

#1=10

#2=0

#3=-30

WHILE[#2LE30]DO1

#4=10-TAN[#1]*#2+5

#5=#2+#3

G1X#4Z#5F200

G42G3I-#4F1000

#2=#2+0.1

END1

G90G0Z20

M30

九、螺旋下刀加工孔

1、不用半径补偿

O0001(Ф12平刀)

G54G90G40G0X0Y0Z20

M3S2200

G1Z0F800

#1=-0.5深度变量

#2=-10总深度

#3=4刀具中心圆半径

X#3走到象限点起刀处

WHILE[#1GE#2]DO1

G2I-#3Z#1

#1=#1-0.5每次下0.5mm

END1

G2I-#3孔底补平

G90G0Z50

M30

2、用半径补偿

O0001(Ф12平刀)

G54G90G40G0X0Y0Z20G3I-#1

M3S2200G90G0Z20

G1Z0F800M30

#1=R孔半径

#2=-0.5深度变量

#3=-10总深度

G41X#1D1补偿到孔半径象限点

WHILE[#2GE#3]DO1

G3I-#1Z#2

#2=#2-0.5

END1

 

十、用G10指令加工倒圆角

格式:

G10L12P01R

G10参数设置

L12半径偏置

L11长度偏置

P01半径偏置补偿号

R半径偏置值(通过公式计算得出)

图形举例:

O0001(R4球刀,球底为对到点)

G54G90G40M3S3000

G0X-68Y0Z20

#1=0角度变量起始值为0

#2=5倒圆角半径

#3=4球刀半径

WHILE[#1LE90]DO1

#4=COS[#1]*[#2+#3]-#2半径偏置值

#5=SIN[#1]*[#2+#3]-[#2+#3]Z值

G1Z#5F1000先下刀到深度

G10L12P1R#4利用半径补偿参数设置

G41X-60Y0D1

Y40,R20

X60,R20

Y-40,R20铣削轮廓

X-60,R20

Y0

G40X-65Y0

#1=#1+1每次增量1度

END1循环结束

G90G0Z20

M30

 

十一、G10指令加工凸半圆球,平刀加工(Ф10平刀)

G54G90G40M3S1200

G0X30Y0Z10

#1=0角度变量起始值为0

WHILE[#1LE90]DO1

#4=COS[#1]*20+5-20刀具半径偏置值D

#5=SIN[#1]*20-20Z值

G1Z#5F1000下刀

G10L12P1R#4

G41X20Y0D1

补偿铣圆

G3I-20

#1=#1+1

END1

G90G0Z20

M30

 

十二、G10指令加工锥台(Ф10平刀)

O0001

G54G40G90M3S2500

G0X-60Y0Z10

#1=10角度值

#2=0高度变量起始值为0

#3=-30总深度

WHILE[#2LE30]DO1

#4=5-TAN[#1]*#2刀具半径偏置值D

#5=#2+#3深度值

G1Z#5F1000从下到上铣削

G10L12P1R#4

G41X-50Y0D1

Y30,R10

X60,R10

Y-30,R10铣削轮廓

X-60,R10

Y30

G40X-55Y0

#1=#2+0.1每次增量0.1mm

END1

G90G0Z20M30

十三、用G10指令加工锥度。

圆角不变,平刀加工

O0001

G54G40G90M3S2500

G0X-60Y0Z10

#1=10角度值

#2=0高度变量起始值为0

#3=-30

WHILE[#2LE30]DO1

#4=5-TAN[#1]*#2刀具半径偏置值D

#5=#2+#3深度值

#6=10+TAN[#1]*#2当每次上升一个高度往轮廓补偿进多少,铣圆角就退出多少

G1Z#5F1000从下到上铣削

G10L12P1R#4

G41X-50Y0D1

Y30,R#6

X60,R#6

Y-30,R#6铣削轮廓

X-60,R#6

Y30

G40X-55Y0

#1=#2+0.1每次增量0.1mm

END1

G90G0Z20

M30

 

十四、用G10指令加工四面锥度,两面角度不一样,平刀加工

O0001(Ф10平刀)

G54G40G90M3S2500

G0X-60Y-40Z10

#1=15Y方向角度

#2=10X方向角度

#3=0高度变量起始值为0

#4=-30总深度

WHILE[#3LE30]DO1

#5=5-TAN[#1]*#3半径偏置值D,以X方向为基准

#6=#3+#4深度值

#7=#3*[TAN[#1]-TAN[#2]]两角度半径偏值差值

G1Z#6F1000

G10L12P1R#5

G42X-52Y-[30+#7]D1加上半径偏值的差值

X50

Y[30+#7]

X-50

Y-32

G40X-55Y-35

#3=#3+0.1

END1

G90G0Z50

M30

 

十五、用平底刀加工锥度椭圆

O0001(Ф10平刀)

G54G40G90M3S2500

G0X60Y0Z20

#1=10

#2=0

#3=-30

WHILE[#2LE30]DO1

#4=5-TAN[#1]*#2

#5=#2+#3

G1Z#5F1000

G10L12P1R#4

#10=0

WHILE[#10LE360]DO2

#11=50*COS[#10]

#12=30*SIN[#10]铣椭圆程序

G42X#11Y#12D1

#10=#10+1

END2

#2=#2+0.1

END1

G90G0Z20

M30

 

十六、用球刀加工椭圆倒圆角

O0001(Ф10球刀)

G54G40G90M3S2500

G0X60Y0Z20

#1=0

WHILE[#1LE90]DO1

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

#3=SIN[#1]*15-15

G1Z#3F1000

G10L12P1R#2

#10=0

WHILE[#10LE360]DO2

#11=50*COS[#10]

#12=30*SIN[#10]

G42X#11Y#12D1

#10=#10+1

END2

#1=#1+1

END1

G90G0Z20

M30

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1