fanuc换刀宏程序详解_FANUC宏程序使用举例
單軸外圓數控磨床,徑向采用數控軸(X軸)控制,軸向仍用液壓油缸驅動,因此無法使用兩軸磨床數控系統提供的磨削循環功能。在實踐中,可以使用FANUC系統提供的用戶宏程序,編制單軸的磨削循環功能。根據機床的具體結構,又編制了砂輪手動修整、自動補償及手動測量工件、自動補償的控制功能。在青海重型機床廠生產?的CA8311B軸頸車磨床上,經過一年多的生產使用,證明是實用的。下面分別介紹軟件的內容。
1 功能介紹
1.1 外圓磨削循環
由于只有徑向控制軸(X軸),無法實現連續進給磨削,只能實現兩端進給的軸向磨削循環。因此在左右兩端各設1個軸向行程識別開關(如圖1所示)。
當砂輪移到工件的左端時,左端行程開關閉合,發出到位信號,程序中用接口輸入變量#1005=1表示??刂葡到y接到該信號后,發出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;
總結
以上是生活随笔為你收集整理的fanuc换刀宏程序详解_FANUC宏程序使用举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输入框设置只能输入数字
- 下一篇: console和windows子系统