李式真
(福州大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,福建 福州 350108)
開放式數(shù)控系統(tǒng)運(yùn)動(dòng)控制可配置的研究
李式真
(福州大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,福建 福州 350108)
摘要:采用模塊化設(shè)計(jì)方法進(jìn)行了開放式數(shù)控系統(tǒng)的設(shè)計(jì),在PC+可編程I/O卡體系結(jié)構(gòu)及上層軟件架構(gòu)基礎(chǔ)上,對數(shù)控系統(tǒng)運(yùn)動(dòng)控制配置需求進(jìn)行分析?;赗CS(real-time control system)庫,實(shí)現(xiàn)了系統(tǒng)命令和狀態(tài)信息在不同進(jìn)程間的通信,所設(shè)計(jì)數(shù)控系統(tǒng)可根據(jù)不同用戶的需求進(jìn)行運(yùn)動(dòng)控制參數(shù)的設(shè)置,測試結(jié)果顯示,較好地實(shí)現(xiàn)了數(shù)控系統(tǒng)運(yùn)動(dòng)控制可配置。
關(guān)鍵詞:模塊化;開放式數(shù)控系統(tǒng);可配置
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引言
開放式數(shù)控系統(tǒng)應(yīng)具有可配置性,可配置性使得用戶能根據(jù)自身需求配置相應(yīng)的功能,無需進(jìn)行額外的系統(tǒng)升級或功能開發(fā),能大大提高系統(tǒng)對不同用戶的適用性并且降低新系統(tǒng)開發(fā)時(shí)間[1-2]。運(yùn)動(dòng)控制作為機(jī)床的核心部分,該部分的可配置為系統(tǒng)可配置的重點(diǎn),運(yùn)動(dòng)控制可配置的研究對開發(fā)可配置開放式數(shù)控系統(tǒng)具有重要的現(xiàn)實(shí)意義和廣闊的應(yīng)用前景。
國外主流數(shù)控系統(tǒng),雖然實(shí)現(xiàn)了部分功能開放,但運(yùn)動(dòng)控制部分仍為封閉,而且存在可配置性差、開發(fā)難度大和成本高等問題。國內(nèi)研究的數(shù)控系統(tǒng)具有一定的可配置性,但運(yùn)動(dòng)控制部分仍然不能實(shí)現(xiàn)可配置。
文中所研究的開放式數(shù)控系統(tǒng)具有低成本、可配置等特點(diǎn),采用了基于RCS庫的通信機(jī)制實(shí)現(xiàn)數(shù)控系統(tǒng)命令和狀態(tài)的傳輸,闡述了共享內(nèi)存緩沖區(qū)的建立及系統(tǒng)運(yùn)動(dòng)控制配置的方式。
1開放式數(shù)控系統(tǒng)的結(jié)構(gòu)
開放式數(shù)控系統(tǒng)的結(jié)構(gòu)是實(shí)現(xiàn)系統(tǒng)可配置的關(guān)鍵,具體數(shù)控功能的設(shè)計(jì)及其配置都基于其結(jié)構(gòu)框架。合理的結(jié)構(gòu)將能最大限度地提高系統(tǒng)的軟硬件性能并能實(shí)現(xiàn)系統(tǒng)的可重構(gòu)、可配置。
1.1數(shù)控系統(tǒng)體系結(jié)構(gòu)
考慮到目前PC機(jī)的性能有限,提出了PC+可編程I/O卡的體系結(jié)構(gòu),如圖1所示。該體系結(jié)構(gòu)的主要思路是合理地劃分PC機(jī)承擔(dān)的數(shù)控功能和可編程I/O接口卡承擔(dān)的數(shù)控功能,將數(shù)控系統(tǒng)中大部分控制功能由PC機(jī)上運(yùn)行的軟件來實(shí)現(xiàn),只有精插補(bǔ)、位置控制、信號轉(zhuǎn)換等小部分實(shí)時(shí)性強(qiáng)的功能由可編程硬件實(shí)現(xiàn)。該體系結(jié)構(gòu)減少了數(shù)控系統(tǒng)的硬件規(guī)模,消除復(fù)雜冗余的硬件電路,不僅能有效地降低系統(tǒng)開發(fā)成本,又可以解決PC機(jī)用于高速加工、大數(shù)據(jù)量處理時(shí)負(fù)擔(dān)過重的問題。
圖1 PC+可編程I/O接口卡開放式數(shù)控系統(tǒng)的基本組成
1.2數(shù)控系統(tǒng)軟件架構(gòu)
采用Linux操作系統(tǒng)在用戶狀態(tài)下提供的多進(jìn)程/多線程編程技術(shù)來實(shí)現(xiàn)數(shù)控系統(tǒng)的多任務(wù)并行處理,將PC機(jī)上的數(shù)控系統(tǒng)軟件封裝為人機(jī)界面和任務(wù)管理兩個(gè)進(jìn)程,如圖2所示。用戶可通過人機(jī)界面進(jìn)行數(shù)控程序編寫、系統(tǒng)配置、軌跡仿真和狀態(tài)監(jiān)視等,任務(wù)管理進(jìn)程為系統(tǒng)的核心進(jìn)程,包括任務(wù)協(xié)調(diào)管理模塊、運(yùn)動(dòng)控制模塊和I/O控制模塊等。進(jìn)程之間或者線程之間采用共享內(nèi)存緩沖區(qū)進(jìn)行命令和狀態(tài)的讀寫。
圖2 數(shù)控系統(tǒng)上層控制軟件總體結(jié)構(gòu)
1.3運(yùn)動(dòng)控制配置需求分析
運(yùn)動(dòng)控制模塊主要完成各種曲線、自由曲面等的運(yùn)動(dòng)規(guī)劃和粗插補(bǔ)控制。根據(jù)運(yùn)動(dòng)控制的需求,定義了以下配置參數(shù):
double trajCycleTime//軌跡插補(bǔ)周期
double VEL_MIN//最小運(yùn)行速度
double VEL_MAX //最大運(yùn)行速度
double ACC_MA //算法設(shè)定最大加速度
double PERMIT_ACC_MAX //機(jī)床許用最大加速度
double JERK//加加速度
int ACCDEC_CURVE //加減速控制算法
double EQUIVALENT_X //X軸脈沖當(dāng)量
double EQUIVALENT_Y//X軸脈沖當(dāng)量
double EQUIVALENT_Z //X軸脈沖當(dāng)量
上述運(yùn)動(dòng)控制配置參數(shù)為運(yùn)動(dòng)控制基本參數(shù),可進(jìn)行擴(kuò)展補(bǔ)充。其中加減速控制算法參數(shù)中以“0”表示直線加減速算法,“1”表示指數(shù)加減速算法,“2”表示S型加減速算法。為了保證機(jī)床使用的安全性,用戶使用過程中只能對加減速算法進(jìn)行配置,其他配置則需由機(jī)床廠商或者開發(fā)者進(jìn)行。
2通信機(jī)制
通信機(jī)制是數(shù)控系統(tǒng)運(yùn)行的基本要求,也是實(shí)現(xiàn)運(yùn)動(dòng)控制的前提條件。考慮開放式數(shù)控系統(tǒng)通用性要求,采用了基于RCS(real-time control system, RCS)庫的通信機(jī)制。RCS庫是由NIST(美國國家標(biāo)準(zhǔn)與技術(shù)研究院)開發(fā),采用面向?qū)ο蟮姆椒?,用C++類封裝代碼,將程序抽象化,易于理解和使用的軟件庫??蓮木W(wǎng)上免費(fèi)獲取最新的RCS庫開放源代碼,它支持Linux、Windows等多種操作系統(tǒng)軟件平臺和跨平臺通信[3]。
2.1RCS
通過RCS庫提供的通信管理系統(tǒng)CMS(communication management system, CMS)和中性消息語言NML(neutral message language, NML)兩個(gè)不同層次的通信機(jī)制[4],實(shí)現(xiàn)了數(shù)控系統(tǒng)的命令和狀態(tài)的傳輸。利用NML中性消息語言統(tǒng)一定義數(shù)控系統(tǒng)的命令和狀態(tài)數(shù)據(jù),并建立NML共享內(nèi)存緩沖區(qū)(命令緩沖區(qū)、狀態(tài)緩沖區(qū))實(shí)現(xiàn)進(jìn)程間或者線程間的數(shù)據(jù)傳輸,如圖2所示。
2.2建立共享內(nèi)存緩沖區(qū)
緩沖區(qū)的創(chuàng)建通過定義NML類的對象來實(shí)現(xiàn)[5]。NML類定義為NML(NML_FORMAT_ PTR f_ptr,char* buf,char* proc,char* file),其中,f_ptr是格式化函數(shù)的地址,格式化函數(shù)是CMS實(shí)現(xiàn)不同類型數(shù)據(jù)傳輸?shù)暮瘮?shù);buf是所用緩沖區(qū)的名字;proc是應(yīng)用程序進(jìn)程的名字;file是配置文件名。共享內(nèi)存的屬性信息在配置文件定義,CNC命令通道緩沖區(qū)的定義如下:
NML*cncCmdChannel = new NML (cncFormat, "cncCommand", "cncmain", "cncnml");// 命令通道緩沖區(qū)
3運(yùn)動(dòng)控制配置實(shí)現(xiàn)
為了簡化配置過程,在系統(tǒng)自動(dòng)加工界面設(shè)置了運(yùn)動(dòng)控制參數(shù)設(shè)置窗口,如圖3所示。
對于S型加減速算法,當(dāng)確定系統(tǒng)最大速度vm,最大加速度am,加加速度J這3個(gè)參數(shù)就可確定程序段整個(gè)運(yùn)行過程。其中最大速度反映了系統(tǒng)的最大運(yùn)行能力,最大加速度反映了系統(tǒng)的最大加減速能力,加加速度反映了系統(tǒng)的柔性,該參數(shù)與系統(tǒng)柔性成反比,若取大,則沖擊大,極限情況下取無窮大,S曲線加減速即退化為直線加減速。若取小,則系統(tǒng)的加減速過程時(shí)間長,可以根據(jù)系統(tǒng)的需要及性能進(jìn)行選取。
圖3 可配置開放式數(shù)控系統(tǒng)
通過對運(yùn)動(dòng)控制參數(shù)設(shè)置窗口的參數(shù)進(jìn)行設(shè)置,如表1所示。
表1 運(yùn)動(dòng)控制配置測試數(shù)據(jù)
采用表1的數(shù)據(jù)分別對圖3中的“CNC”字樣進(jìn)行了仿真,得出的插補(bǔ)點(diǎn)數(shù)分別為52052、56001、67969,并輸出相應(yīng)的速度曲線,以反映不同的配置對機(jī)床運(yùn)行速度和運(yùn)行情況的影響,圖4,圖5,圖6中上半部分為速度總體走勢圖,下半部分為截取其中(0.5~1.5)×103區(qū)間的局部視圖。
由圖4與圖5可知,在同樣的加加速度下,不同的加減速算法得出的速度曲線不同。S型加減速算法所得出的速度曲線較直線型加減速算法得出的速度曲線平滑,而加加速度的降低,雖然可以使得機(jī)床運(yùn)動(dòng)更加平滑,但加工速度有所降低,如圖5和圖6所示。
圖4 第一次速度曲線
圖5 第二次速度曲線
圖6 第三次速度曲線
綜上,運(yùn)動(dòng)控制參數(shù)的設(shè)置實(shí)現(xiàn)了機(jī)床運(yùn)動(dòng)控制的可配置,驗(yàn)證了文中運(yùn)動(dòng)控制配置方式的有效性。
4結(jié)語
系統(tǒng)軟硬件功能和模塊的合理劃分,能提高系統(tǒng)的性能和實(shí)現(xiàn)系統(tǒng)的可重構(gòu)、可配置。在此基礎(chǔ)上,針對運(yùn)動(dòng)控制配置的需求,通過NML中性消息語言統(tǒng)一定義系統(tǒng)的命令和狀態(tài)數(shù)據(jù),并建立NML共享內(nèi)存緩沖區(qū),實(shí)現(xiàn)了系統(tǒng)命令和狀態(tài)數(shù)據(jù)的傳輸。通過運(yùn)動(dòng)控制參數(shù)設(shè)置窗口提供了良好的人機(jī)界面配置環(huán)境,實(shí)現(xiàn)了數(shù)控系統(tǒng)運(yùn)動(dòng)控制的可配置。
參考文獻(xiàn):
[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
文獻(xiàn)標(biāo)志碼:A
文章編號:1671-5276(2015)04-0174-03
作者簡介:李式真(1991-),男,福建寧德人,碩士研究生,研究方向?yàn)榫軝C(jī)械與控制技術(shù)數(shù)控設(shè)計(jì)。