組合機(jī)床專用數(shù)控系統(tǒng)的開發(fā)(上)
點擊:1395
A+ A-
所屬頻道:新聞中心
目前數(shù)控系統(tǒng)國外己占主導(dǎo)地位,主要有德國的西門子和法國的NUM公司以及日本法那克公司的系統(tǒng),但開放式數(shù)控系統(tǒng)還很少,仍然采用普通數(shù)控機(jī)床的G代碼編程,沒有適合數(shù)控組合機(jī)加工特點的參數(shù)化自動編程功能,而國內(nèi)大部分為經(jīng)濟(jì)型數(shù)控系統(tǒng),功能簡單,不能用于數(shù)控組合機(jī)床上??偟恼f來,國產(chǎn)高檔數(shù)控系統(tǒng)的發(fā)展尚處于起步階段,而數(shù)控組合機(jī)的專用數(shù)控系統(tǒng)目前國內(nèi)研發(fā)方面還沒有形成成熟的產(chǎn)品。所以開發(fā)一種高柔性、高效率、高可靠性的數(shù)控組合機(jī)的專用數(shù)控系統(tǒng)非常必要。本文所研究的基于PMAC多軸組數(shù)控系統(tǒng)適用于各類加工機(jī)床的數(shù)控系統(tǒng)配套和普通組合機(jī)的數(shù)控改造。
1 組合機(jī)數(shù)控系統(tǒng)的硬件結(jié)構(gòu)
可編程多軸控制器(PMAC)擁有高性能伺服運(yùn)動控制器,可通過靈活的高級語言控制多軸同時運(yùn)動,每一個軸可放入它自己的坐標(biāo)系從而得到多個完全獨立的運(yùn)動。結(jié)合多通道組合機(jī)床的特點,搭建IPC為上位機(jī)、PMAC運(yùn)動控制卡為核心的下位機(jī)的硬件結(jié)構(gòu),將PC機(jī)與PMAC相結(jié)合形成并行雙CPU開放式數(shù)控系統(tǒng)的硬件結(jié)構(gòu)。建立一個基于開放式的模塊化、可重構(gòu)、可擴(kuò)充的控制系統(tǒng)結(jié)構(gòu),以增強(qiáng)數(shù)控系統(tǒng)的柔性功能,快速有效地響應(yīng)新的加工需求。組合機(jī)專用數(shù)控系統(tǒng)的硬件結(jié)構(gòu)采用主從結(jié)構(gòu),工控機(jī)的CPU作為主CPU,運(yùn)動控制卡上的DSP作為從CPU。工控機(jī)的主CPU作為上位機(jī)對用戶輸入的參數(shù)進(jìn)行響應(yīng)與處理,多軸運(yùn)動控制卡上的DSP作為下位機(jī)的CPU進(jìn)行底層的速度與軌跡控制。組合機(jī)數(shù)控系統(tǒng)的硬件結(jié)構(gòu)如圖所示1。
圖1 組合機(jī)數(shù)控系統(tǒng)的硬件結(jié)構(gòu)
2 組合機(jī)數(shù)控系統(tǒng)軟件結(jié)構(gòu)
2.1系統(tǒng)軟件結(jié)構(gòu)
組合機(jī)數(shù)控系統(tǒng)軟件以Windows為系統(tǒng)平臺,通過線程調(diào)度機(jī)制可方便地實現(xiàn)多任務(wù)。在線程調(diào)度中,每一個線程的優(yōu)先級不同,優(yōu)先級高的線程優(yōu)先運(yùn)行。急停、機(jī)械限位、硬件故障等線程優(yōu)先級最高,它們首先取得CPU的運(yùn)行時間。坐標(biāo)運(yùn)動、CRT顯示、加工狀態(tài)的動態(tài)顯示、加工軌跡模擬仿真等線程優(yōu)先級依次降低。但另一方面,Windows是基于消息機(jī)制的,其實時性較差,不能滿足一些故障中斷、插補(bǔ)運(yùn)算等實時性任務(wù),為此組合機(jī)數(shù)控系統(tǒng)采用可編程多軸運(yùn)動控制卡實現(xiàn)各種實時陛控制。基于PMAC的組合機(jī)專用數(shù)控系統(tǒng)的軟件體系結(jié)構(gòu)采用圖2所示的體系結(jié)構(gòu)。
2.2人機(jī)界面及其通信協(xié)議
PMAC軟件的開放性,支持各種高級語言,用戶可使用VB、VC、Delphi等在Windows軟件平臺上定制用戶專用界面,在數(shù)控語言上對用戶開放,不僅支持用戶直接調(diào)用現(xiàn)有的直線、圓弧、樣條曲線的插補(bǔ)指令,而且還允許用戶自定義G代碼、M代碼、T代碼、D代碼,實現(xiàn)以往數(shù)控語言所不能完成的功能。
圖2 組合機(jī)專用數(shù)控系統(tǒng)的軟件結(jié)構(gòu)
PMAC有4種變量,變量由一個字母(I,M,P或Q)后面接數(shù)字0~1023(Non Turbo)組成,不同類型的變量占用各自的地址。I變量決定某個給定功能的控制特性,被預(yù)先定義并放在內(nèi)存固定的位置上,有固定的含義。M變量可直接存取一些重要的內(nèi)存和I/O。P、Q都是通用用戶變量,區(qū)別是P變量為全局變量,Q變量為坐標(biāo)系變量。表1為常用的一些變量。
表1 PMAC的一些常用變量
該系統(tǒng)采用PMAC—PCI八軸運(yùn)動控制卡,工控機(jī)為上位機(jī),采用總線方式通訊,以Windows xP操作系統(tǒng)為軟件開發(fā)平臺,采用Visual Basic6.0可視化編程語言和模塊化的編程方法為開發(fā)工具,建立便于用戶操作的友好的人機(jī)交互接口界面。在由Delta Tau公司提供的Pcomm32通信函數(shù)庫及其相應(yīng)的驅(qū)動程序、Pewin32調(diào)試程序支持下,調(diào)用PMAC的動態(tài)鏈接庫Pcomm32.dll,實現(xiàn)對PMAC硬件操作。
在VB中調(diào)用Pcommon32通訊函數(shù)首先必須在VB中聲明函數(shù),如:
Declare Function PmacSelect Lib”Pcomm32.dll”(ByVal hWnd As Long)As Long
Declare Function 0penPmacDevice Lib”Pcomm32.dll”(ByVal pmac As Long)As Long
Declare Function PmacGetResponseA Lib”Peomm32.dll”(ByVal pmae As Long,ByVal response$,ByVal dummy As Integer,ByVal con—string S)As Long
Declare Function ClosePmacDevice Lib”Pcomm32 dll”(ByVal pmac As Long)As Long
利用VB建立的組合機(jī)數(shù)控系統(tǒng)的主界面如圖3。主要顯示運(yùn)行模式、回零狀態(tài)、報警、命令速度、實際速度、跟隨誤差,進(jìn)行機(jī)床參數(shù)、各工位參數(shù)設(shè)置,并顯示當(dāng)前加工對應(yīng)的程序段等。該系統(tǒng)有八個工位,其中有七個工位加工,一個工位用來裝卸工件。
圖3 組合機(jī)數(shù)控系統(tǒng)的主界面
(審核編輯: 智匯小新)
分享