多軸加工重復(fù)循環(huán)及其在VERICUT中的實(shí)現(xiàn)
一、前言
西門子SINUMERIK 840D系統(tǒng)作為一個高端的數(shù)控系統(tǒng),指令豐富,功能強(qiáng)大,被廣泛應(yīng)用到各類加工中心上。該系統(tǒng)的宏指令(@代碼)編程方式既是對標(biāo)準(zhǔn)編程指令集的補(bǔ)充,又極大地擴(kuò)充了系統(tǒng)的編程指令,同時也極大地方便了用戶的使用。用戶完全可以根據(jù)自身的需要,去編制簡潔、實(shí)用、優(yōu)化以及有針對性的程序,以實(shí)現(xiàn)各種功能。
產(chǎn)品零件的多軸加工,在這里我們主要是指應(yīng)用4~5軸的加工方式實(shí)現(xiàn)對零件的加工。實(shí)際工作中通常都使用標(biāo)準(zhǔn)的編程指令去編制程序,但有時我們也會碰到一些結(jié)構(gòu)上比較有特點(diǎn)的零件,比如圖1、圖2所示的葉輪類的零件,這類零件的每一個葉片和流道只是在某個旋轉(zhuǎn)軸上相差一個角度,如果將所有的加工輪廓都編制出來,顯然是很不經(jīng)濟(jì),也使得程序冗長。相反只編制一個葉片和流道的加工輪廓,通過重復(fù)循環(huán)的方式去實(shí)現(xiàn)整個葉輪的加工,這樣的零件加工程序簡潔,結(jié)構(gòu)才更加合理。這種重復(fù)循環(huán)編程方式通過宏指令完全可以實(shí)現(xiàn),在我們工廠里早已應(yīng)用。但是我們以前程序中所使用的某些宏指令在VERICUT軟件中不起作用,無法實(shí)現(xiàn)完整的程序仿真。經(jīng)過對西門子SINUMERIK 840D系統(tǒng)標(biāo)準(zhǔn)編程指令、宏指令以及VERICUT軟件本身的研究,我最終找到了即能被數(shù)控系統(tǒng)接受,又能在VERICUT軟件中實(shí)現(xiàn)重復(fù)循環(huán)功能的方式。以下就該數(shù)控系統(tǒng)的多軸加工重復(fù)循環(huán)問題以及如何在VERICUT中去實(shí)現(xiàn)的問題介紹一下我的處理方式,重點(diǎn)介紹數(shù)控系統(tǒng)和VERICUT軟件都接受的方式。
二、西門子SINUMERIK 840D數(shù)控系統(tǒng)常用的多軸加工重復(fù)循環(huán)
西門子SINUMERIK 840D系統(tǒng)是開放式的數(shù)控系統(tǒng),可以通過數(shù)據(jù)通道實(shí)現(xiàn)系統(tǒng)變量和外部R參數(shù)之間的相互傳遞,因此比較容易通過宏指令去實(shí)現(xiàn)重復(fù)循環(huán)的功能。西門子SINUMERIK 840D系統(tǒng)中提供了程序分支和R參數(shù)到系統(tǒng)內(nèi)存的數(shù)據(jù)傳輸以及算術(shù)功能的宏指令,我們通過@12X這種IF-THEN-ELSE指令或者@13X這種WHILE指令以及@100這種GOTO指令去實(shí)現(xiàn)多次的循環(huán)和程序的跳轉(zhuǎn),通過@430零點(diǎn)偏移輸入指令或@432可編程零點(diǎn)偏移輸入指令將程序分支中的相應(yīng)R參數(shù)調(diào)入去實(shí)現(xiàn)加工軌跡的旋轉(zhuǎn),最終實(shí)現(xiàn)多軸加工的重復(fù)循環(huán)功能。這種方式對絕對值/增量值編程方式都是適用的。另外,實(shí)際上對于增量值編程方式,完全可以不使用@430或@432宏指令,而只是通過在加工軌跡的第一個絕對值定位程序段中給相應(yīng)的旋轉(zhuǎn)軸地址碼賦一個R變量參數(shù),該R參數(shù)同樣是在程序分支中賦給不同的值以實(shí)現(xiàn)完整的重復(fù)循環(huán)。例如,G00X._Y_Z_B=R100 或者G00X._Y_Z_B_C=R100,值得注意的是這樣的方式必須要求在定位程序段后面所有的加工軌跡程序段中都使用增量。
三、VERICUT軟件接受的多軸加工重復(fù)循環(huán)方式
VERICUT作為一個高端的校驗(yàn)、仿真、優(yōu)化軟件,能夠很好地支持各種數(shù)控系統(tǒng)的G代碼文件。在西門子系統(tǒng)中對@12X和@100等部分宏指令是完全支持的,但是該軟件在G-code setting中的Job Tables里的有關(guān)設(shè)置是不支持變量的,如圖2所示,因此也就不支持西門子SINUMERIK 840D系統(tǒng)中使用的@430或@432宏指令。雖然對于前述的增量值編程方式是支持的,但實(shí)際工作中,更多、更方便的是使用絕對值編程方式。因此,找到VERICUT軟件所接受的多軸加工重復(fù)循環(huán)方式是有現(xiàn)實(shí)意義的。
經(jīng)過試驗(yàn),在西門子SINUMERIK 840D系統(tǒng)中提供的標(biāo)準(zhǔn)編程指令中,零點(diǎn)偏移指令G54~G57配合可編程零點(diǎn)偏移指令G58/G59也能實(shí)現(xiàn)加工軌跡的旋轉(zhuǎn)。而且這種方式是VERICUT軟件所接受的。下面參照5軸加工的部分程序段具體介紹。
(1)在主程序中的調(diào)用
L200 R26=0 R27=17 R28=0001 R29=1;(R27:循環(huán)次數(shù) R28:子程序號 )
(2)子程序SPF 200
@714
R49=0 ;(加工軌跡旋轉(zhuǎn)角度的初值)
R26=360/R27;(旋轉(zhuǎn)角度的均分值)
N300 @126 R29 R27 K375 ;(當(dāng)R29 L=R28 ;(調(diào)用子程序)
R49=R29*R26;(加工軌跡旋轉(zhuǎn)角度的賦值)
@714
@620 R29 ;(R29= R29+1)
@100 K-300 ;(無條件跳轉(zhuǎn)執(zhí)行前面的N300程序段)
N375 G17 M17
(3)子程序SPF0001
G00 G55 G64 G90
G58C=R49
G00 X_ Y_ B_ C_
…..
G58C0
M17
其中通用子程序SPF200利用程序分支結(jié)構(gòu)實(shí)現(xiàn)重復(fù)循環(huán)和賦給參數(shù)R49的不同的值,子程序SPF0001中調(diào)用參數(shù)R49實(shí)現(xiàn)了具體加工軌跡的旋轉(zhuǎn),且該子程序的加工軌跡絕對值/增量值編程方式都是適用的。從上面的程序可以看出,程序本身并不復(fù)雜,易于掌握。如左圖所示,上述的方式我在VERICUT軟件中已經(jīng)成功的實(shí)現(xiàn)了重復(fù)循環(huán)和整個程序的完整仿真。
四、結(jié)束語
通過前面的介紹,有效地利用數(shù)控系統(tǒng)的宏指令編程,為我們的實(shí)際工作到來了極大的方便。凡在西門子系統(tǒng)中具有相關(guān)指令的都可以很好地實(shí)現(xiàn)這種重復(fù)循環(huán)的功能,根據(jù)這種編程思想,我在FANUC 0iMD系統(tǒng)中也成功實(shí)現(xiàn)了4軸加工的重復(fù)循環(huán)功能,相信這種編程方式同樣也完全可以擴(kuò)展到其他數(shù)控系統(tǒng)中去。另一方面,通過試驗(yàn)也能提高對VERICUT軟件功能的認(rèn)識和應(yīng)用。本文也旨在通過宏指令的應(yīng)用以及VERICUT軟件對重復(fù)循環(huán)的處理方式的介紹,將這種編程思想和對VERICUT軟件的應(yīng)用更好地用到實(shí)際的工作中去,同時去開發(fā)更多功能為我們服務(wù)
一、前言
西門子SINUMERIK 840D系統(tǒng)作為一個高端的數(shù)控系統(tǒng),指令豐富,功能強(qiáng)大,被廣泛應(yīng)用到各類加工中心上。該系統(tǒng)的宏指令(@代碼)編程方式既是對標(biāo)準(zhǔn)編程指令集的補(bǔ)充,又極大地擴(kuò)充了系統(tǒng)的編程指令,同時也極大地方便了用戶的使用。用戶完全可以根據(jù)自身的需要,去編制簡潔、實(shí)用、優(yōu)化以及有針對性的程序,以實(shí)現(xiàn)各種功能。
產(chǎn)品零件的多軸加工,在這里我們主要是指應(yīng)用4~5軸的加工方式實(shí)現(xiàn)對零件的加工。實(shí)際工作中通常都使用標(biāo)準(zhǔn)的編程指令去編制程序,但有時我們也會碰到一些結(jié)構(gòu)上比較有特點(diǎn)的零件,比如圖1、圖2所示的葉輪類的零件,這類零件的每一個葉片和流道只是在某個旋轉(zhuǎn)軸上相差一個角度,如果將所有的加工輪廓都編制出來,顯然是很不經(jīng)濟(jì),也使得程序冗長。相反只編制一個葉片和流道的加工輪廓,通過重復(fù)循環(huán)的方式去實(shí)現(xiàn)整個葉輪的加工,這樣的零件加工程序簡潔,結(jié)構(gòu)才更加合理。這種重復(fù)循環(huán)編程方式通過宏指令完全可以實(shí)現(xiàn),在我們工廠里早已應(yīng)用。但是我們以前程序中所使用的某些宏指令在VERICUT軟件中不起作用,無法實(shí)現(xiàn)完整的程序仿真。經(jīng)過對西門子SINUMERIK 840D系統(tǒng)標(biāo)準(zhǔn)編程指令、宏指令以及VERICUT軟件本身的研究,我最終找到了即能被數(shù)控系統(tǒng)接受,又能在VERICUT軟件中實(shí)現(xiàn)重復(fù)循環(huán)功能的方式。以下就該數(shù)控系統(tǒng)的多軸加工重復(fù)循環(huán)問題以及如何在VERICUT中去實(shí)現(xiàn)的問題介紹一下我的處理方式,重點(diǎn)介紹數(shù)控系統(tǒng)和VERICUT軟件都接受的方式。
二、西門子SINUMERIK 840D數(shù)控系統(tǒng)常用的多軸加工重復(fù)循環(huán)
西門子SINUMERIK 840D系統(tǒng)是開放式的數(shù)控系統(tǒng),可以通過數(shù)據(jù)通道實(shí)現(xiàn)系統(tǒng)變量和外部R參數(shù)之間的相互傳遞,因此比較容易通過宏指令去實(shí)現(xiàn)重復(fù)循環(huán)的功能。西門子SINUMERIK 840D系統(tǒng)中提供了程序分支和R參數(shù)到系統(tǒng)內(nèi)存的數(shù)據(jù)傳輸以及算術(shù)功能的宏指令,我們通過@12X這種IF-THEN-ELSE指令或者@13X這種WHILE指令以及@100這種GOTO指令去實(shí)現(xiàn)多次的循環(huán)和程序的跳轉(zhuǎn),通過@430零點(diǎn)偏移輸入指令或@432可編程零點(diǎn)偏移輸入指令將程序分支中的相應(yīng)R參數(shù)調(diào)入去實(shí)現(xiàn)加工軌跡的旋轉(zhuǎn),最終實(shí)現(xiàn)多軸加工的重復(fù)循環(huán)功能。這種方式對絕對值/增量值編程方式都是適用的。另外,實(shí)際上對于增量值編程方式,完全可以不使用@430或@432宏指令,而只是通過在加工軌跡的第一個絕對值定位程序段中給相應(yīng)的旋轉(zhuǎn)軸地址碼賦一個R變量參數(shù),該R參數(shù)同樣是在程序分支中賦給不同的值以實(shí)現(xiàn)完整的重復(fù)循環(huán)。例如,G00X._Y_Z_B=R100 或者G00X._Y_Z_B_C=R100,值得注意的是這樣的方式必須要求在定位程序段后面所有的加工軌跡程序段中都使用增量。
三、VERICUT軟件接受的多軸加工重復(fù)循環(huán)方式
VERICUT作為一個高端的校驗(yàn)、仿真、優(yōu)化軟件,能夠很好地支持各種數(shù)控系統(tǒng)的G代碼文件。在西門子系統(tǒng)中對@12X和@100等部分宏指令是完全支持的,但是該軟件在G-code setting中的Job Tables里的有關(guān)設(shè)置是不支持變量的,如圖2所示,因此也就不支持西門子SINUMERIK 840D系統(tǒng)中使用的@430或@432宏指令。雖然對于前述的增量值編程方式是支持的,但實(shí)際工作中,更多、更方便的是使用絕對值編程方式。因此,找到VERICUT軟件所接受的多軸加工重復(fù)循環(huán)方式是有現(xiàn)實(shí)意義的。
經(jīng)過試驗(yàn),在西門子SINUMERIK 840D系統(tǒng)中提供的標(biāo)準(zhǔn)編程指令中,零點(diǎn)偏移指令G54~G57配合可編程零點(diǎn)偏移指令G58/G59也能實(shí)現(xiàn)加工軌跡的旋轉(zhuǎn)。而且這種方式是VERICUT軟件所接受的。下面參照5軸加工的部分程序段具體介紹。
(1)在主程序中的調(diào)用
L200 R26=0 R27=17 R28=0001 R29=1;(R27:循環(huán)次數(shù) R28:子程序號 )
(2)子程序SPF 200
@714
R49=0 ;(加工軌跡旋轉(zhuǎn)角度的初值)
R26=360/R27;(旋轉(zhuǎn)角度的均分值)
N300 @126 R29 R27 K375 ;(當(dāng)R29 L=R28 ;(調(diào)用子程序)
R49=R29*R26;(加工軌跡旋轉(zhuǎn)角度的賦值)
@714
@620 R29 ;(R29= R29+1)
@100 K-300 ;(無條件跳轉(zhuǎn)執(zhí)行前面的N300程序段)
N375 G17 M17
(3)子程序SPF0001
G00 G55 G64 G90
G58C=R49
G00 X_ Y_ B_ C_
…..
G58C0
M17
其中通用子程序SPF200利用程序分支結(jié)構(gòu)實(shí)現(xiàn)重復(fù)循環(huán)和賦給參數(shù)R49的不同的值,子程序SPF0001中調(diào)用參數(shù)R49實(shí)現(xiàn)了具體加工軌跡的旋轉(zhuǎn),且該子程序的加工軌跡絕對值/增量值編程方式都是適用的。從上面的程序可以看出,程序本身并不復(fù)雜,易于掌握。如左圖所示,上述的方式我在VERICUT軟件中已經(jīng)成功的實(shí)現(xiàn)了重復(fù)循環(huán)和整個程序的完整仿真。
四、結(jié)束語
通過前面的介紹,有效地利用數(shù)控系統(tǒng)的宏指令編程,為我們的實(shí)際工作到來了極大的方便。凡在西門子系統(tǒng)中具有相關(guān)指令的都可以很好地實(shí)現(xiàn)這種重復(fù)循環(huán)的功能,根據(jù)這種編程思想,我在FANUC 0iMD系統(tǒng)中也成功實(shí)現(xiàn)了4軸加工的重復(fù)循環(huán)功能,相信這種編程方式同樣也完全可以擴(kuò)展到其他數(shù)控系統(tǒng)中去。另一方面,通過試驗(yàn)也能提高對VERICUT軟件功能的認(rèn)識和應(yīng)用。本文也旨在通過宏指令的應(yīng)用以及VERICUT軟件對重復(fù)循環(huán)的處理方式的介紹,將這種編程思想和對VERICUT軟件的應(yīng)用更好地用到實(shí)際的工作中去,同時去開發(fā)更多功能為我們服務(wù)