宏程序编程实例与技巧方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#1000 ——
#500 #999 的数据保存即使断 电也不丢失 系统变量 系统变量用于读和写CNC 系统变量用于读和写CNC 运行 时各种数据的变化例如刀具的当 前位置和补偿值等
4
数 控 加 工 编 程 及 操 作
单 元 宏
三、刀具补偿存储器C 三、刀具补偿存储器C用G10 指令进行设定
H代码的几何补偿值 D代码的几何补偿值 H代码的磨损补偿值 D代码的磨损补偿值
1
数 控 加 工 编 程 及 操 作
单 元 宏
பைடு நூலகம்
•FANUC数控系统用户宏程序 FANUC数控系统用户宏程序
一、构成
1. 包含变量 2. 包含算术或逻辑运算(=)的程序段
用 户 宏 程 序 编 程
下午1时 分 下午 时38分
3. 包含控制语句(例如:GOTO,DO,END)的程序段 4.包含宏程序调用指令(G65,G66,G67或其他G代码, M代码调用宏程序)的程序段
用 户 宏 程 序 编 程
下午1时 分 下午 时38分
含义 等于 不等于 大于 大于或等于 小于 小于或等于
10
数 控 加 工 编 程 及 操 作
单 元 宏
FANUC数控车削宏程序 FANUC数控车削宏程序
1. 概念:
下午1时 分 下午 时38分
用 户 宏 程 序 编 程
“宏程序”一般指含有变量的程序。由宏程 序体和程序中调用宏程序的指令。即宏指令 构成。主要应用于抛物线、椭圆、双去想等 各种数控系统没有插补指令的轮廓曲线编程。 用户宏程序有两个要点:(1)在宏程序中存 用户宏程序有两个要点:(1)在宏程序中存 在变量;(2 在变量;(2)宏程序能依据变量完成某个 具体操作。
18
数 控 加 工 编 程 及 操 作
单 元 宏
宏程序零件编制实例
1.抛物线宏程序的应用 1.抛物线宏程序的应用 如图所示。已知前端椭 圆的方程为抛物线,Z=圆的方程为抛物线,Z=X2/24.2。 X2/24.2。 设X轴步距为0.06,原始 轴步距为0.06,原始 毛坯为Φ30 70,T01为 毛坯为Φ30×70,T01为 Φ30× 粗车刀,T02为精车刀, 粗车刀,T02为精车刀, 各部分尺寸见图1 各部分尺寸见图1,试编 写加工程序。 用 户 宏 程 序 编 程 计算抛物线线底的直径: 将Z=20代入,的直径为 Z=20代入,的直径为 Φ22mm。 Φ22mm。
下午1时 分 下午 时38分
用 户 宏 程 序 编 程
20
数 控 加 工 编 程 及 操 作
单 元 宏 O0009 #1=0; #1=0; #2=0; #2=0; WHILE #2 LE 20;判定z轴是否到终点 20;判定z #2=[#1]* #2=[#1]*[#1]/24.2; z轴变量 z轴变量 G01 X[#1+#60]Z[-[#2]] F0.2;抛物线插补; X[#1+#60]Z[F0.2;抛物线插补; #1=#1+0.06;设定x轴的步距为0.06; #1=#1+0.06;设定x轴的步距为0.06; ENDW; G01 W-5; WU3; W-10; U5; G00 Z0; M99; 下午1时 分 下午 时38分
11
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程
(2)特点:1)可以进行变量的算术运算、 )特点: 逻辑运算和函数的混合运算。还可以使用循 环语句、分支语句和子程序调用语句。2 环语句、分支语句和子程序调用语句。2) 宏程序能依据变量,用事先指定的变量代替 直接给出的数值,在调用宏程序或宏程序本 身执行时,得到计算好的变量值。3 身执行时,得到计算好的变量值。3)宏程 序通用性强,灵活方便,一个宏程序可以描 述一种曲线,曲线的各种参数用变量表示。
用 户 宏 程 序 编 程
21
数 控 加 工 编 程 及 操 作
单 元 宏
方法二: 方法二:复合循环法
O0110 G00 X100 Z100; T0101 M03 S800; G00G40 X30 Z2; G73 U15 W0R7.0; G71 P10Q20 X0.6 Z0.2 F0.2; N10 G00 G42 X0; G01 Z0 F0.1 S1000; #1=0; #2=0; WHILE #2LE 20; 判定z轴是否到终点; 判定z #2=[#1]*[#1]/24.2; Z轴变量 Z轴变量 G01 X[#1] Z[-[#2]] 抛物线插补 Z[#1=#1+0.06; 设定x轴的步距为0.06; 设定x轴的步距为0.06; ENDW G01 Z-25; ZX25;
3
数 控 加 工 编 程 及 操 作
单 元 宏 变量号 变量类型 功能 下午1时 分 下午 时38分
#100— #100— #199 #500— #500— #999 用 户 宏 程 序 编 程
公共变量
公共变量在不同的宏程序中的 意义相同当断电时变量#100 意义相同当断电时变量#100 #199初始化为空变量 #199初始化为空变量
用 户 宏 程 序 编 程 P:刀具补偿号
下午1时 分 下午 时38分
G10L10P R G10L12P R G10L11P R G10L13P R
; ; ; ;
R:绝对值指令(G90)方式时的刀具补偿值。增量值 指令(G91)方式时的刀具补偿值为该值与指定的刀 具补偿号的值相加。
5
数 控 加 工 编 程 及 操 作
单 元 宏
四、 FANUC宏程序的转移和循环 FANUC宏程序的转移和循环
例:GOTO10为转移到N10程序段。 2. 条件转移:( 语句) 条件转移:(IF语句) :( 语句 1)IF [条件表达式] GOTOn 用 户 宏 程 序 编 程
下午1时 分 下午 时38分
1. 无条件转移:GOTOn (n为顺序号,1——99999) 无条件转移:
当指定的条件表达式满足时,转移到标有顺序号n的程序 段,如果指定的条件表达式不满足时,执行下个程序段。
6
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
2)IF [条件表达式] THEN 当指定的条件表达式满足时,执行预先决定的宏程序语句。 例:IF [#1EQ #2] THEN #3=0; 3. WHILE [条件表达式] DO m; [ ] m 用 户 宏 程 序 编 程 ENDm 注:循环允许嵌套,最多3层,但不允许交叉 循环允许嵌套, 条件 不满 足 (m=1,2,3) …… 条件满足 ……
数 控 加 工 编 程 及 操 作
单 元 宏
用户宏程序编程
下午1时 分 下午 时38分
在数控编程中,宏程序编程灵活、高效、快捷,是 加工编程的重要补充。宏程序不仅可以实现象子程序那 样,例如,型腔加工宏程序、固定加工循环宏程序、球 面加工宏程序、锥面加工宏程序等。
用 户 宏 程 序 编 程
FANUC数控宏程序 数控宏程序 SIEMENS数控参数编程 数控参数编程
2
数 控 加 工 编 程 及 操 作
变量号 单 元 宏 变量类型 功能
二、FANUC宏程序的变量 二、FANUC宏程序的变量
下午1时 分 下午 时38分
FANUC数控系统变量表示形式为# 后跟1~4位 数字,变量种类有四种:
用 户 宏 程 序 编 程
空变量该变 没有任何值能赋给该变量 量总是空, #1— 局部变量 #1— 局部变量只能用在宏程序中存储 —#33 数据,例如运算结果。当断电时 局部变量被初始化为空,调用宏 程序时自变量对局部变量赋值。 #0
下午1时 分 下午 时38分
19
数 控 加 工 编 程 及 操 作
单 元 宏
方法一:调用子程序
O0010 G00 X100 Z100 ; T0101 S800 M03; ; G40 X30; ; G00 G42 Z2; #60=30; 设定毛坯最大切削量; 设定毛坯最大切削量; WHILE #60 GE 0.75; 判定毛坯余量是否大于 判定毛坯余量是否大于0.75 M98 P0009; 调用子程序 #60=#60-2.4;每次切削量单边为 每次切削量单边为1.2mm; 每次切削量单边为 ENDW; G00 G40 X100 Z100 ; M05; T0202;换2号精车刀; 号精车刀; 换 号精车刀 G40 X30 ; G00 G42 Z2; G01 Z0 F0.1; #60=0; 设定毛坯切削量为 设定毛坯切削量为0 M98 P0009;调用子程序 调用子程序 ENDW; G00G40 X100 Z100; M30;
下午1时 分 下午 时38分
X25; N20 Z-35; ZT0202; G70 P10 Q20; M30;
用 户 宏 程 序 编 程
22
数 控 加 工 编 程 及 操 作
单 元 宏
O1234;参数(角度)为初始变量 下午1时 分 下午 时38分 以Ф参数(角度) T0101 M03 S600; Ф30mm×70mm的棒料,45号钢。编程原点设在右 如图3,毛坯为Ф30mm×70mm的棒料,45号钢。编程原点设在右 如图3,毛坯为 GOO X34 Z2.0; 端面与中心轴线的交点上,椭圆原点在编程坐标系(0, 20)处。 端面与中心轴线的交点上,椭圆原点在编程坐标系(0,-20)处。 G73 U14 W0 R7; G73 P10 Q20 U1 W0.05 F0.25; 分析:三爪卡盘夹住左端,伸出55mm 手动车右端面,选择1 30º外圆 55mm, 分析 X0.; N10 G00 :三爪卡盘夹住左端,伸出55mm,手动车右端面,选择1号30º外圆 车刀加工外轮廓。 600r/min, 车刀加工外轮廓。切削用量的选择:粗加工主轴转速为600r/min G42 G01 Z0. F0.1; 切削用量的选择:粗加工主轴转速为600r/min,进给量 0.25mm/r,精加工主轴转速为800r/min 进给量为0.1mm 800r/min, 0.1mm。 为0.25mm/r,精加工主轴转速为800r/min,进给量为0.1mm。在椭圆坐标 #1=0;(角度初始值) 系中,其标准方程为: 系中 [#1 LE 144] DO1; 参数方程为:X=14sinФ,Z=20cosФ。 WHILE,其标准方程为: ;参数方程为:X=14sinФ,Z=20cosФ。从零件图 上可以看出, 终点角度为144º(180º 144º(180º上可以看出,椭圆轮廓的起点角度为0º #2=14*SIN[#1]; 椭圆轮廓的起点角度为0º ,终点角度为144º(180º36º=144º),所以适合采用以Ф参数(角度)为初始变量, 36º=144º),所以适合采用以Ф参数(角度)为初始变量,应用参数方程来 #3=20*COS[#1]; 表达椭圆上点的坐标。编制程序如下。 表达椭圆上点的坐标。编制程序如下。 G01 X[2*#2] Z[#3-20]F0.1; #1=#1+0.5; END 1; G01 Z-40; X28; W-10; N20 G40 X33; M03 S800; G70 P10 Q20; G00 X150 Z150; M5; M30; 23
12
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
(3)基本原理 )
宏程序编程是用户用变量作为数 据进行编程, 据进行编程,变量在编程中充当 媒介”作用。 “媒介”作用。在后续程序中可 以重新再赋值, 以重新再赋值,原来内容被新赋 的值所取代, 的值所取代,利用系统对变量值 进行计算和可以重新赋值的特性, 进行计算和可以重新赋值的特性, 使变量随程序的循环自动增加并 计算,实现加工过程的自动循环, 计算,实现加工过程的自动循环, 使之自动计算出整个曲线无数个 密集坐标值, 密集坐标值,从而用很短的直线 或圆弧线逼近理想的轮廓曲线。 或圆弧线逼近理想的轮廓曲线。 用 户 宏 程 序 编 程
13
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程
14
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
3.变量与赋值 3.变量与赋值
(1)变量表示法 用一个可赋值的代号“# ”(i=1,2,3……)来代替具体的 用一个可赋值的代号“#i”(i=1,2,3……)来代替具体的 坐标值或数据,这个代号“# 坐标值或数据,这个代号“#i” 就称为变量。 变量用变量符号“# 变量用变量符号“#”(变量的标志)和后续数值(变 量的标号)来表示,如#5,#21等,其后续数值不允许 量的标号)来表示,如#5,#21等,其后续数值不允许 用 户 宏 程 序 编 程 带小数点。 变量可以在宏程序体中使用,宏程序体中可以含有复杂 的表达式,并完成很复杂的计算。而普通加工程序直接 用G或数值编写,如“G00 X50 Z50”,而用户在编写 或数值编写,如“G00 Z50”,而用户在编写 宏程序时,数值可以直接指定或用变量指定,如“G00 宏程序时,数值可以直接指定或用变量指定,如“G00 X[#1+#1]F#3”
7
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程
8
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程
9
数 控 加 工 编 程 及 操 作
单 元 宏
五、运算符
运算符 EQ NE GT GE LT LE
15
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程
16
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程
17
数 控 加 工 编 程 及 操 作
单 元 宏 下午1时 分 下午 时38分
用 户 宏 程 序 编 程