引言
隨著(zhù)汽車(chē)、航空和船舶工業(yè)的飛速發(fā)展,對發(fā)動(dòng)機的性能要求不斷提高,中高速發(fā)動(dòng)機的關(guān)鍵部件活塞經(jīng)常被設計成非圓截面(中凸變橢圓)。目前,同內外活塞制造主要采用硬靠模,這種加工方法不利于多品種、小批量特種環(huán)的生產(chǎn)和新產(chǎn)品的研究與開(kāi)發(fā)?;钊摹败浛磕!奔夹g(shù)就是把活塞的橫截面形狀或數據輸入計算機,再由計算機控制刀具運動(dòng),完成活塞變橢圓截面的車(chē)削加工。它不僅能切削各種復雜的截面形狀,而且具有切削效率高、加工精度高、柔性好等優(yōu)點(diǎn)?;钊型棺儥E圓數控車(chē)削時(shí),X軸進(jìn)給機構的性能和控制方法決定了加T精度和表面質(zhì)量,因而對機床進(jìn)給系統的伺服性能提出了更高的要求:要有很高的驅動(dòng)推力、快速進(jìn)給速度和進(jìn)給加速度。對于一般數控機床,由于受到傳統機械結構(即旋轉電動(dòng)機+滾珠絲杠)進(jìn)給方式的限制,其有關(guān)伺服性能指標(特別是快速響應性)難以突破提高。而直線(xiàn)電機驅動(dòng)機構作為一種新的高速進(jìn)給方式能提供120—200m/min的速度和5~10g的加速度。進(jìn)給機構由直線(xiàn)電機直接驅動(dòng),消除了中間環(huán)節的機械滯后及螺距誤差,其運動(dòng)精度取決于反饋裝置、控制系統和直線(xiàn)導軌,從而可達到很高的精度。
1、數控活塞車(chē)床X軸進(jìn)給機構結構及原理
本文將直線(xiàn)電機作為X軸進(jìn)給驅動(dòng)部件,設計的數控車(chē)床X軸進(jìn)給機構結構如圖1所示。直線(xiàn)電機對稱(chēng)立式安裝,滑臺和簡(jiǎn)易刀架采用輕質(zhì)高強度合金材料,優(yōu)化的結構設計盡可能減小滑臺質(zhì)量以提高進(jìn)給系統的快速響應性能和加速度,導軌采用直線(xiàn)滾動(dòng)導軌。進(jìn)給系統行程限位采用接近開(kāi)關(guān)和彈簧空氣阻尼式機械擋塊二級安全過(guò)沖防護,以確?;_不會(huì )因為誤操作而沖出導軌。光柵位置反饋裝置位于滑臺內部,以免受到外界油污和鐵屑污染。系統具有全封閉防護結構和由內向外的吹風(fēng)冷卻功能(圖1中未表示)。由于采用無(wú)鐵芯動(dòng)子(初級)結構,發(fā)熱量小,散熱容易,這使得加工中受熱變形的影響小。整個(gè)活塞車(chē)床的結構如圖2所示。

圖1 活塞車(chē)床的X軸進(jìn)給機構結構

圖2 活塞車(chē)床整體結構圖 2、活塞車(chē)床數控系統設計 已成為數控系統發(fā)展趨勢的開(kāi)放式數控系統是計算機硬件技術(shù)、信息技術(shù)、控制技術(shù)融人數控技術(shù)的產(chǎn)物,它具有強大的適應性和靈活配置能力,能適應各種數控設備,可靈活配置,隨意集成。該系統遵循統一的標準體系結構規范,模塊之問(wèn)具有兼容性,部件具有互換性和互操作性。目前的開(kāi)放式數控系統主要有以下3種結構:
(1) PC機+數控專(zhuān)用模塊
即在Pc機上嵌入數控專(zhuān)用模板。這種數控系統的開(kāi)放性只限于PC微機部分,其專(zhuān)業(yè)的數控部分仍處于封閉狀態(tài)。
(2) PC機+可編程運動(dòng)控制器
這種基于開(kāi)放式可編程運動(dòng)控制器的系統結構以通用微機為平臺,以PC機標準插件形式的可編程運動(dòng)控制器為控制核心,雙CPU并行通信,是一種便于開(kāi)發(fā)的全方位開(kāi)放式體系結構。
(3) 純PC機
即完全采用PC機的全軟件形式的數控系統。這類(lèi)系統由于受到PC機實(shí)時(shí)性的限制,目前正處于探索階段。
本數控系統采用的是第二種方式,即IPC十PMAC(programmable multi-axes controller)的開(kāi)放式結構體系,系統運行速度快、控制精度高、開(kāi)發(fā)周期短。數控系統軟件采用VC+6.0開(kāi)發(fā),使用美國Delta Tau公司提供的動(dòng)態(tài)鏈接庫PComm32。
2.1 數控系統硬件設計
本系統硬件結構如圖3所示。工控機采用研祥的PCl04/PⅢ800型嵌入式: 控機,主板上配有104總線(xiàn)接口。運動(dòng)控制卡采用美國Delta Tau公司的PMAC2/PC104型控制卡,可以直接和104總線(xiàn)接口的工控機相連。PMAC的核心是MOTOROLA的DSP56001/56002數字信號處理器,可同時(shí)控制1~8個(gè)軸,既可單獨執行存儲于其內部的程序,也可執行運動(dòng)程序和PLC程序,并進(jìn)行伺服環(huán)更新及以串口、總線(xiàn)兩種方式與上位機進(jìn)行通信。PMAC還可自動(dòng)對任務(wù)優(yōu)先級進(jìn)行判別,從而進(jìn)行實(shí)時(shí)多任務(wù)處理。由于PMAC卡具有強大的數字運算能力來(lái)完成數控捅補、PLC程序運行等實(shí)時(shí)任務(wù),簡(jiǎn)化了實(shí)現數控系統實(shí)時(shí)性任務(wù)的開(kāi)發(fā)T作,只需根據要求開(kāi)發(fā)上位機界面、NC程序編輯、機床狀態(tài)量讀取等非實(shí)時(shí)任務(wù)。工控機和PMAC之間通過(guò)104總線(xiàn)通信,只需通過(guò)調用動(dòng)態(tài)鏈接庫PComm32就可實(shí)現兩者間的實(shí)時(shí)通信。

圖3 數控系統硬件結構 2.2 數控系統軟件設計 活塞車(chē)床數控系統的軟件采用模塊化沒(méi)計,用面向對象的高級語(yǔ)言VC++ 6.0編寫(xiě),通過(guò)PMAC提供的動(dòng)態(tài)鏈接庫管理實(shí)時(shí)運動(dòng)程序。系統軟件主要包括上位機人機界面、上下位機通信程序和PLC程序等幾部分。軟件的結構如圖4所示。上位機人機界面為用戶(hù)提供一個(gè)系統操作界面,在此界面下,系統的各功能模塊以菜單和對話(huà)框的形式被調用。PLC控制程序用于機床系統開(kāi)關(guān)量的邏輯控制。動(dòng)態(tài)鏈接庫PComm32提供函數同底層的虛擬設備驅動(dòng)程序進(jìn)行數據交換,然后由虛擬設備驅動(dòng)程序直接和PMAC交換數據。

圖4 數控系統軟件結構 (1) 人機界面程序編制
數控活塞車(chē)床的上位人機界面程序主要是將數控系統的操作界面顯示在屏幕上,為操作者提供一個(gè)直觀(guān)的操作環(huán)境。這是數控軟件開(kāi)發(fā)中較重要的一部分,主要包括程序編輯、系統參數配置、加上運行、狀態(tài)顯示、自診斷和在線(xiàn)幫助等。程序編輯界面主要用于數控文件的編輯、復制、存儲和刪除等操作,實(shí)現文檔和系統內部數據的管理。系統參數配置界面可以方便地配置M變量、I變量、電機參數等各個(gè)系統參數。加工運行界面用于將NC代碼進(jìn)行解釋并下載到PMAC巾,通過(guò)PMAC去執行插補等功能。狀態(tài)顯示界面用于顯示電機的實(shí)際位置、命令位置、速度以及運動(dòng)時(shí)間等各種狀態(tài)參數,通過(guò)顯示的參數來(lái)了解加工性能的好壞,從而根據需要在系統配置界面中調整參數設置。自診斷界面用于顯示各種主要故障原因及其初步解決方案。在線(xiàn)幫助界面為用戶(hù)提供該人機界面的使用幫助說(shuō)明。整個(gè)人機界面基于Windows環(huán)境,采用菜單式按鈕,具有很好的人機交互性。
(2) 上下位機通信程序編制
為了便于PMAC與上層Windows進(jìn)行通信,Delta Tau公司提供r PComm32動(dòng)態(tài)鏈接庫作為上層應用程序與PMAC之間通信的橋梁。PComm32是一個(gè)非常有效的開(kāi)發(fā)工具,它包括了所有與PMAC的通信方法,并且與VC++等開(kāi)發(fā)軟件有很好的兼容性,開(kāi)發(fā)者只需要往VC程序中調用動(dòng)態(tài)鏈接庫就能完成上位機同PMAC之間的數據交換。下面介紹在VC++6.0環(huán)境下調用PComm32動(dòng)態(tài)鏈接庫及庫函數的方法。PComm32共包含丁250多個(gè)函數,但常用的并不多,只要掌握了下面幾個(gè)就可以完成大部分的通信功能:
Open Pmac Device()//為應用程序使用PMAC打開(kāi)一個(gè)通道;
Close Pmac Device()//當程序運行完畢后關(guān)閉所打開(kāi)的通道;
Pmac Get PesponseA()//發(fā)送一個(gè)命令字符串給PMAC,并從緩沖區得到PMAC的反饋;
Pmac Configure()//調出配置對話(huà)框并修改PMAC的參數;
Pmac Down LoadA()//將程序從Pc下載到PMAC;
Pmac Send CommandA()//發(fā)送一個(gè)命令字符串給PMAC。
掌握了這幾個(gè)函數的使用方法,就可在VC++6.0環(huán)境下凋用PComm32動(dòng)念鏈接庫,還需要用到Windows的幾個(gè)API函數:
LoadLibrary//加載動(dòng)態(tài)庫;
GetProcAddress//取得相應函數地址、FreeLibrary//卸載動(dòng)態(tài)庫。
要調用動(dòng)態(tài)庫函數,首先要在頭文件巾為所需的函數定義函數指針類(lèi)型,其參數要和動(dòng)態(tài)庫的函數原型相同。接下來(lái)要在該文件中定義3個(gè)函數指針:
Open Pmac open、Close Pmac close、Pmac Get pmaeget,然后在執行文件中加載動(dòng)態(tài)庫,獲得相應的函數地址并賦值給所定義的函數指針,程序段如下:
hMyD1 1=LoadLibrary(“pmac”)//加載動(dòng)態(tài)庫;
open=(OpenPmac)GetProcAddress(hMy D1 1),“Open Piilac Device”//得到函數地址并賦給函數指針;
close = (ClosePmac)GetProcAddress(hMyD1 1,“ClosePmac Device”)
pmacget= (PmacGet)GetProcAddress(hMyD 1 1,“Pmac Get ResponseA”)//通過(guò)指向函數的指針調用該函數;
if(open!=NULL)
{
( opeil)(0)//初始化函數;
SetTimer(1,lo,NULL)//設定定時(shí)器采集時(shí)間為lOOms:
︳
void CP comm Dig::On Timer(UINT nlDEvent)//定時(shí)器響應函數;
︳
( pmacget)(0,buf,255,“rx0”)//讀取PMAC寄存器xO的值并存放在buf中;
Update(FALSE)
CDialog::On Timer(nIDEvent)
︳
//在退出程序的時(shí)候要卸載動(dòng)態(tài)庫;
BOOL CPcommDlg::Destroy Window()
{
( close)(0)//關(guān)斷與PMAC的通信;
Free Library(hMy DLL)//卸載動(dòng)態(tài)庫;
Return CDialog::Destroy Window()
}
(3) PLC程序的編制
系統的PLC程序主要完成系統的初始化和對各種輸入輸出量進(jìn)行監控,主要包括限位、冷卻、潤滑、指示燈管理、主軸電機啟停等子程序。PMAC帶有內置的軟PLC功能,其運行是由PMAC來(lái)實(shí)現的。當運動(dòng)程序在前臺有序運行時(shí),PMAC可以在后臺運行多達32個(gè)異步PLC程序。PLC程序可以以極高的采樣速率監視模擬和數字輸入、設定輸出值、發(fā)送信息、改變增益,命令運動(dòng)停止/啟動(dòng)等作業(yè)。PLC程序的語(yǔ)法采用IF—ELSE結構的類(lèi)C語(yǔ)言,開(kāi)發(fā)者很容易就能寫(xiě)出所需的PLC程序,然后可利用PMAC自帶的軟件開(kāi)發(fā)平臺進(jìn)行編輯、編譯,最后下載到PMAC卡中運行。
3、結束語(yǔ)
(1) 采用直線(xiàn)電機驅動(dòng)和直線(xiàn)導軌保證了非圓車(chē)削的快速響應性和高剛度要求。
(2) 基于IPC+PMAC結構的活塞車(chē)床數控系統,充分利用了PMAC控制器強大的伺服控制功能、直線(xiàn)電機的高頻響應特性和PC機高效靈活的編程功能,硬件組成簡(jiǎn)單,軟件開(kāi)發(fā)方便,整個(gè)系統開(kāi)發(fā)周期短,開(kāi)放性和可擴展性較強,適合于多品種、小批量活塞的開(kāi)發(fā)和生產(chǎn)。