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