上一篇我們講解了條件語句用於循環開槽的編程,只用了G01直線命令,基本了解了條件語句的應用。下面我們開始深化應用,用圓弧指令結合條件語句來加工那些尺寸較大的沉孔。這類孔尺寸大,不能通過鑽孔的方式完成,我們需要採用銑削的方式通過多刀進給來完成加工。下面我會通過實例給大家分析講解。
實例:現有一100*100*50的鋼板,在板中央加工工一個直徑為80深度為30的沉孔。目前有刀具直徑20的銑刀,進行相應的編程加工。圖示如下。
準備:對刀設定坐標原點為沉孔中心,將工件沉孔中心在工具機的XY機械坐標位置輸入到G54坐標系的相應位置,Z軸檢查下設置為0。在刀補中設置銑刀長度補償作為Z軸的零點位置。這裡默認為G54坐標系和01號刀具。銑刀每次走刀的背吃刀量為1mm。原點位置如下圖所示。
程序如下:
G54G90G0X0Y0;(設定坐標系移動到原點)
G43H1Z30;(設定Z軸刀補位置)
M03S1000;(主軸啟動)
M08;(切削液)
G0X-10;(移動X軸)
#1=0;(設定初始值)
#2=-1;(設定增量值)
N1IF[#1EQ-30]GOTO2;(設定條件語句滿足#1=30循環結束)
G01Z#1F80;(切深度)
G01X-10F80;(X走刀)
G02X-10Y0I10J0F80;(走小圓)
G01X-30F80;(X走刀)
G02Y0I30J0F80;(走大圓)
GOTO1;(循環回程序段N1)
N2G0Z30;(程序段N2抬刀)
M05M09M30;(停止)
注意程序走大圓後銑刀要先回到走小圓的起始位,不然程序會出錯。這裡增加一個知識點,在條件轉移語句命令中有多種格式:
1、IF [條件] GOTO n(如果指定條件表達式滿足時,轉移到標有順序號n的程序段;如果指定條件表達式不滿足,執行下個程序段);
2、IF [條件]THEN(如果指定條件表達式滿足時,執行設定的宏程序)注意這裡只執行一個宏程序語句,也是跟GOTO命令的區別。
3、WHILE[條件]DO m……END m(滿足指定條件表達式時,執行DO和END之間的程序,否則執行END後的語句)這裡要注意的是m的數值在DO和END和的數值只能是1、2、3超出範圍會報警。
條件語句可以嵌套進行,但不要超過允許的程序數值。但有程序交叉重複循環即DO範圍重疊就會出錯報警。圖示如下。
大家看到在WHILE語句和IF語句兩個命令都可以實現相同的切削循環,但還是有區別的如果應用到小於3的編號程序時WHILE條件語句會更合適,因為GOTO語句要進行程序段檢索,反向檢索時間要比正向檢索時間長,所以WHILE運行速度更快。當然用於多段程序時超過3後,就只能用IF語句了。