唐鋒,易杰,易輝成,王欣
(1.湖南工業(yè)職業(yè)技術(shù)學(xué)院,長沙 410208;2.復(fù)雜薄壁精密零件智能柔性加工技術(shù)湖南省工程研究中心,長沙 410082;3.成都工貿(mào)職業(yè)技術(shù)學(xué)院,成都 611731)
數(shù)控技術(shù)已經(jīng)成為現(xiàn)代制造業(yè)發(fā)展水平的重要標志,也是評價一個國家制造業(yè)水平的重要依據(jù)。但是傳統(tǒng)的數(shù)控系統(tǒng)主要采用國際標準ISO 6983作為NC編程的數(shù)據(jù)接口,這種數(shù)據(jù)接口嚴重阻礙了數(shù)控系統(tǒng)的發(fā)展。傳統(tǒng)的數(shù)控系統(tǒng)僅僅是一個被動的執(zhí)行機構(gòu),無法和上游的設(shè)計制造等系統(tǒng)實現(xiàn)信息的雙向交流和共享,因此難以實現(xiàn)制造系統(tǒng)的無縫集成。當前的數(shù)控系統(tǒng)正朝著智能化、網(wǎng)絡(luò)化和開放式方向發(fā)展,而傳統(tǒng)的G、M代碼顯然不能滿足數(shù)控系統(tǒng)發(fā)展的要求,基于此,國際標準化組織ISO TC184/SC1正在制定一種新的數(shù)據(jù)交換標準——STEP-NC(ISO 14649)。該標準是一種不依賴于任何平臺的中性數(shù)據(jù)模型,它采用面向?qū)ο蟮男畔⒚枋龇椒?,不但給出被加工零件的幾何信息而且詳細描述了加工過程中的各種工藝信息[1-3]。
基于STEP-NC數(shù)控程序大都采用EXPRESS語言編制[2],它雖然結(jié)構(gòu)嚴謹,然而相對于沒有計算機基礎(chǔ)或者沒有相關(guān)工作經(jīng)驗的人來說是非常難以理解的,并且這種語言不能在網(wǎng)上進行傳播。但是隨著網(wǎng)絡(luò)傳播技術(shù)與計算機技術(shù)的飛速發(fā)展,未來制造系統(tǒng)必然會向著網(wǎng)絡(luò)集成化的方向發(fā)展。因此,急需出現(xiàn)一種便于網(wǎng)上傳播與數(shù)據(jù)處理且獨立于任何平臺的新型中性信息描述語言,而目前可以代表WEB技術(shù)發(fā)展潮流之一的XML語言恰好可以滿足這個要求。把這種網(wǎng)絡(luò)通用語言與STEPNC結(jié)合起來,可以方便用戶及時通過網(wǎng)絡(luò)查詢信息并對STEP-NC數(shù)據(jù)進行更新,從而真正在網(wǎng)絡(luò)環(huán)境下完成集成制造之間的信息共享與交流[4-5]。
本文詳細分析并建立EXPRESS語言與XML之間的映射關(guān)系,建立XML Schema庫,最后通過測試零件驗證了數(shù)據(jù)轉(zhuǎn)換的正確性與有效性。
EXPRESS描述的STEP-NC中性文件轉(zhuǎn)換為XML文件形式,需要建立EXPRESS到XML的映射,在此映射規(guī)則上才能完成轉(zhuǎn)換。因為STEP-NC是針對對象特征而編制的,所以以面向?qū)ο鬄橐罁?jù)來建立EXPRESS到XML的映射是首選方法,具體的映射關(guān)系如表1所示[6]。
表1 面向?qū)ο蟆XPRESS與XML的映射關(guān)系
由上述介紹可知,XML中的“實體”定義完全不同于EXPRESS中的ENTITY的定義,而與EXPRESS中相對應(yīng)則是XML中的ELEMENT TYPE元素。因為EXPRESS的約束機制遠要比XML強,而且EXPRESS的attribute和XML中的attribute又不盡相同,所以可以把XML中的ELEMENT用EXPRESS中的attribute來處理。
在EXPRESS向XML Schema映射的過程中,主要包括模式映射、實體與實體屬性及實體之間引用與繼承關(guān)系的映射、數(shù)據(jù)類型映射4種[7]。
1)模式映射。把XML Schema中復(fù)合類型根元素complexType映射成EXPRESS模式,元素名為模式名。還可以在模式元素中加一些其它屬性,如版本、名稱等,比如:
2)數(shù)據(jù)類型映射。從前面章節(jié)可知EXPRESS含有簡單、聚合、命名、構(gòu)造與廣義數(shù)據(jù)類型等。簡單數(shù)據(jù)類型包括整數(shù)型、實數(shù)型及邏輯型等,與XML Schema具體的映射關(guān)系如表2所示。
表2 EXPRESS簡單數(shù)據(jù)類型與XML Schema的映射關(guān)系
3)實體及實體屬性映射。把XML Schema中復(fù)合類型元素complexType映射成EXPRESS中的實體,元素名就是相應(yīng)的實體名。子類實體屬性及其元素構(gòu)成實體元素的內(nèi)容,相應(yīng)元素的名字由實體屬性名加上相應(yīng)的實體名(中間用“.”鏈接)構(gòu)成,以達到元素名的唯一性。元素的出現(xiàn)順序需和EXPRESS描述中出現(xiàn)的順序一樣,為了給實體元素的應(yīng)用提供幫助,可以對各個實體元素附加上一個ID屬性來加以說明。XML Schema中EXPRESS的每個實體添加一個空的實體引用元素,為了不出現(xiàn)同樣的名字,可以用實體元素名后加“_ref”作為實體引用元素名,但是它沒有值,只有一個說明其ID的屬性值。
4)實體間關(guān)系映射。實體之間的繼承關(guān)系可以通過子類和超類關(guān)系來表示,子類實體類型可以映射成超類實體的子元素,且用超類實體名附加“_subtypes”作為它的名字,下面以型腔與封閉型腔的繼承關(guān)系來說明:
為了能實現(xiàn)STEP-NC數(shù)據(jù)結(jié)構(gòu)的XML表示,國際標準化組織(ISO)推出了新標準,即ISO 10303-28,而STEPNC中性文件都是由EXPRESS語言描述的,其結(jié)構(gòu)形式主要是由一系列實體實例組成的。因此,為了能實現(xiàn)STEP-NC到XML的轉(zhuǎn)換,必須先根據(jù)這個新標準把這些由EXPRESS描述的實體按照上面介紹的映射方法一一對應(yīng)地映射成XML Schema文檔,即建立XML Schema庫,映射過程如圖1所示。
圖1 XML Schema 庫的建立
建立XML Schema庫以后,就可以進行文件的相互轉(zhuǎn)換了。STEP-NC文件是由不同的實體實例組成的,以實體實例的名稱作為依據(jù)從XML Schema庫中查看相應(yīng)的XML Schema定義,然后根據(jù)其結(jié)構(gòu)層次用VC++定義相應(yīng)的XML模板,最后根據(jù)文獻[8]所述解釋器提取相應(yīng)數(shù)據(jù)信息,把這些數(shù)據(jù)信息根據(jù)它在儲存結(jié)構(gòu)中相應(yīng)的位置存放到XML模塊相應(yīng)的位置上,一旦實體數(shù)據(jù)和XML模板結(jié)合后就產(chǎn)生了XML 文 件,當STEP-NC文件中所有的實體實例根據(jù)相應(yīng)的XML Schema完成轉(zhuǎn)換后,一個帶有有效數(shù)據(jù)的XML文件就產(chǎn)生了,具體流程如圖2所示。根據(jù)這個原理可以很清楚地看到,只要存在XML Schema 與EXPRESS 一一對應(yīng),就能夠?qū)崿F(xiàn)XML文件到STEP-NC文件的轉(zhuǎn)換,根據(jù)文件中提供的零件幾何信息,通過CAD系統(tǒng)可重新塑造出零件的三維造型圖。
圖2 XML 文件轉(zhuǎn)換流程圖
本文以Windows 7為軟件開發(fā)平臺,以VC++為系統(tǒng)軟件工具,開發(fā)基于STEP-NC的系統(tǒng)原型主界面,文件轉(zhuǎn)換模塊可實現(xiàn)STEP-NC文件與XML文件格式的相互轉(zhuǎn)換[9],以便實現(xiàn)網(wǎng)上傳輸傳遞與共享信息,如圖3所示。以一個測試工件為例來驗證文件轉(zhuǎn)換功能模塊的有效性,工件三維圖如圖4所示,包含1個孔特征和1個型腔特征。
圖3 文件轉(zhuǎn)換界面
圖4 測試工件
讀取轉(zhuǎn)換界面如圖5所示,可實現(xiàn)STEP-NC文件與XML文件格式的相互轉(zhuǎn)換。讀取、轉(zhuǎn)換STEPNC的文件如圖6、圖7所示。
圖5 讀取轉(zhuǎn)換界面
圖6 讀取/轉(zhuǎn)換STEP-NC 文件
圖7 讀取/轉(zhuǎn)換XML 文件
STEP-NC文件轉(zhuǎn)換成XML文件后,使STEP-NC 文件以通俗易懂的形式顯示出來,即便沒有相關(guān)知識的人也能讀懂,把轉(zhuǎn)換成功的文件以一定的路徑存儲起來,可以發(fā)布到網(wǎng)上,用戶端通過向URL所指定服務(wù)器提出申請下載,用IE瀏覽器查看其文件內(nèi)容,如圖8所示。文件下載后,再將XML文件轉(zhuǎn)換為STEP-NC文件,然后提取所有與加工相關(guān)的信息、刀具路徑的規(guī)劃[10]及其軌跡仿真和插補運算,最后將指令送入數(shù)控機床進行加工,完成產(chǎn)品的制造。
圖8 瀏覽器查看XML 文件
本文對STEP-NC與XML格式文件進行了詳細研究分析,重點研究了STEP-NC與XML文件的相互映射關(guān)系,在此基礎(chǔ)上研究了兩種類型文件的相互轉(zhuǎn)化,使文件可以在網(wǎng)絡(luò)間進行傳播,實現(xiàn)了信息的集成與共享,提高了數(shù)控系統(tǒng)的開放性,也為它向集成化、網(wǎng)絡(luò)化方向發(fā)展提供了有效途徑,最后通過測試零件驗證了方法的正確性和有效性。