基于 UMAC 的開放式五軸磨床數控軟件研發
2018-8-20 來源:西南交通大學 機械工程學院 作者:楊欣雨,趙 銳,馬術文,丁國富
摘要: 為了實現國產五軸磨床數控系統的自主研發,通過對開放式數控系統硬件及軟件結構體系的分析,提出基于 UMAC 運功控制器的五軸磨床數控系統的設計方案。針對數控系統對上位機的功能需求,采用模塊化設計方法,進行上位機軟件的功能模塊設計。研究了上位機與 UMAC 的通信方式,及代碼檢驗、PMAC 運動程序自動生成、加工過程代碼同步顯示、伺服參數整定等關鍵技術,利用軟件工程技術在. NET 平臺上開發出一套五軸磨床數控軟件,該軟件人機界面友好,操作簡單,能根據用戶角色權限進行系統用戶管理、數控機床加工控制及數控系統參數調節等操作。
關鍵詞: 數控系統軟件; UMAC 運動控制器; 開放式數控系統; 模塊化
0 、引言
由于現代制造技術的發展,對刃形復雜的高精度刀具的需求迅猛增長,普通修磨工具磨床已發展成為五軸聯動數控工具磨床。以 FANUC、SIEMENS 等為典型代表的傳統數控系統均屬于封閉式系統,構成系統的硬件和軟件是專用且互不兼容的,系統各模塊間通信與數據交互機制也互不相同,導致在控制軟件開發上難以修改和擴展,不能滿足五軸磨床數控系統自主研發的需求,因此開放式數控系統成為新的研究方向。目前,以“IPC( 工控機) + 運動控制器”形式搭建數控系統的硬、軟件平臺是主流架構形式,此結構的CNC 系統不僅具有傳統數控系統的穩定可靠和實時性強的特性,還具有 IPC 機的柔性。美國 Delta Tau公司的 UMAC( Universal Motion and Automation Con-troller) 是當今市場上使用廣泛功能強大徹底開放的運動控制器。本文針對五軸數控磨床的功能特點,利用 IPC +UMAC 運功控制器的雙 CPU 結構搭建數控系統硬件結構,提高了數控系統的開放性,克服了傳統封閉式數控系統內部參數難提取、算法難改寫、軟件難開發的問題。在硬件基礎上進行軟件系統的功能設計,在. NET平臺上開發出人機交互的五軸磨床數控軟件,實現了系統管理、數控加工控制、電機伺服整定三大功能的集成。
1、 基于 UMAC 五軸數控系統體系結構
根據工具磨床的結構特點及參數要求,采用“ IPC +UMAC”控制模式構建閉環控制系統,其硬件構成如圖 1所示,主要包括五大模塊: ①上位機模塊,由 IPC 完成初始化、參數管理等任務; ②下位機模塊,由 UMAC 完成插補、電機驅動等任務。③運動伺服控制模塊,由驅動器接收運動控制信號,驅動電機使機床完成動作,通過反饋元件,將實際信號反饋至 UMAC 中,通過伺服調節算法,修正命令信號,提高運動精度。④主軸模塊,由變頻器接收 UMAC 發出的模擬量信號,實現主軸無級變速。⑤電氣控制模塊,各開關量和限位開關的數字量信號,通過 UMAC 上的 I /O 板卡接口進行輸入輸出。

圖 1 基于 UMAC 開放式數控系統硬件結構
在軟件體系上,系統的功能模塊可分為非實時管理模塊和實時控制功能模塊兩大類。非實時管理模塊負責系統參數設置、診斷、及 NC 代碼編輯等功能,對于響應時間要求不高,可由 IPC 機運行,主要包括用戶管理、數控代碼處理、內部參數管理等模塊。實時控制功能模塊負責控制機床當前運動和動作響應,要求極高時間響應。實時控制功能模塊主要包含數控代碼解釋、插補處理、伺服驅動、PLC 監控以及等子模塊。UMAC 提供了實時控制類模塊功能,只需設置少量的參數就可直接調用。
2 、上位機數控軟件設計
針對軟件系統中上位機的非實時任務處理功能的要求,在. NET 平臺上進行五軸磨床數控軟件開發,其軟件框架及主要功能如圖 2 所示。①系統用戶管理模塊用于管理系統管理員和系統用戶信息,通過數據庫權限控制技術對不同用戶賬戶賦予不同的模塊使用權限。②數控代碼處理模塊用于進行數控代碼的手動編寫或導入已有數控代碼文件,并完成代碼的檢驗、仿真及傳輸。③物理加工過程同步控制顯示模塊用于對實際機床的加工過程的控制、當前執行代碼行同步顯示、各軸運動狀態的實時顯示以及加工軌跡的可視化顯示。④手動功能模塊用于數控機床各軸的點動和連續運動的控制和手動進給速率、進給量參數的設置,實現對各電機的手動操作。⑤ 電氣控制模塊用于控制UMAC 上 I / O 接口輸入輸出邏輯開關信號,從而控制繼電器、接觸器等動作,實現機床電氣部分的控制。⑥數控系統內部參數管理模塊用于對 UMAC 運動控制器內部的 I、M、P、Q 參數進行提取和設置,如與電機設置、坐標系設置、伺服 IC 時鐘設置、伺服 IC 通道設置等相關的變量和一些自定義變量。⑦數控系統伺服參數調節模塊通過階躍響應和拋物線響應的數據采集和圖像繪制,實現對電機進行交互式的伺服參數調節整定,改善系統的動態性能。

圖 2 五軸磨床數控軟件功能結構
3、 軟件開發的關鍵技術
3. 1 上、下位機的通信
數控系統中,將 IPC 作為上位機,處理非實時管理、人機交互的任務; 將 UMAC 作為下位機完成機床的運動控制和邏輯控制。由于這種雙 CPU 的結構設計,上、下位機在硬件上以及數據的運算處理上是相互獨立的,但在操作人員控制機床完成指定運動時又是緊密協作的,需要共享數據,因此需要建立上、下位機的通信。硬件上,采用較新的線型以太網(TCP/ IP 協議)總線方案,選用集成了 CPU 和高速通信板的 UMAC 可實現以太網通信功能。軟件上,采用 Delta Tau 公司提供的 Pcomm Server 通信驅動程序庫。Pcomm Server 為用戶在 windows 操作系統下開發應用程序提供了 400多個函數,幾乎涵蓋了所有與 UMAC 操作有關的方法。在系統開發過程中,常用的有以下幾個函數: ①運動控制卡驅動函數 PMAC. Select Device( ) ; ②程序下載函數 PMAC. Download( ) ; ③發送在線指令并獲取返回值函數 PMAC. GetResponse( ) 。
3. 2 數控代碼檢驗
在實際加工操作中,檢驗數控代碼正確性是進行數據處理和物理加工之前的必要步驟,可有效的指導操作人員編寫 NC 代碼,避免因代碼錯誤而造成系統后續計算出錯,甚至機床運行出現沖突或故障。根據常用 NC 代碼編寫規則制定出一套針對本系統的標準檢驗規則,以此為依據編寫軟件程序。代碼檢驗流程如圖 3 所示,首先逐行讀入 G 代碼,去掉代碼中的空格、注釋等無意義字符。檢查程序段代碼行的編號是否遞增排列,再檢查指令的字符( 如 NGXYZ等) 的合法性,檢查指令字符的排序是否符合規定。然后判斷是否有同一組的 G 指令重復出現在當前行中,并對特定 G 指令的書寫格式進行檢查。最后對指令字符后的賦值的數字類型和是否超程進行檢查。在任意位置檢驗出現錯誤時應提示出錯,反饋出錯誤代碼的位置、原因和修改意見,并結束當前行的檢驗程序。當前行檢驗完成后判斷檢驗進程,如果是程序的最后一行,則代碼檢驗程序結束,否則跳轉到下一行,重復檢驗工作。

圖 3 數控代碼檢查流程
3. 3 運動程序自動生成與傳輸
UMAC 運動控制器可識別執行的是. PMC 格式的運動程序文件,而通常數控系統的輸入是. txt 格式的數控代碼文本文件,因此五軸磨床數控軟件首先需要將數控代碼文件自動轉換生成運動程序文。如圖 4 所示,根據運動程序書寫規則,首先軟件讀取數控代碼文件的內容,在數控代碼前端添加坐標系和電機軸的定義語句,添加 OPEN PROG n 打開緩存區和 CLEAR 清空緩存區指令。通過 UMAC 解釋程序定義過的常用 G 指令可以直接識別,故無需修改直接保留使用。但 UMAC 不能識別數控代碼程序段編號 N等未解釋字符,故將其去掉,同時在每行后添加自定義P 變量的賦值語句來指示行號,并在運動指令行間插入延時指令 DWELL。最后在運動指令逐條添加完后,寫入 CLOSE 指令關閉緩存區。將寫好的運動程序保存為. PMC 格式,利用函數 PMAC. Downloa( ) 下載到UMAC 控制器內存中。

圖 4 程序文件轉換
3. 4 執行代碼同步顯示
在加工過程中顯示當前正在執行加工的數控代碼行,便于機床操作人員監控加工進度。在 UMAC 內部處理中沒有行號的概念,因此只能利用自定義的用戶變量 P 來實現代碼行的標識。如圖 4 所示,在每行數控代碼后添加 P1000 變量的賦值命令,用于標志對應數控代碼的行編號。在程序執行的過程中,上位機軟件通過時鐘控件不斷執行查詢參數值的函數即可得從下位機中獲取到同步變量 P1000 的值,從而在人機交互界面上顯示出當前正在執行的代碼行,并通過與總行數的計算得出程序執行的進度。同時,由于 UMAC 運動控制卡的前瞻計算功能,在每一行運動執行的末尾系統將預先讀取下一行將要執行的代碼進行軌跡計算,這將導致上一行還未執行完,而 P 變量的值通過前瞻計算已經重新賦值改變,引起代碼行顯示的不同步。因此在各行運動程序之間插入延時指令 DWELL,造成一個短暫的延時,避免了在運動過程中 P 變量被提前賦值計算,如圖 4 中代碼所示。
3. 5 伺服參數整定模塊
實際工業控制中,PID 調節算法應用較為普遍,UMAC 控制卡提供了強大的 PID 濾波器功能,通過調節其內部 I 變量值來控制伺服參數。利用階躍響應曲線,交互式調整比例項(變量 Ixx30) 、微分項( 變量Ixx31) 和積分項( 變量 Ixx33) 的值,利用拋物線響應曲線,調整速度前饋( 變量 Ixx32) 、加速度前饋( 變量Ixx35) 和摩擦前饋( 變量 Ixx68) 的值。

圖 5 數控系統伺服參數階躍響應整定
首先編寫命令電機執行位置階躍運動和速度拋物線運動的 PLC 程序,以及采集電機同步位置變量 Mx62和同步速度變量 Mx66 的 PLC 程序。UMAC 控制器可同時響應多個 PLC 程序,PLC 程序用以完成高頻率的輸入輸出值監控、發送控制命令等任務。當系統運行時,先設置相關伺服參數到 UMAC 內存中,再同時運行電機運動的 PLC 程序和數據采集的 PLC 程序。此時電機執行運動,并同步采集到相關的實際運動參數保存在 UMAC 的一段內存中,運動結束后提取該段數據,最后將命令曲線和實際運動曲線繪制到人機交互的界面中,為伺服參數的調整提供依據。該模塊的整定功能運行效果如圖 5 所示,電機執行了一次階躍響應后,系統繪制了命令階躍曲線和實際響應曲線,通過查看響應曲線的上升時間、超調量等性能指標以及觀察響應曲線穩定性判斷該組伺服參數是否滿足要求。
4、 結束語
在分析五軸磨床加工控制功能的需求上,研究開放式數控系統中工業控制計算機和 UMAC 運動控制器的硬件結構和軟件功能。針對軟件系統中對上位機非實時管理的功能要求,進行五軸磨床數控軟件的開發。重點研究了使用 Pcomm Server 通信驅動程序庫實現上、下位機通訊,制定規則進行數控代碼檢驗,數控文件與運動程序間自動轉換,利用自定義 P 變量實現代碼同步顯示,及使用 PLC 程序實現伺服參數整定等關鍵技術。該軟件界面簡潔,操作簡便,能實現系統用戶管理、數控機床加工控制及數控系統參數調節等功能。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息