更新資產模型 - AWS IoT SiteWise

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

更新資產模型

AWS IoT SiteWise 資產模型可推動您的工業資料標準化。資產模型包含名稱、說明、資產屬性和資產階層定義。例如,您可以定義具有溫度、每分鐘旋轉次數 (RPM) 和功率屬性的風力渦輪機模型。然後,您可以使用淨功率輸出性質和風力發電機階層定義來定義風力發電場模型。

注意

建議您從最低層級的節點開始建立操作模型。例如,在建立風力發電場模型之前,先建立風力發電機模型。資產階層定義包含現有資產模型的參考。利用此方法,您可以在建立模型時定義資產階層。

下列各節說明如何使用 AWS IoT SiteWise 主控台或 API 來建立資產模型。下列各節也會說明您可用來建立模型的不同類型資產屬性和資產階層。

建立資產模型 (主控台)

您可以使用 AWS IoT SiteWise 主控台來建立資產模型。AWS IoT SiteWise 主控台提供各種功能,例如公式自動完成,可協助您定義有效的資產模型。

建立資產模型 (主控台)

  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在導覽窗格中,選擇 Models (模型)

  3. 選擇 Create model (建立模型)

  4. Create model (建立模型) 頁面上,執行下列動作:

    1. 輸入資產模型的 Name (名稱),例如 Wind TurbineWind Turbine Model。此名稱在您於此區域中帳戶的所有模型間都必須是唯一的。

    2. (選擇性) 新增模型的 Attribute definitions (屬性定義)。屬性表示很少更改的信息。如需詳細資訊,請參閱 定義靜態數據(屬性)

    3. (選擇性) 新增模型的 Measurement definitions (衡量值定義)。測量值表示來自您設備的數據流。如需詳細資訊,請參閱 定義來自設備的數據流(測量)

    4. (選擇性) 新增模型的 Transform definitions (轉換定義)。轉換是將資料從一種形式對應到另一種形式的公式。如需詳細資訊,請參閱 轉換數據(轉換)

    5. (選擇性) 新增模型的 Metric definitions (指標定義)。度量是在時間間隔內聚合數據的公式。指標可以從關聯資產輸入資料,因此您可以計算值,以提供您的操作或操作子集的值。如需詳細資訊,請參閱 聚合屬性和其他資產的數據(衡量指標)

    6. (選擇性) 新增模型的 Hierarchy definitions (階層定義)。層次是資產之間的關係。如需詳細資訊,請參閱 定義資產模型(層次)之間的關係

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

    8. 選擇 Create model (建立模型)

    建立資產模型時,AWS IoT SiteWise 主控台會導覽至新模型的頁面。在此頁面上,您可以看到模型的 Status (狀態),最初為 CREATING (建立中)。此頁面會自動更新,因此您可以等候模型的狀態更新。

    注意

    複雜模型的資產模型建立程序可能需要幾分鐘的時間。資產模型狀態為活躍中,您就可以使用資產模型來建立資產。如需詳細資訊,請參閱 資產和模型狀態

  5. (可選)創建資產模型後,可以為邊配置資產模型。如需站點方向邊的詳細資訊,請參啟用邊緣資料處理

    1. 在模型頁面上,選擇Edge 配置

    2. 在模型配置頁面上,選擇模型的邊配置。這控制位置AWS IoT SiteWise可以計算和存儲與此資產模型關聯的屬性。如需如何設定邊的模型的詳細資訊,請參設定邊緣功能

    3. 適用於自訂組態下,選擇您想要的位置AWS IoT SiteWise來計算和存儲每個資產模型屬性。

      注意

      必須為同一位置配置關聯的轉換和量度。如需如何設定邊的模型的詳細資訊,請參設定邊緣功能

    4. 選擇 Save (儲存)。在模型頁面上,Edge 配置現在應Configured

建立資產模型 (CLI)

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

使用CreateAssetModel操作來建立具有屬性和階層的資產模型。此操作預期會有具備下列結構的承載。

{ "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition }

建立資產模型 (CLI)

  1. 建立名為 asset-model-payload.json 的檔案,然後將下列 JSON 物件複製到檔案。

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

    1. 輸入資產模型的名稱 (assetModelName),例如 Wind TurbineWind Turbine Model。此名稱在您於此區域中帳戶的所有模型間都必須是唯一的。

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

    3. (選擇性) 定義模型的資產屬性 (assetModelProperties)。如需詳細資訊,請參閱 定義資料屬性

    4. (選擇性) 定義模型的資產階層 (assetModelHierarchies)。如需詳細資訊,請參閱 定義資產模型(層次)之間的關係

    5. (選擇性)定義模型的警報。警報監控其他屬性,以便您可以識別何時需要注意設備或過程。每個警報定義都是一個複合模型(assetModelCompositeModels),用於標準化警報使用的屬性集。如需更多詳細資訊,請參閱 使用警示監控資料定義資產模型上的警報

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

  3. 執行以下命令,透過 JSON 文件中的定義建立資產模型。

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

    操作會傳回回應,其中包含建立資產時您參考的 assetModelId。回應還包含模型 (assetModelStatus.state) 的狀態,起初為 CREATING。在變更傳播之前,資產模型狀態會保持為 CREATING

    注意

    複雜模型的資產模型建立程序可能需要幾分鐘的時間。若要檢查資產模型的目前狀態,請使用DescribeAssetModel操作,方法是指定assetModelId。資產模型狀態變成 ACTIVE 後,您便能使用資產模型來建立資產。如需詳細資訊,請參閱 資產和模型狀態

範例資產模型

本節包含的範例資產模型定義,可供您用來建立具有 AWS CLI 和 AWS IoT SiteWise 開發套件的資產模型。這些資產模型代表風力渦輪機和風力發電場。風力渦輪機資產接收原始傳感器數據,並計算功率和平均風速等值。風力發電場資產計算風力發電場中所有風力渦輪機的總功率等值。

風力發電機資產模型

下列資產模型可呈現風力發電場中的風力發電機。風力渦輪機接收傳感器數據來計算功率和平均風速等值。

注意

此範例模型類似於 AWS IoT SiteWise 示範的風力發電機模型。如需詳細資訊,請參閱 使用 AWS IoT SiteWise 示範

{ "assetModelName": "Wind Turbine Asset Model", "assetModelDescription": "Represents a turbine in a wind farm.", "assetModelProperties": [ { "name": "Location", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Renton" } } }, { "name": "Make", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Amazon" } } }, { "name": "Model", "dataType": "INTEGER", "type": { "attribute": { "defaultValue": "500" } } }, { "name": "Torque (KiloNewton Meter)", "dataType": "DOUBLE", "unit": "kNm", "type": { "measurement": {} } }, { "name": "Wind Direction", "dataType": "DOUBLE", "unit": "Degrees", "type": { "measurement": {} } }, { "name": "RotationsPerMinute", "dataType": "DOUBLE", "unit": "RPM", "type": { "measurement": {} } }, { "name": "Wind Speed", "dataType": "DOUBLE", "unit": "m/s", "type": { "measurement": {} } }, { "name": "RotationsPerSecond", "dataType": "DOUBLE", "unit": "RPS", "type": { "transform": { "expression": "rpm / 60", "variables": [ { "name": "rpm", "value": { "propertyId": "RotationsPerMinute" } } ] } } }, { "name": "Overdrive State", "dataType": "DOUBLE", "type": { "transform": { "expression": "gte(torque, 3)", "variables": [ { "name": "torque", "value": { "propertyId": "Torque (KiloNewton Meter)" } } ] } } }, { "name": "Average Power", "dataType": "DOUBLE", "unit": "Watts", "type": { "metric": { "expression": "avg(torque) * avg(rps) * 2 * 3.14", "variables": [ { "name": "torque", "value": { "propertyId": "Torque (Newton Meter)" } }, { "name": "rps", "value": { "propertyId": "RotationsPerSecond" } } ], "window": { "tumbling": { "interval": "5m" } } } } }, { "name": "Average Wind Speed", "dataType": "DOUBLE", "unit": "m/s", "type": { "metric": { "expression": "avg(windspeed)", "variables": [ { "name": "windspeed", "value": { "propertyId": "Wind Speed" } } ], "window": { "tumbling": { "interval": "5m" } } } } }, { "name": "Torque (Newton Meter)", "dataType": "DOUBLE", "unit": "Nm", "type": { "transform": { "expression": "knm * 1000", "variables": [ { "name": "knm", "value": { "propertyId": "Torque (KiloNewton Meter)" } } ] } } }, { "name": "Overdrive State Time", "dataType": "DOUBLE", "unit": "Seconds", "type": { "metric": { "expression": "statetime(overdrive_state)", "variables": [ { "name": "overdrive_state", "value": { "propertyId": "Overdrive State" } } ], "window": { "tumbling": { "interval": "5m" } } } } } ], "assetModelHierarchies": [] }

風力發電場資產模型

下列資產模型可呈現包括多個風力發電機的風力發電場。此資產模型定義了等級制度到風力渦輪機模型。這使風電場能夠根據風力發電場中所有風力渦輪機的數據計算值(如平均功率)。

注意

此範例模型類似於 AWS IoT SiteWise 示範的風力發電場模型。如需詳細資訊,請參閱 使用 AWS IoT SiteWise 示範

此資產模型取決於 風力發電機資產模型。將 propertyIdchildAssetModelId 值取代為來自現有風力發電機資產模型中的值。

{ "assetModelName": "Wind Farm Asset Model", "assetModelDescription": "Represents a wind farm.", "assetModelProperties": [ { "name": "Code", "dataType": "INTEGER", "type": { "attribute": { "defaultValue": "300" } } }, { "name": "Location", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Renton" } } }, { "name": "Reliability Manager", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Mary Major" } } }, { "name": "Total Overdrive State Time", "dataType": "DOUBLE", "unit": "seconds", "type": { "metric": { "expression": "sum(overdrive_state_time)", "variables": [ { "name": "overdrive_state_time", "value": { "propertyId": "ID of Average Power property in Wind Turbine Asset Model", "hierarchyId": "Turbine Asset Model" } } ], "window": { "tumbling": { "interval": "5m" } } } } }, { "name": "Total Average Power", "dataType": "DOUBLE", "unit": "Watts", "type": { "metric": { "expression": "sum(turbine_avg_power)", "variables": [ { "name": "turbine_avg_power", "value": { "propertyId": "ID of Overdrive State Time property in Wind Turbine Asset Model", "hierarchyId": "Turbine Asset Model" } } ], "window": { "tumbling": { "interval": "5m" } } } } } ], "assetModelHierarchies": [ { "name": "Turbine Asset Model", "childAssetModelId": "ID of Wind Turbine Asset Model" } ] }