鄭浩
(四川職業(yè)技術(shù)學院,四川 遂寧 629000)
以邏輯思路思考和分析公式曲線宏程序的編程方法
鄭浩
(四川職業(yè)技術(shù)學院,四川 遂寧 629000)
宏程序編程難度較大,其編程格式不固定,涉及的知識面廣,最重要的是需要學生有良好的邏輯思考能力.本文以橢圓曲線公式編程為例,以邏輯順序?qū)⑿枰玫降闹R點進行串聯(lián),并總結(jié)分析橢圓公式曲線宏程序的正確編程思路.
曲線宏程序邏輯擬合
在常見的手動數(shù)控編程中,公認難度較大的部分是宏程序編程.宏程序主要應(yīng)用在公式曲線編程和以邏輯條件控制機床的加工中.由于宏程序不像G71、G72、G73循環(huán)程序有固定的格式,也不如子程序表述含義淺顯易懂,其編程方法靈活多變,以致學生理解起來有較大難度.在某市教師數(shù)控技能大賽中,參賽八名老師僅有一名老師正確的編寫出了公式曲線的宏程序.
在作者看來,宏程序作為一種“特殊”的編程方法,雖然它沒有固定的格式,但是它有一個靈魂—邏輯思路,如果使學生正確的理解了宏程序的編程邏輯思路,那么不管公式曲線如何變化,都可以舉一反三的進行編寫.
1.1 曲線形成原理
在數(shù)控系統(tǒng)中,橢圓、雙曲線等公式曲線都是由“直線逼近曲線軌跡”的方法來進行計算軌跡節(jié)點,如圖1所示.
圖1 曲線形成原理
從圖1可以看出,一段曲線是由無數(shù)段直線擬合而成的,只要知道了每條線段的端點坐標(以下簡稱為動態(tài)坐標),那么就能編寫出相應(yīng)的加工程序。但是,為了保證擬合精度,往往每段直線段很短(比如0.01),那形成一個曲線的程序量將會非常龐大.因此,為了減小編程工作量,數(shù)控系統(tǒng)提供變量編程,用戶可以指定一些變量、使用一些函數(shù)、循環(huán)調(diào)用加工指令等,即通常所說的宏程序編程.
1.2 曲線編程思路
宏程序編程主要有以下兩種方式:一種以I F語句進行加工終點的判斷.根據(jù)判斷的結(jié)果決定宏程序是繼續(xù)進行動態(tài)坐標的計算還是宏程序結(jié)束;另一種是以WHILE語句進行條件判斷,當條件滿足時,進行動態(tài)坐標計算,反之條件不滿足時宏程序結(jié)束.具體編程邏輯思路如圖2所示.具體來說,主要有以下幾步:
圖2 宏程序編程邏輯圖
1.2.1 賦變量初始值
變量的初始值主要根據(jù)曲線的函數(shù)關(guān)系式進行指定.在數(shù)控系統(tǒng)中,常用距離、位置、次數(shù)、角度等量進行表達.
1.2.2 計算曲線動態(tài)坐標
動態(tài)坐標的計算是保證加工形狀的關(guān)鍵.動態(tài)坐標(X,Y,Z)采用變量指定后,每次編程不再使用直接坐標值,可直接以變量的形式調(diào)用.比如:#1表示X坐標,#2表示Z坐標,那么加工指令可以直接使用如下形式:G01X#1Z#2,這樣,當#1、#2變量根據(jù)公式計算結(jié)果,自動發(fā)生變化.
1.2.3 逼近輪廓加工
在一次循環(huán)跳轉(zhuǎn)中,常采用G01進行微小段逼近輪廓加工,即圖1的直線段.一般情況,每一次循環(huán)執(zhí)行一個G01,連續(xù)的循環(huán)即可完成逼近曲線的切削加工.
1.2.4 計算步長
步長的大小直接體現(xiàn)直線逼近曲線的誤差(即圖1的δ).一般來說,步長越小,擬合出的曲線越接近于理論曲線.但是,過小的步長會極大地增加數(shù)控系統(tǒng)計算量,循環(huán)跳轉(zhuǎn)次數(shù)也急劇增加,因此很多數(shù)控系統(tǒng)都對最小步長進行了限制.由于數(shù)控系統(tǒng)采用的是笛卡爾直角坐標系統(tǒng),并考慮公式曲線的函數(shù)方程,常用步長一般采用直線步長和角度步長.
1.2.5 語句判斷
語句判斷以坐標、角度、次數(shù)、邏輯等變量作為判斷條件,也可以以公式作為判斷.IF跳轉(zhuǎn)語句一般放在循環(huán)后面,采用“先執(zhí)行后判斷”;While語句一般放在循環(huán)前面,采用“先判斷后執(zhí)行”.
圖3 編程實例圖
以上圖零件的橢圓曲線為例,該曲線方程為:x=
在上述程序中的“N35 I F[#2GE-22]GOTO20”,20表示的跳轉(zhuǎn)到的目標語句的程序段N20.在實際編程中,容易出現(xiàn)以下問題:
3.1 跳轉(zhuǎn)到N 15,即GO TO 15
此時每次跳轉(zhuǎn)的#2變量都為固定的值30,通過橢圓公式計算得到的#1也是固定的值,無法生成X、Z軸的動態(tài)坐標.I F條件判斷無法終止,陷入“死循環(huán)”.
3.2 跳轉(zhuǎn)到N 25,即GO TO 25
此時#2只能得到#2=#2-0.1的結(jié)果,并不能通過公式計算出#1的值.#1為系統(tǒng)初始值,無法生成X、Z軸的動態(tài)坐標.
宏程序的應(yīng)用十分廣泛,且編程方法非常靈活,雖然其編程方式有別于其他常見程序,但是萬變不離其中.本文可以讓更多學習宏程序的讀者,深入的理解宏程序編寫曲線公式的編程思路;通過編程實例,將編程中容易出現(xiàn)的問題進行了邏輯分析和對比,對拓展讀者的編程邏輯思路,提高編程能力有著一定的作用.
[1]李航.宏程序編程方法初探[J].黑龍江科技信息,2011,(15).
[2]王磊.數(shù)控加工中宏程序的應(yīng)用[J].價值工程,2011,(21).
[3]倪貴華.SIEMENS 802D數(shù)控系統(tǒng)宏程序在曲線編程中的應(yīng)用[J].煤礦機械,2011,(09).
責任編輯:張隆輝
TG659
B
1672-2094(2014)03-0179-02
2014-04-06
鄭 潔(1981-),男,四川遂寧人,四川職業(yè)技術(shù)學院機械工程系助教.研究方向:數(shù)控加工技術(shù).