郭 鼓,李樹軍,徐永新,楊 凱,金益韓
(西北工業(yè)大學 機電學院,西安 710072)
隨著計算機集成制造技術的迅猛發(fā)展,開放化、集成化與模塊化已成為數控系統(tǒng)的重要特性。開放式數控系統(tǒng)具有良好的軟硬件重構特性,更能有效地滿足當今市場的需求,已成為數控系統(tǒng)發(fā)展的主要趨勢。PC機+可編程運動控制器作為開放式數控系統(tǒng)的一種,它支持用戶的開發(fā)和擴展,具有上、下兩級開放的特性,結合PC機友好人機界面和可編程運動控制器強大的控制計算能力,更能彌補單一模式在開放式數控系統(tǒng)設計中的不足[1,2]。
本開放式數控系統(tǒng)采用上述組成模式,主要由工業(yè)控制計算機(IPC)+多軸運動控制卡(PMAC)組成,再配有交流伺服電機、伺服驅動器、編碼器和接近開關等構成一個模塊化數控系統(tǒng)。
本開放式數控系統(tǒng)是針對一套三坐標移動測試實驗臺而設計的。該實驗臺共有X、Y、Z三軸。其中,X、Z兩軸在水平方向相互垂直,X軸為交流伺服電機剛性連接滾珠絲杠;Z軸通過一級同步帶輪進行1:2減速,同步帶輪剛性連接滾珠絲杠;Y軸為豎直方向且為龍門結構、雙邊驅動,電機剛性連接滾珠絲杠。為保證Y軸雙電機同步控制,選用美國DELTA TAU公司推出的開放式可編程運動控制卡——PMAC(programmable multiaxes controller)。該卡具有運動控制、內務處理、離散控制、同上位機交互等基本功能,內部使用一片Motorola DSP 56303數字信號處理芯片,速度、分辨率、帶寬等指標遠優(yōu)于一般的控制器[3]。由于PMAC的操作界面為原始的DOS界面,不便于人機交互,在本數控系統(tǒng)中選用工業(yè)控制計算機(IPC)作為終端實時顯示,有效地解決了上述問題。另外,IPC與PMAC均具有自己的CPU,它們組成主從式控制結構:IPC負責人機交互和控制系統(tǒng)的實時監(jiān)控等工作, PMAC完成電機運轉的控制、編碼器信號的實時反饋、運動軌跡的計算、回零和限位等細節(jié)工作,由此加快了數據的處理速度,提高了系統(tǒng)的工作效率。該數控系統(tǒng)硬件結構原理圖如圖1所示。
系統(tǒng)的通訊速度由PMAC卡與上位機(IPC)之間的通訊方式決定。PMAC卡與上位機(IPC)之間的通訊方式分為RS232串口通訊和Ethernet接口通訊,后者相對前者具有較高的傳輸速度和較遠的傳輸距離,本數控系統(tǒng)采用后者,以提高數據的傳輸效率,更有效地實現實時反饋。
機械結構的運動執(zhí)行體由交流伺服電機及其配套伺服單元組成。在由上述XYZ三軸組成的立體空間中,Y軸完成豎直方向的運動任務。為防止Y方向負載在重力作用下下滑,Y軸電機必須帶有制動器。
下位機控制系統(tǒng)的核心采用PMAC卡,它控制交流伺服電機、伺服驅動器和各軸接近開關等相關單元的工作。其設計內容主要包括:交流伺服電機試運行、交流伺服電機PID調節(jié)和交流伺服電機運動程序設計。其硬件連接實物圖如圖2所示。

圖1 數控系統(tǒng)硬件結構原理圖

圖2 硬件連接實物圖
在用PMAC卡調節(jié)伺服電機之前,必須使用伺服驅動器對各軸的伺服電機進行試運行,為后續(xù)調節(jié)工作做好準備。
驅動器試運行之前,分別將驅動器參數Pn50A和Pn50B設置為2100、6543,進行手動調試。通過驅動器面板上的操作按鍵換到Fn002參數,進入JOG模式,以驅動器默認速度(Pn304=500r/min)進行電機的正反轉測試[4]。在電機帶動絲杠轉動正常的條件下,將Pn304分別調至200r/min、100r/min、50r/min和20r/min對電機試運行,檢測機械結構是否存在安裝問題。本系統(tǒng)在調試過程中,利用該方法發(fā)現了X軸絲杠螺母副在與負載連接時預緊力過緊致使絲杠在低速時無法轉動,進而造成電機瞬間發(fā)熱等問題。
確認電機轉動一切正常后,進入下位機控制系統(tǒng)設計過程中最核心的環(huán)節(jié)——PMAC調節(jié)交流伺服電機。將驅動器參數Pn50A和Pn50B分別設置為8100、6548,進行PMAC卡調試。
為了使系統(tǒng)獲得良好的穩(wěn)態(tài)特性和動態(tài)特性,需要對系統(tǒng)的PID位置控制環(huán)進行校正和調整。PID控制器是比例、積分微分校正裝置。比例增益為系統(tǒng)提供剛性,其大小決定系統(tǒng)的響應速度,若該值太大會引起電機使能震動;積分增益可用消除系統(tǒng)的穩(wěn)態(tài)誤差,若該值較小會致使系統(tǒng)跟隨誤差波動較大;微分增益是為系統(tǒng)提供穩(wěn)定性的阻尼項,能改善系統(tǒng)的動態(tài)特性,而該值過大會引起噪聲[5,6]。PID調節(jié)原理圖如圖3所示。
PMAC卡可用通過PWEIN32PRO軟件中的Pmac tuning pro非常方便地調節(jié)其PID參數,獲得良好的控制性能。使用在線命令使電機處于閉環(huán)狀態(tài),可對各個參數值進行調整,同時可通過電機的階躍響應曲線和拋物線響應曲線查看系統(tǒng)的穩(wěn)態(tài)特性和動態(tài)特性。階躍響應曲線反映電機的響應速度和穩(wěn)態(tài)特性,拋物線響應曲線反映電機的跟隨誤差是否在可調范圍內。圖4、圖5為Y電機的響應曲線。

圖3 PID調節(jié)原理圖

圖4 階躍響應曲線

圖5 拋物線響應曲線
應本開放式數控系統(tǒng)的設計要求——交流伺服電機既能夠按照0.01mm、0.05mm、0.1mm、1.0mm和10.0mm的步進距離點動,也能實現連續(xù)運動。其中,交流伺服電機的點動可由PMAC編寫運動程序實現,連續(xù)轉動可通過給電機發(fā)送在線命令實現。
PMAC運動程序是在PWEIN32PRO軟件中編寫[7],其主要界面如圖6所示。

圖6 運動程序編寫界面
運動程序的編寫主要包括定義坐標系、指定坐標軸、確定軸系數和確定運動模式。PMAC運動程序中最多可定義8個坐標系,因此在每段運動程序的開頭必須定義坐標系,否則運動程序不執(zhí)行。在該數控系統(tǒng)中只有一個坐標系,定義為&1。將XYZ軸四個電機(Y軸分為Y1和Y2兩個電機)分別定義為:1號電機(#1)、2號電機 (#2)、3號電機(#3)和 4號電機(#4),在PMAC中將Y軸的兩個電機定義為:#2->Y,#3->Y,使得兩個電機都跟隨虛擬軸Y軸轉動,便完成Y軸雙電機的同步控制。軸系數是電機帶動負載直線運動1mm電機編碼器的脈沖數,主要由編碼器分頻脈沖數、螺距和傳動比決定,其計算公式如(1)式所示。

PMAC運動程序中有絕對運動模式、增量運動模式、直線運動、圓弧運動和曲線運動等,因此在運動程序前必須確定執(zhí)行機構的運動軌跡選擇合適的運動模式。在本數控系統(tǒng)中選用直線運動、絕對模式。其運動程序主要框架為:
CLOSE
DEL GAT
&n
#{motor}->{ 軸系數 }{axis}
OPEN PROG m CLEAR
CLOSE
使用在線命令” &nBmR”執(zhí)行運動程序m。
在該開放式數控系統(tǒng)中,上位機需要同下位機進行PMAC通訊。上位機發(fā)送控制指令給下位機,下位機采集完數據后需要上傳給上位機,上位機經過轉換、判斷,最終在上位界面中實時顯示各軸的運動狀態(tài)。該數控系統(tǒng)借助Windows的友好人機界面,在Windows XP操作系統(tǒng)平臺下,以VC++6.0編譯器為基本軟件開發(fā)和調試工具,在Delta Tau公司提供的PComm32通訊函數庫及其驅動程序完成上位機軟件的編寫,其人機界面如圖7所示。PComm32通訊函數庫是上位機與下位機之間通訊的橋梁,在VC環(huán)境下對PMAC數控系統(tǒng)進行開發(fā),必須將PComm32PRO中的“PComm32.dll”加載到IPC內存當中,以便調用PComm32PRO中的任意函數[8]。

圖7 人機界面
該人機界面主要包括軸參數實時監(jiān)控模塊、軸控制參數模塊、界面切換和通斷模塊。軸參數實時監(jiān)控模塊完成各軸電機狀態(tài)實時顯示的功能。通過軸控制參數模塊可以控制電機的使能、啟動、停止和回零,并且按照所選擇的參數(坐標軸、正負向、運動模式、步進距離)完成相應的運動。
在該上位機軟件中,通過函數OpenPmacDevice(DWORD dwDevice)連接PMAC卡,建立IPC與PMAC之間的通訊,與之成對使用的是BOOL ClosePmacDevice(DWORD dwDevice) 函數,在退出程序之前必須使用該函數斷開IPC與PMAC之間的通訊,以便釋放IPC內存空間。上位機與下位機通訊中最主要的函數是PmacGetResponseA(),該函數既能發(fā)送指令給下位機,又能從下位機接受上傳的數據,如:PmacGetResponseA(0, buf2,255,”&1B1R”)發(fā)送在線命令使PMAC卡執(zhí)行5號運動程序,PmacGetResponseA(0, buf2, 255,M166)取PMAC寄存器M166中的值。
在MFC中設置一個定時器,設定每隔50ms觸發(fā)一次,同時定義該定時器的WM-TIMER消息處理函數OnTimer(),將讀取到的數值實時反饋到界面上,此時各電機的實時速度和實時位置的反饋值將在編輯框中每50ms更新一次[9,10]。
為進一步完善該開放式數控系統(tǒng),便于遠近程切換,本文采用以C8051F060為主控芯片配套使用MAX3488芯片、LED液晶顯示屏、RS422-RS232轉換器等設計了一個手持控制器。該手持控制器應具有同上述人機界面相同的功能,精確控制各電機的啟停和運轉。
手持控制器的功能主要通過C8051F060單片機編程來實現,再經MAX3488芯片將單片機發(fā)送的TTL電平信號轉換成差分信號,完成遠距離傳輸,最后經過RS422-RS232轉換器轉換成上位機可識別的RS232電平信號。而手持控制器設計的難點是C8051F060單片機與VC之間的通訊,即如何搭建手持控制器與電機之間的橋梁。其中,單片機與VC之間的通訊可以通過對MSComm控件編寫串口通訊代碼實現;手持控制器數據的接受和發(fā)送可以在MSComm控件的屬性里選擇COM端口、設置波特率、校驗位和數據位等相關參數,然后通過串口事件消息處理函數OnComm()實現。
針對特定的三維移動測試實驗機構,本文設計并開發(fā)了一套開放式數控系統(tǒng)。該數控系統(tǒng)核心采用PMAC多軸可編程運動控制器,完成Y軸雙電機同步控制,并使用PMAC自帶的PID控制算法,自主調整各個參數,確保了系統(tǒng)響應速度快、控制精度高,獲得了良好的穩(wěn)態(tài)性能和動態(tài)品質。以VC++6.0為平臺設計的人機交互界面便于操作,構建了完善的控制系統(tǒng)。
[1] 白海清. 基于PMAC的數控試驗臺機械系統(tǒng)設計與軟件開發(fā)[D]. 西安理工大學, 2007.
[2] 葉志堅. 基于PMAC的五軸數控彎絲機系統(tǒng)的研發(fā)[D].廈門大學, 2009.
[3] PMAC用戶手冊[M]. 北京鈞義志成科技發(fā)展有限責任公司.
[4] AC伺服驅動器∑-∨系列用戶手冊, 設定篇[M]. 北京鈞義志成科技發(fā)展有限責任公司.
[5] 高靜, 麥繼平. 基于PMAC的直線電機PID控制性能的研究[J]. 儀器儀表用戶, 2006, 6.
[6] 陶永華. 新型PID控制及其應用(第2版)[M]. 北京: 機械工業(yè)出版社, 2002.
[7] Pewin32 PRO SOFTWARE REFERENCE MANUAL [M].DELTA TAU Data Systems, Inc, 2002.
[8] PCOMM32PRO SOFTWARE REFERENCE MANUAL[M].DELTA TAU DataSystem, Inc, 2002.
[9] 鄭阿奇. Visual C++教程[M]. 北京: 清華大學出版社,2008.
[10] 宋坤, 劉銳寧, 李偉明. MFC程序開發(fā)參考大全[M]. 北京: 人民郵電出版社, 2007.