開放式數(shù)控系統(tǒng)是當(dāng)前數(shù)控技術(shù)發(fā)展的主要趨勢。目前,對開放式數(shù)控系統(tǒng)還沒有統(tǒng)一的定義,一種比較流行的觀點(diǎn)強(qiáng)調(diào)系統(tǒng)具有的可移植性、可擴(kuò)展性、可協(xié)同性和模塊性。
開放式數(shù)控系統(tǒng)的結(jié)構(gòu)是面向數(shù)控軟件配置的,可以由用戶自行定義接口和數(shù)控軟件平臺,不斷將功能集成到控制系統(tǒng)中。目前,普遍采用PC機(jī)+運(yùn)動控制器型。運(yùn)動控制器通常選用高速DSP作為CPU,具有很強(qiáng)的運(yùn)動控制能力和PLC控制能力。市場上主流的運(yùn)動控制器有PMAC運(yùn)動控制器、Galil運(yùn)動控制器和Trio運(yùn)動控制器。
三菱形磨床主要應(yīng)用于三菱形的孔、軸類工件的加工。三菱形孔、軸聯(lián)接方式與常用的鍵與鍵槽聯(lián)接方式相比,具有聯(lián)接強(qiáng)度高、在載荷作用下自動定心并保持軸與轉(zhuǎn)動零件的動平衡、傳遞扭矩大、沒有應(yīng)力集中、長期工作磨損少,傳動時的振動和噪聲低等優(yōu)點(diǎn),
非常適用于轉(zhuǎn)動速度高、傳遞扭矩大并且要求低噪聲的傳動部件的聯(lián)接。因此,對三菱形磨床的研究和開發(fā)在實際應(yīng)用中具有重要意義。
本文選用Trio MC206運(yùn)動控制器作為磨床控制核心,在Windows操作系統(tǒng)平臺上采用Visual C++6.0開發(fā)上層管理數(shù)控軟件,采用Motion Perfect2開發(fā)底層控制數(shù)控軟件。
1 系統(tǒng)硬件方案
本系統(tǒng)硬件總體結(jié)構(gòu)如圖1所示。采用基于高性能32位DSP技術(shù)的Trio MC206運(yùn)動控制器作為磨床運(yùn)動控制核心,通過以太網(wǎng)接口與工控機(jī)(IPC)進(jìn)行數(shù)據(jù)交互,構(gòu)成主從式雙CPU型的開放式數(shù)控系統(tǒng)硬件平臺。運(yùn)動控制器主要完成三軸電動機(jī)驅(qū)動和位置反饋信息的處理,形成閉環(huán)控制。通過CAN總線擴(kuò)展Trio I/O模塊,實現(xiàn)內(nèi)嵌式PLC功能。主要包括對機(jī)床面板、伺服驅(qū)動系統(tǒng)、液壓系統(tǒng)、冷卻系統(tǒng)、潤滑系統(tǒng)、報警系統(tǒng)等的數(shù)據(jù)采集和監(jiān)控。
圖1系統(tǒng)硬件總體結(jié)構(gòu)
2 數(shù)控軟件總體結(jié)構(gòu)設(shè)計 數(shù)控系統(tǒng)軟件結(jié)構(gòu)模式主要有兩種:前后臺型結(jié)構(gòu)模式和中斷型結(jié)構(gòu)模式。本系統(tǒng)軟件采用前后臺型結(jié)構(gòu)模式,按實時性相對強(qiáng)弱將系統(tǒng)任務(wù)化分為兩部分:上層管理程序和底層控制程序(圖2)。
圖2系統(tǒng)軟件息體結(jié)構(gòu)
上層管理軟件設(shè)計方案:上層管理主要負(fù)責(zé)NC程序管理、G代碼編譯、顯示、通訊、診斷等弱實時性的任務(wù)。根據(jù)三菱形磨床系統(tǒng)特點(diǎn),劃分上層管理軟件模塊:狀態(tài)顯示、輪廓補(bǔ)償、參數(shù)設(shè)置、MDI運(yùn)行、程序管理、通訊仿真、系統(tǒng)診斷。采用Visual C++6.0開發(fā)環(huán)境,利用多線程技術(shù)和動態(tài)連接庫(DLL)技術(shù)實現(xiàn)管理層軟件開發(fā)。DLL是一種過程庫,可執(zhí)行程序在運(yùn)行時可以鏈接并使用它提供的函數(shù)或過程。系統(tǒng)主線程工程由MFC AppWizard(exe)建立,各功能模塊采用MFC AppWizard(d11)建立,通過主線程對各模塊的任務(wù)調(diào)度,實現(xiàn)數(shù)控系統(tǒng)管理功能。采用DLL技術(shù)使各軟件模塊功能封裝性和獨(dú)立性較好,提高了數(shù)控系統(tǒng)軟件開發(fā)和維護(hù)的效率。Trio提供的ActiveX控件—TrioPC控件包含了豐富的運(yùn)動控制指令和邏輯控制指令。上層管理程序通過調(diào)用控件提供的函數(shù)和變量來實現(xiàn)對控制器的操作,完成上下層軟件數(shù)據(jù)通訊。
底層控制軟件設(shè)計方案:底層控制由Trio MC206控制器負(fù)責(zé),主要完成伺服控制、插補(bǔ)運(yùn)算、速度控制、刀具補(bǔ)償、機(jī)床邏輯控制等強(qiáng)實時性任務(wù)。采用Trio公司提供的Motion Perfect2開發(fā)環(huán)境,利用Trio Basic語言編程實現(xiàn)磨床所有運(yùn)動控制程序和邏輯控制程序。
3 底層控制軟件設(shè)計的關(guān)鍵技術(shù)
3.1 三菱形曲線插補(bǔ)模塊的軟件設(shè)計
插補(bǔ)是數(shù)控機(jī)床控制刀具運(yùn)動軌跡的核心,插補(bǔ)算法的選擇將直接影響數(shù)控系統(tǒng)的精度、速度以及加工能力。
本系統(tǒng)要完成三菱形曲線的加工,需要對線性軸(X軸)和旋轉(zhuǎn)軸(c軸)聯(lián)動控制實現(xiàn)。直接使用TrioMC206所提供的運(yùn)動控制指令無法實現(xiàn)對線性軸和旋轉(zhuǎn)軸的直接插補(bǔ)控制。
要解決三菱形的插補(bǔ)設(shè)計,一般有兩種方法:其一,先將旋轉(zhuǎn)軸(C軸)的旋轉(zhuǎn)運(yùn)動分解為兩個方向的直線運(yùn)動,再調(diào)用Trio提供的插補(bǔ)指令函數(shù)來實現(xiàn)。其二,編程實現(xiàn)底層插補(bǔ)控制,避開使用Trio提供的插補(bǔ)指令函數(shù)。
通過對三菱形曲線數(shù)學(xué)模型的分析發(fā)現(xiàn),前面兩種方法在軟件實現(xiàn)上都存在著不足。開發(fā)難度較大,磨床的控制精度和可靠性無法保證。本系統(tǒng)采用一種獨(dú)特的解決方法:將三菱形輪廓曲面展開,對展開后的曲線再做插補(bǔ)運(yùn)算,如圖3。這樣保證了加工輪廓的精確性,可以充分利用Trio提供的插補(bǔ)指令來實現(xiàn)精確的插補(bǔ)控制,如直線插補(bǔ)MOVE指令,圓弧插補(bǔ)MOVECIR指令,螺旋線插補(bǔ)MHEUCAL指令,并且縮短了軟件開發(fā)周期,保證了插補(bǔ)精度。
圖3三棱形曲面展開圖
3.2 Trio控制器多任務(wù)軟件設(shè)計
運(yùn)動控制器作為底層運(yùn)動控制的核心,其運(yùn)行程序的響應(yīng)性、可靠性和穩(wěn)定性將直接影響到系統(tǒng)的綜合性能。
Trio MC206運(yùn)動控制器可以同時運(yùn)行8個進(jìn)程,優(yōu)先級通過進(jìn)程號區(qū)別??刂破髂J(rèn)將通訊接口分配為優(yōu)先級最高的8號進(jìn)程。本系統(tǒng)控制器進(jìn)程共設(shè)計5個進(jìn)程,并將這5個進(jìn)程分為兩類程序:運(yùn)動控制程序和內(nèi)嵌式PLC程序。
運(yùn)動控制程序的進(jìn)程名以P開頭,加工程序通過上層管理軟件編譯成嘶o Basic格式后導(dǎo)入控制器,由管理軟件控制進(jìn)程的啟動和停止。
內(nèi)嵌式PLC程序由4個進(jìn)程組成,分別為PLC_PROTECT、PLC_WORKMODE、PLC_BUTTON、PLC_COMMON。這4個進(jìn)程隨控制器上電啟動,執(zhí)行循環(huán)檢測,實現(xiàn)PLC功能。
3.3 內(nèi)嵌式PLC程序設(shè)計
Trio MC206運(yùn)動控制器可連接通過CAN總線擴(kuò)展的16個具有雙向功能的L/O模塊,256個輸入輸出點(diǎn)。
本系統(tǒng)共擴(kuò)展6個L/O模塊,利用控制器提供的VR全局變量,存儲各模塊L/O口狀態(tài),利用邏輯命令將相關(guān)的I/O狀態(tài)進(jìn)行邏輯處理,實現(xiàn)內(nèi)嵌式PLC功能。
控制器所能提供的VR變量有限,如果采用L/O狀態(tài)與VR變量一對一的存儲方式,在控制點(diǎn)較多的情況下,不僅浪費(fèi)了VR資源,而且影響了I/O讀取速度,降低了軟PLC程序的響應(yīng)性。對該問題的解決,本系統(tǒng)利用每個VR變量提供的24個存儲位,使得每個VR變量可存儲24個磨床輸入輸出口狀態(tài),并對VR變量的地址進(jìn)行嚴(yán)格的分配和細(xì)化,保證VR變量資源的合理利用,避免因變量的重復(fù)使用而造成的邏輯錯誤。
內(nèi)嵌式PLC由4部分程序組成,通過循環(huán)掃描。檢測每個控制點(diǎn)的離散狀態(tài)信息,并將檢測結(jié)果存入相應(yīng)的VR變量中。然后對各個變量之間的邏輯關(guān)系進(jìn)行運(yùn)算,并將運(yùn)算結(jié)果放入相應(yīng)的變量中。通過循環(huán)掃描的線程程序?qū)⑦@些變量的值送入對應(yīng)的輸出點(diǎn),實現(xiàn)對機(jī)床的邏輯控制。
(1)PLC_PROTECT:實現(xiàn)機(jī)床硬件限位信號、報警信號、停止信號的檢測。將該進(jìn)程優(yōu)先級設(shè)置為最高,及時處理報警情況,保證機(jī)床的安全性。
(2)PLC_WORKMODE:循環(huán)檢測機(jī)床的工作模式,實現(xiàn)機(jī)床模式切換。
(3)PLC_Bu7rrON:循環(huán)檢測機(jī)床控制面板上按鈕信號。由于控制面板信號具有隨機(jī)性,將這些信號單獨(dú)處理,軟件檢測最大限度地保證響應(yīng)的及時性。提高軟PLC功能的靈敏度。
(4)PLC—COMMON:處理其余的輸入輸出信號。
4 系統(tǒng)特點(diǎn)
(1)多任務(wù)并行處理
系統(tǒng)采用CPU分時共享和中斷優(yōu)先相結(jié)合的辦法來解決多任務(wù)的同時運(yùn)行。數(shù)控系統(tǒng)在加工過程中管理模塊程序和控制模塊程序同時進(jìn)行,保證加工過程的連續(xù)性和響應(yīng)的實時性。
(2)實時中斷處理
系統(tǒng)軟件采用前后臺型兩級結(jié)構(gòu)設(shè)計。底層控制程序模塊是一個中斷服務(wù)程序,完成全部的實時功能,線程的優(yōu)先級最高。上層管理程序是一個循環(huán)運(yùn)行程序,與控制程序相互配合,共同完成零件加工任務(wù)。
(3)內(nèi)嵌式PLC功能
系統(tǒng)采用編程方式實現(xiàn)內(nèi)嵌式PLC功能。通過PLC程序的優(yōu)化,大大縮短了每一次循環(huán)掃描的時間,提高了實時性和PLC的靈敏度。與傳統(tǒng)PLC相比,內(nèi)嵌式PLC程序擴(kuò)展性好,功能靈活。
(4)加工程序零編程功能
針對三菱形曲線模型編程復(fù)雜的缺點(diǎn),上層管理軟件程序管理模塊將程序編制參數(shù)化,用戶通過人機(jī)界面僅需輸人特定參數(shù),系統(tǒng)將根據(jù)運(yùn)動軌跡數(shù)學(xué)模型和智能工藝庫,自動生成NC代碼。操作簡單,提高了編程效率高,并且保證了加工精度高。
5 結(jié)語
本系統(tǒng)以通用工控機(jī)為基礎(chǔ),采用功能強(qiáng)大的Trio運(yùn)動控制器實現(xiàn)三菱形磨床高速高精度運(yùn)動控制。采用模塊化程序設(shè)計思想、多線程技術(shù)和動態(tài)鏈接庫(DLL)技術(shù)開發(fā)的數(shù)控軟件兼具Windows操作系統(tǒng)的多任務(wù)特性和運(yùn)動控制的實時性,比傳統(tǒng)專用系統(tǒng)具有更好的開放性、可擴(kuò)展性。實踐證明,該數(shù)控系統(tǒng)軟件在三菱形磨床上運(yùn)行穩(wěn)定可靠。
(審核編輯: 智匯胡妮)
分享