数控宏程序编程
19
数 下午9时30分 控 •FANUC数控系统用户宏程序 加 工 编 程 一、构成 及 操 作 1. 包含变量
单 元 宏
2. 包含算术或逻辑运算(=)的程序段 3. 包含控制语句(例如:GOTO,DO,END)的程序段
用 户 宏 4.包含宏程序调用指令(G65,G66,G67或其他G代码, 程 序 M代码调用宏程序)的程序段 编 程
单 元 宏
5、 循环语句WHILE,ENDW
格式:WHILE 条件表达式 …
下午9时30分
ENDW
用 户 宏 程 序 编 程
7
数 控 加 工 编 程 及 操 作
6、 宏程序/子程序调用的参数传递规则
G 代码在调用宏(子程序或固定循环 ,下同)时,系统会将当前程序段各 字段(A~Z共26个字段,如果没有定 义则为零)的内容拷贝到宏执行时的 局部变量#0 ~ #25,同时拷贝调用宏
下午9时30分
用 户 宏 程 序 编 程
16
数 控 加 工 编 程 及 操 作
单 元 宏
用户宏程序训练
下午9时30分
用 户 宏 程 序 编 程
17
数 控 加 工 编 程 及 操 作
单 元 宏
下午9时30分
用 户 宏 程 序 编 程
18
数 控 加 工 编 程 及 操 作
单 元 宏
下午9时30分
用 户 宏 程 序 编 程
数 控 加 工 编 程 及 操 作
单 元 宏
用户宏程序编程
下午9时30分
在数控编程中,宏程序编程灵活、高效、快捷,是 加工编程的重要补充。宏程序不仅可以实现象子程序那 样,对编制相同加工操作的程序非常有用,还可以完成 子程序无法实现的特殊功能,例如,型腔加工宏程序、
固定加工循环宏程序、球面加工宏程序、锥面加工宏程
R:绝对值指令(G90)方式时的刀具补偿值。增量值 指令(G91)方式时的刀具补偿值为该值与指定的刀 具补偿号的值相加。
23
数 下午9时30分 控 四、 FANUC宏程序的转移和循环 加 工 编 1. 无条件转移:GOTOn (n为顺序号,1——99999) 程 及 例:GOTO10为转移到N10程序段。 操 作 2. 条件转移:(IF语句)
下午9时30分
用 户 宏 程 序 编 程
14
数 控 加 工 编 程 及 操 作
单 元 宏
三、 数控车床用户宏程序编程
用宏程序编制如图所示抛物线的精加工程序。
%3015 #10=0 ;X坐标(直径值) #11=0 ;Z坐标 T0101 M03 S600 G00 X0 Z34 WHILE #10 LE 32 G90 G64 G01 X[#10] Z[#11] F100 #10= #10+0.32 #9= #10/2 ;求出X坐标的半径值,便于求解#11 #11= 32-[#9*#9/8] ENDW G00 X80 Z100 M05 M30
用 户 宏 程 序 编 程
13
数 控 加 工 编 程 及 操 作
单 元 宏
宏程序编程实例
O5000;FANUC G54 G90 G00 Z40 X70 Y20 M08 M03 S600 G43 Z3 H01 G01 Z-5 F100 #0=18 N10 #1=80*COS#0 #2=80*SIN#0 G41 X#1 Y#2 D01 #0=#0+72 IF [#0 LT 360] GOTO 10 G40 X70 Y70 Z40 M05 M30 O5000;HNC-21M %1000 G54 G90 G00 Z40 X70 Y20 M08 M03 S600 G43 Z3 H01 G01 Z-5 F100 #0=18 IF [#0 LT 360] #1=80*COS#0 #2=80*SIN#0 G41 X#1 Y#2 D01 #0=#0+72 ENDIF G40 X70 Y70 Z40 M05 M30
宏
一、基础知识
用 1. 宏变量及常量 户 宏 (1) 宏变量 程 HNC-21/22T华中世纪星数控系统变量表示形式为# 后跟1~4位数字,变量种类 序 有三种: 编 ①局部变量:#0~#49是在宏程序中局部使用的变量,用于存放宏程序中的数据 程 ,断电时丢失为空。
2
数 下午9时30分 一、基础知识 控 1、 宏变量及常量 加 工 ②全局变量:用户可以自由使用#50~#199,它对于由主程序调用的各子程序及 编 各宏程序来说是可以公用的,可以人工赋值。HNC-21/22T子程序嵌套调用的深度 程 及 最多可以有8层,每一层子程序都有自己独立的局部变量(变量个数为50)。 操 作
单 元 宏
7、用户宏程序编程思路
下午9时30分
用 户 宏 程 序 编 程
%1000;长半轴、短半轴分别为40、30的椭圆 G54 G90 G00 Z30 M03 S800 G00 X45 Y-15 ;快速定位至下刀点 Z3 G01 Z-5 F100 #0=0;给角度赋0初值 WHILE #0 LE 360;当角度≤360度时,执行循环体内容 #1=40*COS[#0*PI/180];用椭圆的标准参数方程求动点M的X坐标值 #2=30*SIN[#0*PI/180];用椭圆的标准参数方程求动点M的Y坐标值 G01 X[#1] Y[#2] ;用直线插补指令加工至M点,即用直线段逼近椭圆 #0=#0+1;角度的递增步长取1度 ENDW X45 Y15;切出椭圆 G00 Z30 M05 X0 Y0 M30
序等。
用 户 宏 程 序 编 程
华中数控宏程序 FANUC数控宏程序 SIEMENS数控参数编程
1
数 下午9时30分 控 •华中数控用户宏程序 加 工 HNC-21/22T 、HNC-21M为用户配备了强有力的类似于高 编 程 级语言的宏程序功能,用户可以使用变量进行算术运算、逻 及 操 辑运算和函数的混合运算,此外宏程序还提供了循环语句、 作 分支语句和子程序调用语句,利于编制各种复杂的零件加工 程序,减少乃至免除手工编程时进行繁琐的数值计算,以及 单 精简程序量。 元
数 控 加 工 编 程 及 操 作
单 元 宏
2、 运算符与表达式
(1) 算术运算符:+,-,*,/
下午9时30分
(2) 条件运算符:EQ(=),NE(≠),GT(>),GE (≥),LT(<=),LE(≤) (3) 逻辑运算符:AND,OR,NOT (4) 函 数 : SIN,COS,TAN,ATAN,ATAN2,ABS,INT ,SIGN,SQRT,EXP (5) 表达式:用运算符连接起来的常数,宏变量构成 表达式。
21
数 控 加 工 编 程 及 操 作
单 元 宏
下午9时30分
变量号
变量类型
功能
#100— #Βιβλιοθήκη 99#500— #999公共变量
公共变量在不同的宏程序中的 意义相同当断电时变量#100 #199初始化为空变量
用 户 宏 程 序 编 程
#1000 ——
#500 #999 的数据保存即使断 电也不丢失 系统变量 系统变量用于读和写CNC 运行 时各种数据的变化例如刀具的当 前位置和补偿值等
9
数 控 加 工 编 程 及 操 作
单 元 宏
二、 数控铣床用户宏程序编程
下午9时30分
用 户 宏 程 序 编 程
%1000;长半轴、短半轴分别为40、30的椭圆 G92 X0 Y0 Z30 M03 S800 G00 X45 Y-15 M08;快速定位至A点 Z3 G01 Z-5 F100 #2=0;给角度赋0初值 WHILE #2 LE 360;当角度≤360度时,执行循环体内容 #11=40*COS[#2*PI/180];用椭圆的标准参数方程求动点M的X坐标值 #12=30*SIN[#2*PI/180];用椭圆的标准参数方程求动点M的Y坐标值 G42 G64 G01 X[#11] Y[#12] D01;用直线插补指令加工至M点,即用 直线段逼近椭圆 #2=#2+1;角度的递增步长取1度 ENDW G40 G01 X45 Y15;切出椭圆至C点 Z3 M09 G00 Z30 X0 Y0 M05 10 M30
单 元 宏
1)IF [条件表达式] GOTOn 当指定的条件表达式满足时,转移到标有顺序号n的程序 段,如果指定的条件表达式不满足时,执行下个程序段。
用 户 宏 程 序 编 程
24
数 控 加 工 编 程 及 操 作
单 元 宏
下午9时30分
2)IF [条件表达式] THEN 当指定的条件表达式满足时,执行预先决定的宏程序语句。 例:IF [#1EQ #2] THEN #3=0; 3. WHILE [条件表达式] DO m;
下午9时30分
用 户 宏 程 序 编 程
15
数 控 加 工 编 程 及 操 作
单 元 宏
用宏指令编制椭圆部分的精加工程序。
%3016;精加工椭圆程序 T0101 M03 S800 G00 X39 Z22 #1=60;A点的角度 #2=0;X坐标 #3=0;Z坐标 WHILE #1 LE 120;120是通过计算得来的B点角度 #2=2*23*SIN[#1*PI/180];直径编程 #3=40*COS[#1*PI/180] G64 G01 X[#2] Z[#3] F100 #1=#1+1;步长取1度 ENDW G00 X100 Z100 M05 M30
#3 = 124.0
用 户 宏 程 序 编 程
5
数 控 加 工 编 程 及 操 作
单 元 宏
4、 条件判别语句IF, ELSE,ENDIF
格式(i): IF 条件表达式 格式(ii) : IF 条件表达式
下午9时30分
…
ELSE … ENDIF
…
ENDIF
用 户 宏 程 序 编 程