張紅
福建船政交通職業(yè)學(xué)院 福建 福州 350007
基于“P C+運動控制卡”的開放式體系結(jié)構(gòu),選用PMAC2A-PC/104作為運動控制器,通過串口同計算機(jī)通訊,并與交流伺服電機(jī)、伺服驅(qū)動器、光電編碼器等部件搭建具有半閉環(huán)控制功能的二維控制系統(tǒng)實驗平臺;基于Visual Basic 6.0調(diào)用PMAC提供的Pcomm32動態(tài)鏈接庫的相應(yīng)功能函數(shù),開發(fā)完成了PC端的友好的用戶功能界面。實現(xiàn)諸如運動程序編寫、參數(shù)設(shè)置、程序上下載、系統(tǒng)運行參數(shù)顯示等功能。
利用開放式系統(tǒng)結(jié)構(gòu)的原理將模塊化的各個部件組合起來,就構(gòu)成了一個機(jī)電一體化系統(tǒng)。本系統(tǒng)以伺服電動機(jī)作為執(zhí)行元件,計算機(jī)(包括計算機(jī)PC+多軸運動控制器PMAC2A-PC/104)、驅(qū)動裝置(能源+伺服驅(qū)動器)、精密定位平臺和檢測反饋元件五個組成要素構(gòu)成了位置控制的半閉環(huán)回路。本系統(tǒng)在計算機(jī)PC基礎(chǔ)上,采用多軸運動控制器PMAC2A-PC/104構(gòu)成控制系統(tǒng)進(jìn)行控制及信息處理(也可以由PMAC2A-PC/104直接脫機(jī)運行),PC上的CPU與PMAC上的CPU構(gòu)成主從式微處理器結(jié)構(gòu),兩個CPU各自實現(xiàn)相應(yīng)的功能。其中PMAC主要完成精密平臺X-Y兩軸的實時運動控制,包括各運動軸的運動控制、操作面板開關(guān)量、機(jī)床邏輯功能、A/D、D/A轉(zhuǎn)換等控制;PC機(jī)主要負(fù)責(zé)故障診斷、系統(tǒng)的管理與人機(jī)交互等任務(wù),即保證了系統(tǒng)控制的安全性、可靠性和實時性。又發(fā)揮PC機(jī)人機(jī)界面可定制、開發(fā)簡單、界面友好的優(yōu)點。
PMAC卡通過專用的伺服控制芯片控制伺服電機(jī)的運動及接受編碼器的反饋。伺服驅(qū)動器在控制信號的作用下驅(qū)動伺服電機(jī)轉(zhuǎn)動,通過彈性聯(lián)軸器和滾珠絲桿把伺服電機(jī)的旋轉(zhuǎn)運動轉(zhuǎn)化為平臺在X-Y軸兩個方向上的水平直線運動。不僅有限位和回零傳感器,而且有裝在伺服電機(jī)軸端上的編碼器,他們共同組成一個有機(jī)的整體[1]。
任何控制器或控制系統(tǒng)要實現(xiàn)各自特定的功能,除了要設(shè)計可靠的硬件系統(tǒng)部分,還要一套完整的軟件系統(tǒng)。多軸運動控制器具有強(qiáng)大的功能,為對多軸運動協(xié)調(diào)控制和各種運動模式的實現(xiàn),也需要完整的軟件實現(xiàn)。功能需求分析是控制系統(tǒng)設(shè)計的首要任務(wù)。數(shù)控系統(tǒng)的功能包括基本功能和選擇功能,基本功能是數(shù)控系統(tǒng)必備的功能,選擇功能是供用戶按機(jī)床特點和用途可進(jìn)行選擇的功能。數(shù)控系統(tǒng)通常有如下主要功能:控制功能;操作功能;顯示功能;診斷功能;補(bǔ)償功能;通信功能;其中前四項是數(shù)控系統(tǒng)的必備的基本功能,補(bǔ)償功能、圖形顯示功能和通訊功能則屬于可選擇的功能。這些功能的有機(jī)組合,可以滿足不同用戶的要求。
由于PMAC具有良好的軟件開放性,從而大大方便了數(shù)控軟件系統(tǒng)的開發(fā),數(shù)控系統(tǒng)的軟件由主控模塊及各個功能模塊組成。主控模塊是為用戶提供一個友好的系統(tǒng)操作界面,在此界面下,系統(tǒng)的各功能模塊以菜單的形式被調(diào)用,系統(tǒng)的功能模塊可分為實時控制類功能模塊和非實時管理類模塊兩大類。實時控制類功能模塊是控制機(jī)床當(dāng)前運動和動作的軟件模塊,具有毫秒級甚至更高要求的時間響應(yīng);非實時管理類模塊沒有嚴(yán)格的時間響應(yīng)要求。
為了便于PMAC與上層Windows進(jìn)行通信,PMAC提供Pcomm32動態(tài)鏈接庫和ActiveX通信控件PtalkDT作為上層應(yīng)用程序與PMAC之間通信的橋梁。與PMAC通信交換信息只需調(diào)用Pcomm32提供的函數(shù)庫里的相應(yīng)功能函數(shù)或使用PtalkDT提供的各種事件和方法,所以省去了繁重的通信驅(qū)動程序的開發(fā),不必直接與PMAC硬件打交道。其中PMAC.SYS為WINDOWS NT核心驅(qū)動程序,PMAC.VXD為WINDOWS 9X虛擬設(shè)備驅(qū)動程序。
通過調(diào)用Pmac Configure(HWND hWnd,DWORD dwDevice)打開通訊配置對話框,調(diào)用OpenPmacDevice(DWORD dwDevice)函數(shù)實現(xiàn)PMAC卡的識別和加載,為應(yīng)用程序同PMAC交換數(shù)據(jù)開辟通道。
所有手動功能如軸選擇、精確定位、電機(jī)正反轉(zhuǎn)、回零等都是通過API函數(shù)PmacGetResponseA(DWORD dwDevice,PCHAR response,UINT maxchar,PCHAR command)來實現(xiàn)的,通過改變command給PMAC發(fā)送不同的指令,如電機(jī)正反轉(zhuǎn)時command為”#nj+”和”#nj-”。系統(tǒng)的狀態(tài)以及各種參數(shù)變量都存儲在PMAC內(nèi)存中,分別用M變量去指向各狀態(tài)的地址,可通過操作M變量進(jìn)行狀態(tài)的讀取和參數(shù)的寫入以及完成I/O口的控制,利用Timer定時器控件實現(xiàn)坐標(biāo)位置實時顯示和I/O輸入輸出指示。
PMAC的運動程序可以通過它的PEWIN32終端窗口編寫,程序送到緩沖區(qū)后,可以在終端窗口鍵入“&mBnR”運行程序,其中m為坐標(biāo)系號,n為程序號;如果是在文本編輯器中編寫的程序,必須將其下載到PMAC中,然后才能運行,由函數(shù)PmacDownloadFile(DWORD dwDevice,char*fname)實現(xiàn)。
數(shù)控程序中的G代碼和M、T、D等功能指令由G代碼解釋程序、M代碼解釋程序、T代碼解釋程序和D代碼解釋程序分別進(jìn)行解釋。這四個解釋程序分別以運動程序PROG1000、PROG1001、PROG1002和PROG1003的形式存在,在系統(tǒng)調(diào)試時由PMAC可執(zhí)行程序?qū)⑺鼈兿螺d到PMAC的固定內(nèi)存中,在實際加工中被PMAC自動調(diào)用。
基于PMAC的開放式數(shù)控系統(tǒng)硬件、軟件系統(tǒng)的研究,通過功能實現(xiàn)的驗證,確立“PC+運動控制卡”的有價值,可使用性,對數(shù)控技術(shù)的研究具有參考價值。