二、教学过程
1、 宏程序的定义:其实质与子程序相似,是把一组实现某种功能的指令,以子程序的形式事先存储在系统存储器中,通过宏程序调用指令执行这一功能。一组以子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程序。
2、 用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。
3、 用户宏程序的分:A类和B类两种,
A类宏程序编译的加工程序,程序主体比较简单,但需记忆较多的宏指令,程序的可读性差;
B类宏程序编译的程序,则具有较好的可读性,且只需记忆较少的指令代码。
4A类宏程:
1)、变量
  a、变量的表示:一个变量由#符号和边量号组成,形式为#II=123),如#100#200#5等。
  b、变量的引用:将跟随在地址后的数值用变量来代替,即引入变量。
    G01 X#100  Y#101  F#102
  c、变量的种类:
  局部变量#1#33    公共变量#100#149#500#549  系统便量指固定用途的变量
  2)、用户宏程序格式与调用
  a、宏程序格
  用户宏程序本体的编写格式与子程序的格式相同。
   在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指
令。格式如下:
  O x x x x;
……
  # 26= # 4+ # 18 x Cos[# 1;
  G90 GOOX #26;
    ……
    ……
    IF[#22 GE # 9GOTO 10;
    ……
    N 10  M 9 9
    b、宏程序的调用有两种形式:一种用M98,一种用G65 G65 P0006 L5 X100 Y100 Z-30
  3)、A类宏程序的运算和转移
    aA类宏程序的运算指令:G65  Hm  P#i  Q#j R#k ;
    bA类宏程序的转移指令:G65  H80H81H82H83H94H85H86
注意:类宏程的运算和转移指令见表2-4-1
三、编程实例与练习课题
Φm98调用子程序格式16的立铣刀加工如下图所示球体,试用A类宏程序进行编程。
G01 Z0 H01;
M98 P110 L10;
G90 G01 Z20;
G01 X40 Y0;
M98 P210;
G91 G28 Z0;
M05;
M30;
O110;(去余量子程序)
G91 G01 Z-2;
G90 G41 G01 X20 Y0 D11;
G02 X20 Y0 I-20 J0;
G40 G01 X40 Y0;
M99;
#100:球面半径
#101:球面Z向高度
#102:球面X向尺寸
#103:刀尖点X坐标值
#104:刀尖点Z坐标值(加刀具半径)
程序如下:
O0010:(主程序)
G90 G80 G40 G21 G17 G94;
G91 G28 Z0;
G90 G54;
G00 X40 Y0;
G43 Z20 H01;
S600 M03
O210;(精加工宏程序)
G65  H01  P#100  Q20000;
G65  H01  P#101  Q0;
G65  H01  P#102  Q20000;
G65  H01  P#103  Q28000;
G65  H01  P#104  Q-20000;
N1000  G01  Z#104;
          X#103;
G65  H02  P#101  Q#101  R100;
G65  H28  P#102  Q#100  R#101;
G02  X#103  Y0  I-#103 J0;
G65  P#103  Q#102  R8000;
G65  H02  P#104  Q#103  R100;
G65  H86  P1000  Q#104  R0;
G01  Z20;
G01  X0  Y40;
M99;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。