0 引言
PDM是用來管理產(chǎn)品相關(guān)數(shù)據(jù)和動態(tài)過程的技術(shù)。在PDM系統(tǒng)實施過程中,需要對物料、圖紙、工藝文件、各種單據(jù)報表進(jìn)行編碼,以便于管理。因此,事物編碼是企業(yè)信息化的前提條件,也是系統(tǒng)集成的關(guān)鍵。陳兵奎等應(yīng)用成組技術(shù)原理,提出了融合相似結(jié)構(gòu)-工藝的齒輪分類編碼方法,并開發(fā)了計算機(jī)輔助齒輪分類編碼系統(tǒng)。Pan分析了影響建筑企業(yè)物料智能識別和信息交互的瓶頸問題,提出了一種建筑產(chǎn)品公共編碼框架,并應(yīng)用于建筑物料管理。孫亮分析了印染企業(yè)物料特點,提出了“弱耦合編碼”的物料編碼規(guī)則,給出了可靈活定制的原料、在制品和成品編碼方案。陳濟(jì)等針對電力調(diào)度系統(tǒng)數(shù)據(jù)交互的可重用性低、編碼不統(tǒng)一等問題,提出了一種由數(shù)據(jù)層、模型驅(qū)動層和編碼層構(gòu)成的基于公共信息模型的自適應(yīng)統(tǒng)一編碼體系。
然而企業(yè)之間的編碼規(guī)則差異很大,有時在同一企業(yè)內(nèi)部也存在編碼規(guī)則不斷變化的情況。因此,即便是實施經(jīng)驗豐富的PDM供應(yīng)商也需要花費大量時間和精力來針對客戶的個性化編碼需求開發(fā)編碼系統(tǒng),導(dǎo)致編碼系統(tǒng)重用度低,維護(hù)成本高,拉長了PDM系統(tǒng)實施周期。為此,很多學(xué)者進(jìn)行了大量研究。劉韶濤等研究了編碼系統(tǒng)軟件復(fù)用的結(jié)果模型、設(shè)計方法及若干關(guān)鍵技術(shù)。張金等提出了一種集通用性、開放性、靈活性于一體的程序組件化柔性編碼工具開發(fā)方法,并應(yīng)用于開目PDM系統(tǒng)中。林毅等提出了面向信息管理和高效檢索的“四段式”編碼模型,該模型具有一定的柔性。謝賢仕等建立了編碼系統(tǒng)的信息含量模型,提出了碼位合并與調(diào)整的定量準(zhǔn)則,為優(yōu)化編碼結(jié)構(gòu)提供了依據(jù)。謝慶生等提出了多品種小批量產(chǎn)品及零部件編碼模型,并開發(fā)了相應(yīng)的編碼系統(tǒng)。張旭輝等研究了基于流水碼段、符號碼段、分類碼段與屬性碼段的柔性編碼規(guī)則定義工具系統(tǒng),可以較好地解決鏈?zhǔn)疥P(guān)系碼段的編碼規(guī)則定義、難以定義樹式碼段關(guān)系的問題。皮德常等針對直接依賴、組合依賴和擴(kuò)展組合依賴碼位關(guān)系,提出了碼位模式分解和基于元關(guān)系的解決辦法。趙韓等研究了可定制柔性編碼系統(tǒng)的結(jié)構(gòu)模型和功能模型,并對編碼復(fù)制、編碼解析和編碼識別等關(guān)鍵技術(shù)進(jìn)行了研究。Zhang等基于XML格式描述編碼規(guī)則,提高了規(guī)則定義的靈活性。
以上研究一定程度上提高了編碼系統(tǒng)的適應(yīng)能力,但當(dāng)不同的編碼規(guī)則共用相同的碼段時,要求共用碼段在所有編碼規(guī)則中具有統(tǒng)一性。采用針對各編碼規(guī)則分別定義碼段的方法,容易造成共用碼段不一致。同時,共用碼段的維護(hù)需要對各編碼規(guī)則依次重復(fù)維護(hù),費時費力,這一點對于樹式關(guān)系的共用碼段表現(xiàn)得更為突出。為此,本文提出了一種元碼段概念,并對基于元碼段可重構(gòu)的編碼工具系統(tǒng)設(shè)計方法進(jìn)行了研究。
1 元碼段
1.1 元碼段的概念
編碼是用特定的符號序列對事物主要特征進(jìn)行數(shù)字化表征,使人或計算機(jī)能夠快速進(jìn)行識別和處理,便于信息交流與共享的一種技術(shù)手段。事物編碼一般由具有一定信息特征的若干碼段組成。碼段對信息的刻畫具有從粗糙到精確、模糊到具體的特點。描述碼段信息的基本單元稱為元碼段,元碼段可在不同的編碼規(guī)則中共享和重用,并具有唯一性。元碼段由粗到精逐步細(xì)化的過程可用元碼段細(xì)分模型描述,如圖1所示。
圖1 元碼段細(xì)分模型
元碼段細(xì)分模型是一種層次化的碼段逐步精確描述方法,由元碼段對象、元碼段域值及細(xì)分關(guān)系構(gòu)成。元碼段對象包含名稱、類型、前綴及后綴等屬性。元碼段域值是元碼段的取值范圍,包含代號、檢索碼、描述及說明等屬性。細(xì)分關(guān)系表達(dá)下級元碼段是對上級元碼段某域值的進(jìn)一步細(xì)化。
元碼段細(xì)分模型具有靈活的層次結(jié)構(gòu),對訂單評審表、技術(shù)更改單等編碼時,為表示所屬年份及順序,往往包含年份元碼段和流水元碼段,這些元碼段一般只有一級。而對物料、圖紙等編碼時,往往具有多層細(xì)分關(guān)系,以便逐步將其編碼信息描述清楚。
1.2 元碼段的類型
不管編碼規(guī)則多么復(fù)雜,構(gòu)成編碼規(guī)則的元碼段一般由以下四種類型組成:
(1)靜態(tài)型。元碼段域值由特定的靜態(tài)字符串構(gòu)成,通過選擇方式獲取元碼段值。元碼段域值直接存儲在數(shù)據(jù)庫中,維護(hù)比較方便。
(2)流水碼型。按先后順序,以一定規(guī)則依次遞增元碼段域值。需要定義其起始值、終止值及步長等。
(3)時間相關(guān)型。根據(jù)系統(tǒng)當(dāng)前時間,得到與時間相關(guān)的特定格式的元碼段域值。
(4)插件型。通過調(diào)用DLL組件,提供輸入?yún)?shù),根據(jù)特定的邏輯關(guān)系處理后,返回相應(yīng)的元碼段域值。
2 基于元碼段可重構(gòu)的編碼方法
2.1 編碼規(guī)則定義方法
基于元碼段的編碼規(guī)則定義本質(zhì)上是元碼段的重構(gòu),即根據(jù)元碼段細(xì)分模型建立元碼段組合序列形成各碼段,再通過定義碼段連接關(guān)系構(gòu)造編碼規(guī)則。編碼規(guī)則定義方法如圖2所示。
圖2 基于元碼段可重構(gòu)的編碼規(guī)則定義方法
元碼段可重構(gòu)的編碼規(guī)則定義方法具有以下特征:
(1)各碼段內(nèi)由細(xì)分后具有層次關(guān)系的元碼段構(gòu)成,且一個碼段中僅包含一組細(xì)分后的元碼段?蛇x擇部分或全部元碼段構(gòu)建碼段規(guī)則。
(2)若元碼段只有一級細(xì)分,則碼段與元碼段具有相同的含義。
(3)碼段之間為鏈?zhǔn)疥P(guān)系,碼段內(nèi)的元碼段為樹式關(guān)系,這種模式可支持復(fù)雜的編碼規(guī)則定義。
(4)具有良好的柔性,通過元碼段重構(gòu)即可實現(xiàn)靈活多變的編碼規(guī)則定義。
2.2 編碼系統(tǒng)的功能
針對特定需求開發(fā)的編碼系統(tǒng),一旦編碼規(guī)則發(fā)生變化,需要修改甚至重寫程序代碼才能使用,這無疑增加了編碼系統(tǒng)維護(hù)的復(fù)雜度和成本。而許多企業(yè)并不具備修改程序的能力,導(dǎo)致編碼系統(tǒng)很難長期有效運行;谠a段可重構(gòu)的編碼系統(tǒng)支持企業(yè)按自身特點定義元碼段結(jié)構(gòu),通過元碼段重構(gòu)可形成個性化的編碼規(guī)則。
編碼系統(tǒng)的功能樹如圖3所示,由編碼定義、編碼生成及碼值維護(hù)等模塊組成。
圖3 編碼系統(tǒng)的功能樹
(1)編碼定義模塊可定義元碼段及元碼段細(xì)分模型,包括元碼段域值代碼、名稱、描述、連接符及其細(xì)分層次等?蓮脑a段庫中選擇元碼段構(gòu)成各碼段,并定義碼段連接符形成各種樣式的編碼規(guī)則?稍O(shè)置編碼系統(tǒng)用戶組及其所屬用戶,并設(shè)定用戶使用編碼規(guī)則的權(quán)限。
(2)編碼生成模塊可選定編碼規(guī)則,支持根據(jù)碼段定義從元碼段庫中選取碼段值或生成碼段值,結(jié)合碼段連接符形成編碼值,并存人數(shù)據(jù)庫中。
(3)碼值維護(hù)模塊可查詢碼值狀態(tài),解釋碼值含義,對不再使用的碼值可廢除等。
3 關(guān)鍵技術(shù)研究
3.1 元碼段實現(xiàn)方法
為了對元碼段進(jìn)行有序管理,便于編碼規(guī)則定義和碼值生成,建立了由分類對象和元碼段對象構(gòu)成的元碼段庫結(jié)構(gòu)。分類對象用于對元碼段分類,可用于構(gòu)建編碼規(guī)則,但其本身不產(chǎn)生元碼段值。元碼段對象具有全局唯一性,各元碼段均具有唯一的ID。元碼段可進(jìn)行細(xì)分,便于表達(dá)樹式關(guān)系的碼段結(jié)構(gòu)。四種類型的元碼段域值實現(xiàn)方法如下:
(1)靜態(tài)型。直接在數(shù)據(jù)庫元碼段對象中保存值域,處理相對簡單。
(2)流水碼型和時間相關(guān)型。使用約定格式定義元碼段域值表達(dá)式,系統(tǒng)解譯后生成元碼段值。如#03d.a1#表示三位流水碼,按步長1遞增,如001、002等。又如#4y#2m#2d#表示按四位年兩位月兩位日生成元碼段值,如20120801、20120901等。
(3)插件型。通過調(diào)用相應(yīng)的DLL組件,由組件按特定邏輯關(guān)系處理后,返回相應(yīng)元碼段值。具體處理方法如下:①根據(jù)功能需求開發(fā)DLL插件,插件應(yīng)能實現(xiàn)輸入、邏輯處理、生成元碼段值功能,并能將元碼段值返回編碼主程序;②采用PDM插件管理機(jī)制,注冊插件,并確保客戶端始終保持最新版本;③將插件型元碼段載入元碼段庫中;④使用插件型元碼段構(gòu)造編碼規(guī)則;⑤編碼生成時,由編碼器調(diào)用插件,接收插件返回的值,并將其作為元碼段值填寫在編碼的相應(yīng)元碼段上。
3.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計是編碼系統(tǒng)開發(fā)的關(guān)鍵技術(shù)之一,影響編碼系統(tǒng)運行效率、穩(wěn)定性和開放性。通過對元碼段可重構(gòu)編碼系統(tǒng)數(shù)據(jù)的分析和抽象,建立了圖4所示的數(shù)據(jù)實體關(guān)系(ER)模型。
圖4 編碼系統(tǒng)數(shù)據(jù)ER關(guān)系圖
圖4所示的ER關(guān)系圖清楚地表達(dá)了各數(shù)據(jù)對象之間的關(guān)系,支持元碼段及細(xì)分?jǐn)?shù)據(jù)、編碼規(guī)則定義數(shù)據(jù)、碼值數(shù)據(jù)及用戶權(quán)限設(shè)置數(shù)據(jù)的存儲。
3.3 編碼系統(tǒng)與EPDM集成模型
SolidWorks EntERPrise PDM(簡稱EPDM)是SolidWorks公司推出的一款企業(yè)級產(chǎn)品數(shù)據(jù)管理平臺,與Windows資源管理器緊密集成,支持分布式團(tuán)隊異地協(xié)同設(shè)計,具有完善的配置、定制和開發(fā)工具,支持快速實施。
編碼系統(tǒng)與EPDM系統(tǒng)集成主要體現(xiàn)在功能集成和數(shù)據(jù)集成兩個方面。
3.3.1 功能集成
功能集成是指在EPDM系統(tǒng)中可調(diào)用編碼系統(tǒng)的功能,同時在編碼系統(tǒng)中也可以調(diào)用EPDM系統(tǒng)的功能。可采取以下兩種方案:
(1)基于EPDM提供的Dispatch自動化腳本,在EPDM中加載編碼系統(tǒng)相應(yīng)功能。這種方法相對簡單,不需要編寫源程序,只需利用自動化腳本從服務(wù)器上獲取編碼系統(tǒng)程序到本地客戶端,并外殼執(zhí)行。缺點是由EPDM傳遞到編碼系統(tǒng)的參數(shù)有限,且不能從編碼系統(tǒng)控制EPDM系統(tǒng)的運行。
(2)采用EPDM提供的API接口進(jìn)行二次開發(fā)的方法來調(diào)用編碼系統(tǒng)。這種方法需要較強(qiáng)的程序開發(fā)基礎(chǔ),并熟悉接口函數(shù)。優(yōu)點是能捕獲豐富的EPDM事件和參數(shù),并能控制EPDM系統(tǒng)的運行。
3.3.2 數(shù)據(jù)集成
數(shù)據(jù)集成是指編碼系統(tǒng)生成的編碼值可傳遞給EPDM系統(tǒng),同時編碼系統(tǒng)也可訪問EPDM系統(tǒng)數(shù)據(jù)。數(shù)據(jù)集成模型如圖5所示。以EPDM數(shù)據(jù)卡變量為核心,通過二次開發(fā)將生成的編碼值寫入數(shù)據(jù)卡的編碼變量中,再通過EPDM變量映射可實現(xiàn)EPDM與各應(yīng)用系統(tǒng)自定義屬性的雙向數(shù)據(jù)集成。各應(yīng)用系統(tǒng)可按各自方式使用集成后的編碼屬性。
圖5 編碼工具系統(tǒng)與EPDM數(shù)據(jù)集成模型
4 實例與應(yīng)用
在前述研究基礎(chǔ)上,基于EPDM平臺進(jìn)行了編碼系統(tǒng)開發(fā)。圖6所示為該系統(tǒng)的編碼規(guī)則管理界面,由元碼段庫管理、編碼規(guī)則庫管理及編碼規(guī)則定義等構(gòu)成。
圖6 編碼規(guī)則管理界面
通過分析企業(yè)各種事物的編碼規(guī)則,提煉出元碼段,并建立其元碼段細(xì)分模型,如各種序列號元碼段、年份元碼段、月份元碼段、日期元碼段、零件種類元碼段、零件外形元碼段、材料元碼段、熱處理元碼段及精度等級元碼段等。將元碼段拖拽到規(guī)則表達(dá)式中即可構(gòu)成編碼規(guī)則的各碼段,碼段之間可輸入任意連接符。在用戶和組2個選項卡中,可設(shè)定有權(quán)限使用該規(guī)則的用戶。
圖7所示為編碼生成器界面,點擊規(guī)則表達(dá)式中的元碼段名稱,將以藍(lán)色背景表示當(dāng)前碼段,并顯示當(dāng)前碼段的名稱和類型。對于靜態(tài)型元碼段,將在元碼段庫中定位當(dāng)前元碼段,選擇后按元碼段細(xì)分層次關(guān)系生成元碼段值。如選擇輪盤類下的法蘭盤,則零件外形的元碼段值為02,其中0表示輪盤類,2表示輪盤類中的細(xì)分類法蘭盤。對于流水碼型和時間相關(guān)型,系統(tǒng)可按定義的元碼段格式自動生成其值。對于插件型,當(dāng)其處于當(dāng)前選中狀態(tài)時,將調(diào)用相應(yīng)插件,由插件生成元碼段值之后回填到編碼值中。保存時將根據(jù)規(guī)則ID查詢編碼是否重復(fù),以確保編碼的唯一性。
圖7 編碼生成器界面
編碼系統(tǒng)與EPDM具有良好的集成深度,可從EPDM系統(tǒng)中直接調(diào)用編碼系統(tǒng)。同時生成的編碼可傳遞到EPDM對象(如三維零部件模型對象、工程圖紙對象、技術(shù)文檔等)數(shù)據(jù)卡的編碼屬性中。通過EPDM變量映射方法可實現(xiàn)EPDM對象數(shù)據(jù)卡編碼屬性與圖文檔內(nèi)部自定義屬性中編碼屬性的雙向動態(tài)集成。
5 結(jié)論
編碼系統(tǒng)可分為三個層次:第一層次為剛性編碼系統(tǒng),即編碼系統(tǒng)只能用于特定編碼規(guī)則,一旦編碼規(guī)則變化,需要重新修改程序,系統(tǒng)適應(yīng)能力很弱。第二層次為程序組件化的編碼工具系統(tǒng),即通過開發(fā)的編碼組件可快速搭建個性化的編碼系統(tǒng)。這種系統(tǒng)有一定的適應(yīng)能力,但編碼組件開發(fā)周期長,成本高。第三層次為數(shù)據(jù)驅(qū)動的柔性編碼工具系統(tǒng),即通過編碼規(guī)則定義可滿足個性化的編碼規(guī)則,而不需要修改程序;谠a段可重構(gòu)的編碼系統(tǒng)屬于第三層次,相比其他同類系統(tǒng)具有以下優(yōu)勢:
(1)碼段資源可重用,能確保碼段數(shù)據(jù)統(tǒng)一。當(dāng)相同元碼段應(yīng)用于較多編碼規(guī)則時,只需維護(hù)元碼段信息即可保證使用該元碼段的所有編碼規(guī)則同步更新,避免了各編碼規(guī)則中相同碼段的重復(fù)維護(hù)。
(2)元碼段細(xì)分支持定義樹式碼段關(guān)系,元碼段重構(gòu)支持鏈?zhǔn)酱a段關(guān)系,因此元碼段重構(gòu)的編碼方法可以支持混合式碼段關(guān)系的編碼規(guī)則定義。
(3)元碼段在數(shù)據(jù)庫中只保存一次,可有效減少數(shù)據(jù)空間占用,并確保碼段數(shù)據(jù)源唯一。
基于元碼段可重構(gòu)的編碼系統(tǒng)已在多家企業(yè)PDM實施中進(jìn)行了應(yīng)用。實踐表明,該編碼系統(tǒng)能統(tǒng)一和重用元碼段信息資源,通過元碼段重構(gòu)形成適用于各行業(yè)特點的編碼規(guī)則,并能基于編碼規(guī)則方便快捷地實現(xiàn)事物編碼,從而節(jié)省了大量的編碼系統(tǒng)開發(fā)維護(hù)時間和成本,縮短了PDM系統(tǒng)實施周期。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于元碼段可重構(gòu)的事物編碼系統(tǒng)研究
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019313300.html