2024年3月23日发(作者:repletion)
宏程序设计
宏程序与子程序类似
,
对编制相同加工的操作可以使程序简化
量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
方便,更灵活。本章以
FANUC
系统为例介绍宏程序设计的内容。
•
同时宏程序中可以使用变
使相同加工操作的程序更
12.1
变量的定义
宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“
指定。变量可分为四种类型。
1.
空变量
#0
为空变量,该变量不能赋值。
2.
局部变量
#1~#33
为局部变量,局部变量只能在宏程序中存储数据。当断电时局部变量被初始化为 空,调用宏
#
”后跟变量的变量号
程序时,自变量对局部变量赋值。局部变量的数值范围
如果计算结果超过该范围则发出
3.
公共变量
P/S
报警
No.111
。
10
-29
~10
47
或
-10
47
~-10
-29
,
#100~#199
、
#500~#999
为公共变量,公共变量在不同的宏程序中意义相同。当断电时, 变量
#100~#199
被初始化为空,变量
#500~#999
的数据不会丢失。全局变量的数值范围
10
-29
~10
47
或
-10
47
~-10
-29
,如
果计算结果超过该范围则发出
4.
系统变量
#1000~
为系统变量,系统变量用于读和写
P/S
报警
No.111 o
CNC
运行时的各种数据,如刀具的当前位置和
补偿值等。
5.
变量与地址(自变量)的对应关系
系统可用两种形式的自变量指定,表
12-1
为自变量指定
I
的自变量与变量的对应关系。
表
12-2
为自变量指宾
II
的自变量与变量的对应关系。
表12-1自变量指定I的变量对应关系
地址(自变量)
A
B
C
D
E
F
H
变量号
#1
#2
#3
#7
#8
#9
#11
地址(自变量)
I
J
K
M
Q
R
S
变量号
#4
#5
#6
#13
#17
#18
#19
地址(自变量)
T
U
V
W
X
Y
Z
变量号
#20
#21
#22
#23
#24
#25
#26
在自变量指定
I
中,
G
、
L
、
0
、
N
、
P
不能用,地址
I
、
J
、
K
必须按顺序使用,其它地址
举例:
G65 P3000 L2 B4 A5 D6 J7 K8
正确(
J
、
K
符合顺序要求)
顺序无要求。
在宏程序中将会把
4
赋给
#2
,把
5
赋给
#1
,把
6
赋给
#7
,把
7
赋给
#5
,把
8
赋给
#6
举例:
G65 P3000 L2 B3 A4 D5 K6 J5
不正确(
J
、
K
不符合顺序要求)
地址(自变量)
A
B
C
I1
J1
K1
I2
J2
K2
I3
J3
表12-2自变量指定II的变量对应关系
变量号 地址(自变量) 变量号
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
#11
K3
I4
J4
K4
I5
J5
K5
I6
J6
K6
I7
#12
#13
#14
#15
#16
#17
#18
#19
#20
#21
22
地址(自变量)
J7
K7
I8
J8
K8
I9
J9
K9
I10
J10
K10
变量号
#23
#24
#25
#26
#27
#28
#29
#30
#31
#32
#33
自变量指定
II
使用
A
、
B
、
C
和
1
次,使用
I
、
J
、
K
各
10
次。
系统能够自动识别自变量指定
I
和自变量指定
II
并赋给宏程序中相应的变量号。 如果自变
量指定
I
和自变量指定
II
混合使用,则后指定的自变量类型有效。
举例:
G65 A1.0 B2.0 I-3.0 I4.0 D5.0 plOOO
宏程序中:
#1:1.0
#220,
#3:
#4:-3.0
#5:
#6:
#7:5.0
说明:
14.0
为自变量指定
II
,
D
为自变量指定
I
,所以
#7
使用指定类型中的
D5.0
,而不使 用自变量
指定
II
中的
14.0
。
6.
本级变量
#1
〜
#33
作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相 同,若在另
一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递, 初始状态下未赋值
的本级变量即为空白变量。
局部变量
#1~#33
(一个宏程序中的同名变量)从
0
到
4
级,主程序是
0
级。每调用一个 含有同名变
量的宏程序,
级别减
1
。
主程序
(
0
级)
O0001
#1=1
;
G65P2A2
;
5 5
级别加
1
,前一级的变量被保存。 当一个宏程序结束(执行
M99
)时,
宏程序
(
1
级)
O0002
#1=2
G65P3A3
5 5
宏程序
(
2
级)
O0003
#1=3
G65P4A4
5 5
宏程序
(
3
级)
O0004
#1=4
G65P5P5
5 5
宏程序
(
4
级)
O0005
#1=5
5 5
M99
例如:
M30 M99 M99 M99
12.2
变量的运算
对宏程序中的变量可以可以进行算术运算和逻辑运算。
1.
算术运算
可以进行加、减、乘、除运算。运算功能和格式如表
举例:
G00X[#1+#2]
X
坐标的值是变量
1
与变量
2
之和。
2.
三角函数计算
12-3
所示。
对宏程序中的变量可进行正弦
示。
(
SIN
八 反正弦(
ASIN
八 余弦(
COS
八 反余弦(
ACOS
)、
正切(
TAN
)、反正切(
ATAN
)函数运算。三角函数中的角度以度为单位。运算功能和格式 如表
12-3
所
表12-3 变量运算功能表
类型 功能
加法
算 术 运
算
减法
乘法
除法
正弦
反正弦
余弦
反余弦
正切
反正切
平方根
绝对值
舍入
上取整
下取整
自然对数
指数对数
逻辑
运算
转换
运算
与
或
异或
BCD 转 BIN
BIN 转 BCD
格式
#i=#j+#k
#i=#j-#k
#i=#j*#k
#I=#j*#k
#i=SIN[#j]
#i=ASI[#j]
#i=COS[#j]
#i=ACOS[#j]
#i=TAN[#j]
#i=ATAN[#j]
#i=SQRT[#j]
#i=ABS[#j]
#i=ROUN[#j]
#i=FIX[#j]
#i=FUP[#j]
#i=LN[#j]
#i=EXP[#j]
#i=#jAND#k
#i=#j OR #k
#i=#j XOR #k
#i=BIN[#j]
#i=BCD[#j]
举例
备注
常数可以代替
变量
角度以度指定
35° 30'
表示为35.5
常数可以代替
变量
#仁
#2+#3
#仁
#2-#3
#仁
#2*#3
#仁
#2/#3
#仁
SIN[#2]
#仁
ASIN[#2]
#仁
COS[#2]
#仁
ACOS[#2]
#仁
TAN[#2]
#仁
ATAN[#2]
#仁
SQRT[#2]
#仁
ABS[#2]
#仁
ROUN[#2]
#1=FIX[#2]
#1=FUP[#2]
#1= LN[#2]
三
角
函
数
运
算
其
它
函
数
运
算
常数可以代替
变量
#仁
EXP[#2]
#仁
#2AND#2
#仁
#2OR#2
#仁
#2XOR#2
#仁
BIN[#2]
#1= BCD[#2]
按位运算
对于反反正弦(
ASIN
)取值范围如下:
当参数(
No.6004#0
)
NAT
位设为
0
时:
270
°
~90
当参数(
No.6004#0
)
NAT
位设为
1
时:
-
90
°
~90
° 当
#j
超出
-1~1
时发出
P/S
报警
No.111
。
对于反余弦(
ACOS
)的取值范围如下:
取值范围
180
°
~0
°
当
#j
超出
-1~1
时发出
P/S
报警
No.111
。
对于反正切(
ATAN
)的取值范围如下:
当参数(
No.6004#0
)
NAT
位设为
0
时:
0
°
~360
° 当参数(
No.6004#0
)
NAT
位设为
1
时:
-
180
°
~180
°
3.
其它函数计算
对宏程序中的变量还可以进行平方根( SQRT)、绝对值(ABS)、舍入(ROUN )、上取整(FIX )、
下取整(FUP)、自然对数(LN八指数(EXP)运算。
运算功能和格式如表
12-3
所示。
对于自然对数
LN[#j]
,相对误差可能大于
10
-8
。当
#j
<
0
时,发出
P/S
报警
NO.111
。
对于批数函数
EXP[#j]
,相对误差可能大于
10
-8
。
当运算结果大于
3
。
65 X 10
47
(
j
大约
110
) 时,出
现溢出并发出
P/S
报警
No.111
。
对于取整函数
ROUN[#j]
,根据最小设定单位四舍五入。
例如,假设最小设定单位为
对值。
例如,假设
#1=1.2
,则
#2=FIX[#1]
的值是
2.0
。
假设
#1=1.2
,则
#2=FUP[#1]
的值是
1.0
。
假设#仁
-1.2
,则
#2=FIX[#1]
的值是
-2.0
。 假设#仁
-1.2
,则
#2=FUP[#1]
的值是
-1.0
。
4.
逻辑运算
1/1000mm
,
#1=1.2345,
则
#2=ROUN[#1]
的值是
1.0
。
FUP
绝对值小于原数的绝 对于上取整
FIF[#j]
,绝对值值大于原数的绝对值。对于下取整
对宏程序中的变量可进行与、或、异或逻辑运算。逻辑运算是按位进行。运算功能和格式 如表
12-3
所示。
5.
数制转换
变量可以在
BCD
码与二进制之间转换。
6.
关系运算
由关系运算符和变量(或表达式)组成表达式。系统中使用的关系运算符如下。
(
1
) 等于(
EQ
)
用
EQ
与两个变量(或表达式)组成表达式,当运算符
时,表达式的值为真,否则为假。
例如,
#1EQ#2
,当
#1
与
#2
相等时,表达式的值为真。
(
2
) 不等于(
NE
)
用
NE
与两个变量或表达式组成表达式,
表达式的值为真,否则为假。
例如,
#1NE#2
,当
#1
与
#2
不相等时,表达式的值为真。
(
3
) 大于等于(
GE
)
用
GE
与两个变量或表达式组成表达式, 当左边的变量(或表达式)大于或等于右边的变
量(或表达式)时,表达式的值为真,否则为假。
例如,
#1GE#2
,当
#1
大于或等于
#2
时,表达式的值为真。否则为假。
(
4
) 大于(
GT
)
用
GT
与两个变量或表达式组成表达式,当左边的变量(或表达式)大于右边的变量(或 表达式)
时,表达式的值为真,否则为假。
例如,
#1GT#2
,当
#1
大于
#2
时,表达式的值为真。否则为假。
(
5
) 小于等于(
LE
)
用
LE
与两个变量或表达式组成表达式,当左边的变量(或表达式)小于或等于右边的变 量(或表
当运算符
NE
两边的变量(或表达式)不相等时,
EQ
两边的变量(或表达式)相等
达式)时,表达式的值为真,否则为假。
例如,
#1LE#2
,当
#1
小于或等于
#2
时,表达式的值为真。否则为假。
(
6
) 小于(
LT
)
用
LT
与两个变量或表达式组成表达式,当左边的变量(或表达式)小于右边的变量(或 表达式)
时,表达式的值为真,否则为假。
例如,
#1GE#2
,当
#1
大于
#2
时,表达式的值为真。否则为假。
7.
运算优先级
运算符的优先顺序是
(
1
)函数。函数的优先级最高。
(
2
)乘、除、与运算。乘、除、与运算的优先级次于函数的优先级。
(
3
)加、减、或、异或运算。加、减、或、异或运算的优先级次于乘、除、与运算。乘、
与运算的优先级。
(
4
)关系运算。关系运算的优先级最低。
用方括号可以改变优先级,括号不能超过
5
层。超过
5
层时,发出
P/S
报警
No.111
。
8.
变量值的精度
变量值的精度为
8
位十进制数。
例如,用赋值语句
#1=9876543210123.456
时,实际上
#1=9876543200000.000
。 用赋值语句
#2=9876543277777.456
时,实际上
#1=9876543300000.000
。
12.3
宏程序结构
宏程序从结构上可以有顺序结构、 分支结构和循环结构。本节介绍分支和循环结构的实现
方法。
1.
无条件转移(
GOTO
)
格式:
GOT On
;
n
为顺序号(
1~9999
)
例如,
GOTO6
;
语句组
N6 G00X100
;
执行
GOTO6
语句时,转去执行标号为
N6
的程序段。
2.
条件转移(
IF
)
格式:
IF[
关系表达式
]
GOTOn
;
例如,
IF[#1LT30]
GOTO7
语句组
N7G00X100X5
如果
#1
大于
30
,转去执行标号为
N7
的程序段,否则执行
GOTO7
下面的语句组。
3.
条件转移(
IF
)
除、
格式:
IF[
表达式
]THEN
THEN
后只能跟一个语句。
例如,
IF[#1EQ#2]THEN#3=0;
当
#1
等于
#2
时,将
0
赋给变量
#3
。
4.
循环(
WHILE
)
格式:
WHILE[
关系表达式
]D0 m;
语句组;
END m
;
当条件表达式成立时执行从
例如,
#1=5
;
WHILE[#1LE30]DO 1
DO
到
END
之间的程序,否则转去执行
END
后面的程序段。
;
#仁
#1+5
;
G00X#1Y#1
;
END 1
;
M99
;
当
#1
小于等于
30
时,执行循环程序,当
#1
大于
30
时结束循环返回主程序。
12.4
宏程序的调用与返回
1.
宏程序的简单调用
宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。
调用指令格式:
G65 P
(宏程序号)
L
(重复次数)(变量分配)
其中:
G65
――宏程序调用指令
P
(宏程序号)一一被调用的宏程序代号;
L
(重复次数)一一宏程序重复运行的次数,重复次数为
1
时,可省略不写;
(变量分配) --- 为宏程序中使用的变量赋值。
宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多嵌套
2.
宏程序的开始与返回
4
层。
宏程序的编写格式与子程序相同。其格式为:
O0010
(
0001
〜
8999
为宏程序号)
N10
……
J J
//
程序名
〃指令
//
宏程序结束
N30 M99
宏程序以程序号开始,以
M99
结束。
12.5
宏程序应用举例
例
1
:加工如图
12-1
所示的椭圆表面,材料为中碳钢。由于一般的数控系统无椭圆插补
功能,手工编程可用宏程序实现编程计算。 本例使用
?20
键槽铳刀分两层铳削, 每一次切削深
度为
5mm
。按刀具刀具轨迹编程。
图12-1椭圆轮廓图
主程序
00001
N0001 G92X0.0Y0.0Z150.0
;
N0002 M03S300
;
N0003 G00X-80.0
;
N0004 G00Z1.0
;
N0005 G01Z0.0F100.0
N0006 G65P0100A80.0B50.0C-5.0
N0007 G65P0100A80.0B50.0C-10.0
N0007 G00Z150.0
;
N0008 G00X0.0Y0.0
;
工件坐标系原点设在工件中心距顶面上
主轴正转,转速
刀具移至椭圆左端点处
快速接近工件
慢速接近工件
椭圆长半轴为
80
,短半轴为
50
。
Z
向进刀
5mm
椭圆长半
轴为
80
,短半轴为
50
。
Z
向进刀
5mm
抬刀
刀具回起点
主轴停
程序结束
N0009 M05
;
宏程序
01000
#10=-#1
;
N1000 G01Z#3
;
WHIL[#10LE#1]DO1
;
#1
仁
SQRT[#1*#1-#10*#10]*#2/#1
#1
为长半轴
=80
,
#2
为短半轴
=50
,
#10
为
X
坐标
#3
为
Z
向进刀深度
X
坐标小于等于
80
循环加工上半椭圆
#11
为
Y
坐标用椭圆公式计算
切削进给
修改
X
坐标,
X+0.05
#1
为长半轴
=80
,
#2
为短半轴
=50
,
#10
为
X
坐标
X
坐标小于等于
80
循环加工下半椭圆
#11
为
Y
坐标用椭圆公式计算
;
N1001 G01X#10Y#11F100.0
;
#10=#10+0.05
;
END1;
#10=#1
;
N1002 G01X#10Y#11F100
;
#10=#10-0.05;
END2;
N1003 M99
切削进给
修改
X
坐标,
X-0.05
返回主程序
例
2
:加工如图
12-2
所示的凹槽表面。零件材料为中碳钢。为保证表面质量,内外轮廓
先粗加工后精加工,粗加工内轮廓时刀补半径比刀具半径大
工的刀补半径与刀具半径相同。工序卡片和刀具卡片见表
0.2m m
,作为精加工余量。精加
12-4
和表
所示。
产品名称或代号
序号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
数控车实训
刀具规格名称
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
?8键槽铣刀
?8键槽铣刀
?8键槽铣刀
?8键槽铣刀
零件名称
数量
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
典型零件3
加工表面
中心岛轮廓粗第1层
深度进刀
中心岛轮廓粗第2层
中心岛轮廓精
矩形凹槽第1层
深度进刀
矩形凹槽第2层
异形凹槽第1层
深度进刀
异形凹槽第2层
凹槽外轮廓粗第1层
深度进刀
凹槽外轮廓粗第2层
凹槽外轮廓精
中心处的上斜面
零件图号
刀具直径
mm
20.0
20.0
20.0
20.0
20.0
20.0
20.0
20.0
20.0
20.0
8.0
8.0
8.0
8.0
20.0
03
备注
刀补号1
刀补号1
刀补号1
刀补号2
无刀补
无刀补
无刀补
无刀补
无刀补
无刀补
刀补号3
刀补号3
刀补号3
刀补号4
刀补号2
刀具号
T01
T01
T01
T01
T01
T01
T01
T01
T01
T01
T02
T02
T02
T02
T01 15 ?20键槽铳刀
16
17
T01
T01
T01
?20键槽铳刀
?20键槽铳刀
?20键槽铳刀
1
1
1
中心处的下斜面
中心处的右斜面
中心处的左斜面
20.0
20.0
20.0
刀补号2
刀补号2
刀补号2
18
单位
名称
工序号
001
工步
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
表12-2 数控加工工序卡
产品名称或代号
北华航天工业学院
程序编号
O0010
工步内容
中心岛轮廓粗第1层
深度进刀
中心岛轮廓粗第2层
中心岛轮廓精
矩形凹槽第1层
深度进刀
矩形凹槽第2层
异形凹槽第1层
深度进刀
异形凹槽第2层
凹槽外轮廓粗第1层
深度进刀
凹槽外轮廓粗第2层
凹槽外轮廓精
中心处的上斜面
中心处的下斜面
中心处的右斜面
中心处的左斜面
数控铣实训
夹具名称
平口钳
刀具号
T01
T01
T01
T01
T01
T01
T01
T01
T01
T01
T02
T02
T02
T02
T01
T01
T01
T01
零件名称
典型零件3
使用设备
XH714
进给速度
mm/min
100
50
100
100
100
50
100
100
50
100
80
50
80
80
100
100
100
100
零件图号
03
车间
实训中心
切削深度
mm
6
6
6
12
刀具规格 主轴转速
mm
?20
?20
?20
?20
?20
?20
20
?20
?20
?20
?8
?8
?8
?8
?20
?20
?20
?20
r/min
300
300
300
300
300
300
300
300
300
300
350
350
350
350
300
300
300
300
备注
D仁 20.4
D仁 20.4
D仁 20.4
D2=20.0
6
6
6
6
6
6
6
6
6
12
计算
计算
计算
计算
D3=8.4
D3=8.4
D3=8.4
D4=8.0
D2=20.0
D2=20.0
D2=20.0
D2=20.0
J ___________________ J
J __________________
丿
图12-4 工步5
〜
工步7的走刀路线图图12-3 工步1
〜
工步4的走刀路线图
图12-5 工步8
〜
工步10的走刀路线图 图12-16 工步5
〜
工步7的走刀路线图
图
12-3
至图
12-6
给出了有关工步的走刀路线图。
主程序
O0100
N0101 G92X0.0Y0.0Z150.0;
N0102 M06T01H01;
N0103 G00Z1.0M03S300.0;
N0104 G00X30.0Y25.0;
N0105 G01Z-6.0F50.0;
N0106 G01X15.0Y15.0G42D1F100.0;
N0107 G65P0200I15.0J15.0;
N0108 G01X30.0Y25.0G40;
N0109 G01Z-12.0F50.0;
N0110 G01X15.0Y15.0G42D1F100.0;
N0111 G65P0200I15.0J15.0;
N0112 G01X30.0Y25.0G40;
N0113 G01X15.0Y15.0G42D2F100.0;
N0114 G65P0200I15.0J15.0;
N0115 G01X30.0Y25.0G40;
N0116 G00Z-6.0;
N0117 G01X35.0Y29.0;
N0118 G65P0200I35.0J29.0;
N0119 G01X30.0Y25.0
N0120 G01Z-12.0F50.0
;
N0121 G01X35.0Y29.0;
N0122 G65P0200I35.0J29.0;
N0123 G01X30.0Y25.0
N0124 G01Z-6.0;
设定坐标系
换第
1
号刀
接近工件起动主轴
进入切削起点
A
Z
向切入工件(粗加工第
1
次深度)
A-B
(
D1
刀补比实际直径大
0.2mm
,右刀补) 调
用切矩形宏程序
回切削起点
A
Z
向切入工件(粗加工第
2
次深度)
A-B
(
D1
刀补比实际直径大
0.2mm
,右刀补) 调
用切矩形宏程序
回切削起点
A
A-B
(
D2
与实际直径相同,精加工)
调用切矩形宏程序
回切削起点
A
抬刀(粗加工第
1
次深度)
A-B
(切削矩形无刀补)
调用矩形宏程序
回切削起点
A
Z
向切入工件(粗加工第
2
次深度)
A-B
(切削矩形无刀补)
调用矩形宏程序
回切削起点
A
切削两端余量(粗加工第
1
次深度)
切第
1
层
回切削起点
A
N0127 G01Z-12.0;
N0128 G65P0300;
N0129 G01X30.0Y25.0
N0130 M06T02H02;
N0131 G01X30.0Y25.0;
N0132 G00Z1.0;
N0133 G01Z-6.0F50.0;
N0134 G01X0.0Y44.0G41D3F100.0;
N0135 G65P0400;
N0136 G01X30.0Y25.0G40;
N0137 G01Z-12.0F50.0;
N0138 G01X0.0,Y44.0G41D3F100.0;
N0139 G65P0400;
N0140 G01X30.0Y25.0G40;
N0141 G01X0.0Y44.0G41D4F100.0
;
N0142 G65P0400;
N0143 G01Z-2;
N0144 G01X30.0Y25.0G40;
N0145 M06T01H01;
N0146 G01X30.0Y0.0G42D2
N0147 G65P0500I30.0J0.0I-30.0J30.0;
N0148 G00Z-2.0;
N0149 G00X30.0Y25.0G40;
N0150 G01X30.0Y0.0G41D2F100.0
;
N0151 G65P0600I30.0J0.0I-30.0J-30.0;
N0152 G00Z1.0;
N0153 G00X30.0Y25.0G40;
N0154 G01Z-2.0 F100.0
N0155 G01X0.0Y30.0G41D2
;
N0156 G65P0700I0.0J30.0I30.0J-30.0;
N0157 G00Z1.0
N0158 G00X30.0Y25.0Z-2G42F100.0;
N0159 G01Z-2.0
N0160 G01X0.0Y30.0G42D2
N0161 G65P0800I0.0J30.0I-30.0J-30.0;
N0162 G00Z150.0;
N0163 G00X0.0Y0.0G42;
N0164 M30;
Z
向进刀(粗加工第
2
次深度) 切第
2
层
回切削起点
A
换第
2
把刀 进入切削起点 接近
工件
切入
6mm
深(粗加工第
1
次深度)
A-B
(切
入曲线轮廓到上部长边的中点) 调曲线轮廓
宏程序
进入切削起点
A
Z
向切入深度
12mm
(粗加工第
2
次深度)
A-B
(切入曲线轮廓到上部长边的中点) 调曲线
轮廓宏程序
回起刀点
A
A-B
(切入到长边中点第
4
号刀补) 调用曲
线轮廓宏程序 抬刀至斜面顶点高度
加工切削起点
A
换第
1
号刀
进入上斜面起点处
加工上斜面
抬刀
回切削起点 进入下斜面起点处 加工下斜面
抬刀
回切削起点
下刀
进入右斜面起点
加工右斜面 抬刀
回切削起点
下刀
进入左斜面起点 加工左斜面
Z
向回初始位置
XY
回坐标原点 程序结束
切削矩形宏程序,直刀路线如图
00200
N0201 G01X-#4F100.0;
N0202 G01Y-#5;
N0203 G01X#4;
N0204 G01Y#5;
N0205 M99;
12-3
和
12-4
所示。
B-C
C-D
D-E
E-B
返回主程序
12-5
所示。 切削内内腔两端余量宏程序,走刀路线如图
00300
N0301 G01X48.0Y29.0F100
;
N0302 G01X-48.0
;
N0303 G01X-35.0Y0.0
;
N0304 G01X-48.0Y-29.0
N0305 G01X48.0
;
N0306 G01X35.0Y0.0
;
N0307 G01X48.0Y29.0;
N0308 M99;
A-B
B-C
C-D
;
D-E
E-F
F-G
G-B
返回主程序
12-6
所示。 切削曲线轮廓宏程序,走刀路线如图
00400
N0401 G01X-53.0F100.0
;
N0402 G03X-63.0Y34.0R10.0
;
N0403 G01Y20.365
;
N0404 G03X-58.8Y12.219R10.0
;
N0405 G02X-58.8Y-12.219R15.0
;
N0406 G03X-63.0Y-20.365R10.0
;
N0407 G01Y-34.0
;
N0408 G03X-53.0Y-44.0R10.0
;
N0409 G01X53.0
;
N0410 G03X63.0Y-34.0R10.0
;
N0411 G01Y-20.219
;
N0412 G03X58.8Y-12.219R10.0
;
N0413 G02X58.8Y12.219R15.0
;
N0414 G03X63.0Y20.365R10.0
;
N0415 G01Y34.0
;
N0416 G03X53.0Y44.0R10.0
;
N0417 G01X0.0
;
B-C
C-D
D-E
E-F
F-G
G-H
H-I
I-J
J-K
K-L
L-M
M-N
N-P
P-Q
Q-R
R-S
S-B
N0418 M99
; 返回主程序
加工上斜面宏程序
00500
Z
初值为
-2
当
Z
值小于
-8
时斜面加工结束
-X
方向
走刀 计算
Z
值 计算
Y
值
斜面插补走刀
+X
方向走刀 循环终止
返回主程序
#1=20;
WHILE[#1GE-8] DO1
N0501 G01X#6
;
#1=#1-0.01*8.0/15.0
;
#5=#5+0.05;
N0502 G01Y#5Z#1;
N0503 G01X#4;
END1;
N0504 M99;
加工下斜面宏程序
00600
#1=-2.0
;
WHILE[#1GE-8] DO1
N0601 G01X#6
;
#1=#1-0.01*8.0/15.0
#5=#5-0.05
;
N0602 G01Y#5Z#1
;
N0603 G01X#4
;
END1
;
N0604 M99
;
加工右斜面宏程序
00700
#1=-2.0
;
WHILE[#1GE-8] DO1
N0701 G01X#7
;
#1=#1-0.01*6.0/15.0
#4=#4+0.05;
N0702 G01X#4Z#1
;
N0703 G01X#5
;
END1;
N0704 M99;
加工左斜面宏程序
00800
#1=-2.0
;
WHILE[#1GE-8] DO1
Z
初值为
-2
当
Z
值小于
-8
时斜面加工结束
-X
方向
走刀 计算
Z
坐标 计算
Y
坐标
斜面插补走刀
+X
方向走刀 循环终止
返回主程序
Z
初值为
-2
当
Z
值小于
-8
时斜面加工结束
-Y
方向
走刀 计算
Z
坐标 计算
X
坐标
斜面插补走刀
+Y
方向走刀 循环终止
返回主程序
Z
初值为
-2
当
Z
值小于
-8
时斜面加工结束
;
;
N0801 G01X#7
;
#1=#1-0.01*6.0/15.0
;
#4=#4-0.05
;
N0802 G01X#4Z#1
;
N0803 G01X#5
;
END1
;
N0804 M99
;
-Y
方向走刀
计算
Z
坐标
计算
X
坐标
斜面插补走刀
+Y
方向走刀
循环终止
返回主程序
发布者:admin,转转请注明出处:http://www.yc00.com/num/1711138603a1862903.html
评论列表(0条)