呂德凱,鐘建琳,陳秀梅,李樹春
(北京信息科技大學 機電學院,北京 100192)
長期以來,數(shù)控加工一直采用基于ISO6983[1](G/M代碼)標準的編程方式,這種標準規(guī)定下的數(shù)控加工程序是通過指定機床軸的運動,實現(xiàn)加工。隨著CAD/CAM 系統(tǒng)和CNC 系統(tǒng)性能的提高,ISO6983 協(xié)議日益暴露出其不可克服的缺點[2],如G/M 代碼只定義了機床的運動和開關(guān)動作,不包含產(chǎn)品數(shù)據(jù)的其他信息,現(xiàn)場編程和修改非常困難,廠商之間不同控制系統(tǒng)不兼容等等。這已成為制約數(shù)控技術(shù)智能化、集成化、網(wǎng)絡化發(fā)展的“瓶頸”。
國際標準化組織ISO 于1984 年提出的產(chǎn)品數(shù)據(jù)的交換標準STEP(standard exchange of product data model),是一種不依賴具體系統(tǒng),能夠描述產(chǎn)品全生命周期數(shù)據(jù)的中性機制,在產(chǎn)品的全生命周期做到信息共享。STEP 標準定義了CAD 設(shè)計數(shù)據(jù)標準(包括幾何工件數(shù)據(jù)、設(shè)計特征),STEP-NC 標準通過定義CAD 工藝規(guī)劃與NC 控制系統(tǒng)的接口,將STEP 數(shù)據(jù)格式擴展到制造領(lǐng)域,即STEPNC 是用于為數(shù)控(NC)設(shè)備定義數(shù)據(jù)而擴充的STEP 標準。與采用G/M 代碼編寫的程序相比,基于STEP-NC 的程序可大幅度地減少傳統(tǒng)的CAD/CAM 系統(tǒng)加工零件的時間,消除了在加工制造過程中所需的后處理器,并且能夠支持將在今后出現(xiàn)的更快、更安全、更加智能的加工設(shè)備。
STEP-NC 程序文件按照ISO-10303-21 標準規(guī)定的文件格式編寫,文件以“ISO-10303-21;”開始,以“END-ISO-10303-21;”結(jié)束。其文件格式也同STEP 一樣,從結(jié)構(gòu)上主要分為:文件頭和數(shù)據(jù)段兩部分。1)頭文件用關(guān)鍵詞“HEADER”標注,主要用來說明文件描述、文件名、文件模式等信息;2)數(shù)據(jù)段用關(guān)鍵詞“DATA”標注,是程序的主體部分,包含了加工零件所需的有關(guān)幾何形狀、特征以及制造任務的所有信息。每個STEP-NC 程序的數(shù)據(jù)段都以工程(PROJECT)為切入點,并且規(guī)定每個STEP-NC 的加工程序中有且只有一個工程。程序以工程為入口,自上而下繼承開來,描述了工件狀況和主要工作計劃,接著具體分成三部分進行描述:加工計劃與可執(zhí)行操作(workplan and executables)、幾何信息描述(geometry description)、工藝信息描述(technology description)。STEP-NC 程序結(jié)構(gòu)如圖1 所示。
STEP-NC 文件是用EXPRESS 語言來描述的,但EXPRESS 本身并不是計算機編程語言,用它定義的數(shù)據(jù)模型,不能直接進行程序設(shè)計。因此,信息提取是STEP-NC實現(xiàn)首要解決的關(guān)鍵技術(shù)問題,STEP-NC 研究中,提出了多種信息提取方法,如可以使用STIX(STEP Index)庫中的函數(shù)處理文件數(shù)據(jù)。

圖1 STEP-NC 程序結(jié)構(gòu)圖
本文從STEP-NC 程序的結(jié)構(gòu)特點分析信息提取方法,將采用EXPRESS 語言描述的實體、類型、模式等映射到程序設(shè)計語言。程序的關(guān)鍵部分數(shù)據(jù)段以“DATA”開始,按“實體標識=實體名(屬性值);”的格式列出,如“#2=WORKPLAN(’’,(#10,#11),&);”,其中“#2”是實體標識;“WORKPLAN”即實體名來源于EXPRESS 語言定義,并且在STEP-NC 中都有唯一的實體標識;“(’’,(#10,#11),&)”屬性值可以是簡單數(shù)據(jù)支或結(jié)構(gòu)類型數(shù)據(jù),也可以是嵌入式的實體,屬性之間有嚴格的順序,多個屬性之間用“,”分隔。
STEP-NC 程序中的結(jié)構(gòu)實體主要包括:工程(PROJECT),工作計劃(WORKPLAN),工件(WORKPIECE),加工步驟(WORKSTEP),工藝描述、幾何特征。工程(PROJECT)包含工作計劃和工件信息,是程序起點;工作計劃(WORKPLAN)包含可執(zhí)行操作,可執(zhí)行操作啟動機床動作,有三類可執(zhí)行操作:加工步驟(WORKSTEP),程序結(jié)構(gòu)和NC 功能。STEP-NC 用可執(zhí)行操作的順序給出制造操作的執(zhí)行順序;加工步驟代表制造任務的主要成分,每個加工步驟描述用一種切削刀具的一個單一制造操作,包含零件的幾何特征和制造特征;NC 功能包括工件坐標系和安全面設(shè)定、程序停止和選擇停機等輔助命令。
因此,以實體定義為基礎(chǔ)的STEP-NC 程序,通過實體屬性與限制的標識引用,將各實體聯(lián)系起來,最終達到描述產(chǎn)品信息的目的。因此,信息提取的基本內(nèi)容與原則即為將實體標識、實體名、實體屬性按順序提取并保存。
STEP-NC 程序文件是用EXPRESS 語言描述的,文件的信息都是以實體為核心來定義的。信息提取就是將程序中以實體及其屬性來描述的產(chǎn)品所有信息提取出來,并映射為計算機能直接運行的語言。因此,本文選擇同樣是面向?qū)ο蟮腃++語言進行映射,STEP-NC 程序中實體與C++的映射對應關(guān)系如圖2 所示,信息提取過程如圖3 所示。


STEP-NC 頭文件主要描述了程序的一些通用信息,這部分包含了三個實體:文件描述、文件名、文件的模式。這三個實體名的屬性值中包含了文件名、編程者、日期和注釋等信息。通過對實例頭文件信息的提取可得到如圖4所示的結(jié)果。

圖4 頭文件信息提取圖
數(shù)據(jù)段部分是整個STEP-NC 程序的主體部分,包含了加工所需的加工計劃、特征信息、工藝信息、刀具信息等各種信息。它們之間的關(guān)系主要是實體嵌套引用,可以采用序列樹形式顯示。
STEP-NC 程序文件數(shù)據(jù)段部分的標準格式為“#整形數(shù)字標識符=關(guān)鍵詞(屬性1,屬性2,(聚合性屬性31,聚合性屬性32,...),...);”。該實例程序包含了一個主要工作計劃#2 和工件#4,如“#1=PROJECT ('EXECUTE EXAMPLE1',#2,(#4),$,$,$);”表示實體,“#2=WORKPLAN ('MAIN WORKPLAN',(#10,#11,#12,#13,#14),$,#8,$);”表示工作計劃、可執(zhí)行對象順序(#10,#11,#12,#13,#14),“#4=WORKPIECE('SIMPLE WORKPIECE',#6,0.010,$,$,$,(#66,#67,#68,#69));”表示工件、零件材料#6、零件公差0.010、工件表面夾具設(shè)備的位置(#66,#67,#68,#69)。實體之間是遍歷引用的關(guān)系,由此可得到如下的程序結(jié)構(gòu)樹如圖5 所示。

圖5 程序結(jié)構(gòu)樹
STEP-NC 標準的出現(xiàn)對現(xiàn)有數(shù)控技術(shù)發(fā)展是一項巨大的進步,不僅能夠完全取代G/M 代碼的編程方式,而且還有其固有的優(yōu)勢。但當今國際上關(guān)于STEP-NC 的研究還處于起步階段,各項標準制定需完善。程序信息提取是STEP-NC 數(shù)控系統(tǒng)的核心部分,其功能是對STEP-NC 程序文件進行讀取、分析、對加工所需的信息進行提取,并依據(jù)各實體的關(guān)系將其映射為計算機能識別的語言。本文給出了STEP-NC 程序信息提取的一種方法,并驗證了其可行性,為今后數(shù)控系統(tǒng)的開發(fā)奠定了基礎(chǔ)。
[1]朱曉明,富宏亞,王永章,等.STEP-NC 數(shù)控系統(tǒng)若干關(guān)鍵實現(xiàn)技術(shù)研究[J].計算機集成制造系統(tǒng),2009(6):1122-1124.
[2]夏鏈,胡靜,趙韓,M Wosnik,P Klemm.基于STEP-NC 的數(shù)控新標準[J].合肥工業(yè)大學學報(自然科學版),2008(1):134-134.
[3]陳偉雄,姚錫凡.基于STEP-NC 的CAD/CAPP/CNC 系統(tǒng)集成及應用研究[J].機械設(shè)計與制造,2010(1):79-80.
[4]張禮兵,吳婷.基于STEP-NC 數(shù)控編程方法的研究[J].煤礦機械,2009(12):207-209.
[5]孫軍,張曉磊,王軍,等.基于STEP-NC 車削解釋器及刀具軌跡生成器的研究[J].機械設(shè)計與制造,2009(10):246-248.