- 數字孿生資源
- 數字孿生 - 快速指南
- 數字孿生 - 資源
- 數字孿生 - 討論
數字孿生 - 快速指南
數字孿生介紹
數字孿生是元宇宙概念的基石之一,與虛擬現實相關聯。數字孿生應用於各種企業應用中。它是一個物理物件或過程的虛擬模型,用於模擬現實世界的對應物。
下面的框圖描述了數字孿生工作的非常基本的模型:
數字孿生用於不同的目的。一些關鍵點列在下面:
- 預測效能 - 數字孿生用於模擬和預測物理產品的效能。
- 檢測錯誤 - 數字孿生從感測器獲取即時資料,監控執行並檢測錯誤。
- 決策制定 - 數字孿生模擬真實情況。它幫助組織做出更好的決策。
- 機器學習演算法 - 數字孿生使用機器學習演算法並處理大量的感測器資料。
- 遠端監控 - 數字孿生允許您控制和監控危險的工業裝置。
- 預防性維護 - 數字孿生用於對單個裝置或製造過程進行建模,以確定預防性維護的需求。
- 互操作性 - 數字孿生技術用於不同的企業應用。一些應用包括 CAD、PLM、ERP 等,企業資產系統用於管理和監控數字孿生的整合。
數字孿生的型別
數字孿生用於不同的表示形式,例如:
- 產品孿生是產品的數字表示。
- 資料孿生是 Google 地圖連結與即時資料的示例。
- 系統孿生是一個可以在物理和數字過程之間互動的模型。
- 基礎設施孿生是物理基礎設施(如高速公路、建築物等)的表示。
數字孿生的歷史
1969 年,NASA 增強了用於診斷損壞航天器問題的訓練模擬器。這是一個精確複製版本的數字孿生,用於 NASA 的研究和模擬目的。
數字孿生 - 示例專案
為了建立數字孿生,公司使用允許運行復雜監控的特定軟體。一些最流行的數字孿生軟體包括:
- Azure 數字孿生
- IBM 數字孿生交換
- AWS IoT TwinMaker
在本章中,我們將解釋如何使用 Azure 建立簡單的數字孿生例項。
使用 Azure 建立數字孿生例項
讓我們瞭解如何使用簡單的 CLI 命令在 Azure 中設定和建立例項。
先決條件
您必須擁有 Azure 訂閱,否則請建立一個免費帳戶。
設定 CLI 會話
首先,我們必須登入並將 CLI 上下文設定為本次會話的訂閱。命令如下所示:
az login az account set --subscription "<your-Azure-subscription-ID>"
註冊 Azure 數字孿生名稱空間
使用以下命令註冊 Azure 數字孿生名稱空間:
az provider register --namespace 'Microsoft.DigitalTwins'
新增 IoT 擴充套件
讓我們升級到最新版本的 IoT 服務,以啟用與 Azure 數字孿生互動的命令:
az extension add --upgrade --name azure-iot
執行此命令後,我們就可以連線到 Azure 數字孿生了。要驗證數字孿生命令:
az dt --help
Azure 數字孿生例項
我們需要設定使用 Azure 數字孿生例項所需的許可權。定義如下:
az dt show --dt-name <Azure-Digital-Twins-instance-name>
就是這樣。您現在已經瞭解瞭如何配置簡單的 Azure 數字孿生例項。同樣,您可以下載任何現有的模型並將輸入提供給該例項,以開發新模型。
數字孿生 - 架構
數字孿生技術支援構建和管理研發工作的複雜解決方案。讓我們瞭解簡單的架構。如下所示:
讓我們逐一簡要了解各個級別。
級別 1:啟用 IoT 的物理資產
這是架構的第一層。啟用 IoT 的物理資產就像感測器、軟體程式一樣,可以透過網際網路連線和交換資料。
級別 2:資料收集
收集資料是架構的第二層。資料是從不同的裝置(如感測器、IoT 裝置和舊記錄)收集的。這將有助於現實世界的場景。
級別 3:資料同步
同步資料是過程的第三層。它是即時實體的虛擬表示,並以特定頻率級別與之同步。
級別 4:資料處理和分析
處理資料並對其進行分析構成了架構的第四層。數字孿生執行多個模擬以識別不同情況下的過程。虛擬模型有助於模擬資料行為和效能。
級別 5:使用者介面
友好的使用者介面是架構的最後一層。它用於與使用者互動並從現實世界資料中收集反饋作為數字孿生的輸入。這是一個持續的過程。
數字孿生 - 命令列介面 (CLI)
數字孿生是基於模型定義建立的。我們已經瞭解瞭如何配置 Azure 數字孿生例項。在本章中,我們將解釋如何執行簡單的客戶端應用程式命令。讓我們逐一簡要了解這些命令。
建立命令
使用以下建立命令來建立數字孿生:
CreateDigitalTwin dtmi:example:Floor;1 floor0 FloorName string First
執行命令後,您可以在控制檯中看到以下響應:
CreateDigitalTwin dtmi:example:Floor;1 floor0 FloorName string First Preparing.. Submitting.. Twin 'floor0 created successfully!
更新命令
如果要更新數字孿生的任何更改,請使用以下命令。例如:
UpdateDigitalTwin floor0 add /FloorName string Second
執行此命令後,您可以在控制檯中看到以下響應:
twin was updated successfully.
如果要驗證更改,請執行以下命令:
GetDigitalTwin floor0
以上命令將在您的控制檯中反映更新後的名稱。
孿生圖
我們可以使用孿生圖在兩個孿生之間建立關係。它用於表示整個環境。現在讓我們再建立一個孿生:
CreateDigitalTwin dtmi:example:Room;1 room0 RoomName string FirstRoom
執行命令後,您可以在控制檯中看到以下響應:
CreateDigitalTwin dtmi:example:Room;1 room0 RoomName string FirstRoom Preparing.. Submitting.. Twin 'room0 created successfully!
現在,我們添加了另一個孿生。讓我們使用以下命令將這兩個孿生組合起來:
CreateRelationship floor0 contains room0 relationship0
上述命令從 floor 孿生到 room 孿生添加了“contains”關係。
執行命令後,您可以在控制檯中看到以下響應:
CreateRelationship floor0 contains room0 relationship Submitting.. Relationship relationship0 of type contains created successfully from floor0 to room0
我們可以使用以下命令驗證關係:
GetRelationships floor0
下面的框圖描述了這兩個孿生之間的關係:
查詢命令
要列出孿生圖中的所有環境問題,我們可以執行以下命令:
Query
以上命令顯示每個數字孿生及其詳細資訊。要列出所有數字孿生例項,請使用以下命令:
Select * from digitaltwins
清理資源
如果要清理數字孿生中的資源,請執行以下命令:
az group delete --name <'your-resource-group>
數字孿生 - DTDL
數字孿生技術使用設計、工程和啟用 IoT 的感測器在 ML 模型中收集和處理資料。它允許使用者建立和管理數字孿生模型。
數字孿生定義語言 (DTDL)
Microsoft 開發了數字孿生定義語言 (DTDL) 以幫助您以標準化方式建立物理資產和系統。它使用 JSON 的變體。它允許您連結到 JSON 物件。
DTDL 元模型類
元模型類用於描述物理實體的狀態和行為屬性。它是一個數字模板,描述了元素與物理實體關聯的方式的結構和規則。
屬性元模型類
屬性類使您可以表示不更改頻率的元素。讓我們瞭解車輛的簡單屬性元素。
"@type": "Property", "name": "vehicleNumber", "schema": "string"
這裡,“@type”用於定義資訊型別。“name”是使用者定義的名稱元素,“schema”是元素的資料型別。
DTDL 遙測元模型類
遙測類使您可以描述物理實體發出的資料。例如,車輛遙測元素如 airLevel、liquidLevel 等。
"@type": "Telemetry", "name": "airLevel", "schema":"integer"
DTDL 命令元模型
命令類使您可以描述物理實體執行的函式或操作。簡單的命令模型定義如下:
"@type": "Command",
"name": "reboot",
"request":{
"name":"rebootTime",
"schema": "dateTime"
}
"response":{
"name":"scheduledTime",
"schema": "dateTime"
}
這裡,CommandRequest描述命令的輸入,CommandResponse描述命令的輸出。
DTDL 關係元模型
它用於描述物理實體是如何連線在一起的。簡單的關係模型定義如下:
"@type": "Relationship", "name": "floor", "target": "dtmi:com:example:Floor;1"
DTDL 介面
介面描述任何數字孿生的內容。介面是可重用的,並且是另一個介面中元件的模式。在介面中,為在遙測、屬性和命令之間重用而定義了複雜的模式。
DTDL 陣列
陣列描述一個數據集合,其中每個元素都在相同的模式中定義。此外,模式可以定義為原始模式或複雜模式。簡單的示例定義如下:
"@type": "Telemetry",
"name": "fruits",
"schema":{
"@type":"Array",
"elementSchema": "string"
}
數字孿生是物理物件的虛擬表示。這些虛擬模型用於數字表示效能和設計解決方案,以改進其物理對應物。