欢迎来到上海鼎亚精密机械设备有限公司官方网站! 收藏本站| 关于鼎亚| 炮塔铣床调试维修视频
全国统一热线
400-000-7705
热门关键词:
当前位置:首页>>鼎亚动态>>常见问题数控大赛高手教你宏程序编程与应用

数控大赛高手教你宏程序编程与应用

文章出处: 人气:1114 发表时间:2020-07-20 16:19:20
1.什么场合会用到宏程序编程?

手工编程加工公式曲线(计算简单,输入快捷)
有规律的切削路径(作为一个切削模块)
程序间的控制(程序的调度)
刀具的管理(刀具的磨损)
自动测量(机内测头)

2.什么叫宏程序?

在编程时,我们会把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来调用它们,使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体,简称宏程序。

这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。

3.用户宏程序与普通程序的区别:

在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转。
普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。
用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。

4.变量的三种类型

数控系统变量表示形式为“#”后跟1~4位数字,变量种类有三种:

(1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。

(2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。#100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。

(3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。

5.宏程序的特点

宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。

6.指令

(1)宏程序的简单调用格式

宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。 

调用指令格式:
G65 P(宏程序号)L(重复次数)(变量分配)。
其中:G65宏程序调用指令;
P(宏程序号)被调用的宏程序代号;
L(重复次数)宏程序重复运行的次数,重复次数为1时,可省略不写;
(变量分配)为宏程序中使用的变量赋值。

宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。

(2)宏程序的编写格式

宏程序的编写格式与子程序相同。其格式为:
0~(0001~8999为宏程序号)
N10 指令
N~ M99

上述宏程序内容中,除通常使用的编程指令外,还可使用变量、算术运算指令及其它控制指令。变量值在宏程序调用指令中赋给。
7.FANUC系统宏程序应用

(1)宏程序切槽

1)WHILE语句
G00 X52 Z2;
#2= 14;    
是刀具z向的起刀点(因为刀宽为4mm,所以起刀点定在Z 14的位置)
WHILE〔#2 GE 30〕DO2;    
是z方向的约束条件,当z等于 30时,z向就不再移动
G00 Z〔#2〕;    
z方向的当前位置
#2=#2 2;    
z方向的移动步距,每次移动2mm
#1=52;  
是x方向的起刀点
WHILE〔#1 GE 20〕DO1;  
X方向的约束条件,当直径等于20时就不再切削
G01 X〔#1〕F0.2;  
x方向的切深
G00 X〔#1+1〕;  
x方向的相对退刀量
#1=#1 1;  
x方向的步距(每次切1mm)
END1;
G00 X52;
END2;

完整程序:
O1234;
G40 G97 G99;                  
T0101;                            
S1000 M3;                        
G00 X52 Z2;                    
#2= 14;                          
WHILE〔#2GE 30〕DO2;    END1;
G00 Z〔#2〕;                    
#2=#2 2;                        
#1=52                            
WHILE〔#1GE20〕DO1;
G01X〔#1〕F0.2;
G00X〔#1+1〕;
#1=#1 1;
G00 X52;
END2;
G00 X150 Z150;
M30;

2)IF语句

G00 X52 Z 2;
#1= 14;  
是刀具的z向起刀点(刀宽为4mm)
N2 #1=#1 2;    
是z方向的移动步距
#2=52;  
为x方向的起刀点
N1#2=#2 1;  
是x方向的步距(每次切深1mm)
G01 X〔#2〕F0.2;  
X方向的当前位置
G00 X〔#2+1〕;    
X方向的相对退刀量
IF 〔#2 GE 21〕GOTO1;      
x方向的约束条件(当x的数值切到20时就进行下面程序,不再返回)
G00 X52;    
X退刀到52的位置
G00 Z〔#1〕;    
Z方向的当前位置
IF 〔#1 GE 30〕GOTO2;    
Z方向的约束条件,当z等于 30时,z向就不在移动

完整程序:
O1234;
G40G97G99;                    
T0101;                            
S1000M3;                        
G00 X52 Z 2;                  
#1= 14;                          
N2 #1=#1 2;                    
#2=52;                            
N1#2=#2 1;                      
G01 X〔#2〕F0.2;
G00 X〔#2+1〕;
IF〔#2GE21〕GOTO1;
G00X52;
G00Z〔#1〕;
IF〔#1GE 30〕GOTO2;
G00X200;
Z200;
M5;
M30;

 

此文关键字:数控,大赛,高手,教你,宏程序,编程,应用
首页| 加工中心| 高速钻攻中心| 数控铣床| 龙门加工中心| 产品中心| 网站地图| 关于鼎亚|