NC程序斷點(diǎn)功能的應(yīng)用
一般意義的程序語(yǔ)言在調(diào)試時(shí)會(huì)通過(guò)信號(hào)設(shè)置通知調(diào)試器在執(zhí)行到某個(gè)特定點(diǎn)時(shí)將程序執(zhí)行暫時(shí)掛起,使其處于中斷模式,便于檢查所有元素(如函數(shù)、變量或?qū)ο?是否存在沖突或BUG;同時(shí)通過(guò)設(shè)置斷點(diǎn),記住程序中斷位置,下一次執(zhí)行時(shí)程序自動(dòng)從斷點(diǎn)位置開始執(zhí)行,極大地方便了操作。NC程序借鑒該用法,在程序語(yǔ)句中通過(guò)宏變量的設(shè)置實(shí)現(xiàn)其斷點(diǎn)功能,方便機(jī)床加工過(guò)程中實(shí)現(xiàn)不同情況下的功能及應(yīng)用。
斷點(diǎn)功能的程序結(jié)構(gòu)
在CNC機(jī)床主加工程序中,工件開始加工前將宏變量#581置1,加工結(jié)束后將#581置0,當(dāng)前加工到的刀具號(hào)作為斷點(diǎn)號(hào)儲(chǔ)存在宏變量#585中。當(dāng)每次執(zhí)行到主加工程序時(shí),判斷#581當(dāng)前值,若為1表示該工件未加工結(jié)束,跳轉(zhuǎn)到斷點(diǎn)號(hào)的刀具開始執(zhí)行;若為0則表示上一個(gè)工件正常加工結(jié)束,順序執(zhí)行后續(xù)語(yǔ)句,其程序結(jié)構(gòu)如圖1所示。
其程序語(yǔ)句如下:
N01000IF[#581EQ1]GOTO[#585]
N01010IF[#539EQ0]THEN#581=1
(第一把刀加工內(nèi)容:TNo.1)
N[No.1]#585=No.1
……
……
(最后一把刀加工內(nèi)容(假設(shè)為第10把刀):TNo.10)
N[No.10]#585=No.10
……
N99990#581=0
其中,#539=0表示機(jī)床處于正常加工模式。
CNC機(jī)床在運(yùn)行過(guò)程中,通常有兩種模式供操作者選擇,即空運(yùn)行模式及正常加工模式。空運(yùn)行模式下,機(jī)床不帶工件執(zhí)行加工程序,程序從任一把刀開始執(zhí)行無(wú)撞刀風(fēng)險(xiǎn)或質(zhì)量風(fēng)險(xiǎn),因此無(wú)需在加工開始前設(shè)置#581=1以表示工件未加工完用于過(guò)程中的中斷模式設(shè)置。而正常加工模式下機(jī)床帶工件運(yùn)行,加工過(guò)程中出現(xiàn)中斷,當(dāng)前程序須從斷點(diǎn)開始加工才能避免重復(fù)加工引起的質(zhì)量問(wèn)題,因此在程序加工前設(shè)置#581=1以實(shí)現(xiàn)執(zhí)行斷點(diǎn)加工的可行性。
結(jié)合宏變量#581及#585在程序中不同位置的賦值,即實(shí)現(xiàn)了NC程序中的斷點(diǎn)功能。
斷點(diǎn)功能的基本應(yīng)用
在理解NC程序中斷點(diǎn)功能的程序結(jié)構(gòu)后,機(jī)床加工過(guò)程中斷點(diǎn)功能的基本應(yīng)用就比較明了了。
1.防止加工中斷的工件被重復(fù)加工
在工件加工過(guò)程中,由于機(jī)床報(bào)警或人為操作的原因,造成工件的加工中斷,如果該工件從第一把刀順序加工,則會(huì)造成已經(jīng)加工的特征被重復(fù)加工,造成節(jié)拍的增加或引起工件質(zhì)量問(wèn)題,輕則造成加工尺寸不合格,重則造成工件加工報(bào)廢。
通過(guò)斷點(diǎn)功能的設(shè)置,當(dāng)循環(huán)啟動(dòng)時(shí),機(jī)床執(zhí)行到主加工程序,判斷當(dāng)前#581為1(表示該工件未加工完),機(jī)床跳轉(zhuǎn)到#585保存的順序號(hào),從工件加工中斷時(shí)的刀具進(jìn)行再次加工直至當(dāng)前工位最后一把刀具加工完成,成功避免了已經(jīng)完成加工的特征面被再次加工。
2.實(shí)現(xiàn)跳刀加工功能
NC程序的主程序通過(guò)判斷機(jī)床當(dāng)前狀態(tài)來(lái)確定機(jī)床下一步應(yīng)該執(zhí)行的程序。
N10110IF[#10021AND8EQ8]GOTO10900(Stop Cycle End)
N10120IF[#10021AND2EQ2]GOTO10600(WARM UP)
N10130IF[#1034AND1EQ1]GOTO10300(Part Unclamp - Unloading)
N10140IF[#1034AND2EQ2]GOTO10400(Part Clamp - Loading)
N10150IF[#1034AND4EQ4]GOTO10500(Machining Part)
當(dāng)機(jī)床在夾緊狀態(tài)下且回到“home”位置時(shí),機(jī)床執(zhí)行主加工程序。在當(dāng)前狀態(tài)下,將#581的值更改為1,#585的值更改為任一刀具號(hào),再次循環(huán)啟動(dòng)時(shí),機(jī)床將從#585保存的刀具開始執(zhí)行。
這種方法通常在以下兩種情況下得到廣泛應(yīng)用:
第一種情況,跳刀驗(yàn)證程序。對(duì)加工工藝進(jìn)行優(yōu)化通常不是針對(duì)所有刀具,而只是對(duì)其中一把刀具或某幾把刀具進(jìn)行路徑或參數(shù)的更改。程序調(diào)試驗(yàn)證者可通過(guò)設(shè)置#581和#585的值,使程序從被優(yōu)化過(guò)的刀具開始執(zhí)行以便觀察優(yōu)化后的程序是否有撞機(jī)風(fēng)險(xiǎn)。未做優(yōu)化的刀具則無(wú)需運(yùn)行,減少驗(yàn)證者的等待時(shí)間。
第二種情況,跳刀返修工件。部分工件因設(shè)備故障或刀具斷刀等原因,從當(dāng)前工位加工倉(cāng)被送出,但工件實(shí)際未加工完成;或工件因設(shè)備定位面原因或人為修改補(bǔ)償錯(cuò)誤等原因,造成部分特征加工不合格;或工件在后續(xù)工位移動(dòng)過(guò)程中造成零件表面劃傷等缺陷。這些工件能夠被機(jī)床返修達(dá)到合格工件的狀態(tài)被繼續(xù)使用,操作者即可通過(guò)設(shè)置#581和#585的值,跳轉(zhuǎn)到加工需要被返修特征的加工刀具開始執(zhí)行,達(dá)到節(jié)省時(shí)間和避免重復(fù)加工的目的。
該方法要求操作者對(duì)加工工藝和機(jī)床操作較為熟悉,避免人為修改錯(cuò)誤造成跳刀錯(cuò)誤,從而出現(xiàn)零件加工質(zhì)量風(fēng)險(xiǎn)和機(jī)床運(yùn)行撞機(jī)等安全風(fēng)險(xiǎn)。
斷點(diǎn)功能的擴(kuò)展用法
在實(shí)際加工過(guò)程中,我們遇到過(guò)兩種情況的撞機(jī)。
一是機(jī)床加工過(guò)程中出現(xiàn)報(bào)警,操作人員按照正常的流程查看報(bào)警信息后復(fù)位報(bào)警,按下“循環(huán)啟動(dòng)”按鈕重新加工工件。通常一名操作者需要同時(shí)操作幾個(gè)工位,當(dāng)前工位開始正常執(zhí)行程序后操作者即開始下個(gè)工位的操作。部分報(bào)警出現(xiàn)后,工件在機(jī)床臺(tái)面的狀態(tài)被改變,如圖2所示。機(jī)床執(zhí)行到主程序時(shí)判定當(dāng)前狀態(tài)不適合加工,執(zhí)行松開程序,此時(shí)未加工完的工件被放出該工位。當(dāng)操作者重新回到該工位時(shí),誤認(rèn)為該工件按照正常流程被加工完,直接將該工件放入后續(xù)工位加工。如果機(jī)床加工過(guò)程中出現(xiàn)報(bào)警,操作者人為將未加工完成的工件松開放出該工位。但由于操作者的失誤未正確處理該工件,導(dǎo)致未加工完成的工件流入后續(xù)工位。
二是由于人為操作失誤,在上一個(gè)工件未加工完成的情況下,通過(guò)手動(dòng)操作方式夾緊工件開始加工。但當(dāng)前狀態(tài)下,#581的值為1,機(jī)床跳過(guò)前面的刀具,直接從#585記錄的刀具開始加工。
這兩種情況下,因工件的特征未加工完,機(jī)床加工時(shí)工件與刀具或夾具有干涉,直接造成加工過(guò)程中撞機(jī),造成刀具報(bào)廢或主軸損壞。更換主軸所造成的停機(jī)浪費(fèi)以及主軸備件的維修成本都是巨大的,因此需要采取措施預(yù)防這種情況的發(fā)生。
這兩種情況都與工件的漏加工有關(guān),結(jié)合#581的用法:“#581=1時(shí)表示工件未加工完;#581=0時(shí)表示工件加工完成”,我們可通過(guò)NC語(yǔ)句編程來(lái)避免這兩種撞機(jī)情況。
針對(duì)第一種情況,可稱之為漏加工造成后續(xù)工位撞機(jī),主要原因?yàn)椴僮髡呶醇皶r(shí)發(fā)現(xiàn)或判斷出當(dāng)前工位流出的工件未加工完成。通過(guò)在“PART-UNCLAMP”程序(即工件松開程序)中,判斷#581的值是否為0以確認(rèn)當(dāng)前工件是否加工完,未加工完成則報(bào)警提醒操作者檢查工件,從而防止漏加工工件逃逸。NC程序如下:
N0005IF[#581EQ0]GOTO10
N0008#3000=1(The part isn't finished,check #581)
N0010……
針對(duì)第二種情況,可稱之為跳刀加工造成的當(dāng)前工位撞機(jī),主要原因?yàn)闄C(jī)床在執(zhí)行到主加工程序時(shí),#581的值不為0,機(jī)床從#585記錄的刀具號(hào)開始執(zhí)行。因新工件要執(zhí)行加工程序,必須要達(dá)到夾緊狀態(tài)。而無(wú)論是自動(dòng)方式下運(yùn)行夾緊程序,或通過(guò)面板操作執(zhí)行夾緊程序,機(jī)床都會(huì)調(diào)用“PART-CLAMP”程序(即工件夾緊程序)。通過(guò)在“PART-CLAMP”程序中設(shè)置#581=0,強(qiáng)制復(fù)位上一個(gè)加工件的狀態(tài),使新工件從第一把順序加工,避免跳刀加工的情況發(fā)生。
結(jié)語(yǔ)
斷點(diǎn)功能的應(yīng)用要考慮到NC程序整個(gè)結(jié)構(gòu),確認(rèn)清楚所有程序中#581的值被改變的情況,避免狀態(tài)更改錯(cuò)誤引起的加工風(fēng)險(xiǎn)。斷點(diǎn)功能的擴(kuò)展應(yīng)用還可以結(jié)合PMC程序來(lái)實(shí)現(xiàn),具體的情況需要使用者充分考慮操作者的使用習(xí)慣和機(jī)床的實(shí)際加工情況。
編輯推薦
最新資訊
-
“京采組合”創(chuàng)領(lǐng)變革 —— 一站式商
2025-09-16 17:53
-
旭化成發(fā)布新型傳感解決方案,無(wú)需攝
2025-09-16 15:53
-
電裝中國(guó)以創(chuàng)新助力“雙碳”目標(biāo) 推
2025-09-12 15:42
-
汽車新零售又出黑馬,久車GO百城聚力
2025-09-12 15:25
-
思看科技走進(jìn)浙大課堂,產(chǎn)教融合賦能
2025-09-11 20:45