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