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