? FANUC系統數控車床B類宏程序編程應用
雖然子程序對編制相同加工操作的程序非常有用,但用戶宏程序由于允許使用變量、算術和邏輯運算及條件轉移,使得編制相同加工操作的程序更方便,更容易。可將相同加工操作編為通用程序,如型腔加工宏程序和固定加工循環宏程序。 使用時, 加工程序可用一條簡單指令調出用戶宏程序,和調用子程序完全一樣。
一、變量 普通加工程序直接用數值指定 G代碼和移動距離; 例如, G100和 X100.0。 使用用戶宏程序時,數值可以直接指定或用變量指定。當用變量時,變量值可用程序或用 MDI 面板上的操作改變。 如:#2=30; #1=#2+100; G01 X#1 F0.3
1、變量的表示 變量用變量符號(#)和后面的變量號指定。 例如:#1 表達式可以用于指定變量號。此時,表達式必須封閉在括號中。 例如:#[#1+#2-12] 2、變量的類型 變量根據變量號可以分成四種類型。 3、變量值的范圍 局部變量和公共變量可以有 0 值或下面范圍中的值: -1047到-10-29 0 10-29到 1047 如果計算結果超出有效范圍,則發出 P/S報警No.111. 4、小數點的省略 當在程序中定義變量值時,小數點可以省略。 例:當定義#1=123;變量#1的實際值是 123.000。 5、變量的引用 為在程序中使用變量值, 指定后跟變量號的地址。 當用表達式指定變量時,要把表達式放在括號中。 例如:G01X[#1+#2]F#3; 被引用變量的值根據地址的最小設定單位自動地舍入。 例如: 當 G00X#1;以 1/1000mm 的單位執行時,CNC把 12.3456 賦值給 變量#1,實際指令值為 G00X12.346; 。 改變引用的變量值的符號,要把負號(一)放在#的前面。 例如:G00X—#1; 當引用未定義的變量時,變量及地址字都被忽略。 例如: 當變量#1的值是 0,并且變量#2的值是空時,G00X#1 Z#2 的執行結果為 G00X0; 。 6、未定義的變量 當變量值未定義時,這樣的變量成為“空”變量。變量#0 總是空變量。它不能寫,只能讀。 (a) 引用 當引用一個未定義的變量時,地址本身也被忽略。 二、算術和邏輯運算 下表中列出的運算可以在變量中執行。 運算符右邊的表達式可包含常量和/或由函數或運算符組成的變量。表達式中的變量#j 和#k 可以用常數賦值。左邊的變量也可以用表達式賦值。 三、轉移和循環 在程序中,使用 GOTO 語句和 IF 語句可以改變控制的流向。有三種轉移和循環操作可供使用:
1、無條件轉移 (GOTO 語句) 格式:GOTOn;n:順序號(1~99999) 轉移到標有順序號 n 的程序段。當指定 1 到99999 以外的順序號時,出現P/S 報警 No.128。可用表達式指定順序號。 例: GOTO1; GOTO#10; 2、條件轉移 (IF 語句) IF[條件表達式>] GOTO n IF之后指定條件表達式。 如果指定的條件表達式滿足時,轉移到標有順序號 n 的程序段。如果指定的條件表達式不滿足,執行下個程序段。
說明: a、條件表達式 條件表達式必須包括算符。算符插在兩個變量中間或變量和常數中間,并且用括號 ([ ])封閉。表達式可以替代變量。 b、運算符 運算符由 2個字母組成,用于兩個值的比較,以決定它們是相等還是一個值小于或大于另一個值。注意,不能使用不等符號。 C、示例程序 下面的程序計算數值 1~10 的總和 3、循環 (WHILE 語句) 在WHILE后指定一個條件表達式, 當指定條件滿足時, 執行從DO到END之間的程序。否則,轉到 END后的程序段。 說明: 當指定的條件滿足時,執行 WHILE 從 DO 到 END 之間的程序。否則,轉而執行 END 之后的程序段。這種指令格式適用于 IF 語句。DO 后的號和 END 后的號是指定程序執行范圍的標號,標號值為 1,2,3。若用 1,2,3 以外的值會產生 P/S 報警 No.126。 循環嵌套: 在 DO—END循環中的標號(1 到 3)可根據需要多次使用。但是,當程序有交叉重復循環(DO范圍的重疊)時,出現 P/S報警 No.124。
四、宏程序編程舉例
加工順序:粗車→半精車→精車 (1)精車程序: 設置變量
G00 X7 Z74; #1=72; WHILE[#1GE2] DO2; #2=[[36/#1]+3]; G42 G01 X[#2] Z[#1] F0.1; #1=#1-0.1; END2;
(2)粗車程序: G90來粗車 設置變量
#2=38; WHILE[#1GE7] DO3; #1=[36/[#1-3]]; G00 X[#2+5] Z74; G90 X[#2+0.5] Z[#1] F0.2; #2=#2-4; END3; (3)半精車程序: 設置變量
G00 X7 Z74; #1=72; WHILE[#1GE2] DO4; #2=[[36/#1]+3.5]; G01 X[#2] Z[#1] F0.1; #1=#1-0.1; END4;
P170 公式曲線方程有兩種:直角坐標方程和參數方程 橢圓方程: x2/a2+y2/b2=1 或 x=acosθ,y=bsinθ |
|