面向銑削參數實時優化的智能 數控系統構建
2020-7-8 來源: 哈爾濱工業大學機電工程學院 作者:金鴻宇,付云忠,富宏亞,韓振宇
摘要:智能數控機床是“工業 4.0”時代下智能化工廠的生產終端設備,其網絡化、智能化以及協同制造技術的實現離不開高穩定性、高精度保持性的開放式智能數控系統。以實現銑削過程中切削參數的實時優化為目標,在具有開放式模塊化的數控系統平臺上設計并開發了可實現該功能的軟件模塊。在數控系統的系統協調模塊中集成了智能控制算法,該算法可根據切削過程中實時采集的切削力信號實時調整主軸轉速和進給速度,最終通過薄壁件切削試驗驗證了智能數控系統功能的有效性。
關鍵詞:智能數控機床;智能數控系統;實時優化;智能控制算法;傳感器
金鴻宇博士、助理研究員,主要從事開放式智能數控系統、切削過程實時控制等研究。
以 SIEMENS 和 FANUC 為代表的商用數控系統在世界范圍內被廣泛使用。例如,DMG MORI 機床的操作系統 主要的開發平臺為 SIEMENS 數控系統。CELOS 除了具有傳統的數控系統功能以外,還集成了生產任務編排、訂單管理、CAD/CAM 和機床狀態監控等功能,它將企業上層 ERP 管理系統與底層加工任務有效地結合,形成了目前流行的閉環制造模式。雖然這種封閉式的專用數控系統具有結構簡單、技術成熟等特點,但由于其內部結構封閉,無法靈活地為用戶定制所需的特殊功能。
要解決用戶需求和系統封閉之間的矛盾,最根本的方法就是構建一種具有可移植、可擴展、可重構、可伸縮特性的開放式智能數控系統。這類系統應具有模塊化結構,并允許開發人員在相應模塊內集成智能控制算法以實現用戶的指定要求。在傳統的數控加工過程中,機床操作人員通常根據工藝人員指定的加工參數,在數控代碼中輸入相應參數的值,并始終以設定的切削參數完成數控加工過程。但在現代智能加工環境下,數控系統應具備在切削過程中根據傳感器采集的信息“感知”加工過程,并對加工過程參數進行智能的在線調節,以提高工件的加工質量和加工效率。因此,各國學者目前的研究重點集中于開發可集成智能加工功能的開放式數控系統。
對開放式數控系統,許多高校和研究機構已經開展了較為深入的研究[1]。在國內,北京航空航天大學李伯虎等[2]在開放式架構數控系統上開發了面向服務的網絡化云數控系統,在其構建的云智造系統中,將業務管理、體系標準云端化技術、云安全技術和云綜合服務技術進行了有效的結合,為數控系統的網絡化建立了理論與實踐基礎。南京航空航天大學黃威然等[3]在開放式數控系統架構上建立了基于實時以太網的網絡化數控系統,該系統具有即時信息控制機制,可實現時鐘同步精度的提高。此外,華中科技大學、天津大學、清華大學、山東大學和哈爾濱工業大學等高校的學者們也對開放式數控系統進行了研究[4-8]。
在“工業 4.0”時代下,大多數科研人員關注的是如何實現基于物聯網、大數據、云計算的網絡協同制造技術和系統,而對于加工過程智能化控制以及智能終端設備的關注則較少。例如,現階段的數控機床(如DMG MORI)已實現在其關鍵位置配置先進傳感器來監測各關鍵零部件的運行狀態。這些傳感器采集的信息會以相應的數據結構形式傳送至數控系統,而數控系統會對采集的信號進行處理,當出現異常信號時會實施報警等功能。但對于加工過程智能化控制來說,未來的數控系統除了具備信號采集和處理功能以外,還應該集成智能控制算法,并根據采集的有效信息做出判斷和決策實現在切削過程中對切削參數實時優化[9-10]。本文主要的研究內容是在開放式數控系統中集成相應控制算法,構建具有銑削參數實時優化的智能數控系統。
智能數控系統軟件功能模塊設計
本文所構建的智能數控系統的開發平臺為 VisualStudio[11],以 C++語言為開發工具,運行于 Windows操作系統。在之前研究的基礎上,本文將智能控制功能以子模塊的形式在系統模塊中集成,并實現系統功能與智能控制功能的協調運行。以系統模塊功能劃分的智能數控系統的結構如圖 1 所示。
圖1 智能數控系統模塊結構
智能數控系統的軟件模塊按任務處理的實時性可劃分為非實時空間模塊和實時空間模塊。非實時空間模塊與實時空間模塊間的數據交互以共享內存方式實現。智能數控系統的共享內存區域包括任務隊列、開關量、實時狀態信息和參數優化結果 4部分。任務隊列是由代碼解釋模塊和任務生成模塊將加工代碼翻譯并建立的數據鏈表組成,鏈表中包含機床各運動軸的運行位置信息。當自動加工任務執行后,系統協調模塊會根據設定的定時器周期循環讀取各行位置信息,直到加工過程結束。數控系統硬件的開關量信息(包括主軸狀態、倍率、限位等)可被系統協調模塊讀取并在人機界面中顯示。數控系統啟動時會在共享內存中為各個開關量指定地址,系統內各模塊則在相應線程中定時檢查地址的狀態,實現設備狀態反饋和手動指令傳輸。實時狀態信息主要包括主軸轉速、進給速度、切削力等用于描述切削過程狀態的信息,系統協調模塊將實時采集的狀態信息寫入共享內存供人機界面讀取顯示,也可將這些信息以文件形式寫入代碼解釋模塊供切削過程分析使用。參數優化結果信息是指系統在切削過程實時控制后獲得的機床切削參數信息。系統協調模塊可將該信息存儲至代碼解釋模塊,實現切削參數的在線優化功能。
本文構建的智能數控系統由以下 6 個功能模塊組成:
(1)人機界面模塊:共包含 4 個子模塊,分別為指令輸入子模塊、文件傳輸子模塊、信息交換子模塊和界面顯示子模塊。指令輸入子模塊負責監控數控系統界面上的功能按鈕及其他輸入控件,根據操作者輸入的指令執行相應的功能。在手動操作模式下,可通過該子模塊向共享內存發送指令,系統協調模塊讀取相應的令后即可完成對機床設備的控制。文件傳輸子模塊可為操作者提供加工文件打開、保存路徑設置等人機接口,并能在系統界面中顯示加工代碼解釋過程中出現的錯誤信息,為操作者修改加工代碼提供方便。信息交復位暫停等開關量任務,同時可讀取機床上的輸入輸出信號。信息交換換子模塊可實現非實時空間和實時空間的數據交換,并可讀取實時空間模塊存入共享內存的加工過程信息(包括主軸轉速、進給速度、刀具坐標位置、倍率及開關狀態等),通過界面顯示子模塊在數控系統人機界面中顯示。
(2)系統協調模塊:在數控系統中負責協調管理軟件內核的運行,數控系統實時空間的主進程。當啟動數控系統后,系統協調模塊內主進程即被加載,首先完成系統環境設置、共享內存、進程間通信通道及動態鏈接庫的初始化工作,隨后設置系統實時空間內不同線程的運行時鐘周期,啟動各功能模塊對應的線程。系統協調模塊通過協調各模塊間的信息交互以支撐整個數控系統的運行,其負責的核心功能包括 PLC 控制、運動控制、數據采集、狀態監測等。該模塊通過互斥對象和事件等多線程同步機制對數控系統中的各線程進行協調與管理。由于數控系統的執行狀態包括空閑、手動、自動、停止等多個狀態,故可采取有限狀態機(Finite-State Machine, FSM)方式根據輸入系統的指令和信息切換不同的運行狀態,執行對應的系統加工任務[11]。系統協調模塊包含 4 個子模塊,分別為智能控制子模塊、PLC管理子模塊、信息交換子模塊和運行模式子模塊,且每一模塊均對應一個實時線程,其中智能控制子模塊是本文構建的智能數控系統的核心。由于在該子模塊中集成了模糊控制算法,故系統在循環運行該線程時可對采集的切削力進行處理,同時將輸出的主軸轉速調整值賦給機床實際主軸轉速全局變量。而系統插補模塊在每次進行插補計算時均對該變量進行檢測,并通過設備通信模塊將更新的主軸轉速值傳送至機床伺服驅動系統,實現對機床主軸轉速的實時調整及智能控制。PLC 管理子模塊主要負責處理主軸控制、刀具切換、復位暫停等開關量任務,同時可讀取床上的輸入輸出信號。信息交換子模塊則以固定的周期向共享內存中寫入與人機界面的相應模塊進行數據交互。運行模式子模塊中包含自動運行模式線程和手動運行模式線程。
(3)代碼解釋模塊:主要功能是解釋加工代碼文件、生成刀具軌跡。該模塊的解釋功能被封裝為動態鏈接庫,當需要解釋加工代碼時系統則調用此模塊的功能。代碼解釋模塊分為 3 個子模塊,分別為錯誤檢查子模塊、刀具軌跡生成子模塊和信息處理子模塊。錯誤檢查子模塊負責對讀入的加工代碼文件的所有代碼行進行語法檢查,解析代碼中存在的各種語法錯誤,當檢測到代碼中的錯誤時,系統會保存當前錯誤信息并在人機界面中顯示;若所有代碼行均不存在錯誤時,系統則通過刀具軌跡生成子模塊將加工代碼轉化為加工運動段信息。信息處理子模塊的功能是讀取共享內存中的切削力檢測信息以及實時更新的主軸轉速等切削參數信息,并將優化后的切削參數以文件形式輸出。在后續加工過程中,系統可將優化后的切削參數覆蓋初始設置的切削參數,實現切削過程的參數在線優化功能。
(4)任務生成模塊:主要功能是將代碼解釋模塊中的加工運動段以鏈表形式傳送至共享內存的任務列表中,系統調節模塊通過順序執行各行任務實現自動加工過程。該模塊的功能同樣被封裝為動態鏈接庫,當代碼解釋功能完成后即調用此功能實現加工代碼的傳送。任務生成模塊分為 4 個子模塊,分別為環境設置子模塊、序列生成子模塊、速度規劃子模塊和任務傳送子模塊。環境設置子模塊用于基本加工環境的設置,通常包括坐標系設置、進給模式設置、工作平面設置、速度信息及開關狀態設置等。序列生成子模塊是任務生成模塊的核心,對于不同模式下的進給運動都有屬于各自的運動段序列生成函數,系統會根據加工代碼的譯碼結果調用相應的函數完成進給模式的分配。當各運動段的位置信息及進給模式設置完成后,系統則通過速度規劃子模塊處理兩個相鄰運動段間的速度過渡策略。任務傳送包括靜態和動態兩種方式:靜態方式指的是任務生成模塊將全部運動段一次性寫入共享內存,然后由系統協調模塊執行;而動態方式則是指運動段的傳送過程與執行過程同步進行。為了保證數控系統的實時性,避免任務生成錯誤導致的緩沖區下溢現象,本文采用靜態方式傳輸運動段,并在執行過程中動態修改任務列表,實現對切削參數的實時調整與控制。
(5)系統插補模塊:主要負責數控系統插補運算、加減速計算等任務。該模塊可將任務生成模塊傳送的運動段轉化為以插補周期為間隔的一系列插補點,并通過有限狀態機技術管理這些插補點的執行。插補計算屬于實時任務,其定時器周期與任務協調模塊中自動運行線程的周期相同。在執行每條運動段指令時,自動運行線程都會調用插補模塊的實時動態鏈接庫來實現運動控制。系統插補模塊包含 3 個子模塊,分別為狀態管理子模塊、速度計算子模塊和位置計算子模塊。狀態管理子模塊主要用于檢查當前的系統狀態。在插補過程中,系統的狀態會在空閑、手動、自動、停止、手輪控制5 種狀態間切換,該子模塊在每個插補周期內都會通過有限狀態機技術執行屬于當前狀態的任務。對于每一個運動段而言,都可以分為加速階段、勻速階段和減速階段,速度計算子模塊會根據到運動段結束的距離和當前的實際速度確定下一周期的進給速度。位置計算子模塊則會根據當前插補周期內的進給速度、進給方向和當前插補點來計算下一插補周期各運動軸的進給量。
(6)設備通信模塊:其功能是建立機床硬件設備與數控系統軟件內核間的聯系,通過設備接口可讀取機床及傳感器等檢測設備的信息,或向機床發送控制信號。設備通信模塊包括 3 個子模塊,分別為軸控制子模塊、I/O 控制子模塊和外設通信子模塊。軸控制子模塊的任務是將運動控制指令通過工業控制總線及其通信協議發送至機床伺服驅動系統。常用的總線及通信協議包括 SERCOS、MACRO、Powerlink 和Fire Wire 等[11],本文采用 SERCOS總線實現軟件內核與伺服驅動系統間的通信。I/O 控制子模塊通過SERCOS 總線與伺服驅動系統中的I/O 模塊連接,負責處理模擬信號與數字信號的輸入輸出。外設通信子模塊負責與機床外部的附屬設備通信,在本文構建的智能數控系統中主要負責讀取數據采集設備中的切削力信號。
控制算法在數控系統中的運行原理
首先以變主軸轉速功能的實現為例進行說明。為實現在切削過程中根據檢測的切削力實時調整主軸轉速,需將模糊控制算法集成至數控系統,并保證與系統內其他線程協調運行。由于切削力信號采集與主軸轉速調整均屬于實時任務,故相應功能的集成與實現應在智能數控系統的實時空間內完成。
本文將模糊控制算法集成至智能數控系統的系統協調模塊中,并保證算法執行過程與該模塊中的加工任務自動運行過程同步協調執行。在數控系統中,參與智能控制的模塊有系統協調模塊、系統插補模塊和設備通信模塊。
表1 智能數控系統自動運行相關函數功能
表 1 所示為與自動運行過程及主軸轉速調整過程有關的部分函數及其功能。智能數控系統的變主軸轉速功能實現流程具體如下:當數控系統自動運行過程開始后,系統首先進行初始化任務,為各功能線程設置定時器周期。初始化完成后,“Timer Handle_process”線程(自動運行線程)和“Spindlespeed_process” 線 程(主 軸 轉 速 實 時調 整 線 程)在 系 統 協 調 模 塊 中以設定的周期循環執行。 在“Timer Handle_process”線程中,系統首先執行“update FSM”函數中的“get FSMstate”函數來檢測當前有限狀態機所處的狀態。當系統在執行數控代碼的過程中,有限狀態機的狀態始終為“自動運行”狀態,隨即調用“traversing Action”函數執行自動運行過程。此時自動運行過程執行的函數已轉移到系統插補模塊中,通過調用“calc Next Increment”來計算下一插補點的位置與速度信息。而在系統協調模塊的另一線程“imer Cut Force_ process”中,系統首先將采集的切削力信號進行處理并以文件形式輸出,隨后將經過主軸旋轉周期平均處理后的切削力賦值于模糊控制算法中的實際切削力 F。經過函數“Fuzzy_Control”中的模糊控制算法處理后,輸出主軸轉速的調整量,將更新的主軸轉速賦給全局變量“spindle Speed”。賦值 完 成 后,該 線程的最后一個函數“Update Command Spindle”被調用,將主軸轉速的值進行更新。至此,下一插補點的位置、速度信息以及更新后的主軸轉速都已被確定,系統通過調用軸控制子模塊中的 “Update Command”函數將上述運動控制信息更新,最終通過調用 “Trigger_Lifecounter”函數將這些信息以 SERCOS 協議傳送至機床伺服驅動系統,進而驅動機床各運動軸電機與主軸電機完成插補過程以及主軸轉速的實時調整。為保證自動運行線程和切削力采集處理線程在系統協調模塊中協調運行,兩線程的優先級設置為相同等級。
本文構建的智能數控系統除了可以在切削過程中實時調節主軸轉速外,還集成了進給速度的實時優化功能模塊,實現了主軸轉速和進給速度的綜合實時優化[12]。與單獨調整主軸轉速相同,本文在系統協調模塊中分別以獨立的線程運行變主軸轉速控制策略與進給速度實時優化策略。參數綜合調節功能在智能數控系統內的運行流程如圖 2 所示。
圖2 切削參數綜合調節功能執行過程
加工程序開始運行后,插補計算過程、模糊控制算法和進給速度優化策略分別以獨立線程的形式在智能數控系統中循環執行。在進給速度優化線程中,系統處理對變形影響較大的 Y 軸方向切削力,結合進給速度優化策略實時調整機床的進給速度。智能數控系統插補周期為 2.5ms,主軸轉速和進給速度的調整周期分別設置為 0.6s 和0.1s。由于智能數控系統的變主軸轉速和變進給速度功能是通過更新函數“Update Command Spindl”和“Update Command Feedrate”中的倍率參數變量“m_d Spindle Override”和“m_d Feedrate Override”實現,被調整后的機床主軸轉速和進給速度數值(以倍率參數與速度設定值之積表示)直接通過“Update Command”和“Trigger_Lifecounter”函數傳送至機床伺服驅動系統,實現相應速度的改變;而插補計算過程中的主軸轉速和進給速度設定值則不受影響,保證了系統插補線程與各功能線程的協調運行。
智能數控系統功能驗證為了驗證智能數控系統具備實時調節主軸轉速和進給速度的功能,本文結合相應的控制算法和策略[13],選擇了具有小曲率曲面的鋁合金薄壁試件進行了兩組切削試驗,加工過程如圖 3 所示。軸向切深15mm,徑向切削 0.5mm,初始進給速度 200mm/min,兩組試驗的初始主軸轉速為 1000r/min 和 1600r/min。此外,根據數控系統在試驗過程中采集的切削力信號、主軸轉速和進給速度的實時優化情況如圖 4 所示。
圖3 驗證試驗加工過程
圖4 切削參數實時優化結果
在第一組試驗中,系統只實施進給速度優化功能。由于加工開始階段檢測的切削力數值低于最優切削力,故系統按照制定的優化策略將進給速度逐漸調整至 220mm/min,以提高加工效率。第二組試驗中,切削力在 4.9s 時刻突然增大,智能數控系統根據測得的切削力數值和模糊控制算法將主軸轉速調至 2200r/min,同時進給速度受到切削力增大的影響被逐漸下調至 182mm/min。主軸轉速調整結束后,切削過程恢復穩定,進給速度逐漸達到平衡狀態。從上述試驗結果可以看出,本文構建的智能數控系統具備在切削過程中實現銑削參數實時優化的功能,為智能加工技術奠定了理論與實踐基礎。
結論
對于切削參數優化,目前大多采用的是離線方式。本文在開放式模塊化數控系統平臺上,設計并開發了智能控制模塊,并將該模塊集成至數控系統的系統協調模塊中,保證了智能控制功能與系統插補等功能的協調執行。集成了智能控制功能的數控系統根據銑削過程中采集的切削力信號和智能控制算法實時調整主軸轉速和進給速度,使銑削參數始終保持最優狀態。最終通過薄壁件側銑試驗驗證了系統功能的有效性。在“中 國 制 造 2025” 和《“十三五”國家科技創新規劃》的指導下,當前需要大力發展智能數控機床及智能數控系統等高檔智能裝備,并且自主核心技術應占有顯著比重。
而開放式可重構的數控系統是開發智能數控系統的基礎,本文構建的系統已實現集成測力儀等傳感器和智能控制算法對切削過程進行實時監測和控制。在未來的研究中,會側重于在機床關鍵零部件位置布置不同功能的傳感器,通過多傳感器信息融合技術結合智能控制算法實現機床工作狀態和加工狀態的綜合智能監控。同時,將狀態監測信息借助網絡平臺傳送至機床綜合操作系統,實現工廠范圍內的新型智能加工模式。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息