基于RTLinux的全數(shù)控軟件并聯(lián)機床數(shù)控系統(tǒng)研究
點擊:1419
A+ A-
所屬頻道:新聞中心
0 引言
為了提高對生產(chǎn)環(huán)境的適應(yīng)性,滿足快速多變的市場需求,近年來全球機床制造業(yè)都在積極探索和研制新型的制造設(shè)備與系統(tǒng),其中在結(jié)構(gòu)技術(shù)上的突破性進展當(dāng)屬20世紀90年代問世的并聯(lián)機床。由于并聯(lián)機構(gòu)具有模塊化程度高、剛度質(zhì)量比大、速度快、造價低、功能多元化等優(yōu)點,在誕生之際即被業(yè)界譽為“21 世紀的新一代數(shù)控加工設(shè)備”。并聯(lián)數(shù)控裝備的最大特點在于其結(jié)構(gòu)簡單而控制復(fù)雜,而且不同構(gòu)型的并聯(lián)機構(gòu)逆解方程和結(jié)構(gòu)參數(shù)不盡相同,這對控制系統(tǒng)的靈活性和開放性提出了極高要求。由于在控制原理上存在較大差異,基于傳統(tǒng)串聯(lián)機構(gòu)設(shè)計的數(shù)控系統(tǒng)無法直接應(yīng)用于并聯(lián)機構(gòu)這類獨特的場合,因而研制高性能、開放式的并聯(lián)機床數(shù)控系統(tǒng),對進一步促進這類新型數(shù)控裝備的實用化具有十分重要的意義。
本文針對并聯(lián)機床的控制要求和特點,提出采用全數(shù)控軟件化集成式的數(shù)控結(jié)構(gòu)來建造并聯(lián)機床數(shù)控系統(tǒng)。基于這一設(shè)計思想,搭建了“IPC+通用接口板”的開放式硬件平臺,選擇RTLinux 系統(tǒng)作為底層實時操作系統(tǒng),用C語言開發(fā)了全數(shù)控軟件數(shù)控系統(tǒng)。
1 數(shù)控軟件
目前,基于PC的開放式數(shù)控系統(tǒng)的體系結(jié)構(gòu)模式可概括為以下四種結(jié)構(gòu):數(shù)控加PC 前端的衍生式、PC 加實時控制單元的嵌入式、數(shù)字化分布式以及數(shù)控軟件化集成式。隨著計算機工業(yè)的飛速發(fā)展,速度更快,更穩(wěn)定,功能更強大的軟硬平臺相繼出現(xiàn),為開放式數(shù)控提供了更為廣闊的發(fā)展空間,由此集成式數(shù)控軟件數(shù)控這一全新的數(shù)控概念應(yīng)運而生。所謂全數(shù)控軟件數(shù)控,是指數(shù)控系統(tǒng)的所有功能如系統(tǒng)管理、實時插補、伺服控制、電源控制以及機床邏輯控制等全部集中于PC機以數(shù)控軟件的形式完成,通過非常簡單的外圍接口實施控制。這類系統(tǒng)已完全可以看作通用計算機主流操作系統(tǒng)之上的標準應(yīng)用數(shù)控軟件(設(shè)備的數(shù)控結(jié)構(gòu)可以最大限度地利用PC 豐富的軟硬件資源,并徹底消除了系統(tǒng)各組成單元和模塊間的通訊瓶頸,并且所有的底層核心全面開放,屬于真正意義上的開放。由于實現(xiàn)了NC 內(nèi)核的全面開放,用戶可根據(jù)各種并聯(lián)構(gòu)型特點定制相應(yīng)的核心控制策略,從而能夠給予系統(tǒng)更大的性能空間,使并聯(lián)數(shù)控裝備在速度和精度上的優(yōu)勢潛力得以充分發(fā)揮。
2 RTLinux操作系統(tǒng)
全數(shù)控軟件數(shù)控系統(tǒng)可以看作是運行于通用操作系統(tǒng)之上的一種應(yīng)用數(shù)控軟件,與其它應(yīng)用數(shù)控軟件的不同特點在于它是一個典型的實時多任務(wù)控制系統(tǒng),因而對數(shù)控軟件平臺有嚴格的要求。傳統(tǒng)的通用操作系統(tǒng)平臺如DOS/Windows/ Windows NT 等本身的開放性、實時性和功能有限,大大限制了數(shù)控系統(tǒng)的功能和靈活性。近年來,Linux系統(tǒng)由于源代碼完全開放,內(nèi)存不受限制、價格低廉等優(yōu)點受到越來越多的關(guān)注。RTLinux是基于Linux系統(tǒng)并可運行于多種硬件平臺的多任務(wù)實時操作系統(tǒng),它以通用操作系統(tǒng)為基礎(chǔ),在同一操作系統(tǒng)中既提供嚴格意義上的實時服務(wù),又提供標準的POSIX(可移植的操作系統(tǒng)接口)服務(wù)。通過修改Linux 內(nèi)核的硬件層,采用中斷仿真技術(shù),在內(nèi)核和硬件之間實現(xiàn)了一個小而高效的實時內(nèi)核,并在實時內(nèi)核的基礎(chǔ)上形成了小型的實時系統(tǒng),而Linux 內(nèi)核僅作為實時系統(tǒng)最低優(yōu)先級的任務(wù)運行,因此系統(tǒng)擁有出色的實時性和穩(wěn)定性,為開發(fā)高性能的開放式數(shù)控系統(tǒng)提供了理想的系統(tǒng)平臺。
3 軌跡插補
對于傳統(tǒng)機床的數(shù)控系統(tǒng),被插補曲線的離散點序與伺服電機的控制量之間有著簡單直接的對應(yīng)關(guān)系。而并聯(lián)機床刀具在操作空間的運動與關(guān)節(jié)空間伺服電機控制量之間存在非線性的映射關(guān)系。因此需要調(diào)用逆解模型,將CAM 模型提供的操作空間運動轉(zhuǎn)化為關(guān)節(jié)空間的運動,才能驅(qū)動并聯(lián)機床實現(xiàn)期望運動。由于這一特點,并聯(lián)機床采用的插補策略與傳統(tǒng)機床有重大區(qū)別。
在以“PC+ 多軸運動控制器”為硬件平臺的并聯(lián)機床數(shù)控系統(tǒng)中采用的是二次插補策略,即粗插補和細插補分開進行,由主機將操作空間中的軌跡段在時間軸上進行離散,然后調(diào)用位置、姿態(tài)和速度逆解模型,對操作空間中的離散點序進行反演,生成各關(guān)節(jié)空間中的離散點,最后送入多軸運動控制器進行細插補。由于運動控制器提供的插補周期一般都在10ms左右,為了保證加工精度,必須對進給速度進行限制,導(dǎo)致機床只能在中低速場合下運行。
在全數(shù)控軟件數(shù)控系統(tǒng)中,利用數(shù)控軟件控制的靈活性實現(xiàn)粗精插補合一,即采取直接插補的策略,將插補周期大大縮短(1至2ms),從而顯著提高進給速度和加工精度。其具體步驟如下:
● 首先根據(jù)插補周期,將操作空間中的軌跡段在時間軸上進行細化,并根據(jù)系統(tǒng)加速度要求,插入若干速度過渡段,一次性完成插補工作。
● 調(diào)用位置、姿態(tài)和速度逆解模型,對操作空間中的離散點序進行反演,生成各關(guān)節(jié)空間中的微小進給段。
● 將計算結(jié)果輸送至位置控制模塊,通過伺服放大器驅(qū)動電機走出希望軌跡。
4 基于RTLinux的數(shù)控軟件數(shù)控系統(tǒng)設(shè)計
RTLinux 系統(tǒng)提供了搶占式多任務(wù)調(diào)度機制,并將系統(tǒng)分為實時域和非實時域兩部分,實時性要求較低的任務(wù)可置于非實時域中運行,實時性要求較高的任務(wù)置于實時域中運行。而RTLinux 實現(xiàn)多任務(wù)調(diào)度主要通過兩種方式:多進程和多線程。進程擁有自己獨立的運行環(huán)境(寄存器和地址空間等),而線程是一個進程中的一個執(zhí)行分支,各線程從屬于同一進程,共享同一地址空間。RTLinux 系統(tǒng)允許多個線程并行執(zhí)行,并采用CPU 的時間分片和基于優(yōu)先級的調(diào)度策略實現(xiàn)多線程調(diào)度,因而大大提高了系統(tǒng)和程序的運行性能。
在本系統(tǒng)中,利用RTLinux提供的多線程技術(shù),通過為數(shù)控系統(tǒng)每個任務(wù)創(chuàng)建一個線程,由系統(tǒng)對各線程的運行進行協(xié)調(diào)切換,很好地解決了系統(tǒng)實時多任務(wù)調(diào)度問題。按實時性要求將數(shù)控系統(tǒng)的操作任務(wù)進行了劃分。
(1) 總體控制任務(wù):作為系統(tǒng)調(diào)度的核心,對各任務(wù)模塊進行統(tǒng)一的管理,協(xié)調(diào)各任務(wù)的高效運行。該任務(wù)放在RTLinux 系統(tǒng)的非實時域內(nèi)運行。
(2) 人機界面管理任務(wù):根據(jù)用戶的操作或總體控制任務(wù)發(fā)來的信息在屏幕上完成相應(yīng)的坐標顯示、狀態(tài)顯示、軌跡仿真、菜單和對話框顯示、程序編輯、參數(shù)設(shè)定、文件管理等子任務(wù)。這些任務(wù)的實時性要求不高,將這些功能模塊放在RTLinux 系統(tǒng)的非實時域內(nèi)運行。
(3) 軌跡規(guī)劃任務(wù):接收到系統(tǒng)發(fā)出的運行指令后,對運動軌跡進行規(guī)劃,包括代碼解釋、刀具補償、速度過渡、虛實變換等子任務(wù)。這些任務(wù)對實時性要求較高,因此將這些功能模塊放在RTLinux系統(tǒng)的非實時域內(nèi)運行,并將其優(yōu)先級設(shè)為最高。
(4) 運動控制任務(wù): 系統(tǒng)完成底層控制的核心單元。包括軌跡插補、主軸控制、實軸伺服控制、I/O控制、狀態(tài)監(jiān)控、數(shù)據(jù)采集幾項子任務(wù)。這些任務(wù)的實時性要求最高,因而將這些功能模塊放在RTLinux 系統(tǒng)的實時域內(nèi)運行。
圖2 系統(tǒng)數(shù)控軟件結(jié)構(gòu)圖
在數(shù)控軟件設(shè)計中,數(shù)控系統(tǒng)以上四個主要任務(wù)對應(yīng)系統(tǒng)中的四個進程,每個進程中又由不同線程以實現(xiàn)不同的子任務(wù)。系統(tǒng)運行期間,上述四個進程始終處于并行運行狀態(tài),人機界面管理、軌跡規(guī)劃和運動控制進程由總體控制進程統(tǒng)一進行調(diào)度,通過消息觸發(fā)與總體控制進程實現(xiàn)交互,并根據(jù)系統(tǒng)的操作需求在進程內(nèi)部創(chuàng)建和終止相應(yīng)的線程(子任務(wù))。圖2示出了實現(xiàn)數(shù)控系統(tǒng)實時多任務(wù)調(diào)度的數(shù)控軟件結(jié)構(gòu)圖。
在這種體系結(jié)構(gòu)中,各功能模塊間已不是傳統(tǒng)的調(diào)用與被調(diào)用的關(guān)系,每一模塊都是獨立的線程,一經(jīng)創(chuàng)建,便獨立運行于系統(tǒng)中,各線程具有不同的狀態(tài)屬性以及對不同時間、事件的響應(yīng)策略。這樣,系統(tǒng)的四個進程以及進程內(nèi)部各線程既獨立并行運行,又相互協(xié)調(diào)配合,從而實現(xiàn)了數(shù)控系統(tǒng)的各項功能。
5 結(jié)論
由于并聯(lián)機床數(shù)控系統(tǒng)的軌跡控制與傳統(tǒng)機床不同,因此要解決其系統(tǒng)開放性的問題,必須采用NC 內(nèi)核的開放,全數(shù)控軟件數(shù)控則是實現(xiàn)NC 內(nèi)核開放的最為有效的途徑。本文研究了全數(shù)控軟件數(shù)控系統(tǒng)構(gòu)造的理論和方法,以高性能PC 為硬件平臺,基于RTLinux 操作系統(tǒng)和C 語言為數(shù)控軟件平臺,開發(fā)了全數(shù)控軟件化的并聯(lián)機床數(shù)控系統(tǒng)。
(審核編輯: 智匯胡妮)
分享