摘 要:為了解決ISO10303和ISO14649標準的數控代碼兼容性問題,基于可拓理論中的基元理論,建立了表達ISO6983標準中數控G代碼知識的信息模型——復合元RG-function。根據STEP標準的要求,給出了G代碼信息模型的EXPRESS語言描述模型,并在此基礎上實現對G代碼描述模型的實例化,從而生成STEP文件。構建了數控G代碼向STEP文件轉換的系統模型,介紹了其主要組成模塊,并重點討論了中間文件生成模塊的算法流程。
關鍵詞:G代碼; STEP; 復合元; 轉換
中圖分類號:TP391
文獻標志碼:A
文章編號:1001-3695(2010)02-0600-03
doi:10.3969/j.issn.1001-3695.2010.02.055
Research on method of translation from G code to STEP files
ZHOU Xiao-qing1a, QI Cong-qian2, SUN Yao1b
(1.a.Dept. of Mechanical,b.Practial teachingCenter, Nantong Vocational College, Nantong Jiangsu 226007, China; 2.College of Mechanical Engineering,Tongji University, Shanghai 200331, China)
Abstract:To solve the compatibility of NC codes between ISO 10303 and ISO 14649, this paper built an information model-multiple element RG-function, to express the knowledge of G codes in ISO6983 based on the unit theory in extension theory. According to STEP standard, gave the EXPRESS description-model of G-code information model and realized the instantiation from G-code description-model to generate the STEP files. Constructed the system model of translating G codes into STEP files. Introduced the primary modules in the translating system and emphatically discussed the idea of algorithm in the intermediate-file generating module.
Key words:G code; STEP;multiple element; translating
基于ISO14649標準(standard for the exchange of product model data-computer numerical control,STEP-NC)的數控代碼解釋器是未來數控技術研究的重點。STEP-NC是STEP標準(ISO10303)在數控領域的擴展,合符STEP-NC標準的數控解釋器能夠閱讀STEP格式的文件。而以G、M代碼——尤其是G代碼——為核心的ISO6983數控代碼標準,因其應用的廣泛性和習慣性,仍將長期存在。因此,如何解決ISO6983標準中G代碼與ISO14649標準數控代碼之間的兼容性,就成為一個重要的研究內容。目前研究的主要方法有基于STEP和STEP-NC的CAD/CAPP/CAM/CNC系統集成技術的研究[1~3]、基于STEP的數據模型和編程接口的研究[4~7]等。這些研究中,或是基于STEP或STEP-NC,僅根據ISO6983代碼的功能信息來建立代碼信息模型,或是直接拋開現有標準、直接建立數控加工的STEP標準信息模型,從而生成STEP文件。很顯然,前者的研究不能很好地表達現有標準數控代碼所包括的信息內容,信息表達不全;而后者的方法在可預見的未來,缺乏足夠的實用性,因為由于ISO14649標準和ISO10303標準的不完善性以及使用習慣的問題,ISO6983標準仍將是數控代碼的主流標準。很顯然,上述的研究不僅不能很好地解決新標準與舊標準之間的兼容問題,而且也不能解決現有標準下不同數控系統之間的代碼兼容問題。因此,本文基于STEP標準,根據數控G代碼的特點和知識表達方法,建立數控G代碼統一的信息表達模型,進而提出了一種G代碼轉換為STEP中性格式文件的方法。通過這種方法,一方面為解決新舊標準數控代碼之間的兼容性提供了一種思路,另一方面可以通過STEP文件強大的統一性,為解決現有不同系統數控代碼的兼容性提供統一的數據接口。
1 數控G代碼知識的信息模型
ISO6983標準的數控代碼是一種機床功能的表示代碼,它基于機床運動過程,其G代碼的知識僅包括了基本的機床運動和開關信息,但在具體的代碼中無法看出這些信息。而STEP和STEP-NC標準則不同,它們采用面向對象的方法,首先必須建立相關的信息模型(也就是知識表達模型),并通過網狀數據結構來描述數據信息;在其代碼中不僅明確表達了數控代碼的功能信息,還包括了諸如幾何信息和工藝信息等其他信息。
根據上述分析,對G代碼知識的信息模型表達可采用可拓理論中基元理論的方法來表達?;碚摾靡粋€有序三元組模型R=(N,c,v)來形式化地描述知識,稱為基元。其中:N表示基元名;c表示特征名;v表示特征量值。根據N的定義不同,基元分別稱為事元、物元和關系元,對應地表示對事物、動作和關系三種知識的描述;另外,還可以用這三種基元模型的復合形式來表達復雜的對象[8]。因此,基元理論支持網狀知識表達結構,它不僅能明確表達G代碼的功能信息——機床的運動和開關,還能表達暗含在G代碼中的其他信息。
根據基元理論,G代碼的知識可表達為如式(1)的一個由多個基元復合而成的復合元模型:
RG-function=(代碼,功能,功能名)復合元id,v1功能類名,v2功能開始時間,v3同組功能,v4模態,v5功能參數,v6刀具軌跡類型,v7c8,v8=RG-codec1v1c2v2c3v3c4v4c5v5c6v6c7v7c8,v8(1)
式(1)中功能類名(c2)的取值(v2)為一個物元,如式(2);刀具軌跡類型(c7)的取值(v7)可表示為一個多維組合復合元,如式(3)所示。
RG-Type=G代碼類型物元id,v1子類名一,v2子類名二,v3=G-Typec1,v1c2,v2c3,v3(2)
VTool_Path=RUnit_Toolpath1RG_function1RUnti_Toolpath2RG_function2RUnit_Toolpath3RG_function3(3)
式(2)中各特征上的取值意義為:物元id的取值(v1)是用來標識該物元的惟一標志,用一組數字來表示;子類名i是在功能類名限制下的子類名,可用字符串表示,其取值為(v2, …, vi, …),若該數控代碼的功能屬于該子類,則取該子類特征量值集中的一個值,否則取空。
式(3)中RUnit_Toolpath表示單位刀具軌跡的坐標值,它又可用如式(4)的一個物元來表示。由式(3)可知,一個G代碼實現的刀具軌跡可由若干個單元刀具軌跡組合而成。
RUnit_Toolpath=單元刀具軌跡,起點坐標,(x,y,z)終點坐標,(x’,y’,z’)(4)
在式(1)中,其他特征的意義和量值為:RG_Code是一個一維物元,用來表示某一數控代碼的功能,表示為RG_Code=(NG_Code, c, v),物名(NG_Code)為數控代碼的符號,特征名(c)為功能,特征量值(v)為該數控代碼代表的功能;復合元id號(c1)的取值(v1)是用來標志該復合元的惟一標志,用一組整數數字來表示;功能開始時間(c3)的取值(v3)有三種,即與程序段運動指令同時開始、在程序段運動指令完成后開始、沒有限制;同組功能(c4)的取值(v4)是指模態功能所在的同一組中的功能。該量值用與該數控代碼同組的數控代碼的功能來表示;模態(c5)的取值(v5)取模態和非模態,如果數控代碼的功能在此特征上沒有要求,則取空值;功能參數(c6)的取值(v6)是指要實現該功能時,必須提供的參數,如FANUC系統中快速移動命令的功能參數的取值為{終點X軸坐標值,終點Z軸坐標值}。式(1)中的c1、c2、c3、c4、c5、c6、c7為數控代碼功能的最基本、共有的特征。若數控代碼的功能還有其他特征的話,其特征和量值依次分別用c8…來表示。
2 數控G代碼信息模型的EXPRESS描述和實例化
STEP文件主要是完成一種用于數據交換的中性文件結構,它用尼克勞斯。維爾斯句法符號(WSN)來定義具體的結構,以實現產品數據的存取、傳遞和共享。根據STEP標準的要求,生成STEP文件前,必須先以EXPRESS語言來描述相關的信息模型,然后在此基礎上實現對信息模型的實例化,生成STEP文件的純正文編碼,也就是STEP文件。
根據STEP Part11(ISO10303-11)的要求,G代碼知識的復合元模型在EXPRESS語言中應描述為實體(ENTITY)形式,復合元的各個特征同樣也可以用一系列實體來描述。因此,對于G代碼知識復合元信息模型的EXPRESS語言描述模型為:
SCHEMA function;(數控代碼功能復合元的描述模式)
ENTITY G_function; (對RG_functione復合元實體的定義)
Function_Code: STRING;
function: string_feauture;
END_ ENTITY;
……(對其各個特征取值類型進行實體定義)
ENTITY function; (G代碼復合元的實體定義)
complex_element_name: Code_function; (復合元名)
element_id: integer_feauture; (復合元id)
function_type:function_type_element; (功能類名)
start_time: string_feauture; (功能開始時間)
group_function:list_feature; (同組功能)
mode:integer_feauture; (模態)
parameter:list_feature; (功能參數)
toolpath_type: string_feauture; (刀具軌跡類型)
……(對全特征集中的其他特征進行定義)
END_ENTITY;
END_SCHEMA;
在EXPRESS語言描述的基礎上,可再由STEP Part21(ISO10303-21)要求對描述模型實例化,生成交換文件的純正文編碼[7],也就是STEP中性文件。因為EXPRESS語言是一種面向對象的語言,要實現G代碼知識的實例化,只要代入某個G代碼的具體信息即可,實現對EXPRESS描述實體的實例化。例如,根據ISO10303-21標準,結合上文中的EXPRESS語言描述模型,GSK980TD數控系統中的直線插補代碼G01轉換成STEP中性文件的純正文編碼為:
/STEP中性文件中的頭段實體實例/
ISO-10303-21;
FILE_SCHEMA((‘EXAMPLE_01’));
ENDSEC;
/STEP中性文件中的數據段實體實例/
DATA;
#1=FUNCTION(#2, #3, #4, #5, #6, #7, #8, #9, …);
#2=CODE_FUNCTION(‘G01’, #101 );
#3= INTEGER_FEATURE(‘物元id’, $);
#4=FUNCTION_TYPE_ELEMENT(#102, #103, #104, …)
#5=STRING_FEATURE(‘功能開始時間’, $);
#6=LIST_FEATURE(‘同組功能’, (‘快速移動’, ‘圓弧插補(順時針)’,‘圓弧插補(逆時針)’, ‘直線插補’, ‘直線插補’, ‘螺紋切削’, ‘軸向切削循環’, ‘螺紋切削循環’, ‘徑向切削循環’));
#7=INTEGER_FEATURE(‘功能續效狀態’,1);
#8=LIST_FEATURE(‘功能參數’,(‘X坐標量’,‘Y坐標量’));
#9=STRING_FEATURE(‘刀具軌跡類型’, ‘直線插補’);
……
#101= STRING_FEAUTURE(‘功能’, ‘直線插補’);
#102=…;
#103=…;
……
ENDSEC;
END-ISO-10303-21;
3 G代碼轉換為STEP文件的系統結構和算法
根據上文的分析,G代碼轉換為STEP文件的系統模型的結構如圖1所示。系統包括三個部分:a)G代碼信息定制模塊,用于讀入G代碼功能復合元RG-function各特征及其量值的數據,并保存在G代碼功能集數據庫中,數據的錄入通過人機交互的形式來進行;b)G代碼輸入模塊,利用人機交互的形式輸入數控程序的G代碼,并提取G代碼功能數據庫中的信息,以便為代碼轉換做好準備;c)中間文件生成模塊,根據輸入的G代碼和代碼功能數據庫中的信息,生成STEP中性文件。
中間文件生成模塊是該系統的關鍵部分,其算法流程如圖2所示。在該流程中,設置了兩個關鍵的鏈表:AdvanceNode和SingleNode。前者用于讀入和保存一個包含有多個G代碼的數控程序段;后者用于讀入和保存一個G代碼的特征和特征量值,以便生成STEP格式的純正文編碼。系統的界面如圖3~5所示。通過該系統可初步實現數控G代碼向STEP文件的轉換。
4 結束語
本文提出了一種數控G代碼轉換為STEP文件的具體實現方法。與以往的研究相比,該方法更具可行性和操作性。主要的工作包括:a)基于可拓理論中的基元理論,建立了數控G代碼的復合元模型,從而全面、多角度地描述了G代碼中包含的知識;b)根據STEP和STEP-NC標準的要求,實現了對代碼復合元模型的EXPRESS語言描述和實例化;c)建立了轉換系統模型的結構,實現了G代碼向STEP文件的轉換。
進一步的研究包括:ISO6983標準中其他代碼,如M代碼向STEP文件轉換的方式;不同數控系統間數控代碼轉換的方式;系統模型的進一步完善和實用化等。
參考文獻:
[1]
DU Juan, TIAN Xi-tian,ZHU Ming-quan,et al.Integration technology of CAD/CAPP/CAM/CNC systems based on STEP STEP-NC[J]. Computer Integrated Manufacturing Systems,2005,11(4):487-491.
[2]XU X W, WANG H, MAO J, et al. STEP-compliant NC research: the search for intelligent CAD/CAPP/CAM/CNC integration[J]. International Journal of Production Research, 2005, 43(17):3703-3743.
[3]劉濤,韓振宇,王永章. 基于ISO14649標準的STEP-NC程序生成器[J].計算機集成制造系統,2008,14(2):393-397.
[4]HARDWICK M. On STEP-NC and the complexities of product data integration[J]. Journal of Computing and Information Science in Engineering, 2004, 4 (1): 60-67.
[5]WECK M, WOLF J, KIRITSIS D. STEP-NC:the STEP compliant NC programming interface: evaluation and improvement of the modern interface[C]//Proc of IMS Project Forum. Ascona, Switzerland: IMS, 2001:9-10
[6]蘭紅波,劉日良,張承瑞.基于STEP-NC智能數控系統的研究[J].中國機械工程,2007,18(6):692-696.
[7]劉曉軍,易紅,仇曉黎,等. 基于STEP-NC的可互操作CAPP/CAM系統[J].計算機集成制造系統,2009,15(3):502-507.
[8]周美立. 相似工程學[M]. 北京:機械工業出版社,1998:79-82,101-404.