

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

# 了解界面資產模型關係
<a name="interface-asset-model-relationship"></a>

介面和資產模型以互補關係一起運作：


**介面與資產模型**  

| 面向 | 介面 | 資產模型 | 
| --- | --- | --- | 
| 用途 | 定義標準並套用一致性 | 代表實體或邏輯資產 | 
| 資產建立 | 無法直接建立資產 | 用來建立資產 | 
| Properties | 定義必須在模型中實作的標準屬性 | 可以具有界面套用且唯一的屬性 | 
| 指標 | 定義標準計算 | 實作界面指標，並可能有其他指標 | 
| 階層 | 定義彙總指標的資料處理階層關係 | 定義資產關聯的實體階層關係 | 

當您將界面套用至資產模型時：
+ 資產模型必須對應界面中定義的所有屬性。
+ 屬性映射會定義介面屬性如何對應至資產模型屬性。
+ 映射的資產模型屬性必須與其對應的介面屬性保持同步，且無法以會導致兩者之間不一致的方式修改。
+ 未映射的界面屬性會在資產模型中自動建立。
+ 資產模型可以具有超出界面中定義屬性的其他屬性。
+ 資產模型實作界面指標。界面指標的變更會使用界面傳播到所有資產模型。
+ 介面階層用於運算彙總指標。資產模型階層可以獨立定義，服務會在運算彙總指標時自動映射它們。

這種關係可確保標準化，同時允許代表各種設備類型所需的彈性。

## 標準化現有的資產模型
<a name="interface-standardize-existing"></a>

雖然介面在從頭開始設計新的資產模型時非常有用，但對於標準化可能隨時間獨立發展的現有資產模型也同樣強大。

使用現有的資產模型時，您可以套用界面來標準化指標和屬性：

1. 識別現有資產模型中的常見指標和屬性

1. 建立定義這些標準屬性和指標的界面

1. 使用屬性映射將界面套用至現有的資產模型

1. 使用彙總指標來彙總資產階層中的資料

例如，如果您現有的 CNC 機器資產模型具有不同的屬性名稱，但資料類似，例如 `temp_celsius`、`temperature_c`、`machine_temp`)，您可以：

1. `CNC-INTERFACE` 使用標準化`Temperature-in-C`屬性建立

1. 將此界面套用至每個 CNC 資產模型，將現有的溫度屬性映射至界面的 `Temperature-in-C` 屬性

1. 在計算所有機器統計資料的界面中定義彙總指標 （例如平均溫度）

此方法可讓您維護現有的資產模型，同時獲得標準化和簡化指標計算的優勢。

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

介面階層  
定義跨不同界面計算和彙總資料的關係。例如，在工廠設定中，界面階層可以連接不同層級的溫度監控界面，以計算平均溫度。例如：機器、生產線和設施。當您定義像 的彙總指標時`AverageTemperature`，界面階層會決定該指標如何將資料從較低層級彙總到較高層級。

資產模型階層  
代表資產的實際實體或邏輯結構。例如，CNC 機器資產模型可能是生產線資產模型的一部分，而後者又屬於工廠資產模型。此階層會反映真實世界的關係，並協助以符合實體配置或業務結構的方式組織資產。與界面階層結合時，資產模型階層可協助系統了解彙總計算中應包含哪些資產。

這兩種階層類型一起運作：界面階層定義了如何運算彙總指標，而資產模型階層則定義哪些特定資產應包含在這些計算中。

## 介面指標和彙總計算
<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` 參數指定要用於彙總的階層。

將此界面套用至資產模型時，彙總指標會自動彙總符合階層映射之所有子資產的資料。