您现在的位置:

FANUC宏程序使用举例

????? 单轴外圆ag视讯怎么刷流水|官方磨床,径向采用ag视讯怎么刷流水|官方轴(X)控制,轴向仍用液压油缸驱动,因此无法使用两轴磨床ag视讯怎么刷流水|官方系统提供的磨削循环功能。在实践中,可以使用FANUC系统提供的用户宏程序,编制单轴的磨削循环功能。根据机床的具体结构,又编制了砂轮手动修整、自动补偿及手动测量工件、自动补偿的控制功能。在青海重型机床厂生产?CA8311B轴颈车磨床上,经过一年多的生产使用,证明是实用的。下面分别介绍软件的内容。?

?  1 功能介绍?

?  1.1 外圆磨削循环?

?  由于只有径向控制轴(X),无法实现连续进给磨削,只能实现两端进给的轴向磨削循环。因此在左右两端各设1个轴向行程识别开关(如图1所示)?
?
  当砂轮移到工件的左端时,左端行程开关闭合,发出到位信号,程序中用接口输入变量#1005=1表示。控制系统接到该信号后,发出X轴进给移动指令,砂〖LL〗轮前进一个A值;同理,当系统接到右端行程开关发出的到位信号,程序中用接口输入变量#1006=1表示,砂轮前进一个B值。依次循环,直到到达指令的位置。?
?
  实现给定磨削量的磨削加工,可以按AB两值相加为一个循环,将被磨除量均分。砂轮快速移至R点,经n(A+B)磨削之后,其剩余量为h′。若砂轮在工件左端,且h′A时,按h′进给,否则按A值进给。若在工件右端,且h′B值时,按h′进给,否则按B值进给。软件必须保证只在工件两端进给,中间不得进给。当磨除量变为零时,必须磨到另一端才能退砂轮。整个磨削过程分粗磨、精磨和光磨。在实际使用中,在R点设置一个暂停,操作者可以插入手动磨削,以利于修活使用,也可以再转为自动磨削。磨削初值用现在位置变量#5041取值。?

?  1.2 测量值的自动补偿?
?
  在粗磨结束后,精磨开始前插入手动测量,操作者将测量结果输入到系统中,系统根据指令值与实测值之差,对磨削量进行补偿。?
?
  是否需要测量,由面板上的开关设置,此开关状态用接口输入信号#1007输入系统。当开关接通,即信号为“1”时进行测量。当开关断开,即信号为“0”时,则不进行测量,直接进行精磨加工。当实测值与指令值相同时,可以不输入实测值,此时,系统不修正磨削量,仍按原磨削量进行磨削。如需测量,在测量之前安排光磨加工,以求与完成零件磨削的状态相同。?
?
  1.3 砂轮修整量的自动补偿?
?
  根据机床采用普通金刚笔修整砂轮、手动进给、手动换向修整这样的操作,软件自动计算修整量,并修正工件坐标原点设定值。砂轮修整之后,不需对刀,即可进行磨削加工。?
?
  在面板上设置砂轮修整开关,此开关状态用接口输入信号#1004输入系统。当修整开关合上,即信号为“1”时,执行砂轮修整服务程序。当开关断开,即信号为“0”时,系统执行磨削加工。?

?  2 软件框图?

?  按主程序、子程序结构编制软件。?
?
  (1)主程序(O0001) 见图2?

?  (2)砂轮修整子程序(O0020) 见图3

?  (3)磨削子程序(O0010) 见图4

?  (4)测量子程序(O0030) 见图5

?  3 菜单编程?

?  将磨削所需数据用系统断电不清除的宏变量表示。编程时,操作者只需把所需数据输入,不需要修改程序。零件变化时,只需改变相关尺寸数据。?
?
  具体设置如下:?
?
  #500 粗磨开始点?
?
  #501 粗磨结束点,即精磨开始点?
?
  #502 精磨结束点,即光磨开始点,亦即零件尺寸?
?
  #503 粗磨左进刀量,即第一次切深?
?
  #504 粗磨右进刀量,即第二次切深?
?
  #505 粗磨进刀进给速度?
?
  #506 精磨左进刀量?
?
  #507 精磨右进刀量?
?
  #508 精磨进刀进给速度?
?
  #509 光磨次数?
?
 #510 工件坐标原点设定值?
?
  #511 金刚笔尺寸?
?
 #514 测量点设定值(系统自动设置)?
?
  #515 测量点实测值(先由系统自动设置为设定值,再由操作者修改)?

?  4 程序?

?  (1)主程序?
?
  O0001?
?
  G98?
?
  IF#1004EQ?0G0T0?10;    (修砂轮开关,1:修砂轮,0:磨工件)?
?
  M98P0020;           (修砂轮?
?
  N10?M98P0010;         (磨工件?
?
  N20?M30?
?
  (2)磨削子程序?
?
  O0010?
?
  G50?X#510;           (设置工件坐标原点)?
?
  G00?X#500+1.0];       (分段趋近工件)?
?
  G01?X#500+0.6F500?
?
 X#500?F?#505?
?
 N30?M00;            (手动磨削,手动_自动磨削,自动磨削)?
?
  #9=#509?
?
  #20=#5041;           (砂轮现在位置)?
?
 N50?IF#20?EQ?#501G0T0?110; (粗磨结束)?
?
  N60?IF#1006?EQ?0G0T0?60?
?
  N70?IF#1005?EQ?0G0T0?70;  (粗磨加工,左端进给)?
?
    IF#20?EQ?#501G0T0?110; (粗磨左端结束)?
?
    #20=#20-#503?
?
    IF#20?GE?#501G0T0?80?
?
  #20=#501?
?
  N80?G01?X#20?F#505?
?
  N90?IF#1006?EQ?0G0T0?90; (右端进给)?
?
    IF#20?EQ?#501G0T0?110?
?
    #20=#20-#504?
?
    IF#20?GE?#501G0T0?100&nbs

?    #20=#501?
?
  N100?G01?X#20?F#505?
?
    G0T0?70?
?
    N110?IF#1007?EQ?0G0T0?120; (测量开关,1:测量,0:磨工件)?
?
    M98?P0030;           (测量子程序)?
?
  N120?IF#1006?EQ?0G0T0?170(精磨加工)?
?
  N130?IF#1005?EQ?0G0T0?130(左端进给)?
?
     IF#20?EQ?#502G0T0?180(精磨结束)?
?
     #20=#20-#506?
?
     IF#20?GE?#502G0T0?140?
?
     #20=#502?
?
  N140?G01?X#20?F#508?
?
  N160?IF#1006?EQ?0G0T0?160(右端进给)?
?
     IF#20?EQ?#502G0T0?190(精磨结束)?
?
     #20=#20-#507?
?
     IF#20?GE?#502G0T0?170?
?
     #20=#502;ZK)?
?
  N170?G01?X#20?F#508?
?
     G0T0?130?
?
  N180?IF#1005?EQ?0G0T0?180; (光磨)?
?
     IF#9?EQ?0G0T0?200?
?
     #9=#9-1?
?
  N190?IF#1006?EQ?0G0T0?190?
?
     IF#9?EQ?0G0T0?200?
?
     #9=#9-1?
?
     G0T0?180?
?
  N200?G28?U1.0?
?
  N300?M99?
?
  (3)砂轮修整子程序?
?
  O0020?
?
  G50?X#510?
?
  G00?X#511?+1.0];    (砂轮分段趋近金刚笔)?
?
  G01?X#511?+0.6F500?
?
    X#511?F#508?
?
  N400?M00;         (手动修整砂轮)?
?
    #21=#5041?
?
  N450?IF#1004?EQ?1G0T0?450?
?
     #22=#511-#21;    (计算修整量)?
?
     #510=#510+#22;    (修正工件坐标原点设定值)?
?
  G28?U1.0?
?
  M99?P20;          (返回主程序,结束)?
?
  (4)测量子程序?
?
  O0030?
?
     #19=#509;          (设置光磨走刀次数)?
?
     IF#1006?EQ?1G0T0?510?
?
  N500?IF#1005?EQ?0G0T0?500; (测量前光磨)?
?
     IF#19?EQ?0G0T0?520?
?
     #19=#19-1?
?
  N510?IF#1006?EQ?0G0T0?510?
?
     IF#19?EQ?0G0T0?520?
?
     #19=#19-1G0T0?500?
?
  N520?#514=#501;        (测点设定值)?
?
     #515=#514;        (预先赋值)?
?
  G28?U1.0?
?
  N530?M00;            (手动测量,实测值输入#515)?
?
  N540?IF#1007?EQ?1G0T0?540?
?
  G00?X#514?+1.0];?
?
  G01?X#514?+0.6F500?
?
    X#514?F#508?
?
    IF#515?EQ?#514G0T0?580;   (不修正精磨量)?
?
    #23=#515-#514?
?
    #510=#510+#23;       (修正工件坐标原点设定值)?
?
  G50?X#515;           (修正工件坐标原点)?
?
    #20=#515;          (修改砂轮现在位置)?
?
  N580?M99