基于PMAC的車床開放式數控系統
引言
隨著汽車、航空和船舶工業的飛速發展,對發動機的性能要求不斷提高,中高速發動機的關鍵部件活塞經常被設計成非圓截面(中凸變橢圓)。目前,同內外活塞制造主要采用硬靠模,這種加工方法不利于多品種、小批量特種環的生產和新產品的研究與開發。活塞的“軟靠模”技術就是把活塞的橫截面形狀或數據輸入計算機,再由計算機控制刀具運動,完成活塞變橢圓截面的車削加工。它不僅能切削各種復雜的截面形狀,而且具有切削效率高、加工精度高、柔性好等優點。活塞中凸變橢圓數控車削時,X軸進給機構的性能和控制方法決定了加T精度和表面質量,因而對機床進給系統的伺服性能提出了更高的要求:要有很高的驅動推力、快速進給速度和進給加速度。對于一般數控機床,由于受到傳統機械結構(即旋轉電動機+滾珠絲杠)進給方式的限制,其有關伺服性能指標(特別是快速響應性)難以突破提高。而直線電機驅動機構作為一種新的高速進給方式能提供120—200m/min的速度和5~10g的加速度。進給機構由直線電機直接驅動,消除了中間環節的機械滯后及螺距誤差,其運動精度取決于反饋裝置、控制系統和直線導軌,從而可達到很高的精度。
1、數控活塞車床X軸進給機構結構及原理
本文將直線電機作為X軸進給驅動部件,設計的數控車床X軸進給機構結構如圖1所示。直線電機對稱立式安裝,滑臺和簡易刀架采用輕質高強度合金材料,優化的結構設計盡可能減小滑臺質量以提高進給系統的快速響應性能和加速度,導軌采用直線滾動導軌。進給系統行程限位采用接近開關和彈簧空氣阻尼式機械擋塊二級安全過沖防護,以確保滑臺不會因為誤操作而沖出導軌。光柵位置反饋裝置位于滑臺內部,以免受到外界油污和鐵屑污染。系統具有全封閉防護結構和由內向外的吹風冷卻功能(圖1中未表示)。由于采用無鐵芯動子(初級)結構,發熱量小,散熱容易,這使得加工中受熱變形的影響小。整個活塞車床的結構如圖2所示。
圖1 活塞車床的X軸進給機構結構
圖2 活塞車床整體結構圖
2、活塞車床數控系統設計
已成為數控系統發展趨勢的開放式數控系統是計算機硬件技術、信息技術、控制技術融人數控技術的產物,它具有強大的適應性和靈活配置能力,能適應各種數控設備,可靈活配置,隨意集成。該系統遵循統一的標準體系結構規范,模塊之問具有兼容性,部件具有互換性和互操作性。目前的開放式數控系統主要有以下3種結構:
(1) PC機+數控專用模塊
即在Pc機上嵌入數控專用模板。這種數控系統的開放性只限于PC微機部分,其專業的數控部分仍處于封閉狀態。
(2) PC機+可編程運動控制器
這種基于開放式可編程運動控制器的系統結構以通用微機為平臺,以PC機標準插件形式的可編程運動控制器為控制核心,雙CPU并行通信,是一種便于開發的全方位開放式體系結構。
(3) 純PC機
即完全采用PC機的全軟件形式的數控系統。這類系統由于受到PC機實時性的限制,目前正處于探索階段。
本數控系統采用的是第二種方式,即IPC十PMAC(programmable multi-axes controller)的開放式結構體系,系統運行速度快、控制精度高、開發周期短。數控系統軟件采用VC+6.0開發,使用美國Delta Tau公司提供的動態鏈接庫PComm32。
2.1 數控系統硬件設計
本系統硬件結構如圖3所示。工控機采用研祥的PCl04/PⅢ800型嵌入式: 控機,主板上配有104總線接口。運動控制卡采用美國Delta Tau公司的PMAC2/PC104型控制卡,可以直接和104總線接口的工控機相連。PMAC的核心是MOTOROLA的DSP56001/56002數字信號處理器,可同時控制1~8個軸,既可單獨執行存儲于其內部的程序,也可執行運動程序和PLC程序,并進行伺服環更新及以串口、總線兩種方式與上位機進行通信。PMAC還可自動對任務優先級進行判別,從而進行實時多任務處理。由于PMAC卡具有強大的數字運算能力來完成數控捅補、PLC程序運行等實時任務,簡化了實現數控系統實時性任務的開發T作,只需根據要求開發上位機界面、NC程序編輯、機床狀態量讀取等非實時任務。工控機和PMAC之間通過104總線通信,只需通過調用動態鏈接庫PComm32就可實現兩者間的實時通信。
圖3 數控系統硬件結構
2.2 數控系統軟件設計
活塞車床數控系統的軟件采用模塊化沒計,用面向對象的高級語言VC++ 6.0編寫,通過PMAC提供的動態鏈接庫管理實時運動程序。系統軟件主要包括上位機人機界面、上下位機通信程序和PLC程序等幾部分。軟件的結構如圖4所示。上位機人機界面為用戶提供一個系統操作界面,在此界面下,系統的各功能模塊以菜單和對話框的形式被調用。PLC控制程序用于機床系統開關量的邏輯控制。動態鏈接庫PComm32提供函數同底層的虛擬設備驅動程序進行數據交換,然后由虛擬設備驅動程序直接和PMAC交換數據。
圖4 數控系統軟件結構
(1) 人機界面程序編制
數控活塞車床的上位人機界面程序主要是將數控系統的操作界面顯示在屏幕上,為操作者提供一個直觀的操作環境。這是數控軟件開發中較重要的一部分,主要包括程序編輯、系統參數配置、加上運行、狀態顯示、自診斷和在線幫助等。程序編輯界面主要用于數控文件的編輯、復制、存儲和刪除等操作,實現文檔和系統內部數據的管理。系統參數配置界面可以方便地配置M變量、I變量、電機參數等各個系統參數。加工運行界面用于將NC代碼進行解釋并下載到PMAC巾,通過PMAC去執行插補等功能。狀態顯示界面用于顯示電機的實際位置、命令位置、速度以及運動時間等各種狀態參數,通過顯示的參數來了解加工性能的好壞,從而根據需要在系統配置界面中調整參數設置。自診斷界面用于顯示各種主要故障原因及其初步解決方案。在線幫助界面為用戶提供該人機界面的使用幫助說明。整個人機界面基于Windows環境,采用菜單式按鈕,具有很好的人機交互性。
(2) 上下位機通信程序編制
為了便于PMAC與上層Windows進行通信,Delta Tau公司提供r PComm32動態鏈接庫作為上層應用程序與PMAC之間通信的橋梁。PComm32是一個非常有效的開發工具,它包括了所有與PMAC的通信方法,并且與VC++等開發軟件有很好的兼容性,開發者只需要往VC程序中調用動態鏈接庫就能完成上位機同PMAC之間的數據交換。下面介紹在VC++6.0環境下調用PComm32動態鏈接庫及庫函數的方法。PComm32共包含丁250多個函數,但常用的并不多,只要掌握了下面幾個就可以完成大部分的通信功能:
Open Pmac Device()//為應用程序使用PMAC打開一個通道;
Close Pmac Device()//當程序運行完畢后關閉所打開的通道;
Pmac Get PesponseA()//發送一個命令字符串給PMAC,并從緩沖區得到PMAC的反饋;
Pmac Configure()//調出配置對話框并修改PMAC的參數;
Pmac Down LoadA()//將程序從Pc下載到PMAC;
Pmac Send CommandA()//發送一個命令字符串給PMAC。
掌握了這幾個函數的使用方法,就可在VC++6.0環境下凋用PComm32動念鏈接庫,還需要用到Windows的幾個API函數:
LoadLibrary//加載動態庫;
GetProcAddress//取得相應函數地址、FreeLibrary//卸載動態庫。
要調用動態庫函數,首先要在頭文件巾為所需的函數定義函數指針類型,其參數要和動態庫的函數原型相同。接下來要在該文件中定義3個函數指針:
Open Pmac open、Close Pmac close、Pmac Get pmaeget,然后在執行文件中加載動態庫,獲得相應的函數地址并賦值給所定義的函數指針,程序段如下:
hMyD1 1=LoadLibrary(“pmac”)//加載動態庫;
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”)//通過指向函數的指針調用該函數;
if(open!=NULL)
{
( opeil)(0)//初始化函數;
SetTimer(1,lo,NULL)//設定定時器采集時間為lOOms:
︳
void CP comm Dig::On Timer(UINT nlDEvent)//定時器響應函數;
︳
( pmacget)(0,buf,255,“rx0”)//讀取PMAC寄存器xO的值并存放在buf中;
Update(FALSE)
CDialog::On Timer(nIDEvent)
︳
//在退出程序的時候要卸載動態庫;
BOOL CPcommDlg::Destroy Window()
{
( close)(0)//關斷與PMAC的通信;
Free Library(hMy DLL)//卸載動態庫;
Return CDialog::Destroy Window()
}
(3) PLC程序的編制
系統的PLC程序主要完成系統的初始化和對各種輸入輸出量進行監控,主要包括限位、冷卻、潤滑、指示燈管理、主軸電機啟停等子程序。PMAC帶有內置的軟PLC功能,其運行是由PMAC來實現的。當運動程序在前臺有序運行時,PMAC可以在后臺運行多達32個異步PLC程序。PLC程序可以以極高的采樣速率監視模擬和數字輸入、設定輸出值、發送信息、改變增益,命令運動停止/啟動等作業。PLC程序的語法采用IF—ELSE結構的類C語言,開發者很容易就能寫出所需的PLC程序,然后可利用PMAC自帶的軟件開發平臺進行編輯、編譯,最后下載到PMAC卡中運行。
3、結束語
(1) 采用直線電機驅動和直線導軌保證了非圓車削的快速響應性和高剛度要求。
(2) 基于IPC+PMAC結構的活塞車床數控系統,充分利用了PMAC控制器強大的伺服控制功能、直線電機的高頻響應特性和PC機高效靈活的編程功能,硬件組成簡單,軟件開發方便,整個系統開發周期短,開放性和可擴展性較強,適合于多品種、小批量活塞的開發和生產。
文章版權歸西部工控xbgk所有,未經許可不得轉載。