翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT SiteWise アセットモデルは、産業データの標準化を促進します。アセットモデルには、名前、説明、アセットプロパティ、およびアセット階層定義が含まれます。たとえば、気温、1 分あたりの回転数 (RPM) 、および電力特性を使用して風力タービンモデルを定義できます。次に、正味電力出力特性と風力タービンの階層定義を使用して、風力発電所モデルを定義できます。
注記
-
最下位レベルのノードから業務をモデル化することをお勧めします。たとえば、風力発電所モデルを作成する前に、風力タービンモデルを作成します。アセット階層定義には、既存のアセットモデルへの参照が含まれます。この方法により、モデルの作成時にアセット階層を定義できます。
-
アセットモデルに他のアセットモデルを含めることはできません。別のモデル内でサブアセンブリとして参照できるモデルを定義する必要がある場合は、代わりにコンポーネント-->モデルを作成する必要があります。詳細については、「コンポーネントモデルを作成する」を参照してください。
以下のセクションでは、 AWS IoT SiteWise コンソールまたは API を使用してアセットモデルを作成する方法について説明します。次のセクションでは、モデルの作成に使用できるさまざまなタイプのアセットプロパティとアセット階層についても説明します。
アセットモデルを作成する (コンソール)
AWS IoT SiteWise コンソールを使用してアセットモデルを作成できます。 AWS IoT SiteWise コンソールには、数式の自動補完など、有効なアセットモデルの定義に役立つさまざまな機能が用意されています。
アセットモデルを作成するには (コンソール)
AWS IoT SiteWise コンソール
に移動します。 ナビゲーションペインで、[Models (モデル) ] を選択します。
-
[モデルの作成] を選択します。
-
[モデルの作成] ページで、次の操作を行います。
-
アセットモデルの [名前] を入力します (
Wind Turbine
またはWind Turbine Model
など)。この名前は、このリージョンのアカウントのすべてのモデルで一意である必要があります。 -
(オプション) モデルの外部 ID を追加します。これはユーザー定義 ID です。詳細については、AWS IoT SiteWise ユーザーガイドの 外部 ID を持つリファレンスオブジェクトを参照してください。
-
(オプション) モデルの [測定の定義] を追加します。測定値は、機器からのデータストリームを表します。詳細については、「機器からのデータストリームを定義する (測定値) 」を参照してください。
-
(オプション) モデルの [定義を変換する] を追加します。変換とは、あるフォームから別のフォームにデータをマッピングするための数式です。詳細については、「データを変換する (変換) 」を参照してください。
-
(オプション) モデルの [メトリクスの定義] を追加します。メトリクスとは、時間間隔でのデータを集計する数式です。メトリクスは、関連するアセットからデータを入力できるため、オペレーションまたはオペレーションのサブセットを表す値をコンピューティングすることができます。詳細については、「プロパティおよびその他のアセットからのデータを集計する (メトリクス)」を参照してください。
-
(オプション) モデルの [階層の定義] を追加します。階層とは、アセット間の関係です。詳細については、「アセットモデルの階層を定義する」を参照してください。
-
(オプション) アセットモデルのタグを追加します。詳細については、「AWS IoT SiteWise リソースにタグを付ける」を参照してください。
-
[モデルの作成] を選択します。
アセットモデルを作成すると、 AWS IoT SiteWise コンソールは新しいモデルのページに移動します。このページで、モデルの [ステータス] が表示されます。このステータスは、最初は [作成中] です。このページは自動的に更新されるため、モデルのステータスが更新されるまで待つことができます。
注記
複雑なモデルの場合は、アセットモデルの作成プロセスに数分かかることがあります。アセットモデルの状態が[ACTIVE] (アクティブ) になると、アセットモデルを使用してアセットを作成できるようになります。詳細については、「アセットおよびモデルの状態」を参照してください。
-
-
(オプション) アセットモデルを作成したら、アセットモデルをエッジに設定することができます。SiteWise Edge の詳細については、「AWS IoT SiteWise Edge でエッジ機能を設定する」を参照してください。
-
モデルページで、[Configure for Edge] (エッジの設定) を選択します。
-
モデル設定ページで、モデルのエッジ設定を選択します。これにより、 がこのアセットモデルに関連付けられたプロパティを計算して保存 AWS IoT SiteWise できる場所が制御されます。エッジ用のモデルの設定については、SiteWise Edge で OPC UA ソースを設定する を参照してください。
-
カスタムエッジ設定で、各アセットモデルプロパティを AWS IoT SiteWise 計算して保存する場所を選択します。
注記
関連する変換とメトリクスは、同じ場所に設定されている必要があります。エッジ用のモデルの設定については、SiteWise Edge で OPC UA ソースを設定する を参照してください。
-
[Save] を選択します。モデルページで、[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)
-
asset-model-payload.json
という名前のファイルを作成して、次の JSON オブジェクトをファイルにコピーします。{ "assetModelType": "ASSET_MODEL", "assetModelName": "", "assetModelDescription": "", "assetModelProperties": [ ], "assetModelHierarchies": [ ], "assetModelCompositeModels": [ ] }
-
任意の JSON テキストエディタを使用して、以下の
asset-model-payload.json
ファイルを編集します。-
アセットモデルの名前 (
assetModelName
) を入力します (Wind Turbine
またはWind Turbine Model
など)。この名前は、この AWS リージョンのアカウントのすべてのアセットモデルとコンポーネントモデルで一意である必要があります。 -
(オプション) アセットモデルの外部 ID (
assetModelExternalId
) を入力します。これはユーザー定義 ID です。詳細については、AWS IoT SiteWise ユーザーガイドの 外部 ID を持つリファレンスオブジェクトを参照してください。 -
(オプション) アセットモデルの説明 (
assetModelDescription
) を入力するか、assetModelDescription
キーと値のペアを削除します。 -
(オプション) モデルのアセットプロパティ (
assetModelProperties
) を定義します。詳細については、「データのプロパティを定義する」を参照してください。 -
(オプション) モデルのアセット階層 (
assetModelHierarchies
) を定義します。詳細については、「アセットモデルの階層を定義する」を参照してください。 -
(オプション) モデルのアラームを定義します。アラームは、他のプロパティをモニタリングし、機器やプロセスに注意が必要な時期を特定することができます。各アラーム定義は、アラームが使用する一連のプロパティを標準化した複合モデル (
assetModelCompositeModels
) である。詳細については、でアラームを使用してデータをモニタリングする AWS IoT SiteWiseおよびでアセットモデルにアラームを定義する AWS IoT SiteWiseを参照してください。 -
(オプション) アセットモデルのタグ (
tags
) を追加します。詳細については、「AWS IoT SiteWise リソースにタグを付ける」を参照してください。
-
-
次のコマンドを実行して、JSON ファイルの定義からアセットモデルを作成します。
aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
このオペレーションは、アセットを作成するときに参照する
assetModelId
を含むレスポンスを返します。レスポンスには、モデルの状態 (assetModelStatus.state
) も含まれます。これは、最初はCREATING
です。アセットモデルのステータスは、変更が反映されるまでCREATING
です。注記
複雑なモデルの場合は、アセットモデルの作成プロセスに数分かかることがあります。アセットモデルの現在の状態をチェックするには、
assetModelId
を指定して DescribeAssetModel オペレーションを使用します。アセットモデルのステータスがACTIVE
になったら、アセットモデルを使用してアセットを作成できます。詳細については、「アセットおよびモデルの状態」を参照してください。 -
(オプション) アセットモデルのカスタム複合モデルを作成します。カスタム複合モデルでは、モデル内のプロパティをグループ化したり、コンポーネントモデルを参照してサブアセンブリを含めたりすることができます。詳細については、「カスタム複合モデルを作成する (コンポーネント)」を参照してください。
アセットモデルの例
このセクションでは、 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
"
}
]
}