我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAM

使用FANUC宏程序編制單軸磨削循環及補償功能

時間:2011-02-27 10:22:18 來源:
單軸外圓數控磨床,徑向采用數控軸(X軸)控制,軸向仍用液壓油缸驅動,因此無法使用兩軸磨床數控系統提供的磨削循環功能。在實踐中,可以使用FANUC系統提供的用戶宏程序,編制單軸的磨削循環功能。根據機床的具體結構,又編制了砂輪手動修整、自動補償及手動測量工件、自動補償的控制功能。在青海重型機床廠生產 的CA8311B軸頸車磨床上,經過一年多的生產使用,證明是實用的。下面分別介紹軟件的內容。 

   1 功能介紹 

   1.1 外圓磨削循環? 

   由于只有徑向控制軸(X軸),無法實現連續進給磨削,只能實現兩端進給的軸向磨削循環。因此在左右兩端各設1個軸向行程識別開關(如圖1所示)。 
   當砂輪移到工件的左端時,左端行程開關閉合,發出到位信號,程序中用接口輸入變量#1005=1表示。控制系統接到該信號后,發出X軸進給移動指令,砂〖LL〗輪前進一個A值;同理,當系統接到右端行程開關發出的到位信號,程序中用接口輸入變量#1006=1表示,砂輪前進一個B值。依次循環,直到到達指令的位置。 
   實現給定磨削量的磨削加工,可以按A、B兩值相加為一個循環,將被磨除量均分。砂輪快速移至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 0]G0T0 10;    (修砂輪開關,1:修砂輪,0:磨工件) 
   M98P0020;           (修砂輪 
   N10 M98P0010;         (磨工件 
   N20 M30;? 
   (2)磨削子程序 
   O0010; 
   G50 X#510;           (設置工件坐標原點) 
   G00 X[#500+1.0];       (分段趨近工件) 
   G01 X[#500+0.6]F500; 
  ?X#500 F #505; 
  ?N30 M00;            (手動磨削,手動_自動磨削,自動磨削) 
   #9=#509;? 
   #20=#5041;           (砂輪現在位置) 
  ?N50 IF[#20 EQ #501]G0T0 110; (粗磨結束) 
   N60 IF[#1006 EQ 0]G0T0 60;? 
   N70 IF[#1005 EQ 0]G0T0 70;  (粗磨加工,左端進給) 
     IF[#20 EQ #501]G0T0 110; (粗磨左端結束) 
     #20=#20-#503;? 
     IF[#20 GE #501]G0T0 80;? 
   #20=#501;? 
   N80 G01 X#20 F#505;? 
   N90 IF[#1006 EQ 0]G0T0 90; (右端進給) 
     IF[#20 EQ #501]G0T0 110;? 
     #20=#20-#504;? 
     IF[#20 GE #501]G0T0 100;?&nbs

     #20=#501; 
   N100 G01 X#20 F#505;? 
     G0T0 70; 
     N110 IF[#1007 EQ 0]G0T0 120; (測量開關,1:測量,0:磨工件) 
     M98 P0030;           (測量子程序) 
   N120 IF[#1006 EQ 0]G0T0 170;(精磨加工) 
   N130 IF[#1005 EQ 0]G0T0 130;(左端進給) 
      IF[#20 EQ #502]G0T0 180;(精磨結束) 
      #20=#20-#506; 
      IF[#20 GE #502]G0T0 140;? 
      #20=#502 
   N140 G01 X#20 F#508; 
   N160 IF[#1006 EQ 0]G0T0 160;(右端進給) 
      IF[#20 EQ #502]G0T0 190;(精磨結束) 
      #20=#20-#507;? 
      IF[#20 GE #502]G0T0 170;? 
      #20=#502;〖ZK)〗? 
   N170 G01 X#20 F#508;? 
      G0T0 130; 
   N180 IF[#1005 EQ 0]G0T0 180; (光磨) 
      IF[#9 EQ 0]G0T0 200;? 
      #9=#9-1; 
   N190 IF[#1006 EQ 0]G0T0 190;? 
      IF[#9 EQ 0]G0T0 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.6]F500;? 
     X#511 F#508; 
   N400 M00;         (手動修整砂輪) 
     #21=#5041 
   N450 IF[#1004 EQ 1]G0T0 450;? 
      #22=#511-#21;    (計算修整量) 
      #510=#510+#22;    (修正工件坐標原點設定值) 
   G28 U1.0;? 
   M99 P20;          (返回主程序,結束) 
   (4)測量子程序? 
   O0030;? 
      #19=#509;          (設置光磨走刀次數) 
      IF[#1006 EQ 1]G0T0 510;? 
   N500 IF[#1005 EQ 0]G0T0 500; (測量前光磨) 
      IF[#19 EQ 0]G0T0 520;? 
      #19=#19-1; 
   N510 IF[#1006 EQ 0]G0T0 510;? 
      IF[#19 EQ 0]G0T0 520;? 
      #19=#19-1;?G0T0 500; 
   N520 #514=#501;        (測點設定值) 
      #515=#514;        (預先賦值) 
   G28 U1.0; 
   N530 M00;            (手動測量,實測值輸入#515) 
   N540 IF[#1007 EQ 1]G0T0 540;? 
   G00 X[#514 +1.0];? 
   G01 X[#514 +0.6]F500;? 
     X#514 F#508; 
     IF[#515 EQ #514]G0T0 580;   (不修正精磨量) 
     #23=#515-#514;? 
     #510=#510+#23;       (修正工件坐標原點設定值) 
   G50 X#515;           (修正工件坐標原點) 
     #20=#515;          (修改砂輪現在位置) 
   N580 M99;