当前位置:首页 >> 高中教育 >> 数控宏程序编程

数控宏程序编程


数 控 加 工 编 程 及 操 作
单 元 宏

用户宏程序编程

下午9时30分

在数控编程中,宏程序编程灵活、高效、快捷,是 加工编程的重要补充。宏程序不仅可以实现象子程序那 样,对编制相同加工操作的程序非常有用,还可以完成 子程序无法实现的特殊功能,例如,型腔加工宏程序、

固定加工

循环宏程序、球面加工宏程序、锥面加工宏程
序等。

用 户 宏 程 序 编 程

? 华中数控宏程序 ? FANUC数控宏程序 ? SIEMENS数控参数编程
1

数 下午9时30分 控 ?华中数控用户宏程序 加 工 HNC-21/22T 、HNC-21M为用户配备了强有力的类似于高 编 程 级语言的宏程序功能,用户可以使用变量进行算术运算、逻 及 操 辑运算和函数的混合运算,此外宏程序还提供了循环语句、 作 分支语句和子程序调用语句,利于编制各种复杂的零件加工 程序,减少乃至免除手工编程时进行繁琐的数值计算,以及 单 精简程序量。 元


一、基础知识

用 1. 宏变量及常量 户 宏 (1) 宏变量 程 HNC-21/22T华中世纪星数控系统变量表示形式为# 后跟1~4位数字,变量种类 序 有三种: 编 ①局部变量:#0~#49是在宏程序中局部使用的变量,用于存放宏程序中的数据 程 ,断电时丢失为空。

2

数 下午9时30分 一、基础知识 控 1、 宏变量及常量 加 工 ②全局变量:用户可以自由使用#50~#199,它对于由主程序调用的各子程序及 编 各宏程序来说是可以公用的,可以人工赋值。HNC-21/22T子程序嵌套调用的深度 程 及 最多可以有8层,每一层子程序都有自己独立的局部变量(变量个数为50)。 操 作
单 元 宏

用 户 宏 程 序 编 程

③系统变量:系统变量为#1000~#1199,它能获取包含在机床处理器或NC内存中 的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、 加工参数等系统信息。 (2) 常量 PI:圆周率π ;TRUE:条件成立(真);FALSE:条件不成立(假) 3

数 控 加 工 编 程 及 操 作
单 元 宏

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) 表达式:用运算符连接起来的常数,宏变量构成 表达式。

用 户 宏 程 序 编 程

例如:175/SQRT[2] * COS[55 * PI/180 ];#3*6 GT 14

4

数 控 加 工 编 程 及 操 作
单 元 宏

3、赋值语句
格式:宏变量=常数或表达式

下午9时30分

把常数或表达式的值送给一个宏变量称为赋值。

例如: #2 = 175/SQRT[2] * COS[55 * PI/180;
#3 = 124.0

用 户 宏 程 序 编 程

5

数 控 加 工 编 程 及 操 作
单 元 宏

4、 条件判别语句IF, ELSE,ENDIF
格式(i): IF 条件表达式 格式(ii) : IF 条件表达式

下午9时30分


ELSE … ENDIF


ENDIF

用 户 宏 程 序 编 程

6

数 控 加 工 编 程 及 操 作
单 元 宏

5、 循环语句WHILE,ENDW
格式:WHILE 条件表达式 …

下午9时30分

ENDW

用 户 宏 程 序 编 程

7

数 控 加 工 编 程 及 操 作

6、 宏程序/子程序调用的参数传递规则
G 代码在调用宏(子程序或固定循环 ,下同)时,系统会将当前程序段各 字段(A~Z共26个字段,如果没有定 义则为零)的内容拷贝到宏执行时的 局部变量#0 ~ #25,同时拷贝调用宏

下午9时30分

用 户 宏程序的调用格式为: 宏 程 M98 P(宏程序名)<变量赋值>或 序 G65 P(宏程序名)<变量赋值>。 编 程

单 时当前通道九个轴(轴0~轴8)的绝 元 对位置(机床绝对坐标)到宏执行时的 宏 局部变量#30 ~ #38。

…… #25 Z

8

数 控 加 工 编 程 及 操 作
单 元 宏

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

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

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

11

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

12

数 控 加 工 编 程 及 操 作
单 元 宏

宏程序编程实例

下午9时30分

ZH7640立式加工中心由北京第 三机床厂产生,采用华中铣床、加 工中心数控系统。加工范围 600mm×400mm×500mm。刀库可容 纳20把刀。可用于镗、铣、钻、铰、 攻丝等各种加工。实例为在预先处 理好的100mm×100mm×80mm合金铝 锭毛坯上加工如图所示的零件,其 中正五边形外接圆直径为80mm。

用 户 宏 程 序 编 程

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

下午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

下午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

下午9时30分

用 户 宏 程 序 编 程

16

数 控 加 工 编 程 及 操 作
单 元 宏

用户宏程序训练

下午9时30分

用 户 宏 程 序 编 程

17

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

18

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

19

数 下午9时30分 控 ?FANUC数控系统用户宏程序 加 工 编 程 一、构成 及 操 作 1. 包含变量
单 元 宏

2. 包含算术或逻辑运算(=)的程序段 3. 包含控制语句(例如:GOTO,DO,END)的程序段

用 户 宏 4.包含宏程序调用指令(G65,G66,G67或其他G代码, 程 序 M代码调用宏程序)的程序段 编 程
20

数 下午9时30分 控 二、FANUC宏程序的变量 加 工 编 FANUC数控系统变量表示形式为# 后跟1~4位 程 及 数字,变量种类有四种: 操 作 变量号 变量类型 功能
单 元 宏

#0

用 户 宏 程 序 编 程

空变量该变 没有任何值能赋给该变量 量总是空, #1— 局部变量 局部变量只能用在宏程序中存储 —#33 数据,例如运算结果。当断电时 局部变量被初始化为空,调用宏 程序时自变量对局部变量赋值。
21

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

变量号

变量类型

功能

#100— #199
#500— #999

公共变量

公共变量在不同的宏程序中的 意义相同当断电时变量#100 #199初始化为空变量

用 户 宏 程 序 编 程

#1000 ——

#500 #999 的数据保存即使断 电也不丢失 系统变量 系统变量用于读和写CNC 运行 时各种数据的变化例如刀具的当 前位置和补偿值等
22

数 控 加 工 编 程 及 操 作
单 元 宏

三、刀具补偿存储器C用G10 指令进行设定
H代码的几何补偿值
D代码的几何补偿值 H代码的磨损补偿值

下午9时30分

G10L10P R
G10L12P R G10L11P R

;
; ;

D代码的磨损补偿值
P:刀具补偿号

G10L13P R

;

用 户 宏 程 序 编 程

R:绝对值指令(G90)方式时的刀具补偿值。增量值 指令(G91)方式时的刀具补偿值为该值与指定的刀 具补偿号的值相加。
23

数 下午9时30分 控 四、 FANUC宏程序的转移和循环 加 工 编 1. 无条件转移:GOTOn (n为顺序号,1——99999) 程 及 例:GOTO10为转移到N10程序段。 操 作 2. 条件转移:(IF语句)
单 元 宏

1)IF [条件表达式] GOTOn 当指定的条件表达式满足时,转移到标有顺序号n的程序 段,如果指定的条件表达式不满足时,执行下个程序段。

用 户 宏 程 序 编 程

24

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

2)IF [条件表达式] THEN 当指定的条件表达式满足时,执行预先决定的宏程序语句。 例:IF [#1EQ #2] THEN #3=0; 3. WHILE [条件表达式] DO m;

用 户 宏 程 序 编 程

条件 不满 足

(m=1,2,3) …… 条件满足 ……

ENDm 注:循环允许嵌套,最多3层,但不允许交叉

25

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

26

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

27

数 控 加 工 编 程 及 操 作
单 元 宏

五、运算符
运算符 EQ NE GT GE LT LE 含义 等于 不等于 大于 大于或等于 小于 小于或等于

下午9时30分

用 户 宏 程 序 编 程

28

数 下午9时30分 控 六、 FANUC宏程序的调用 加 工 编 1. 非模态调用G65: 程 及 格式: G65 Pp Ll <自变量指定> 操 其中 p:要调用的程序号 作
单 元 宏

用 户 宏 程 序 编 程

L:调用次数(默认为1) 自变量:数据传递到宏程序 例: G65 P8000 L2 A10. B2.; 调用2次程序号8000,经自变量A传递到宏程序 #1=10;自变量B传递到宏程序#2=2。

29

数 控 加 工 编 程 及 操 作
单 元 宏

自变量指定Ⅰ

下午9时30分

用 户 宏 程 序 编 程

?根据使用的字母,CNC系统自动地决定自变量指定的类 型。 ?地址不需要按字母顺序指定。但应符合字地址的格式。 ?但是,I,J 和K 需要按字母顺序指定。
30

数 控 加 工 编 程 及 操 作
单 元 宏

自变量指定Ⅱ

下午9时30分

用 户 宏 程 序 编 程

?根据使用的字母,系统自动决定自变量指定的类型。 ?自变量指定Ⅱ用于传递诸如三维坐标值的变量。 ?I,J,K 的下标用于确定自变量指定的顺序,在实际编程 中不写。
31

数 下午9时30分 控 加 工 编 如果自变量指定Ⅰ和自变量指定Ⅱ混合指定的话,后指定 程 的自变量类型有效。 及 操 作
单 元 宏

用 户 宏 程 序 编 程

32

数 下午9时30分 控 六、 FANUC宏程序的调用 加 工 编 2. 模态调用(G66): 程 G66 Pp Ll <自变量指定>; 及 操 程序点 作

G67;(取消模态)

单 元 宏

用 户 宏 程 序 编 程

例:G66 P8000 L2 A10. B2.; G00 G90 Z-10. X-5. G67 一旦发出G66 则指定模态调用,即指定沿移动轴移动的程 序段后调用宏程序。移动到Z-10,调用2次程序号8000,移 动到X-5,再调用2次程序号8000 。
33

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分 七、FANUC与华中系统用户宏程序编 程对照

用 户 宏 程 序 编 程

%1000;长半轴40、短半轴30的椭圆 G54 G90 G00 Z30 G54 G90 G00 Z30 M03 S800 M03 S800 G00 X45 Y-15 ; G00 X45 Y-15 ; Z3 Z3 G01 Z-5 F100 G01 Z-5 F100 #0=0;给角度?赋0初值 #10=0;给角度?赋0初值 WHILE #0 LE 360; WHILE #10 LE 360 DO 1; #1=40*COS[#0*PI/180]; #11=40*COS[#10]; #2=30*SIN[#0*PI/180]; #12=30*SIN[#10]; G01 X[#1] Y[#2] ; G01 X#11 Y#12 ; #0=#0+1; #10=#10+1; ENDW END 1 X45 Y15; X45 Y15; G00 Z30 G00 Z30 X0 Y0 M05 X0 Y0 M05 M30 M30
34

数 控 加 工 编 程 及 操 作
单 元 宏

?SIEMENS数控系统参数编程

下午9时30分

与FANUC类似,但功能要弱一些。变量以“R” 开始,如:R0、R1、R99。不包含系统变量,系 统变量以 “$”开头。
一、格式:Rn (n的缺省取值范围为0-99) 例如:R1 R2 … R99 二、运算符:

用 户 宏 程 序 编 程

35

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

用 户 宏 程 序 编 程

36

数 下午9时30分 控 三、 SIEMENS参数编程程序跳转 加 工 编 1. 无条件跳转 程 及 操 作 GOTOB LABEL (向后跳转,向程序头跳转) GOTOF LABEL (向前跳转,向程序尾跳转)
单 元 宏

2. 条件跳转
IF 表达式 GOTOB LABEL(向后跳转,向程序头跳转) IF 表达式 GOTOF LABEL(向前跳转,向程序尾跳转)
LABEL 为程序段标示符
37

用 户 宏 程 序 编 程

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分

IF R1>R2 GOTOF MARKE1 R7<=(R8+R9)*743 GOTOB MARKE1 IF R10 GOTOF MARK1

如果R1大于R2,那么跳 跃到MARKE1 作为条件的复合表达式 允许确定一个变量 (INT,REAL,BOOL或 CHAR)。如果变量值 为0(=FALSE),条件 就不能满足;对于所有 其他值,条件为TRUE

用 户 宏 程 序 编 程

IF R1==0 GOTOF MARKE1 IF R1==1 同一程序段中的几个条 GOTOF MARKE2 件

38

数 控 加 工 编 程 及 操 作
单 元 宏

四、编程示例

下午9时30分

用 户 宏 程 序 编 程

39

数 控 加 工 编 程 及 操 作
单 元 宏

下午9时30分 五、SIEMENS与FANUC用户宏程序编 程对照 长半轴40、短半轴30的椭圆 G54 G90 G00 Z30 G54 G90 G00 Z30 M03 S800 M03 S800 G00 X45 Y-15 ; G00 X45 Y-15 ; Z3 Z3 G01 Z-5 F100 G01 Z-5 F100 #10=0;给角度?赋0初值 R10=0;给角度?赋0初值 WHILE #10 LE 360 DO 1; AA: #11=40*COS[#10]; R11=40*COS(R10); #12=30*SIN[#10]; R12=30*SIN(R10); G01 X#11 Y#12 ; G01 X=R11 Y=R12 ; #10=#10+1; R10=R10+1; END 1 IF R10<= 360 GOTOB AA X45 Y15; X45 Y15; G00 Z30 G00 Z30 X0 Y0 M05 X0 Y0 M05 M30 M30
40

用 户 宏 程 序 编 程


更多相关文档:

数控宏程序编程入门

数控宏程序编程入门_机械/仪表_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 数控宏程序编程入门_机械/仪表_工程科技_专业资料。自己整理的有不足之处...

数控机床宏程序编程的技巧和实例

论文: 数控机床宏程序编程的技巧和实例 数控机床宏程序编程的技巧和实例 2011 年 8 月 11 日 1 前言随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来 ...

数控铣床宏程序编程 经典

数控铣床宏程序编程 经典_机械/仪表_工程科技_专业资料。变量 普通加工程序直接用数值指定 G 代码和移动距离;例如,GO1 和 X100.0。使用用户宏程序 时,数值可以...

数控车宏程序编程

END 2 …… END 1; 二、数控车床宏程序编程技巧编程实例 1.宏程序用于系列零件的加工 宏程序用于系列零件的加工,此系列零件形状 相同,但是部分尺寸不同,如果将...

数控车床由浅入深的宏程序实例

数控车床由浅入深的宏程序实例_工学_高等教育_教育专区。宏程序裳华职业技术...宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形 一样,...

数控编程宏程序循环实例

数控编程宏程序循环实例_计算机软件及应用_IT/计算机_专业资料。数控编程宏程序循环实例下面朋友给的是 A 类的宏程序,B 类宏序的编程方式主要是运用条件判断语句来...

数控编程--宏程序教案

华中数控加工中心编程---宏程序 教案一、组织教学 检查学生出勤情况 二、复习提问 1、画图,椭圆怎么加工 2、举例,一个任意形状的工件,如何在边上倒圆角 三、...

宏程序在数控编程中的应用及加工实例

宏程序在数控编程中的应用及加工实例_机械/仪表_工程科技_专业资料。宏程序在数控编程中的应用及加工实例摘 要:本文针对宏程序编程的特点,在实际生产、数控编程教学...

FANUC系统宏程序编程

FANUC系统宏程序编程_其它考试_资格考试/认证_教育专区。本系统宏程序体系采用 ...目前版本中,某些公众变量被赋予特殊意义(系统变量),用于描 述 CNC 运行时各种...

数控宏程序的概念

数控宏程序的概念_数学_自然科学_专业资料。数控宏程序的概念 用变量的方式进行数控编程的方法就叫做数控宏程序编程。 数控宏程序的分类 数控宏程序分为 A 类和 ...
更多相关标签:
数控宏程序实例教程 | 数控车宏程序编程 | 数控宏程序 | 宏程序编程实例 | 数控宏程序编程入门 | 数控铣宏程序编程实例 | 数控车宏程序编程入门 | 数控车宏程序编程实例 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com