宏 程 序 设 计
宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。使相同加工操作的程序更方便,更灵活。本章以FANUC系统为例介绍宏程序设计的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。
12.1 变量的定义
宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。变量可分为四种类型。
1. 空变量
#0为空变量,该变量不能赋值。
2. 局部变量
#1~#33为局部变量,局部变量只能在宏程序中存储数据。当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3. 公共变量
#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4. 系统变量
#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿 值等。
5. 变量与地址(自变量)的对应关系
系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1 自变量指定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
在自变量指定I中,G、L、O、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不符合顺序要求)
表12-2 自变量指定II的变量对应关系
地址(自变量)
变量号
地址(自变量)
变量号
地址(自变量)
变量号
A
#1
K3
#12
J7
#23
B
#2
I4
#13
K7
#24
C
#3
J4
#14
I8
#25
I1
#4
K4
#15
J8
#26
J1
#5
I5
#16
K8
#27
K1
#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
自变量指定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 p1000
宏程序中:
#1:1.0
#2:2.0,
#3:
#4:-3.0
#5:
#6:
#7:5.0
说明:I4.0为自变量指定II,D为自变量指定I,所以#7使用指定类型中的D5.0,而不使用自变量指定II中的I4.0。
6. 本级变量#1~#33
作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量。
局部变量#1~#33(一个宏程序中的同名变量)从0到4级,主程序是0级。每调用一个含有同名变量的宏程序,级别加1,前一级的变量被保存。当一个宏程序结束(执行M99)时,级别减1。
例如:
主程序
宏程序
宏程序
宏程序
宏程序
(0级)
(1级)
(2级)
(3级)
(4级)
O0001
O0002
O0003
O0004
O0005
#1=1;
#1=2
#1=3
#1=4
#1=5
G65P2A2;
G65P3A3
G65P4A4
G65P5P5
……
……
……
……
……
M99
M30
M99
M99
M99
12.2 变量的运算
对宏程序中的变量可以可以进行算术运算和逻辑运算。
1. 算术运算
可以进行加、减、乘、除运算。运算功能和格式如表12-3所示。
举例:G00X[#1+#2]
X坐标的值是变量1与变量2之和。
2. 三角函数计算
对宏程序中的变量可进行正弦(SIN)、反正弦(ASIN)、余弦(COS)、反余弦(ACOS)、正切(TAN)、反正切(ATAN)函数运算。三角函数中的角度以度为单位。运算功能和格式如表12-3所示。
表12-3 变量运算功能表
类型
功能
格式
举例
备注
算
术
运
算
加法
#i=#j+#k
#1=#2+#3
常数可以代替变量
减法
#i=#j-#k
#1=#2-#3
乘法
#i=#j*#k
#1=#2*#3
除法
#I=#j*#k
#1=#2/#3
三
角
函
数
运
算
正弦
#i=SIN[#j]
#1=SIN[#2]
角度以度指定35°30’
表示为35.5
常数可以代替变量
反正弦
#i=ASI[#j]
#1=ASIN[#2]
余弦
#i=COS[#j]
#1=COS[#2]
反余弦
#i=ACOS[#j]
#1=ACOS[#2]
正切
#i=TAN[#j]
#1=TAN[#2]
反正切
#i=ATAN[#j]
#1=ATAN[#2]
其
它
函
数
运
算
平方根
#i=SQRT[#j]
#1=SQRT[#2]
常数可以代替变量
绝对值
#i=ABS[#j]
#1=ABS[#2]
舍入
#i=ROUN[#j]
#1=ROUN[#2]
上取整
#i=FIX[#j]
#1=FIX[#2]
下取整
#i=FUP[#j]
#1=FUP[#2]
自然对数
#i=LN[#j]
#1=LN[#2]
指数对数
#i=EXP[#j]
#1=EXP[#2]
逻辑
运算
与
#i=#jAND#k
#1=#2AND#2
按位运算
或
#i=#j OR #k
#1=#2OR#2
异或
#i=#j XOR #k
#1=#2XOR#2
转换运算
BCD转BIN
#i=BIN[#j]
#1=BIN[#2]
BIN转BCD
#i=BCD[#j]
#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×1047(j大约110)时,出现溢出并发出P/S报警No.111。
对于取整函数ROUN[#j],根据最小设定单位四舍五入。
例如,假设最小设定单位为1/1000mm,#1=1.2345,则#2=ROUN[#1]的值是1.0。
对于上取整FIF[#j],绝对值值大于原数的绝对值。对于下取整FUP绝对值小于原数的绝对值。
例如,假设#1=1.2,则#2=FIX[#1]的值是2.0。
假设#1=1.2,则#2=FUP[#1]的值是1.0。
假设#1=-1.2,则#2=FIX[#1]的值是-2.0。
假设#1=-1.2,则#2=FUP[#1]的值是-1.0。
4. 逻辑运算
对宏程序中的变量可进行与、或、异或逻辑运算。逻辑运算是按位进行。运算功能和格式如表12-3所示。
5. 数制转换
变量可以在BCD码与二进制之间转换。
6. 关系运算
由关系运算符和变量(或表达式)组成表达式。系统中使用的关系运算符如下。
(1)等于(EQ)
用EQ与两个变量(或表达式)组成表达式,当运算符EQ两边的变量(或表达式)相等时,表达式的值为真,否则为假。
例如,#1EQ#2,当#1与#2相等时,表达式的值为真。
(2)不等于(NE)
用NE与两个变量或表达式组成表达式,当运算符NE两边的变量(或表达式)不相等时,表达式的值为真,否则为假。
例如,#1NE#2,当#1与#2不相等时,表达式的值为真。
(3)大于等于(GE)
用GE与两个变量或表达式组成表达式,当左边的变量(或表达式)大于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#1GE#2,当#1大于或等于#2时,表达式的值为真。否则为假。
(4)大于(GT)
用GT与两个变量或表达式组成表达式,当左边的变量(或表达式)大于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#1GT#2,当#1大于#2时,表达式的值为真。否则为假。
(5)小于等于(LE)
用LE与两个变量或表达式组成表达式,当左边的变量(或表达式)小于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。
例如,#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)
格式:GOTOn;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[关系表达式]DO m;
语句组;
END m;
当条件表达式成立时执行从DO到END之间的程序,否则转去执行END后面的程序段。
例如,#1=5;
WHILE[#1LE30]DO 1;
#1=#1+5;
G00X#1Y#1;
END 1;
M99;
当#1小于等于30时,执行循环程序,当#1大于30时结束循环返回主程序。
12.4 宏程序的调用与返回
1. 宏程序的简单调用
宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。
调用指令格式: G65 P(宏程序号) L(重复次数)(变量分配)
其中:G65——宏程序调用指令
P(宏程序号)——被调用的宏程序代号;
L(重复次数)——宏程序重复运行的次数,重复次数为1时,可省略不写;
(变量分配)——为宏程序中使用的变量赋值。
宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多嵌套4层。
2. 宏程序的开始与返回
宏程序的编写格式与子程序相同。其格式为:
O0010(0001~8999为宏程序号) //程序名
N10 …… //指令
……
N30 M99 //宏程序结束
宏程序以程序号开始,以M99结束。
12.5 宏程序应用举例
例1:加工如图12-1所示的椭圆表面,材料为中碳钢。由于一般的数控系统无椭圆插补功能,手工编程可用宏程序实现编程计算。本例使用Ø20键槽铣刀分两层铣削,每一次切削深度为5mm。按刀具刀具轨迹编程。
图12-1 椭圆轮廓图
主程序
O0001
N0001 G92X0.0Y0.0Z150.0;
工件坐标系原点设在工件中心距顶面上
N0002 M03S300;
主轴正转,转速
N0003 G00X-80.0;
刀具移至椭圆左端点处
N0004 G00Z1.0;
快速接近工件
N0005 G01Z0.0F100.0
慢速接近工件
N0006 G65P0100A80.0B50.0C-5.0
椭圆长半轴为80,短半轴为50。Z向进刀5mm
N0007 G65P0100A80.0B50.0C-10.0
椭圆长半轴为80,短半轴为50。Z向进刀5mm
N0007 G00Z150.0;
抬刀
N0008 G00X0.0Y0.0;
刀具回起点
N0009 M05;
主轴停
N0010 M30;
程序结束
宏程序
O1000
#10=-#1;
#1为长半轴=80,#2为短半轴=50,#10为X坐标
N1000 G01Z#3;
#3为Z向进刀深度
WHIL[#10LE#1]DO1;
X坐标小于等于80循环加工上半椭圆
#11=SQRT[#1*#1-#10*#10]*#2/#1;
#11为Y坐标用椭圆公式计算
N1001 G01X#10Y#11F100.0;
切削进给
#10=#10+0.05;
修改X坐标,X+0.05
END1;
#10=#1;
#1为长半轴=80,#2为短半轴=50,#10为X坐标
WHIL[#10GE-#1]DO2;
X坐标小于等于80循环加工下半椭圆
#11=-SQRT[#1*#1-#10*#10]*#2/#1;
#11为Y坐标用椭圆公式计算
N1002 G01X#10Y#11F100;
切削进给
#10=#10-0.05;
修改X坐标,X-0.05
END2;
N1003 M99
返回主程序
例2:加工如图12-2所示的凹槽表面。零件材料为中碳钢。为保证表面质量,内外轮廓先粗加工后精加工,粗加工内轮廓时刀补半径比刀具半径大0.2mm,作为精加工余量。精加工的刀补半径与刀具半径相同。工序卡片和刀具卡片见表12-4和表12-5所示。
图12-2 凹槽表面零件
表12-1 实例3用刀具卡片
产品名称或代号
数控车实训
零件名称
典型零件3
零件图号
03
序号
刀具号
刀具
规格
视频线规格配置磁共振要求常用水泵型号参数扭矩规格钢结构技术规格书
名称
数量
加工表面
刀具直径
mm
备注
1
T01
Ø20键槽铣刀
1
中心岛轮廓粗第1层
20.0
刀补号1
2
T01
Ø20键槽铣刀
1
深度进刀
20.0
刀补号1
3
T01
Ø20键槽铣刀
1
中心岛轮廓粗第2层
20.0
刀补号1
4
T01
Ø20键槽铣刀
1
中心岛轮廓精
20.0
刀补号2
5
T01
Ø20键槽铣刀
1
矩形凹槽第1层
20.0
无刀补
6
T01
Ø20键槽铣刀
1
深度进刀
20.0
无刀补
7
T01
Ø20键槽铣刀
1
矩形凹槽第2层
20.0
无刀补
8
T01
Ø20键槽铣刀
1
异形凹槽第1层
20.0
无刀补
9
T01
Ø20键槽铣刀
1
深度进刀
20.0
无刀补
10
T01
Ø20键槽铣刀
1
异形凹槽第2层
20.0
无刀补
11
T02
Ø8键槽铣刀
1
凹槽外轮廓粗第1层
8.0
刀补号3
12
T02
Ø8键槽铣刀
1
深度进刀
8.0
刀补号3
13
T02
Ø8键槽铣刀
1
凹槽外轮廓粗第2层
8.0
刀补号3
14
T02
Ø8键槽铣刀
1
凹槽外轮廓精
8.0
刀补号4
15
T01
Ø20键槽铣刀
1
中心处的上斜面
20.0
刀补号2
16
T01
Ø20键槽铣刀
1
中心处的下斜面
20.0
刀补号2
17
T01
Ø20键槽铣刀
1
中心处的右斜面
20.0
刀补号2
18
T01
Ø20键槽铣刀
1
中心处的左斜面
20.0
刀补号2
表12-2 数控加工工序卡
单位
名称
北华航天工业学院
产品名称或代号
零件名称
零件图号
数控铣实训
典型零件3
03
工序号
程序编号
夹具名称
使用设备
车间
001
O0010
平口钳
XH714
实训中心
工步
工步内容
刀具号
刀具规格
mm
主轴转速
r/min
进给速度
mm/min
切削深度
mm
备注
1
中心岛轮廓粗第1层
T01
Ø20
300
100
6
D1=20.4
2
深度进刀
T01
Ø20
300
50
6
D1=20.4
3
中心岛轮廓粗第2层
T01
Ø20
300
100
6
D1=20.4
4
中心岛轮廓精
T01
Ø20
300
100
12
D2=20.0
5
矩形凹槽第1层
T01
Ø20
300
100
6
6
深度进刀
T01
Ø20
300
50
6
7
矩形凹槽第2层
T01
Ø20
300
100
6
8
异形凹槽第1层
T01
Ø20
300
100
6
9
深度进刀
T01
Ø20
300
50
6
10
异形凹槽第2层
T01
Ø20
300
100
6
11
凹槽外轮廓粗第1层
T02
Ø8
350
80
6
D3=8.4
12
深度进刀
T02
Ø8
350
50
6
D3=8.4
13
凹槽外轮廓粗第2层
T02
Ø8
350
80
6
D3=8.4
14
凹槽外轮廓精
T02
Ø8
350
80
12
D4=8.0
15
中心处的上斜面
T01
Ø20
300
100
计算
D2=20.0
16
中心处的下斜面
T01
Ø20
300
100
计算
D2=20.0
17
中心处的右斜面
T01
Ø20
300
100
计算
D2=20.0
18
中心处的左斜面
T01
Ø20
300
100
计算
D2=20.0
图12-3 工步1~工步4的走刀路线图 图12-4 工步5~工步7的走刀路线图
图12-5 工步8~工步10的走刀路线图 图12-16 工步5~工步7的走刀路线图
图12-3至图12-6给出了有关工步的走刀路线图。
主程序
O0100
N0101 G92X0.0Y0.0Z150.0;
设定坐标系
N0102 M06T01H01;
换第1号刀
N0103 G00Z1.0M03S300.0;
接近工件起动主轴
N0104 G00X30.0Y25.0;
进入切削起点A
N0105 G01Z-6.0F50.0;
Z向切入工件(粗加工第1次深度)
N0106 G01X15.0Y15.0G42D1F100.0;
A-B(D1刀补比实际直径大0.2mm,右刀补)
N0107 G65P0200I15.0J15.0;
调用切矩形宏程序
N0108 G01X30.0Y25.0G40;
回切削起点A
N0109 G01Z-12.0F50.0;
Z向切入工件(粗加工第2次深度)
N0110 G01X15.0Y15.0G42D1F100.0;
A-B(D1刀补比实际直径大0.2mm,右刀补)
N0111 G65P0200I15.0J15.0;
调用切矩形宏程序
N0112 G01X30.0Y25.0G40;
回切削起点A
N0113 G01X15.0Y15.0G42D2F100.0;
A-B(D2与实际直径相同,精加工)
N0114 G65P0200I15.0J15.0;
调用切矩形宏程序
N0115 G01X30.0Y25.0G40;
回切削起点A
N0116 G00Z-6.0;
抬刀(粗加工第1次深度)
N0117 G01X35.0Y29.0;
A-B(切削矩形无刀补)
N0118 G65P0200I35.0J29.0;
调用矩形宏程序
N0119 G01X30.0Y25.0
回切削起点A
N0120 G01Z-12.0F50.0;
Z向切入工件(粗加工第2次深度)
N0121 G01X35.0Y29.0;
A-B(切削矩形无刀补)
N0122 G65P0200I35.0J29.0;
调用矩形宏程序
N0123 G01X30.0Y25.0
回切削起点A
N0124 G01Z-6.0;
切削两端余量(粗加工第1次深度)
N0125 G65P0300;
切第1层
N0126 G01X30.0Y25.0
回切削起点A
N0127 G01Z-12.0;
Z向进刀(粗加工第2次深度)
N0128 G65P0300;
切第2层
N0129 G01X30.0Y25.0
回切削起点A
N0130 M06T02H02;
换第2把刀
N0131 G01X30.0Y25.0;
进入切削起点
N0132 G00Z1.0;
接近工件
N0133 G01Z-6.0F50.0;
切入6mm深(粗加工第1次深度)
N0134 G01X0.0Y44.0G41D3F100.0;
A-B(切入曲线轮廓到上部长边的中点)
N0135 G65P0400;
调曲线轮廓宏程序
N0136 G01X30.0Y25.0G40;
进入切削起点A
N0137 G01Z-12.0F50.0;
Z向切入深度12mm(粗加工第2次深度)
N0138 G01X0.0,Y44.0G41D3F100.0;
A-B(切入曲线轮廓到上部长边的中点)
N0139 G65P0400;
调曲线轮廓宏程序
N0140 G01X30.0Y25.0G40;
回起刀点A
N0141 G01X0.0Y44.0G41D4F100.0;
A-B(切入到长边中点第4号刀补)
N0142 G65P0400;
调用曲线轮廓宏程序
N0143 G01Z-2;
抬刀至斜面顶点高度
N0144 G01X30.0Y25.0G40;
加工切削起点A
N0145 M06T01H01;
换第1号刀
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;
Z向回初始位置
N0163 G00X0.0Y0.0G42;
XY回坐标原点
N0164 M30;
程序结束
切削矩形宏程序,直刀路线如图12-3和12-4所示。
O0200
N0201 G01X-#4F100.0;
B-C
N0202 G01Y-#5;
C-D
N0203 G01X#4;
D-E
N0204 G01Y#5;
E-B
N0205 M99;
返回主程序
切削内内腔两端余量宏程序,走刀路线如图12-5所示。
O0300
N0301 G01X48.0Y29.0F100;
A-B
N0302 G01X-48.0;
B-C
N0303 G01X-35.0Y0.0;
C-D
N0304 G01X-48.0Y-29.0;
D-E
N0305 G01X48.0;
E-F
N0306 G01X35.0Y0.0;
F-G
N0307 G01X48.0Y29.0;
G-B
N0308 M99;
返回主程序
切削曲线轮廓宏程序,走刀路线如图12-6所示。
O0400
N0401 G01X-53.0F100.0;
B-C
N0402 G03X-63.0Y34.0R10.0;
C-D
N0403 G01Y20.365;
D-E
N0404 G03X-58.8Y12.219R10.0;
E-F
N0405 G02X-58.8Y-12.219R15.0;
F-G
N0406 G03X-63.0Y-20.365R10.0;
G-H
N0407 G01Y-34.0;
H-I
N0408 G03X-53.0Y-44.0R10.0;
I-J
N0409 G01X53.0;
J-K
N0410 G03X63.0Y-34.0R10.0;
K-L
N0411 G01Y-20.219;
L-M
N0412 G03X58.8Y-12.219R10.0;
M-N
N0413 G02X58.8Y12.219R15.0;
N-P
N0414 G03X63.0Y20.365R10.0;
P-Q
N0415 G01Y34.0;
Q-R
N0416 G03X53.0Y44.0R10.0;
R-S
N0417 G01X0.0;
S-B
N0418 M99;
返回主程序
加工上斜面宏程序
O0500
#1=-2.0;
Z初值为-2
WHILE[#1GE-8] DO1;
当Z值小于-8时斜面加工结束
N0501 G01X#6;
-X方向走刀
#1=#1-0.01*8.0/15.0;
计算Z值
#5=#5+0.05;
计算Y值
N0502 G01Y#5Z#1;
斜面插补走刀
N0503 G01X#4;
+X方向走刀
END1;
循环终止
N0504 M99;
返回主程序
加工下斜面宏程序
O0600
#1=-2.0;
Z初值为-2
WHILE[#1GE-8] DO1;
当Z值小于-8时斜面加工结束
N0601 G01X#6;
-X方向走刀
#1=#1-0.01*8.0/15.0;
计算Z坐标
#5=#5-0.05;
计算Y坐标
N0602 G01Y#5Z#1;
斜面插补走刀
N0603 G01X#4;
+X方向走刀
END1;
循环终止
N0604 M99;
返回主程序
加工右斜面宏程序
O0700
#1=-2.0;
Z初值为-2
WHILE[#1GE-8] DO1
当Z值小于-8时斜面加工结束
N0701 G01X#7;
-Y方向走刀
#1=#1-0.01*6.0/15.0;
计算Z坐标
#4=#4+0.05;
计算X坐标
N0702 G01X#4Z#1;
斜面插补走刀
N0703 G01X#5;
+Y方向走刀
END1;
循环终止
N0704 M99;
返回主程序
加工左斜面宏程序
O0800
#1=-2.0;
Z初值为-2
WHILE[#1GE-8] DO1;
当Z值小于-8时斜面加工结束
N0801 G01X#7;
-Y方向走刀
#1=#1-0.01*6.0/15.0;
计算Z坐标
#4=#4-0.05;
计算X坐标
N0802 G01X#4Z#1;
斜面插补走刀
N0803 G01X#5;
+Y方向走刀
END1;
循环终止
N0804 M99;
返回主程序
练习
飞向蓝天的恐龙练习非连续性文本练习把字句和被字句的转换练习呼风唤雨的世纪练习呼风唤雨的世纪课后练习
与思考
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
1. 哪些字符不适合用于宏程序中文字变量。
2.宏程序中,有哪些变量类型,其含义如何?
3. 编程练习。采用XH714加工中心加工图1所示的孔。试编写主程序和宏程序。
图1 加工孔练习
PAGE
1