韓建華,杜娟
(太原科技大學 機械電子工程學院,太原 030024)
STEP-NC是1996年國際上為數(shù)控程序制定的一種新的數(shù)據(jù)接口標準(ISO14649),它提供了一種不依賴具體系統(tǒng)的中性機制和能夠描述產(chǎn)品整個生命周期內(nèi)的統(tǒng)一數(shù)據(jù)模型。STEP-NC的提出,使得將集中于單個計算機上的數(shù)控程序分散在互聯(lián)網(wǎng)的不同設(shè)備上,從而為基于網(wǎng)絡(luò)的制造模式和技術(shù)創(chuàng)造了條件[1]。
為便于網(wǎng)絡(luò)傳輸,產(chǎn)品數(shù)據(jù)模型文件使用XML語言描述,而STEP-NC程序使用EXPRESS語言描述,因此,如何進行二者之間的轉(zhuǎn)換就成為數(shù)控技術(shù)向開放式、網(wǎng)絡(luò)化的發(fā)展的關(guān)鍵所在。本文針對實際構(gòu)建的網(wǎng)絡(luò)協(xié)同設(shè)計平臺,提出了一種引入自學習機制的EXPRESS/XML轉(zhuǎn)換機制的實現(xiàn)方法,并用實例進行驗證,效果良好。
為了完成網(wǎng)絡(luò)的協(xié)同制造需求,整個網(wǎng)絡(luò)架構(gòu)根據(jù)功能可分產(chǎn)品設(shè)計、網(wǎng)絡(luò)傳輸和制造加工三個層次。產(chǎn)品設(shè)計和制造加工的數(shù)據(jù)可以利用互聯(lián)網(wǎng)協(xié)議在網(wǎng)絡(luò)上進行傳輸,擺脫了空間位置的束縛。該系統(tǒng)的網(wǎng)絡(luò)架構(gòu)如圖1所示。
產(chǎn)品設(shè)計層用于建立產(chǎn)品數(shù)據(jù)模型文件,允許有多個設(shè)計者互聯(lián),每個設(shè)計者均可建立自己的三維零件圖,并通過 STEP轉(zhuǎn)接口,直接輸出符合STEP-NC標準格式的文件,再使用EXPRESS/XML轉(zhuǎn)換器生成適合于網(wǎng)絡(luò)傳輸?shù)腦ML語言文件。制造加工層包括多個加工車間,每個加工車間設(shè)置一臺車間服務(wù)器,用于連接本車間的各個STEP-NC機床,并通過交換機與Internet相連。通過STEP-NC機床,操作員可直接瀏覽產(chǎn)品的幾何模型和加工信息,但要進行加工,必須再次使用EXPRESS/XML轉(zhuǎn)換器轉(zhuǎn)換,生成EXPRESS文件,經(jīng)程序檢查確認無誤后加工開始。
圖1 系統(tǒng)的網(wǎng)絡(luò)架構(gòu)圖Fig.1 Network framework of this system
STEP-NC程序描述使用 EXPRESS語言,而EXPRESS語言與XML語言之間可以相互轉(zhuǎn)換,這為網(wǎng)絡(luò)化制造提供了一種新的途徑;ISO 10303-28標準給出了EXPRESS語言和XML之間的轉(zhuǎn)換規(guī)則,參照此規(guī)則可將 STEP-NC數(shù)控加工程序用XML語言表示。[2]
目前常用的方法有前綁定及后綁定[3]。兩者各有優(yōu)缺點,前綁定將EXPRESS作為整體轉(zhuǎn)化,形式較簡單,但每一個EXPRESS模型必須對應一套XML標簽集(即Schema私有);后綁定中XML標記與EXPRESS的實體、屬性、數(shù)據(jù)類型相對應,容易產(chǎn)生結(jié)構(gòu)的膨脹和爆炸,但是,卻允許所有的EXPRESS模型共用一套標簽集(即 Schema共有)。通常,后期綁定方式能在異構(gòu)平臺上較好的實現(xiàn)通用性和可移植性。
EXPRESS/XML的轉(zhuǎn)換是根據(jù)結(jié)構(gòu)上的對應關(guān)系進行的。具體為:EXPRESS實體對應 XML文檔;實體(子實體)對應元素(子元素);實體屬性對應屬性(子屬性);與其他實體關(guān)系對應與其他元素關(guān)系[4]。
對于 project實體,用 EXPRESS語言描述如下:
EXPRESS/XML轉(zhuǎn)換機制包括寫入模塊、轉(zhuǎn)換模塊、糾錯模塊,并設(shè)置專門的數(shù)據(jù)庫服務(wù)器存放XML-Schema庫,執(zhí)行過程如圖2所示。
圖2 EXPRESS/XML轉(zhuǎn)換機制執(zhí)行過程Fig.2 EXPRESS/XML transformation mechanism process
(1)寫入模塊:根據(jù)ISO10303-28標準,將EXPRESS實體生成對應的 XML文檔,寫入 XMLSchema庫。
(2)轉(zhuǎn)換模塊:輸入STEP-NC文件,根據(jù)EXPRESS表達式按照搜索規(guī)則從XML-Schema庫中搜索合適的模式進行轉(zhuǎn)換,直至EXPRESS文件結(jié)束,此時STEP-NC文件被轉(zhuǎn)換成XML文件。在轉(zhuǎn)換過程中,如果發(fā)現(xiàn)XML-Schema庫中沒有相關(guān)信息,則可根據(jù)STEP-NC標準,轉(zhuǎn)入寫入模塊進行添加。顯然,轉(zhuǎn)換依靠的是XML-Schema庫,保證數(shù)據(jù)庫中數(shù)據(jù)提取的快速準確是影響系統(tǒng)性能的直接因素。由于近期使用的規(guī)則最有可能再次被使用,故本系統(tǒng)在數(shù)據(jù)庫中設(shè)置專門的快速檢索表,記錄最近使用過的轉(zhuǎn)換規(guī)則。查找時,先檢索快速檢索表,如表中沒有再從XML-Schema庫中檢索,大大提高了檢索效率。
(3)糾錯模塊:為保證STEP-NC程序的正確性和合理性,轉(zhuǎn)換機制應具備糾錯功能。其實現(xiàn)過程為:分析 STEP-NC文件結(jié)構(gòu);采用后綁定的方法建立相應的實體XML Schema,規(guī)定數(shù)據(jù)出現(xiàn)的次序及數(shù)據(jù)的屬性,如字符串型、整型、實型等,在解析過程中檢查 STEP-NC文件的數(shù)據(jù)是否缺省或超出范圍,并通過對話框的形式提示操作者;若無錯誤可在本地機床安全運行,若出現(xiàn)錯誤則進行反饋,并修改XML-Schema庫。
由于XML-Schema庫的性能會直接決定整個系統(tǒng)的性能,故該庫在建立時引入自學習機制。初始庫中只設(shè)置必要的、基本的信息即可投入運行,使得此庫的建立比普通機制節(jié)約時間,系統(tǒng)能較早的投入運行。在運行時逐漸通過反饋環(huán)節(jié)進行添加以擴充數(shù)據(jù)庫。同時,對已有的信息要進行修正,保留正確的信息,刪除錯誤的信息,經(jīng)過積累,轉(zhuǎn)換的準確性將逐步提高。
下面通過一個例子來演示 STEP中性文件到XML文件的轉(zhuǎn)換過程。圖3所示為用Pro/Engineer創(chuàng)建的測試零件,零件名稱為prtpart.prt。
圖3 測試零件Fig.3 Test part
Pro/Engineer支持 STEP AP214格式的導出功能,將測試零件信息導出后,系統(tǒng)自動生成名稱為prtpart.stp的STEPAP214中性文件,然后通過轉(zhuǎn)換機制將該STEP文件轉(zhuǎn)換為相應的XML文檔,默認文件名為prtpart.xml,用IE5.0瀏覽器查看其文檔內(nèi)容如圖4所示。
圖4 STEP文件轉(zhuǎn)換后的XML文檔Fig.4 XML file converted from STEP file
本文詳細闡述了一種網(wǎng)絡(luò)協(xié)同制造架構(gòu)上的EXPRESS/XML轉(zhuǎn)換機制的構(gòu)成,分析了其轉(zhuǎn)換過程,研究了兩種文件的對應關(guān)系,提出了自學習的XML-Schema庫建立方法,縮短了系統(tǒng)的開發(fā)時間,提高了XML-Schema庫的效能,擴展了STEPNC在網(wǎng)絡(luò)化制造中的應用。
[1]楊奕昕,黃澤森,范青.數(shù)控系統(tǒng)及研發(fā)技術(shù)研究[J].兵工自動化,2009,28(10):78-81.
[2]王軍,聶新剛,孫軍,等.基于STEP-NC數(shù)控編程的實現(xiàn)方法[J].沈陽建筑大學學報:自然科學版,2005,21(6):759-760.
[3]張莉彥.基于Internet的STEP-NC的研究[D].北京化工大學,2008:63.
[4]張運森,劉保國,劉珂.基于XML與STEP的產(chǎn)品數(shù)據(jù)描述及轉(zhuǎn)換技術(shù)研究[J].制造業(yè)自動化,2009,31(3):36-38,42.