基于RT-Linux的開放式數(shù)控系統(tǒng)軟件平臺的研究
1 引言
本文引用地址:http://m.butianyuan.cn/article/201608/295034.htm90年代以來,數(shù)控技術(shù)發(fā)展的一個重要趨勢是數(shù)控系統(tǒng)的開放化。目前,關(guān)于開放式控制系統(tǒng)的研究方興米艾,全國都在抓緊進(jìn)行開放式數(shù)控系統(tǒng)平臺標(biāo)準(zhǔn)和規(guī)范的研究制定以及相關(guān)產(chǎn)品的開發(fā)。開放式數(shù)控系統(tǒng)允許用戶根據(jù)需要自由選擇和配置標(biāo)準(zhǔn)的硬件和軟件模塊,實(shí)現(xiàn)系統(tǒng)積本式”的集成,或者在開放平臺基礎(chǔ)上開發(fā)特定的功能模塊,形成適合需要的專用系統(tǒng)。開放式數(shù)控系統(tǒng)具有如卜的基本特征:
互操作性:提供標(biāo)準(zhǔn)的數(shù)據(jù)格式、通信及交互機(jī)制;
可移植性:系統(tǒng)可運(yùn)行不同的軟硬件平臺之上;
可擴(kuò)充性:允許用戶對系統(tǒng)進(jìn)行擴(kuò)展或裁減;
互換性:系統(tǒng)的各功能模塊可以根據(jù)需要進(jìn)行替換。
開放式數(shù)控系統(tǒng)要求不依賴于特定的軟硬件平臺,因此選擇通用的開放系統(tǒng)平臺是實(shí)現(xiàn)數(shù)控系統(tǒng)開放化的重要前提。工業(yè)PC以其成熱的技術(shù)和穩(wěn)定的性能已經(jīng)在控制領(lǐng)域得到了泛應(yīng)用,PC機(jī)開放的體系結(jié)構(gòu)也為數(shù)控系統(tǒng)提供了一個很好的開放的硬件平臺,在工業(yè)PC的基礎(chǔ)上進(jìn)行數(shù)控系統(tǒng)的開發(fā)已經(jīng)成為大家的共識,但是在PC平臺上,數(shù)控系統(tǒng)的多任務(wù)特性和實(shí)時性要求卻限制了通用操作系統(tǒng)如DOS, Windows等在數(shù)控系統(tǒng)中的應(yīng)用,而在專用實(shí)時操作系統(tǒng)上,雖然開發(fā)數(shù)控系統(tǒng)比較方便,但價格昂貴,并且不利于實(shí)現(xiàn)數(shù)控系統(tǒng)的開放化。近年來,隨著Linux操作系統(tǒng)的迅猛發(fā)展,它的諸多優(yōu)秀的特性得到體現(xiàn),這促使了RT-Linux Real Time-Linux)的出現(xiàn),這樣數(shù)控系統(tǒng)就可以建立在實(shí)時Linux基礎(chǔ)之上并且保留Linux絕大部分好的特點(diǎn),穩(wěn)定性相當(dāng)好,這給現(xiàn)代數(shù)控機(jī)床的網(wǎng)絡(luò)化、開放化提供了條件。
2 國內(nèi)外系統(tǒng)的研究現(xiàn)狀與趨勢
近幾年I日_界發(fā)達(dá)國家紛紛采取措施,進(jìn)行開放式數(shù)控(ONC: Open Numerical Control)系統(tǒng)的開發(fā)和研究,世界上的許多控制器生產(chǎn)商也紛紛推出自己的開放式控制系統(tǒng),如Hewlett-Packard的OAC500以及Delat Tau公司的PMAC-NC等等。目前世界上具有權(quán)威性開放式結(jié)構(gòu)控制器的標(biāo)準(zhǔn)規(guī)范卞要有三種:
(1)OMAC(Open Modular Architecture Controller):由美國克萊斯勒、招特和通用三大汽車公司在NGC (NextGeneration Controller,1989年)的基礎(chǔ)上聯(lián)合提出的。由于OMAC的成員是控制器的用戶而不是開發(fā)商,從而也就決定了它產(chǎn)品化、實(shí)用化步伐不可能很快。事實(shí)上美國工業(yè)界認(rèn)為OMAC是一種設(shè)計理念,而不是一種控制器的具體標(biāo)準(zhǔn),其宗旨是“Buy Anywhere, Use Anywhere”。應(yīng)用OMAC所定義的標(biāo)準(zhǔn)API可以實(shí)現(xiàn)節(jié)“plug & play”的功能,只須設(shè)計其具體的實(shí)現(xiàn)方法即可。從OMAC提出的整體式結(jié)構(gòu)分析可知,雖然其靈話性較高,可是由于其過分注重功能的分類而非資源的整合,導(dǎo)致其系統(tǒng)獨(dú)立性卜降,而且維護(hù)較困難。
(2)OSEC (Open System Environment for Controller):由日本東芝機(jī)器公司、豐田機(jī)器廠和Mazak公司三家機(jī)床制造商和IBM、三菱電子及SML信息系統(tǒng)公司于1994年共同提出的。其目的是開發(fā)基于PC機(jī)平臺的、具有高性能價格比的開放式體系結(jié)構(gòu)的新一代數(shù)控系統(tǒng),以適應(yīng)迅速變化的市場需求。在硬件方面,OSEC采用PC+控制卡的結(jié)構(gòu),有利于層次化、模塊化、靈話配置的實(shí)現(xiàn),可以充分利用現(xiàn)有PC機(jī)資源,從而有力地縮短產(chǎn)品的研發(fā)周期,具有較強(qiáng)的可操作性。可以說,OSEC采用的是一種較現(xiàn)實(shí)和折中的方式,所以它的系統(tǒng)結(jié)構(gòu)只是局限于數(shù)控系統(tǒng)的直接描述,適應(yīng)性不夠強(qiáng)。
(3)OSACA(Open System Architecture for Conhol withinAutomation):由歐盟于1992年提出的。OSACA的目標(biāo)之一,是使自己成為自動化領(lǐng)域的通用國際標(biāo)準(zhǔn),故開始它就將研究范圍涵蓋了整個自動化領(lǐng)域。OSACA借鑒ISO的OSI參考模型,通過對控制系統(tǒng)的詳細(xì)分析,提出分層平臺+結(jié)構(gòu)功能單元的架構(gòu)。該標(biāo)準(zhǔn)有利于實(shí)現(xiàn)計算機(jī)硬件的獨(dú)立性和與操作系統(tǒng)的無關(guān)性,可是對于數(shù)控中大量存在的機(jī)電設(shè)備的獨(dú)立性的解決并不徹底。同時,該計劃由于過于龐大,對于參與者要求過高,一直發(fā)展較慢。上述三種標(biāo)準(zhǔn)規(guī)范至今還未有完全成熱的產(chǎn)品推向市場,而標(biāo)準(zhǔn)本身還在不斷的改進(jìn)與完善之中,且三者之間也相互借鑒。
相對于酉方國家的企業(yè)來說,我國企業(yè)關(guān)于數(shù)控方面的研究起步較晚,盡答目前國內(nèi)已擁有開放性控制系統(tǒng)華中I型、中華I型、航人I型和流人I型,但大多是建立在DOS操作系統(tǒng)平臺上或Windows操作平臺,以及其他一些自行開發(fā)的專用實(shí)時操作系統(tǒng)之上,從數(shù)控系統(tǒng)發(fā)展的趨勢來看,它們還不具備開放式數(shù)控系統(tǒng)的本質(zhì)特征。各系統(tǒng)所采用的體系結(jié)構(gòu)并不一致,仍是自成體系,相互之間缺乏兼容性和互換性,各系統(tǒng)軟硬件不具備可移植性和互操作性。
3 實(shí)時Linux操作系統(tǒng)的結(jié)構(gòu)與實(shí)現(xiàn)原理
和Windows一樣,Linux本身不是一個實(shí)時操作系統(tǒng),它不適用于實(shí)時性強(qiáng)的工業(yè)控制環(huán)境。但Linux是自由軟件,它的源代碼開放,這使得Linux內(nèi)核在保留本身大部分功能的前提卜,可被修改成為一個實(shí)時操作系統(tǒng)。到目前為止,全球在Linux平臺下開發(fā)通用實(shí)時系統(tǒng)主要有2家:最旱的是美國新墨西哥理工學(xué)院開發(fā)的Linux實(shí)時內(nèi)核,即RT-Linux,另一個是意大利米蘭DIAPM在RT-Linux的基礎(chǔ)上開發(fā)的基于Linux平臺的實(shí)時應(yīng)用接口,即RTAI。
RT-Linux操作系統(tǒng)的基本工作原理是:通過保留Linux基本內(nèi)核實(shí)現(xiàn)Linux操作系統(tǒng)提供的基本功能;避免大規(guī)模的結(jié)構(gòu)改造,僅用較小的代價重新設(shè)計一個實(shí)時內(nèi)核,以實(shí)現(xiàn)強(qiáng)實(shí)時性。因而可利用Linux系統(tǒng)中諸如中文圖形環(huán)境、TCP/IP網(wǎng)絡(luò)等豐富的編程資源,同時實(shí)現(xiàn)包括底層任務(wù)創(chuàng)建、底層任務(wù)隊列答理、中斷任務(wù)安裝、中斷任務(wù)運(yùn)行等數(shù)控設(shè)備所需的全部實(shí)時功能。
實(shí)時Linux系統(tǒng)中斷可劃分為兩組:一組由常規(guī)Linux內(nèi)核控制,另一組則由實(shí)時內(nèi)核控制,同時設(shè)置使中斷請求首先從定向到實(shí)時內(nèi)核中并加以過濾;如果該中斷實(shí)時是實(shí)時內(nèi)核中斷,則由實(shí)時中斷處理例程繼續(xù)執(zhí)行;如果是常規(guī)Linux內(nèi)核中斷則設(shè)置標(biāo)志位等待處理,僅當(dāng)沒有實(shí)時中斷被執(zhí)行時,才轉(zhuǎn)向常規(guī)Linux中斷處理例程。通過這種方法,使實(shí)時內(nèi)核可以隨時中斷常規(guī)Linux操作系統(tǒng)以執(zhí)行關(guān)鍵實(shí)時任務(wù)。此時常規(guī)Linux內(nèi)核作為實(shí)時內(nèi)核的一個最低優(yōu)先級運(yùn)行,當(dāng)有任何更高級的實(shí)時任務(wù)請求處理時,就剝奪常規(guī)Linux操作系統(tǒng)的運(yùn)行權(quán),而轉(zhuǎn)入相應(yīng)的實(shí)時任務(wù)處理程序。在極端情況卜,系統(tǒng)可以切斷實(shí)時內(nèi)核與常規(guī)Linux操作系統(tǒng)的聯(lián)系而優(yōu)先保證系統(tǒng)的強(qiáng)實(shí)時性。
RT-Linux提供了兩種通訊機(jī)制:一種是FIFO,另一種是共享內(nèi)存。非實(shí)時應(yīng)用程序和進(jìn)程通過FIFO和共享內(nèi)存訪問數(shù)據(jù),然后把數(shù)據(jù)放在另一個FIFO和共享內(nèi)存中,供RT-Linux應(yīng)用程序訪問,RT-Linux操作系統(tǒng)結(jié)構(gòu)及通訊如圖1所示。
圖1RT-Linux操作系統(tǒng)結(jié)構(gòu)圖
4 基于Linux的開放式數(shù)控系統(tǒng)軟件結(jié)構(gòu)
基于Linux的開放式數(shù)控系統(tǒng)符合《械設(shè)備一開放式數(shù)控系統(tǒng)一總則》GB/T 18759.1-2002)的國家標(biāo)準(zhǔn),達(dá)到了總則對數(shù)控系統(tǒng)的開放程度定義了第二個層次:控制裝置在明確固定的拓?fù)浣Y(jié)構(gòu)卜允許替換、增加NC核心中的特定模塊以滿足用戶的特殊要求。
(1)ONC系統(tǒng)軟件整體構(gòu)架
根據(jù)總則,數(shù)控軟件可分為基礎(chǔ)軟件平臺、應(yīng)用平臺與應(yīng)用程序三個層次。系統(tǒng)軟件將提供實(shí)時多任務(wù)API、文件系統(tǒng)、通用網(wǎng)絡(luò)API、各類設(shè)備驅(qū)動程序API等接口。應(yīng)用平臺除了包含離散點(diǎn)vo控制API、傳感器API,位置控制器API等接口外,還可以集成用戶更具系統(tǒng)軟件平臺提供的API自定義的功能組件接口。應(yīng)用程序這一層含有過程控制、人機(jī)界面及系統(tǒng)集成與配置支持環(huán)境等三部分。過程控制包含G代碼即使其DNC組件及PLC組件。人機(jī)界面部分包含狀態(tài)泉示、文本編輯器、MDI組件、自診斷組建、網(wǎng)絡(luò)通信組建、數(shù)據(jù)通信操作、通用菜單等組建。系統(tǒng)集成與配置支持環(huán)境給用戶提供一個方便易用的數(shù)控系統(tǒng)配置與安裝環(huán)境?;赗T-Linux的數(shù)控系統(tǒng)軟件結(jié)構(gòu)如圖2所示,其應(yīng)用程序分布在實(shí)時和非實(shí)時兩個區(qū)域。實(shí)時任務(wù)是一種可由多個線程構(gòu)成的內(nèi)核任務(wù),工作在操作系統(tǒng)核心態(tài)的實(shí)時區(qū),調(diào)用實(shí)時核心提供POSIX Poitahle Operating System Interface}可移植操作系統(tǒng)界面)實(shí)時標(biāo)準(zhǔn)界面函數(shù)以及擴(kuò)展接口服務(wù)來獲得所需的實(shí)時功能。由于實(shí)時任務(wù)需利用的系統(tǒng)資源有限,且要求工作速度快,往往進(jìn)行一鄴簡單的實(shí)時處理。而位于非實(shí)時區(qū)的用戶進(jìn)程可利用常規(guī)Linux操作系統(tǒng)提供的大量資源,例如:網(wǎng)絡(luò)功能(Network Function)、圖形功能(Graphics Function),窗口系統(tǒng)(Windows System)、數(shù)據(jù)分析程序包((Data Analysis Packages), Linux設(shè)備驅(qū)動程序(Linux Device Divers)以及標(biāo)準(zhǔn)的POSIX API等。
圖2 基于RT-Linux的開放式數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖
(2)ONC系統(tǒng)的軟件模塊劃分
ONC系統(tǒng)是全模塊化的系統(tǒng)結(jié)構(gòu),模塊組建具有互換性、伸縮性、互操作性和可移植性。本研究在對目前國內(nèi)外若干數(shù)控系統(tǒng)和數(shù)控機(jī)床用戶的需求進(jìn)行全面分析的基礎(chǔ)上,在應(yīng)用程序?qū)由嫌謱?shù)控系統(tǒng)軟件劃分為以卜幾個基本的功能模塊:伺服控制模塊、人機(jī)交互界面模塊、代碼解釋模塊、插補(bǔ)模塊、PLC控制模塊I/O控制模塊)、通訊答理模塊和狀態(tài)監(jiān)控模塊,各模塊以界面的方式向用戶開放,通過接口參數(shù)和界面信息的提示,用戶可掌握模塊的啟動、結(jié)束和運(yùn)作過程。不同模塊的內(nèi)部為黑箱封裝,外部接口開放,并在此基礎(chǔ)上實(shí)現(xiàn)新系統(tǒng)的構(gòu)建,滿足了ONC系統(tǒng)的要求。
①伺服控制模塊:在由I/O信弓及插補(bǔ)運(yùn)算得到的粗插補(bǔ)信息前提卜,控制機(jī)床執(zhí)行機(jī)構(gòu)實(shí)現(xiàn)精插補(bǔ),按NC指令指定的路徑和速度運(yùn)動。
②人機(jī)交互界面模塊:此模塊主要完成系統(tǒng)運(yùn)行前和運(yùn)行中的參數(shù)設(shè)定。如菜單的答理、程序的編輯、參數(shù)的設(shè)定和文件答理等工作。
③代碼解釋模塊:該模塊主要根據(jù)輸入的數(shù)控加工程序的語法規(guī)則對用戶編寫的零件程序進(jìn)行語法、語義檢查,并進(jìn)行譯碼工作,將數(shù)控源代碼中給出的各種加工信息進(jìn)行分離提取,變成各種狀態(tài)和數(shù)據(jù),再將處理的結(jié)果存入緩沖區(qū),等待其它模塊的調(diào)用。
④插補(bǔ)模塊:負(fù)責(zé)數(shù)學(xué)預(yù)處理、加減速的控制、插
補(bǔ)、終點(diǎn)判別等工作,向位置控制器輸出通過軌跡運(yùn)算后
的進(jìn)給量。
⑤ PLC控制模塊I/O控制模塊):該模塊主要完成機(jī)床的輔助功能和機(jī)床的邏輯控制,同時也完成機(jī)床報警出錯、緊急停止等突發(fā)事件的處理。
?、尥ㄓ嵐芾砟K:完成系統(tǒng)間的實(shí)時通訊和網(wǎng)絡(luò)通訊的答理。
?、郀顟B(tài)監(jiān)控模塊:監(jiān)控主軸轉(zhuǎn)速、壓力、切削力等。
本文按照開放式控制系統(tǒng)的層次劃分,把數(shù)控系統(tǒng)的應(yīng)用程序軟件模塊分為應(yīng)用單元和控制單元兩大部分,如圖3所示。應(yīng)用中一元向用戶提供了圖形化的應(yīng)用軟件環(huán)境和標(biāo)準(zhǔn)的系統(tǒng)功能函數(shù),包括操作界面操作菜單,人卜標(biāo)泉示、參數(shù)設(shè)置、文件答理、加工編程等)??刂茊卧喈?dāng)于一個高效的NC-PLC內(nèi)核,完成基本的數(shù)控功能,包括譯碼、數(shù)學(xué)預(yù)處理、插補(bǔ)、I/O處理、實(shí)時狀態(tài)監(jiān)控等。按任務(wù)實(shí)時性要求的不同,控制單元又劃分為實(shí)時任務(wù)和非實(shí)時任務(wù),對于實(shí)時性要求不高的任務(wù)如編譯、預(yù)處理、狀態(tài)監(jiān)控等在非實(shí)時域執(zhí)行,而對于實(shí)時性要求比較高的任務(wù)如插補(bǔ)、I/O處理等則在實(shí)時域執(zhí)行。RT-Linux對實(shí)時任務(wù)和非實(shí)時任務(wù)按優(yōu)先級統(tǒng)一調(diào)度。
圖3 開放式數(shù)控系統(tǒng)的軟件模塊結(jié)構(gòu)
5 結(jié)束語
目前,基于RT-Linux的開放式數(shù)控系統(tǒng)平臺以其優(yōu)良的實(shí)時性、開放性和穩(wěn)定性在數(shù)控制造領(lǐng)域贏得越來越多的重視,雖然其研究起步較晚,但其前景十分看好而且進(jìn)展迅速,如果能及時開展基于RT-Linux的開放式計算機(jī)數(shù)控系統(tǒng)的研究,我國數(shù)控技術(shù)水平必將得到全面的提高。
評論