在TEAMCENTER中,BOM配置是一個比較廣泛的概念,可以理解為“通過一定的條件得到滿足要求的BOM結構”。因此在TEAMCENTER系統,通過版本規則和有效性篩選BOM行,和通過變量驅動獲得實例BOM都稱為“配置”。
TEAMCENTER系統中通過變量控制BOM結構有兩種方式:傳統變量(classic variant)和模塊化變量(modular variant)。前者可理解為一種自頂向下的方法,后者可視為一種基于模塊化的,自下向上的方法。
圖1 BOM配置
本文介紹基于變量的BOM配置方法,重點介紹“模塊化變量”方法,“傳統變量”簡要介紹過程。
一、傳統變量方法和模塊化變量概述
所有通過變量控制BOM結構的方法,從變量的角度看實際都涉及四個方面的工作:
(1)變量的定義;
(2)變量之間的規則;
(3)變量與零部件的驅動關系;
(4)配置的定義及實例化BOM的生成。
TEAMCENTER中也不例外。傳統變量(classic variant)和模塊化變量(modular variant)的方法都需要做上面的四步工作,而將它們區分的關鍵因素是看變量是主要定義在頂層零部件上,還是主要定義在模塊化的子組件上。
對于傳統變量方法,一般情況下變量(option)一般定義在頂層,然后在下層零部件上進行分配,分配的時候可以跨級,并不是只能分配給直接下級。如下圖:
圖2 傳統變量方法
在下層零部件上分配完變量(稱為變量條件,variant condition)后,便可以通過定義具體的配置(configuration),篩選出實例化的BOM。
圖3 篩選實例化BOM
在傳統變量方法中,對變量(option)的控制(定義,維護)主要在頂層零部件,下層結構只管應用(當然,下層也可以定義變量,并且定義的變量在頂層零件創建配置的時候會出現在配置選項中,但變量主要還是定義在頂層零件上),是一種自頂向下的方法。對于下層結構而言,零部件的使用條件是定義在頂層零部件的環境下的,若換到另外的頂層零部件上則需要重新定義。這一方面使得零部件的使用條件比較靈活,但是另一方面變量條件的重用率卻比較低。
設想,在上圖中,對于子組件“Cylinder Block”,如果其下級零部件“Long Block”的出現條件永遠是“ENG=V6L”,“Short Block”的出現條件永遠是“ENG=V6S”。則在傳統變量中,每一個用到“Cylinder Block”的頂層零部件都需要定義相同的變量和變量值(ENG=V6L,V6S),并且定義“Long Block”和“Short Block”的變量條件,重復工作。對于這種子組件,實際上它的下級結構的出現條件已經與頂層零部件無關,是獨立于設計環境,可以單獨定義在子組件內部的。像這種具有獨立性的子組件可以在子組件上直接定義變量并分配給下級,然后將在子組件上定義的變量有條件的開放并傳遞到頂層零部件上。這種自下向上的方法在TEAMCENTER中稱為“模塊化變量”的方法(modular variant),其中定義了變量的子組件稱為“模塊”(module)。
下文以上面的結構為例子分別介紹傳統變量和模塊化變量的具體使用方法。
二、傳統變量(classic variant)
在傳統變量方法中,選項(option)和選項規則(option rule checks)主要定義在頂層零部件上(例子中的Engine Family)。下級零部件直接使用這些選項(變量條件,variant condition),一般流程如下圖。可以歸結為三個主要過程:
(1)定義結構和選項(包括默認選項值和選項規則檢查);
(2)定義選項與下級零部件的對應關系(變量條件)
(3)配置BOM(定義配置)
圖4 定義結構和選項
(1)定義結構和選項
在“結構管理器”中定義頂層零部件的BOM結構,數據面板中(點擊工具條上的“顯示/隱藏數據面板”)。系統默認顯示模塊化變量的面板,需要切換到傳統變量控制面板。如下圖:
圖5 傳統變量控制面板
在頂層零部件(此處為Engine EPL)的“變量”選項卡上,分別定義選項,選項的默認值,和選項規則(option rule checks)
圖6 “變量”選項卡
(2)定義選項與下級零部件的對應關系
在結構BOM行中選擇要定義選項的BOM行,選擇工具條上的“變量條件”(option condition)進行變量條件定義。在頂層零部件上定義的選項可以跨級使用,并非只能在直接下級上使用。定義了變量條件的BOM行會出現“V”字圖標
圖7 變量條件定義
(3)定義配置
當所有的變量條件定義完成后,可以對頂層零部件創建配置,篩選出符合配置條件的零部件。(要在BOM行中不顯示未配置的零部件,需要取消勾選:視圖顯示未配置的變量)
圖8 頂層零部件創建配置
三、模塊化變量
在應用傳統變量方法時,我們的主要關注點在頂層零部件上。設計是從頂層零部件開始,設計方向是自上而下。但在使用模塊化變量方法時則正好相反,我們的主要關注點在下級組件或者說模塊上,定義模塊時可以不關心它應用于哪個頂層零部件,而是關心模塊本身的結構,選項和下級零部件的變量條件。因此可以說設計是從模塊開始的,設計方向是自下而上(從模塊到頂層零部件)。在這里,模塊的合理定義成為關鍵。若模塊結構劃分或選項定義不合理,使得模塊的重用率不高,或根本不能在不同頂層零部件之間借用,則會喪失模塊化變量方法的優勢,這時應該考慮用傳統變量的方法。
模塊化變量方法中,模塊的選項(option)分為“公開”(public)和“私有”(private)兩種。“公開”選項(public option)對外可見,可以“傳遞”(present)到頂層零部件上使用,也可以接收頂層零部件傳遞來的變量值(通過child module constrain進行)。而“私有”選項(private option)則對外不可見,只能在模塊內部使用。因此模塊的“公開選項”可以看成是模塊對外的一個接口,用于模塊與頂層零部件之間交換變量信息。
在模塊內部,選項之間(包括public和private)之間可以通過內部約束(internal module constrain)約束個選項值之間的關系。選項驗證(error checks)用于檢查各選項之間的容斥關系。與傳統變量方法一樣,選項通過變量條件(variant condition)對應到模塊的下級零部件上。
既然模塊定義了選項,并且是可配置的,那么模塊就不是一個傳統意義上的總成,而是一個“超級總成”,可以根據具體配置產生出多個總成實例。在模塊化變量中,用“變量零部件”(Variant Item,簡稱VI)來表示具體的總成實例。在一個頂層零部件下,針對某一個具體的配置,所有的模塊,包括頂層零部件本身都可以生成VI,最終由VI和其他非模塊化零部件構成實例化BOM。在生成VI的過程中,如果模塊的某一配置已經存在對應的VI,則調用已經存在的VI。
圖9 生成VI的過程
上圖示意了模塊各概念之間的關系。在這里,模塊可看成是一個獨立,封閉的單元,對外通過“公開選項”與外界傳遞變量信息。
下面以一個簡單例子,描述模塊化變量使用的一般過程。注意這里只是演示一般過程,實際使用情況可能比這里復雜,但基本過程大致相同。
圖10 演示一般過程
【說明:上例中,Mainstream Module是一個模塊,有兩個公開選項:ENG Type和HasFW。選項的使用條件(變量條件)如圖所述。選項ENG Type被傳遞到頂層零部件Engine ELP2,同時選項HasFW的值受頂層零部件選項TRANS的控制。】
基本過程如下圖所示,可歸結為四個主要過程:
(1)模塊定義
(2)父模塊定義(或頂層零部件定義)
(3)變量對接
(4)創建配置,生成實例化BOM
圖11 基本過程
(1)模塊定義
在“結構管理器”中定義頂層零部件的BOM結構,然后點擊“顯示/隱藏數據面板”顯示出數據面板。系統默認的模塊化變量的面板。如下圖
圖12 模塊化變量面板
通過向導創建模塊選項。在創建公開選項前,可以將通用的選項創建為全局選項(Global option),然后在創建模塊選項的時候借用。
圖13 創建模塊選項
選項創建完成后,在選項列表中,雙擊選項,添加選項的值和缺省值:
圖14 添加選項的值和缺省值
所有選項定義完成,可以通過模塊內部約束定義選項值之間的約束關系;通過定義變量條件,建立選項與下級零部件之間的對應關系。
圖15 定義變量條件
(2)父模塊定義(或頂層零部件定義)
父模塊的定義與模塊定義過程相同,主要定義選項,選項約束。在搭建父模塊結構時,將定義好的模塊插入到父模塊中。父模塊中,一般不需要定義模塊的變量條件。
圖16 父模塊的定義
(3)變量對接
變量對接是在父模塊選項與模塊選項之間建立關系。主要有兩種:傳遞模塊選項、建立子模塊約束
傳遞模塊選項是將模塊的選項傳遞到父模塊上,使其在創建配置時可用,就像該選項是在父模塊上定義的一樣;
建立子模塊約束是用父模塊的選項值控制子模塊的選項值。
注意:上述操作都是針對模塊的公開選項(public option)進行的,模塊的私有選項(private option)不能進行上述操作,體現了公開選項的接口性質。
圖17 變量對接
(4)創建配置,生成實例化BOM
當父模塊(或頂層零部件)結構和與下級模塊的變量對接完成后,便可以對父模塊(或頂層零部件)創建配置(要在BOM行中不顯示未配置的零部件,需要取消勾選:視圖顯示未配置的變量),形成實例化BOM。上文說過,對于各模塊,可以生產變量零部件(VI),最終由VI構成實例化BOM,進行發布和下游傳遞。
圖18 實例化BOM
四、兩種方法的比較
當然,在傳統變量方法中,上例中選項(ENG=V6L,V6S)也可以直接定義在“Cylinder Block”上,當“Cylinder Block”被用到“Engine EPL”上,用戶在創建配置(Configuration)時,選項(ENG=V6L,V6S)也會出現。但是卻存在以下缺點:
(1)“Cylinder Block”上定義的所有選項都會出現到頂層零部件配置上,無法對模塊定義一些內部使用的變量;
(2)當多個下級模塊存在相同的變量時,頂層零部件配置頁面上會出現多個變量;若將相同的變量定義在頂層零部件上,則破壞了模塊的完整性和獨立性;
(3)頂層零部件上定義的變量無法影響下層零部件上的變量。
而使用模塊化變量方法,則不會有上述問題。當然這不是說模塊化變量方法就比傳統變量方法好。當企業能夠定義出模塊,并希望最大限度的進行模塊重用時,模塊化變量方法是最佳選擇。但如果業務無法定義出獨立的模塊,或定義的模塊通用程度不高,而又希望做BOM配置時,傳統變量方法是最佳選擇。所以,兩種方法各有優劣,應該根據企業的實際情況選擇。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/consultation/10820619457.html