

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

# インターフェイスとアセットのモデル関係を理解する
<a name="interface-asset-model-relationship"></a>

インターフェイスとアセットモデルは補完的な関係で連携します。


**インターフェイスとアセットモデル**  

| 側面 | インターフェイス | アセットモデル | 
| --- | --- | --- | 
| 目的 | 標準を定義し、整合性を適用する | 物理アセットまたは論理アセットを表す | 
| アセットの作成 | アセットを直接作成することはできません | アセットの作成に使用されます | 
| プロパティ | モデルに実装する必要がある標準プロパティを定義する | インターフェイス適用された一意のプロパティを持つことができます | 
| メトリクス | 標準計算を定義する | インターフェイスメトリクスを実装し、追加のメトリクスを含めることができます | 
| 階層 | ロールアップメトリクスのデータ計算の階層関係を定義する | アセットの関連付けの物理的な階層関係を定義する | 

インターフェイスをアセットモデルに適用する場合:
+ アセットモデルは、インターフェイスで定義されたすべてのプロパティをマッピングする必要があります。
+ プロパティマッピングは、インターフェイスプロパティがアセットモデルプロパティにどのように対応するかを定義します。
+ マッピングされたアセットモデルプロパティは、対応するインターフェイスプロパティと同期されたままにする必要があり、両者の不整合を引き起こすような方法で変更することはできません。
+ マッピングされていないインターフェイスプロパティは、アセットモデルに自動的に作成されます。
+ アセットモデルには、インターフェイスで定義されているプロパティ以外の追加のプロパティを含めることができます。
+ アセットモデルはインターフェイスメトリクスを実装します。インターフェイスメトリクスの変更は、インターフェイスを使用してすべてのアセットモデルに反映されます。
+ インターフェイス階層はロールアップメトリクスの計算に使用されます。アセットモデルの階層は個別に定義でき、ロールアップメトリクスを計算するときにサービスによって自動的にマッピングされます。

この関係により、さまざまな機器タイプを表すために必要な柔軟性を実現しながら、標準化が保証されます。

## 既存のアセットモデルを標準化する
<a name="interface-standardize-existing"></a>

インターフェイスは新しいアセットモデルをゼロから設計する場合に重要ですが、時間の経過とともに独立して進化した可能性のある既存のアセットモデルを標準化する場合にも同様に強力です。

既存のアセットモデルを使用する場合、インターフェイスを適用してメトリクスとプロパティを標準化できます。

1. 既存のアセットモデル全体で一般的なメトリクスとプロパティを特定する

1. これらの標準プロパティとメトリクスを定義する インターフェイスを作成する

1. プロパティマッピングを使用して既存のアセットモデルにインターフェイスを適用する

1. ロールアップメトリクスを使用してアセット階層全体でデータを集約する

たとえば、プロパティ名は異なるが、`temp_celsius`、、 などの類似データを持つ既存の CNC `temperature_c`マシンアセットモデルがある場合、次の`machine_temp`ことができます。

1. 標準化された`Temperature-in-C`プロパティ`CNC-INTERFACE`を使用して を作成する

1. このインターフェイスを各 CNC アセットモデルに適用し、既存の温度プロパティをインターフェイスの `Temperature-in-C`プロパティにマッピングします。

1. すべてのマシンの統計を計算するインターフェイスでロールアップメトリクスを定義する (平均温度など)

このアプローチにより、標準化と簡略化されたメトリクス計算の利点を得ながら、既存のアセットモデルを維持できます。

## 階層関係
<a name="interface-asset-model-hierarchies"></a>

インターフェイス階層  
さまざまなインターフェイス間でデータを計算および集計するための関係を定義します。たとえば、工場出荷時の設定では、インターフェイス階層は温度モニタリングインターフェイスをさまざまなレベルで接続して平均温度を計算できます。例: マシン、生産ライン、施設。などのロールアップメトリクスを定義すると`AverageTemperature`、インターフェイス階層によって、そのメトリクスが下位レベルから上位レベルにデータを集約する方法が決まります。

アセットモデル階層  
アセットの実際の物理構造または論理構造を表します。例えば、CNC マシンアセットモデルは生産ラインアセットモデルの一部であり、工場アセットモデルに属している可能性があります。この階層は現実世界の関係を反映し、物理的な配置やビジネス構造に合った方法でアセットを整理するのに役立ちます。インターフェイス階層と組み合わせると、アセットモデルの階層は、ロールアップ計算に含めるアセットをシステムが理解するのに役立ちます。

これら 2 つの階層タイプは連携します。インターフェイス階層は集約されたメトリクスを計算する方法を定義し、アセットモデル階層はそれらの計算に含める特定のアセットを定義します。

## インターフェイスメトリクスとロールアップ計算
<a name="interface-metrics-integration"></a>

インターフェイスは、さまざまなアセットモデルに適用できる標準化されたメトリクスの定義に優れています。これは、複数のアセットからデータを集約するロールアップメトリクスに特に役立ちます。

インターフェイスでメトリクスを定義すると、インターフェイスを実装するすべてのアセットモデルに自動的に適用されます。メトリクスは、インターフェイスで定義されたプロパティを参照し、集計関数を使用してアセット全体の統計を計算し、すべての実装アセットモデルで一貫した計算を行うことができます。例えば、インターフェイスでアベイラビリティーメトリクスを定義して、合計時間に対する実行時間の比率を計算できます。

```
{
  "name": "Availability",
  "dataType": "DOUBLE",
  "type": {
    "metric": {
      "expression": "Running-time / (Running-time + Down-time) * 100",
      "variables": [
        {
          "name": "Running-time",
          "value": {
            "propertyId": "${Running-time}"
          }
        },
        {
          "name": "Down-time",
          "value": {
            "propertyId": "${Down-time}"
          }
        }
      ],
      "window": {
        "tumbling": {
          "interval": "1h"
        }
      }
    }
  },
  "unit": "Percent"
}
```

このインターフェイスを複数のアセットモデルに適用すると、基盤となるプロパティ名が異なっていても (プロパティマッピングのおかげで）、可用性メトリクスはすべてについて一貫して計算されます。

メトリクスの定義と集計関数の使用の詳細については、「」を参照してください[プロパティおよびその他のアセットからのデータを集計する (メトリクス)](metrics.md)。

### インターフェイスを使用したメトリクスのロールアップ
<a name="interface-rollup-metrics-subsection"></a>

インターフェイスは、階層内のアセット間でデータを集約するロールアップメトリクスを定義することもできます。インターフェイスで階層を定義してアセットモデルに適用すると、子アセットからデータを集約するメトリクスを作成できます。

たとえば、ファクトリ内のすべての CNC マシンの平均温度を計算するメトリクスを定義できます。

```
{
  "name": "AverageTemperature",
  "dataType": "DOUBLE",
  "type": {
    "metric": {
      "expression": "avg(Temperature-in-C)",
      "variables": [
        {
          "name": "Temperature-in-C",
          "value": {
            "propertyId": "${Temperature-in-C}",
            "hierarchyId": "${CNC-machines}"
          }
        }
      ],
      "window": {
        "tumbling": {
          "interval": "1h"
        }
      }
    }
  },
  "unit": "Celsius"
}
```

このメトリクスは、`avg()`集計関数を使用して、階層内のすべての CNC マシンの平均温度を計算します。`hierarchyId` パラメータは、集約に使用する階層を指定します。

このインターフェイスがアセットモデルに適用されると、ロールアップメトリクスは階層マッピングに一致するすべての子アセットのデータを自動的に集計します。