梁 媛 孫建業(yè) 祝 輝
(沈陽(yáng)理工大學(xué)遼寧省高速切削工程技術(shù)研究中心,遼寧沈陽(yáng) 110159)
組合機(jī)床一般都是采用多軸、多刀、多工序、多面或多工位同時(shí)加工的方式,如回轉(zhuǎn)式多工位組合機(jī)床是把工件的多道加工工序分配到各個(gè)加工工位上,并且同時(shí)從各個(gè)方向?qū)ぜM(jìn)行加工,因此組合機(jī)床控制系統(tǒng)必須具有多軸組以滿足多軸同時(shí)運(yùn)動(dòng)的需要,傳統(tǒng)的數(shù)控系統(tǒng)采用的都是一種專用的、互不兼容、封閉的體系結(jié)構(gòu),很難滿足組合機(jī)的控制需要。IPC機(jī)+PMAC(Programmable Multi-Axis Controller)是一種便于開發(fā)的全方位開放式體系結(jié)構(gòu),PMAC可以通過硬件選擇,參數(shù)設(shè)置,運(yùn)動(dòng)及PLC程序的編寫,實(shí)現(xiàn)對(duì)組合機(jī)床運(yùn)動(dòng)的控制。每個(gè)PMAC固件可以控制8個(gè)軸,這8個(gè)軸可以互相聯(lián)動(dòng)完成在一個(gè)坐標(biāo)系中的運(yùn)動(dòng),也可以在各自的坐標(biāo)系內(nèi)完成獨(dú)立運(yùn)動(dòng),或者選擇多種運(yùn)動(dòng)的組合形式。組合機(jī)床控制系統(tǒng)使用VB工具在Windows平臺(tái)上定制用戶專用界面,通過PMAC提供的動(dòng)態(tài)鏈接庫(kù)與上位機(jī)之間建立實(shí)時(shí)、可靠的通訊,以協(xié)調(diào)整個(gè)系統(tǒng)共同完成加工任務(wù)。
組合機(jī)床控制系統(tǒng)上位機(jī)采用工控機(jī)(IPC),下位機(jī)采用PMAC可編程控制器,PMAC通過標(biāo)準(zhǔn)總線與上位機(jī)相連,PMAC的CPU與軸的通訊是通過兩個(gè)特殊設(shè)計(jì)的門陣列IC(集成電路)來(lái)實(shí)現(xiàn)的。每個(gè)IC能夠控制4個(gè)模擬輸出通道、4個(gè)作為輸入的編碼器反饋通道及4個(gè)通道的正負(fù)限位及回零信號(hào)。該組合機(jī)床各個(gè)工位采用安川伺服驅(qū)動(dòng)系統(tǒng)及交流伺服電動(dòng)機(jī)作為執(zhí)行元件進(jìn)行控制,伺服放大器接收來(lái)自PMAC控制器的模擬電壓輸出,通過模數(shù)(A/D)轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字信號(hào),經(jīng)MPU處理,同時(shí)通過數(shù)模(D/A)轉(zhuǎn)換器將MPU輸出的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)控制電動(dòng)機(jī)轉(zhuǎn)動(dòng),伺服電動(dòng)機(jī)內(nèi)的光電編碼器作為閉環(huán)系統(tǒng)的反饋元件,伺服放大器從編碼器獲取位置反饋信號(hào),并將信號(hào)傳送給PMAC卡,實(shí)現(xiàn)組合機(jī)床的半閉環(huán)控制[1]。組合機(jī)床控制系統(tǒng)的硬件構(gòu)建如圖1。
組合機(jī)床控制系統(tǒng)的軟件采用模塊化設(shè)計(jì),軟件包括上位機(jī)的人機(jī)界面程序、與下位機(jī)的通訊程序、下位機(jī)的運(yùn)動(dòng)程序及PLC程序。作為控制器,在配置好系統(tǒng)變量的前提下,PMAC通過運(yùn)動(dòng)程序、PLC程序等對(duì)具體對(duì)象施加控制,同時(shí),這些程序還要負(fù)責(zé)向上位機(jī)報(bào)告工作狀態(tài)[2]。
上位機(jī)人機(jī)界面為操作者提供了一個(gè)直觀的操作環(huán)境,在此界面下,系統(tǒng)各功能模塊以菜單和對(duì)話框的形式被調(diào)用,主要包括系統(tǒng)參數(shù)配置、加工參數(shù)設(shè)置、運(yùn)動(dòng)狀態(tài)顯示等。PMAC提供了Windows平臺(tái)下的驅(qū)動(dòng)程序Pcomm32,可以在 VB編程環(huán)境下調(diào)用其動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)上位機(jī)軟件與PMAC之間的通訊,在工程文件下創(chuàng)建一個(gè)標(biāo)準(zhǔn)模塊,聲明導(dǎo)入如下函數(shù):
(1)Declare Function OpenPmac Lib“Pcomm32.dll”(Byval Pmac As Long)As Long,該函數(shù)指定 DLL(動(dòng)態(tài)鏈接庫(kù))文件的路徑,能夠有效尋址,過程有返回值。
(2)Declare Function ClosePmac Lib“Pcomm32.dll”(Byval Pmac As Long)As Long,此函數(shù)與 Open-Pmac配對(duì)使用,當(dāng)程序運(yùn)行完畢后,關(guān)閉打開的通道。
(3)Declare Function PmacGetResponsA Lib“Pcomm32.dll”(Byval As Long,Byval response$ ,Byval dummy As integer,Byval commond$)As Long,發(fā)送命令字符串給PMAC,并從緩沖區(qū)得到PMAC的反饋。它能處理大多數(shù)與PMAC通訊的要求,并總能保證命令字符串與反應(yīng)字符串相匹配。參數(shù)response是指向存儲(chǔ)PMAC反應(yīng)代碼的字符串緩沖區(qū)指針,command是指向所傳送字符串的指針[3-4]。
圖2為組合機(jī)床Ⅰ工位加工參數(shù)設(shè)置界面,以過程1距離設(shè)置對(duì)話框?yàn)槔绦虼a如下:
同樣可以定義各加工過程的參數(shù)所對(duì)應(yīng)的變量如表1。
表1 參數(shù)變量對(duì)應(yīng)表
組合機(jī)控制系統(tǒng)每個(gè)工位的運(yùn)動(dòng)過程編寫在一個(gè)運(yùn)動(dòng)程序中,每個(gè)工位的進(jìn)給運(yùn)動(dòng)定義在一個(gè)坐標(biāo)系內(nèi),通過變量設(shè)置可完成快進(jìn)、暫停、工進(jìn)、暫停、工退、暫停、快退的運(yùn)動(dòng)過程,這4個(gè)過程的移動(dòng)距離、速度及暫停時(shí)間是由操作者通過圖2的人機(jī)界面設(shè)置。以下為Ⅰ工位運(yùn)動(dòng)程序:
可以通過PLC程序同時(shí)或選擇性地啟動(dòng)各個(gè)工位的運(yùn)動(dòng)程序,各工位的進(jìn)給運(yùn)動(dòng)在各自的坐標(biāo)系內(nèi)同時(shí)進(jìn)行。
PMAC內(nèi)含了可編程邏輯控制器(PLC)功能,可編寫64個(gè)非同步執(zhí)行的PLC程序(32個(gè)已編譯PLC程序和32個(gè)未編譯PLC程序),只要被設(shè)置為允許運(yùn)行,PLC程序會(huì)一直運(yùn)行,直至PMAC本身停止。所有的I/O點(diǎn)都以軟件來(lái)控制,通過類似匯編語(yǔ)言的指針變量,可以讓用戶按位、字節(jié)進(jìn)行控制。PLC具有強(qiáng)大的邏輯功能判斷能力,執(zhí)行速度遠(yuǎn)超過普通PLC,可編制復(fù)雜的邏輯關(guān)系[[5]。以下是Ⅰ工位自動(dòng)狀態(tài)下運(yùn)行的PLC程序:
以上程序執(zhí)行的運(yùn)動(dòng)為:當(dāng)機(jī)床沒有報(bào)警、卡盤閉、轉(zhuǎn)臺(tái)落下、各個(gè)伺服軸均在回零位置時(shí),按“循環(huán)啟動(dòng)”按鈕,執(zhí)行自動(dòng)循環(huán),所選Ⅰ工位主軸電動(dòng)機(jī)轉(zhuǎn),伺服電動(dòng)機(jī)執(zhí)行所選Ⅰ工位運(yùn)動(dòng)程序,按照在人機(jī)界面中輸入的各個(gè)過程的加工參數(shù),完成快進(jìn)、暫停、工進(jìn)、暫停、工退、暫停、快退的運(yùn)動(dòng)過程,如不需暫停時(shí)間設(shè)為0,當(dāng)執(zhí)行完各個(gè)過程運(yùn)動(dòng)伺服軸再次回到原位時(shí),循環(huán)結(jié)束,主軸停止。
開放式數(shù)控系統(tǒng)是數(shù)控技術(shù)發(fā)展的必然趨勢(shì),IPC機(jī)與嵌入式控制器PMAC組合的數(shù)控系統(tǒng)模式,以通用PC機(jī)為平臺(tái),以PC機(jī)標(biāo)準(zhǔn)插件形式的可編程控制器為核心,雙CPU并行通訊,是一種便于開發(fā)的全方位開放式體系結(jié)構(gòu)。本設(shè)計(jì)依據(jù)組合機(jī)床的運(yùn)動(dòng)特點(diǎn),利用PMAC強(qiáng)大的運(yùn)算和處理能力進(jìn)行數(shù)控系統(tǒng)的實(shí)時(shí)控制,利用PC機(jī)實(shí)現(xiàn)后臺(tái)管理及人機(jī)界面編寫等任務(wù)完成了控制系統(tǒng)的開發(fā)。通過試驗(yàn)研究表明系統(tǒng)開放程度高、運(yùn)動(dòng)軌跡控制精確、通用性好、操作簡(jiǎn)單,具有很好的應(yīng)用效果。
[1]王仁德.機(jī)床數(shù)控技術(shù)[M].沈陽(yáng):東北大學(xué)出版社,2007.
[2]陳光勝,陶濤,梅雪松.Windows平臺(tái)下的軟件化系統(tǒng)研究[J].制造技術(shù)與機(jī)床,2010(1):74-78.
[3]蘭光明.VC環(huán)境下的PMAC數(shù)據(jù)實(shí)時(shí)采集與顯示[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),2004,19(1):61 -65.
[4]劉彬彬.Visual Basic從入門到精通[M].北京:清華大學(xué)出版社,2010.
[5]劉恒娟.基于PMAC的開放式數(shù)控系統(tǒng)的研制[J].組合機(jī)床與自動(dòng)化加工技術(shù),2004(10):84-86.