ThingWorx 入門 > 物聯網 (IoT) 程式設計 > 建模:為何必須要有物形式與物範本?
建模:為何必須要有物形式與物範本?
由於 ThingWorx 模型具有物件導向性質,所以您可定義可重複使用的「元件」,然後再利用這些元件去定義模型中的「物件」。若可重複使用的元件有所變更,即會自動反映在用這些元件定義的「物件」上。做法是只在一個位置定義行為,並使所有繼承的物件針對每一個父物件的最新定義發揮作用。這樣一來,必須更新時,您就不必對許多物件做相同的變更。
實行物形式和物範本的目的在於讓繼承模型便於維護。物形式是基礎定義元件。物件或物範本要共用物形式定義時,物件或物範本就會「實行」物形式。通常,物形式應該有唯一性的行為,也就是說它們會執行一組特定的服務和功能。物範本可以實行多個物形式。建議使用物範本定義物件。
我們將逐步說明一個簡單的範例。某個工地有許多不同類型的設備。每個設備都在工地發揮相當不同的功能。為了方便起見,我們假設設備是如下三種類型:
轉換器
混合器
空氣調節器
工地可能有 5 個轉換器、20 個空氣調節器和 12 個混合器。這三種設備大不相同。但也可能有一些共通性。假設每項設備都由 ERP 系統公司追蹤,因此有共用資料 (物內容)。我們也假設轉換器與空氣調節器需要針對用於「視情維修」(CBM) 的特定數據更新維護管理系統。
分析此實體模型及決定如何平移到 ThingWorx 模型中時,需考量三組不同的行為:
1. ERP 資產行為
2. 視情維修行為
3. 設備類型特定行為
在此範例中,您會想要定義至少兩個物形式,以利用 ThingWorx 模型的運作方式。它們如下所示:
1. ERP_Asset 物形式 - 因為工地中的每一組設備都具備此內容。如此一來,一旦 ERP_Asset 物形式發生任何變更,都會自動反映在工地的每一組設備中。
2. CBM_Asset - 因為有多個資產需要此功能,將之定義為物形式後,實行物件將可繼承任何變更。如果日後混合器的維護移至 CBM 模型,您可以透過混合器物範本 (請見下文說明) 讓混合器實行此物形式,而不需更新所有混合器。
現在,您可以建立三個物範本,分別供各個設備類型使用。物範本的設計目的在於簡化特定定義物件的建立和維護流程。若使用此範例的三種設備類型物範本,只要利用物範本並為物件提供唯一名稱,即可建立代表特定資產的物件。
轉換器物範本
轉換器物範本透過實行 ERP_Asset 和 CMB_Asset 物形式加以定義。所有轉換器的特定內容、服務、事件及訂閱也均應在轉換器物範本中定義。然後,針對每個轉換器使用轉換器物範本與唯一名稱來定義 ThingWorx 模型中的轉換器。
或者,您也可以定義轉換器物形式。在此情況下,您的轉換器物範本會實行三個物形式,即 ERP_Asset、CMB_Asset 與轉換器物形式。此方法很有用,但若其他物範本不會實行轉換器物形式,就沒有必要採用這種方法。
混合器物範本
混合器物範本透過實行 ERP_Asset 物形式加以定義。混合器不使用 CBM 維護模型,因此不需要相關物形式。混合器的所有特定內容、服務、事件及訂閱也應在混合器物範本中定義。然後,針對每個混合器使用混合器物範本與唯一名稱,在 ThingWorx 模型中定義混合器。
空氣調節器物範本
空氣調節器物範本類似於轉換器物範本。其應實行 ERP_Asset 與 CMB_Asset 物形式。空氣調節器的所有特定內容、服務、事件及訂閱也應該在空氣調節器物範本中定義。然後,針對每個空氣調節器使用空氣調節器物範本與唯一名稱,在 ThingWorx 模型中定義空氣調節器。
所有資產現均已定義妥當,您的模型非常容易維護。如果需要對 ERP_Asset 進行任何變更,可以在單一位置完成並測試。部署完成後,工地中的每一組設備都會自動繼承新功能。