アセットモデルを作成する - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アセットモデルを作成する

AWS IoT SiteWise アセットモデルは、産業データの標準化を促進します。アセットモデルには、名前、説明、アセットプロパティ、およびアセット階層定義が含まれます。たとえば、気温、1 分あたりの回転数 (RPM) 、および電力特性を使用して風力タービンモデルを定義できます。次に、正味電力出力特性と風力タービンの階層定義を使用して、風力発電所モデルを定義できます。

注記
  • 最下位レベルのノードから業務をモデル化することをお勧めします。たとえば、風力発電所モデルを作成する前に、風力タービンモデルを作成します。アセット階層定義には、既存のアセットモデルへの参照が含まれます。この方法により、モデルの作成時にアセット階層を定義できます。

  • アセットモデルに他のアセットモデルを含めることはできません。別のモデル内でサブパーティクルとして参照できるモデルを定義する必要がある場合は、代わりにコンポーネント--> モデルを作成する必要があります。詳細については、「コンポーネントモデルの作成」を参照してください。

以下のセクションでは、 AWS IoT SiteWise コンソールまたは API を使用してアセットモデルを作成する方法について説明します。次のセクションでは、モデルの作成に使用できるさまざまなタイプのアセットプロパティとアセット階層についても説明します。

アセットモデルを作成する (コンソール)

AWS IoT SiteWise コンソールを使用してアセットモデルを作成できます。 AWS IoT SiteWise コンソールには、有効なアセットモデルの定義に役立つ式の自動補完など、さまざまな機能が用意されています。

アセットモデルを作成するには (コンソール)
  1. AWS IoT SiteWise コンソールに移動します。

  2. ナビゲーションペインで、[Models (モデル) ] を選択します。

  3. [モデルの作成] を選択します。

  4. [モデルの作成] ページで、次の操作を行います。

    1. アセットモデルの [名前] を入力します (Wind Turbine または Wind Turbine Model など)。この名前は、このリージョンのアカウントのすべてのモデルで一意である必要があります。

    2. (オプション) モデルの外部 ID を追加します。これはユーザー定義の ID です。詳細については、AWS IoT SiteWise  ユーザーガイドの 外部 IDs を持つオブジェクトの参照を参照してください。

    3. (オプション) モデルの [測定の定義] を追加します。測定値は、機器からのデータストリームを表します。詳細については、「機器からのデータストリームの定義 (測定値) 」を参照してください。

    4. (オプション) モデルの [定義を変換する] を追加します。変換とは、あるフォームから別のフォームにデータをマッピングするための数式です。詳細については、「データの変換 (変換) 」を参照してください。

    5. (オプション) モデルの [メトリクスの定義] を追加します。メトリクスとは、時間間隔でのデータを集計する数式です。メトリクスは、関連するアセットからデータを入力できるため、オペレーションまたはオペレーションのサブセットを表す値をコンピューティングすることができます。詳細については、「プロパティおよびその他のアセットのデータ (指標) の集計」を参照してください。

    6. (オプション) モデルの [階層の定義] を追加します。階層とは、アセット間の関係です。詳細については、「アセットモデル階層の定義」を参照してください。

    7. (オプション) アセットモデルのタグを追加します。詳細については、「リソースにタグを付ける AWS IoT SiteWise」を参照してください。

    8. [モデルの作成] を選択します。

    アセットモデルを作成すると、 AWS IoT SiteWise コンソールは新しいモデルのページに移動します。このページで、モデルの [ステータス] が表示されます。このステータスは、最初は [作成中] です。このページは自動的に更新されるため、モデルのステータスが更新されるまで待つことができます。

    注記

    複雑なモデルの場合は、アセットモデルの作成プロセスに数分かかることがあります。アセットモデルの状態が[ACTIVE] (アクティブ) になると、アセットモデルを使用してアセットを作成できるようになります。詳細については、「アセットおよびモデルの状態」を参照してください。

  5. (オプション) アセットモデルを作成したら、アセットモデルをエッジに設定することができます。 SiteWise Edge の詳細については、「」を参照してくださいエッジデータ処理を有効にする。

    1. モデルページで、[Configure for Edge] (エッジの設定) を選択します。

    2. モデル設定ページで、モデルのエッジ設定を選択します。これにより、 がこのアセットモデルに関連付けられたプロパティを計算して保存 AWS IoT SiteWise できる場所が制御されます。エッジ用のモデルの設定については、エッジ機能の設定。 を参照してください。

    3. カスタムエッジ設定 で、各アセットモデルプロパティ AWS IoT SiteWise を計算して保存する場所を選択します。

      注記

      関連する変換とメトリクスは、同じ場所に設定されている必要があります。エッジ用のモデルの設定については、エッジ機能の設定。 を参照してください。

    4. [保存] を選択します。モデルページで、[Edge configuration] (Edgeの設定) が[Configured] (設定済み) になっていることを確認します。

アセットモデルの作成 (AWS CLI)

AWS Command Line Interface (AWS CLI) を使用してアセットモデルを作成できます。

CreateAssetModel オペレーションを使用して、プロパティと階層を持つアセットモデルを作成します。このオペレーションでは、次の構造を持つペイロードが必要です。

{ "assetModelType": "ASSET_MODEL", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition }
アセットモデルを作成するには (AWS CLI)
  1. asset-model-payload.json という名前のファイルを作成して、次の JSON オブジェクトをファイルにコピーします。

    { "assetModelType": "ASSET_MODEL", "assetModelName": "", "assetModelDescription": "", "assetModelProperties": [ ], "assetModelHierarchies": [ ], "assetModelCompositeModels": [ ] }
  2. 任意の JSON テキストエディタを使用して、以下の asset-model-payload.json ファイルを編集します。

    1. アセットモデルの名前 (assetModelName) を入力します (Wind Turbine または Wind Turbine Model など)。この名前は、この のアカウント内のすべてのアセットモデルとコンポーネントモデルで一意である必要があります AWS リージョン。

    2. (オプション) アセットモデルの外部 ID (assetModelExternalId) を入力します。これはユーザー定義の ID です。詳細については、AWS IoT SiteWise  ユーザーガイドの 外部 IDs を持つオブジェクトの参照を参照してください。

    3. (オプション) アセットモデルの説明 (assetModelDescription) を入力するか、assetModelDescription キーと値のペアを削除します。

    4. (オプション) モデルのアセットプロパティ (assetModelProperties) を定義します。詳細については、「データのプロパティを定義する。」を参照してください。

    5. (オプション) モデルのアセット階層 (assetModelHierarchies) を定義します。詳細については、「アセットモデル階層の定義」を参照してください。

    6. (オプション) モデルのアラームを定義します。アラームは、他のプロパティをモニタリングし、機器やプロセスに注意が必要な時期を特定することができます。各アラーム定義は、アラームが使用する一連のプロパティを標準化した複合モデル (assetModelCompositeModels) である。詳細については、「アラームによるデータのモニタリング。」および「アセットモデルにおけるアラームの定義」を参照してください。

    7. (オプション) アセットモデルのタグ (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 になったら、アセットモデルを使用してアセットを作成できます。詳細については、「アセットおよびモデルの状態」を参照してください。

  4. (オプション) アセットモデルのカスタム複合モデルを作成します。カスタム複合モデルでは、モデル内のプロパティをグループ化したり、コンポーネントモデルを参照してサブパーティクルを含めたりできます。詳細については、「カスタム複合モデルの作成 (コンポーネント)」を参照してください。

アセットモデルの例

このセクションでは、 AWS CLI および AWS IoT SiteWise SDKs。これらのアセットモデルは、風力タービンと風力発電所を表しています。風力タービンは、センサーの生データを取り込み、電力や平均風速などの値を算出する。風力発電アセットでは、風力発電所内のすべての風車の総電力量などを算出します。

風力タービンアセットモデル

次のアセットモデルは、風力発電所のタービンを表しています。風力タービンはセンサーのデータを取り込み、電力や平均風速などの値を算出する。

注記

このサンプルモデルは、 AWS IoT SiteWise デモの風力タービンモデルに似ています。詳細については、「AWS IoT SiteWise デモを使う」を参照してください。

{ "assetModelType": "ASSET_MODEL", "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": [] }

風力発電所アセットモデル

次のアセットモデルは、複数の風力タービンで構成される風力発電所を表しています。このアセットモデルは、風力タービンモデルへの[hierarchy] (階層) を定義しています。これにより、風力発電所は、風力発電所内のすべての風力タービンのデータから値 (平均電力など) を計算できます。

注記

このサンプルモデルは、 AWS IoT SiteWise デモの風力発電所モデルに似ています。詳細については、「AWS IoT SiteWise デモを使う」を参照してください。

このアセットモデルは、風力タービンアセットモデル によって異なります。propertyId および childAssetModelId の値を、既存の風力タービンアセットモデルの値に置き換えます。

{ "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 Overdrive State Time 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 Average Power 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" } ] }