建立元件模型 - AWS IoT SiteWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立元件模型

使用 AWS IoT SiteWise 元件模型定義您可以從資產模型或其他元件模型參考的次組合。這樣,您可以在多個其他模型中重複使用元件的定義,或在同一模型中多次使用元件的定義。

定義元件模型的程序與定義資產模型非常相似。與資產模型一樣,元件模型具有名稱、描述和資產性質。但是,組件模型不能包含資產階層定義,因為組件模型本身無法用於直接建立資產。組件模型也無法定義警報。

例如,您可以為具有馬達溫度、編碼器溫度和絕緣電阻特性的伺服馬達定義元件。然後,您可以為包含伺服馬達的設備定義資產模型,例如CNC機器。

注意
  • 建議您從最低層級的節點開始建立操作模型。例如,在建立CNC機器的資產模型之前,先建立伺服馬達元件。資產模型包含對現有元件模型的參考。

  • 您無法直接從元件模型建立資產。若要建立使用元件的資產,您必須為資產建立資產模型。然後,為其建立參照元件的自訂複合模型。若要取得有關建立資產模型的更多資訊,請建立資產模型參閱如需建立自訂複合模型的更多資訊,請參閱〈建立自訂複合模型 (元件)

以下各節說明如何使用 AWS IoT SiteWise API來建立元件模型。

建立元件模型 (AWS CLI)

您可以使用 AWS Command Line Interface (AWS CLI) 來建立元件模型。

使用此CreateAssetModel作業建立具有屬性的元件模型。此作業需要具有下列結構的裝載:

{ "assetModelType": "COMPONENT_MODEL", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, }
建立元件模型 (AWS CLI)
  1. 建立名為的檔案,component-model-payload.json然後將下列JSON物件複製到檔案中:

    { "assetModelType": "COMPONENT_MODEL", "assetModelName": "", "assetModelDescription": "", "assetModelProperties": [ ] }
  2. 使用您偏好的JSON文字編輯器來編輯下列項目的component-model-payload.json檔案:

    1. 輸入元件模型的名稱 (assetModelName),例如Servo MotorServo Motor Model。此名稱在您帳戶中的所有資產模型和元件模型中必須是唯一的 AWS 區域。

    2. (選擇性) 輸入元件模型的外部 ID (assetModelExternalId)。這是使用者定義的 ID。如需詳細資訊,請參閱《AWS IoT SiteWise 使用者指南》中的 使用外部參考物件 IDs

    3. (選擇性) 輸入資產模型的說明 (assetModelDescription),或移除 assetModelDescription 鍵值組。

    4. (可選) 定義元件模型的資產性質 (assetModelProperties)。如需詳細資訊,請參閱定義資料屬性

    5. (選擇性) 新增資產模型的標籤 (tags)。如需詳細資訊,請參閱標記您的 AWS IoT SiteWise 資源

  3. 執行下列指令,從JSON檔案中的定義建立元件模型。

    aws iotsitewise create-asset-model --cli-input-json file://component-model-payload.json

    作業會傳回回應,其中assetModelId包含您在資產模型或其他元件模型中加入元件模型的參照時所參考的回應。回應還包含模型 (assetModelStatus.state) 的狀態,起初為 CREATING。零組件模型的狀態為CREATING直到變更傳播為止。

    注意

    對於複雜的模型,元件模型建立過程最多可能需要幾分鐘的時間。若要檢查元件模型的目前狀態,請透過指定來使用DescribeAssetModel作業assetModelId。元件模型狀態為之後ACTIVE,您可以在資產模型或其他元件模型中將參照加入至元件模型。如需詳細資訊,請參閱資產和模型狀態

  4. (選擇性) 為元件模型建立自訂複合模型。使用自訂複合模型,您可以在模型中分組屬性,或透過參考其他元件模型來包括次組合件。如需詳細資訊,請參閱建立自訂複合模型 (元件)

範例元件模型

本節包含一個範例元件模型定義,您可以使用它來建立具有 AWS CLI 和的元件模型 AWS IoT SiteWise SDKs。此元件模型代表可在其他設備 (例如CNC機器) 中使用的伺服馬達。

伺服馬達零組件型號

下列元件模型代表可在諸如CNC機器等設備中使用的伺服馬達。伺服電機提供各種測量,例如溫度和電阻。這些量測可作為從參照伺服馬達元件模型的資產模型建立的屬性。

{ "assetModelName": "ServoMotor", "assetModelType": "COMPONENT_MODEL", "assetModelProperties": [ { "dataType": "DOUBLE", "name": "Servo Motor Temperature", "type": { "measurement": {} }, "unit": "Celsius" }, { "dataType": "DOUBLE", "name": "Spindle speed", "type": { "measurement": {} }, "unit": "rpm" } ] }