07.27 由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

今天針對宏程序進行第三講,分1.循環語句while、2調用子程序、3案例講解共三個部分進行講解!

一、while語句

在講解IF 和GOTO 語句後,還有一個控制語句while(當什麼的時候)

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

l 循環(WHILE 語句)

格式:WHILE [條件表達式]DO m;(m=1,2,3)

END m;

說明:當指定的條件滿足時,執行WHILE 從DO到END之間的程序。否則,轉而執行END之後的程序段。這種指令格式適用於IF 語句。DO後的號和END後的號是指定程序執行範圍的標號,標號值為1,2,3。若用1,2,3 以外的值會產生報警。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

注意:

① DO m必須在END m之間指定;

② DO最多可以嵌套三次;

③ DO m和END m在一個程序中必須彼此對應;

④ 從DO內部可以轉移到其外部,不能從DO範圍外部向內部轉移;

⑤ 從DO範圍內部可以調宏程序或子程序。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

我們以一個拋物線為例

拋物線的標準方程,見圖

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

拋物線輪廓的編程方法與橢圓輪廓的編程方法一樣,我們可以用折線1-2-3-4-5-…逼近,我們只要計算出在不同的z1 z2,z3,z4…值下,利用公式:x= SQRT[ Z / K],計算出x1 x2,x3,x4…值,這樣也就得到了點1-2-3-4-5-…的座標值了,只要用G01直線插補指令就可以完成拋物線輪廓。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

拋物線宏程序如下:

#1=;Z值起點

#2=;Z值終點

WHILE[#1GE#2] DO1;循環語句,控制拋物線的範圍

#3= SQRT[ #1 / K];計算X座標值

G01X[2*#3]] Z[#1]F ;切削加工

#1=#1-1;Z值遞減

END1;

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

二、宏程序調用方法

上一講中,我們是把宏程序指令直接放在了程序裡,所以叫做用戶宏程序,除了有上述方法外,我們也可以用G65,G66,G67或其它G代碼,M代碼調用宏程序,這裡以G65,G66,G67代碼為例。

l 非模態調用(G65)

當指定G65 時,以地址P 指定的用戶宏程序被調用。數據(自變量)能傳遞到用戶宏程序體中。

格式:G65 P p L l ;

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

說明:

①p:要調用的程序

l:重複的次數(默認值為1)

自變量:數據傳遞到宏程序

②自變量指定

可用兩種形式的自變量指定,見表12-1。自變量指定I使用除了G,L,O,N 和P 以外的字母,每個字母指定一次。自變量指定Ⅱ使用A,B,C 和Ii,Ji 和Ki(i 為1~10)。根據使用的字母,自動地決定自變量指定的類型。CNC 內部自動識別自變量指定Ⅰ和自變量指定Ⅱ。如果自變量指定Ⅰ和自變量指定Ⅱ混合指定的話,後指定的自變量類型有效。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

③沒有小數點的自變量數據的單位為各地址的最小設定單位。傳遞的沒有小數點的自變量的值根據機床實際的系統配置變化。在宏程序調用中使用小數點可使程序兼容性好。

④被調用的程序結束用M99指令。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

l 模態調用(G66)

一旦發出G66 則指定模態調用,即指定沿移動軸移動的程序段後調用宏程序。G67 取消模態調用。

格式:G66 P p L l ;

說明:

①p:要調用的程序

l:重複的次數(默認值為1)

自變量:數據傳遞到宏程序

②指定G67代碼時,其後面的程序段不再執行模態宏程序調用。

③在模態調用期間,指定另一個G66 代碼,可以嵌套模態調用。

④在G66 程序段中,不能調用多個宏程序。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

⑤G66必須在自變量之前指定。

⑥在只有諸如輔助功能但無移動指令的程序段中不能調用宏程序。

⑦局部變量(自變量)只能在G66 程序段中指定。注意,每次執行模態調用時,不再設定局部變量。

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

三、案例講解

以拋物線和橢圓加工為例!

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

由淺入深,講解數控車宏程序編制,第三講,WHILE循環和宏的調用

先就這樣吧!


分享到:


相關文章: