李式真
(福州大學 機械工程及自動化學院,福建 福州 350108)
開放式數控系統運動控制可配置的研究
李式真
(福州大學 機械工程及自動化學院,福建 福州 350108)
摘要:采用模塊化設計方法進行了開放式數控系統的設計,在PC+可編程I/O卡體系結構及上層軟件架構基礎上,對數控系統運動控制配置需求進行分析。基于RCS(real-time control system)庫,實現了系統命令和狀態信息在不同進程間的通信,所設計數控系統可根據不同用戶的需求進行運動控制參數的設置,測試結果顯示,較好地實現了數控系統運動控制可配置。
關鍵詞:模塊化;開放式數控系統;可配置
Research on Motion Control Configuration of Open CNC System
LI Shizhen
(School of Mechanical Engineering and Automation, Fuzhou University, Fuzhou 350108, China)
Abstract:Modular design method is adapted for the design of the open CNC system. The motion control configuration requirements of the CNC system is analyzed based on PC + programmable I/O card architecture and upper-layer software framework. The communication of the system commands and status between different processes are implemented based on RCS (Real-Time Control System) library. The motion control parameters of the CNC system are set according to the different requirements of users. The test results show that the motion control configuration of CNC system is better.
Keywords:modular; open CNC system; configurable
0引言
開放式數控系統應具有可配置性,可配置性使得用戶能根據自身需求配置相應的功能,無需進行額外的系統升級或功能開發,能大大提高系統對不同用戶的適用性并且降低新系統開發時間[1-2]。運動控制作為機床的核心部分,該部分的可配置為系統可配置的重點,運動控制可配置的研究對開發可配置開放式數控系統具有重要的現實意義和廣闊的應用前景。
國外主流數控系統,雖然實現了部分功能開放,但運動控制部分仍為封閉,而且存在可配置性差、開發難度大和成本高等問題。國內研究的數控系統具有一定的可配置性,但運動控制部分仍然不能實現可配置。
文中所研究的開放式數控系統具有低成本、可配置等特點,采用了基于RCS庫的通信機制實現數控系統命令和狀態的傳輸,闡述了共享內存緩沖區的建立及系統運動控制配置的方式。
1開放式數控系統的結構
開放式數控系統的結構是實現系統可配置的關鍵,具體數控功能的設計及其配置都基于其結構框架。合理的結構將能最大限度地提高系統的軟硬件性能并能實現系統的可重構、可配置。
1.1數控系統體系結構
考慮到目前PC機的性能有限,提出了PC+可編程I/O卡的體系結構,如圖1所示。該體系結構的主要思路是合理地劃分PC機承擔的數控功能和可編程I/O接口卡承擔的數控功能,將數控系統中大部分控制功能由PC機上運行的軟件來實現,只有精插補、位置控制、信號轉換等小部分實時性強的功能由可編程硬件實現。該體系結構減少了數控系統的硬件規模,消除復雜冗余的硬件電路,不僅能有效地降低系統開發成本,又可以解決PC機用于高速加工、大數據量處理時負擔過重的問題。

圖1 PC+可編程I/O接口卡開放式數控系統的基本組成
1.2數控系統軟件架構
采用Linux操作系統在用戶狀態下提供的多進程/多線程編程技術來實現數控系統的多任務并行處理,將PC機上的數控系統軟件封裝為人機界面和任務管理兩個進程,如圖2所示。用戶可通過人機界面進行數控程序編寫、系統配置、軌跡仿真和狀態監視等,任務管理進程為系統的核心進程,包括任務協調管理模塊、運動控制模塊和I/O控制模塊等。進程之間或者線程之間采用共享內存緩沖區進行命令和狀態的讀寫。

圖2 數控系統上層控制軟件總體結構
1.3運動控制配置需求分析
運動控制模塊主要完成各種曲線、自由曲面等的運動規劃和粗插補控制。根據運動控制的需求,定義了以下配置參數:
double trajCycleTime//軌跡插補周期
double VEL_MIN//最小運行速度
double VEL_MAX //最大運行速度
double ACC_MA //算法設定最大加速度
double PERMIT_ACC_MAX //機床許用最大加速度
double JERK//加加速度
int ACCDEC_CURVE //加減速控制算法
double EQUIVALENT_X //X軸脈沖當量
double EQUIVALENT_Y//X軸脈沖當量
double EQUIVALENT_Z //X軸脈沖當量
上述運動控制配置參數為運動控制基本參數,可進行擴展補充。其中加減速控制算法參數中以“0”表示直線加減速算法,“1”表示指數加減速算法,“2”表示S型加減速算法。為了保證機床使用的安全性,用戶使用過程中只能對加減速算法進行配置,其他配置則需由機床廠商或者開發者進行。
2通信機制
通信機制是數控系統運行的基本要求,也是實現運動控制的前提條件。考慮開放式數控系統通用性要求,采用了基于RCS(real-time control system, RCS)庫的通信機制。RCS庫是由NIST(美國國家標準與技術研究院)開發,采用面向對象的方法,用C++類封裝代碼,將程序抽象化,易于理解和使用的軟件庫。可從網上免費獲取最新的RCS庫開放源代碼,它支持Linux、Windows等多種操作系統軟件平臺和跨平臺通信[3]。
2.1RCS
通過RCS庫提供的通信管理系統CMS(communication management system, CMS)和中性消息語言NML(neutral message language, NML)兩個不同層次的通信機制[4],實現了數控系統的命令和狀態的傳輸。利用NML中性消息語言統一定義數控系統的命令和狀態數據,并建立NML共享內存緩沖區(命令緩沖區、狀態緩沖區)實現進程間或者線程間的數據傳輸,如圖2所示。
2.2建立共享內存緩沖區
緩沖區的創建通過定義NML類的對象來實現[5]。NML類定義為NML(NML_FORMAT_ PTR f_ptr,char* buf,char* proc,char* file),其中,f_ptr是格式化函數的地址,格式化函數是CMS實現不同類型數據傳輸的函數;buf是所用緩沖區的名字;proc是應用程序進程的名字;file是配置文件名。共享內存的屬性信息在配置文件定義,CNC命令通道緩沖區的定義如下:
NML*cncCmdChannel = new NML (cncFormat, "cncCommand", "cncmain", "cncnml");// 命令通道緩沖區
3運動控制配置實現
為了簡化配置過程,在系統自動加工界面設置了運動控制參數設置窗口,如圖3所示。
對于S型加減速算法,當確定系統最大速度vm,最大加速度am,加加速度J這3個參數就可確定程序段整個運行過程。其中最大速度反映了系統的最大運行能力,最大加速度反映了系統的最大加減速能力,加加速度反映了系統的柔性,該參數與系統柔性成反比,若取大,則沖擊大,極限情況下取無窮大,S曲線加減速即退化為直線加減速。若取小,則系統的加減速過程時間長,可以根據系統的需要及性能進行選取。

圖3 可配置開放式數控系統
通過對運動控制參數設置窗口的參數進行設置,如表1所示。

表1 運動控制配置測試數據
采用表1的數據分別對圖3中的“CNC”字樣進行了仿真,得出的插補點數分別為52052、56001、67969,并輸出相應的速度曲線,以反映不同的配置對機床運行速度和運行情況的影響,圖4,圖5,圖6中上半部分為速度總體走勢圖,下半部分為截取其中(0.5~1.5)×103區間的局部視圖。
由圖4與圖5可知,在同樣的加加速度下,不同的加減速算法得出的速度曲線不同。S型加減速算法所得出的速度曲線較直線型加減速算法得出的速度曲線平滑,而加加速度的降低,雖然可以使得機床運動更加平滑,但加工速度有所降低,如圖5和圖6所示。

圖4 第一次速度曲線


圖5 第二次速度曲線

圖6 第三次速度曲線
綜上,運動控制參數的設置實現了機床運動控制的可配置,驗證了文中運動控制配置方式的有效性。
4結語
系統軟硬件功能和模塊的合理劃分,能提高系統的性能和實現系統的可重構、可配置。在此基礎上,針對運動控制配置的需求,通過NML中性消息語言統一定義系統的命令和狀態數據,并建立NML共享內存緩沖區,實現了系統命令和狀態數據的傳輸。通過運動控制參數設置窗口提供了良好的人機界面配置環境,實現了數控系統運動控制的可配置。
參考文獻:
[1] YuC Z, Wang L F, Li C X and Liu Y H: Int J Adv Manuf Technol [J]. 2006,28(11/12):1129- 1135.
[2] Hu Y,Yu D and Du S H, et al.: Design and Implementation of Reconfigurable CNC System based on Fieldbus[C]. Proc. of the 2008 IEEE International Conference on Information and Automation 2008,(6):794-799.
[3] V.Gazi, M. Moore, K.M. Passino: Real-Time Control System Software for Intelligent System Developmen -t:Experiments and an Educational Program. Proc. of the 1998 IEEE ISIC/CIRA/ISAS Joint Conference, (Gaither- sburg, MD, September 14-17, 1998).


收稿日期:2014-01-13
中圖分類號:TP273
文獻標志碼:A
文章編號:1671-5276(2015)04-0174-03
作者簡介:李式真(1991-),男,福建寧德人,碩士研究生,研究方向為精密機械與控制技術數控設計。