物模型包括屬性、事件和服務。裝置與物聯網平台之間,可通過物模型實現多情境訊息通訊。本文介紹如何在物聯網平台定義物模型。
前提條件
已建立產品。具體操作,請參見建立產品。
使用限制
物模型需要在模組中配置,每個產品中預設模組和自訂模組總個數不能超過200個。
如果產品發行,不能編輯物模型。如需編輯物模型,需先撤銷產品發布。
可以編輯物模型歷史版本,產生新的版本。
同一物模型最多儲存最近的10個版本,多餘的歷史版本將被覆蓋。
物模型編輯後,需發布才會正式生效。
定義物模型的更多使用限制,請參見使用限制。
添加自訂模組
當您需要不同模組管理物模型功能時,可添加自訂模組管理不同業務情境的物模型功能。
登入物聯網平台控制台。
在控制台左上方,選擇物聯網平台所在地區。
在執行個體概覽頁簽的全部環境下,找到對應的執行個體,單擊執行個體卡片。
在左側導覽列,選擇 。在產品列表中,單擊產品對應操作列的查看。
在產品詳情頁面,單擊功能定義頁簽,然後單擊前往編輯草稿。
單擊添加表徵圖,完成參數配置,單擊確認。
參數
說明
模組名稱
支援中文、英文字母、日文、數字和底線(_),長度限制為4~30個字元,一個中文、一個日文算1個字元。
模組標識符
模組唯一識別碼,也是模組ID,在產品中具有唯一性。支援英文大小寫字母、數字和底線(_),長度限制為30個字元。
模組描述
輸入文字,對模組進行說明或備忘。長度限制為4096個字元。
添加自訂模組後,如果沒有添加物模型並發布上線,返回功能定義頁簽,左側模組列表不會展示該自訂模組。
添加物模型功能
在產品詳情頁面,單擊功能定義頁簽,然後單擊前往編輯草稿,單擊預設模組或添加模組。
可選:從歷史版本下拉式功能表選擇要編輯的歷史版本,再單擊恢複此版本,在歷史版本的基礎上編輯草稿。
添加自訂功能。
選擇添加自訂功能。您可以為產品自訂屬性、服務和事件。
自訂屬性:在添加自訂功能對話方塊,選擇功能類型為屬性。設定參數完成後,單擊確認。
屬性參數設定說明如下表。
參數
描述
功能名稱
屬性的名稱,例如:用電量。同一產品下功能名稱不能重複。
支援中文、英文字母、日文、數字、短劃線(-)、底線(_)、正斜線(/)和英文句號(.),且必須以中文、英文、日文或數字開頭,不超過30個字元。
標識符
屬性唯一識別碼,在產品中具有唯一性。即Alink JSON格式中的identifier的值,作為裝置上報該屬性資料的Key,雲端根據該標識符校正是否接收資料。支援英文、數字和底線(_),不超過50個字元,例如:PowerConsumption。
說明不能用以下系統保留參數作為標識符:set、get、post、property、event、time、value。
資料類型
int32:32位整型。需定義取值範圍、步長和單位符號。
float:單精確度浮點型。需定義取值範圍、步長和單位符號。
double:雙精確度浮點型。需定義取值範圍、步長和單位符號。
enum:枚舉型。定義枚舉項的參數值和參數描述,例如:1表示加熱模式、2表示製冷模式。
bool:布爾型。採用0或1來定義布爾值,例如:0表示關、1表示開。
text:字串。需定義字串的資料長度,最長支援10240位元組。
date:時間戳記。格式為String類型的UTC時間戳記,單位:毫秒。
struct:JSON對象。定義一個JSON結構體,新增JSON參數項,例如:定義燈的顏色是由Red、Green、Blue三個參數組成的結構體。不支援結構體嵌套。
array:數組。需聲明數組內的元素類型、數組元素個數。元素類型可選擇int32、float、double、text或struct,需確保同一個數組元素類型相同。元素個數,限制1~512個。
說明當裝置協議為Modbus時,無需設定該參數。
取值範圍
資料類型為int32、float、double時,可設定屬性值的取值範圍。
步長
屬性值變化的最小粒度。資料類型為int32、float、double時,可根據您的業務需要設定步長。
例如:為溫度計產品定義溫度屬性時,將資料類型設定為int32,步長為2,單位為℃,取值範圍0~100。即溫度每變化兩度,裝置上報溫度值,例如:0℃、2℃、4℃、6℃、8℃等。
單位
單位可選擇為無,或根據實際情況選擇。
讀寫類型
讀寫:請求讀寫的方法支援GET(擷取)和SET(設定)。
唯讀:請求唯讀方法僅支援GET(擷取)。
說明當接入網關協議為Modbus時,無需設定該參數。
描述
輸入文字,對該功能進行說明或備忘。長度限制為100個字元。
擴充描述
擴充描述為裝置通訊協定到標準物模型的映射關係。對應物模型TSL中的物模型擴充配置。
僅節點類型為網關子裝置且接入網關協議為自訂、OPC UA或Modbus的產品,添加物模型屬性時,顯示且需填寫該參數。
接入網關協議為自訂時,填寫JSON格式的自訂配置資訊,長度限制為1024個字元。
接入網關協議為OPC UA時,設定節點名稱。節點名稱需保證屬性維度下唯一。
接入網關協議為Modbus時,需設定以下參數:
操作類型:
離散量輸入(唯讀,0x02)
線圈狀態(唯讀,0x01)
線圈狀態(讀寫,讀取使用0x01,寫入使用0x05)
線圈狀態(讀寫,讀取使用0x01,寫入使用0x0F)
線圈狀態(唯寫,0x05)
線圈狀態(唯寫,0x0F)
保持寄存器(唯讀,0x03)
保持寄存器(讀寫,讀取使用0x03,寫入使用0x06)
保持寄存器(讀寫,讀取使用0x03,寫入使用0x10)
保持寄存器(唯寫,0x06)
保持寄存器(唯寫,0x10)
輸入寄存器(唯讀,0x04)
寄存器地址:十六進位,必須以
0x
開頭,且限制範圍是0x0~0xFFFF
,例如:0xFE
。未經處理資料類型:支援int16、uint16、int32、uint32、int64、uint64、float、double、string、bool、bits。
位元位置:未經處理資料類型選擇bits時的參數。選擇資料對應的位置。
取值範圍:這是未經處理資料經過縮放因子處理之後的取值範圍。不在該取值範圍內的資料會被丟棄。物聯網平台已為各操作類型設定了預設取值範圍:
線圈狀態類型:0~1
離散量輸入類型:0~1
保持寄存器類型:-2147483648~2147483647
輸入寄存器類型:-2147483648~2147483647
交換寄存器內高低位元組:是否把寄存器內16位元據的前後8個bit互換(byte1byte2 -> byte2byte1)。
true:互換。
false:不互換。
交換寄存器順序:是否把未經處理資料32位元據的前後16個bit互換(byte1byte2byte3byte4 -> byte3byte4byte1byte2)。
true:互換。
false:不互換。
縮放因子:整型或浮點型數字,預設值為1,不可以為0,不可以為負數。
資料上報方式:可選按時上報和變更上報。
自訂服務:在添加自訂功能對話方塊,選擇功能類型為服務。設定參數完成後,單擊確認。
說明接入網關的協議選擇為Modbus時,不支援定義任何服務。
服務參數設定說明如下表。
參數
描述
功能名稱
服務名稱。支援中文、英文字母、日文、數字、短劃線(-)、底線(_)、正斜線(/)和英文句號(.),且必須以中文、英文、日文或數字開頭,不超過30個字元。
標識符
服務唯一識別碼,在產品下具有唯一性。即Alink JSON格式中該服務的identifier的值。支援英文、數字和底線(_),不超過50個字元。
說明不能用以下系統保留參數作為標識符:set、get、post、property、event、time、value。
調用方式
非同步:服務為非同步呼叫時,雲端執行調用後直接返回結果,不會等待裝置的回複訊息。
同步:服務為同步調用時,雲端會等待裝置回複;若裝置沒有回複,則調用逾時。
輸入參數
設定該服務的入參,可選。
單擊增加參數,在彈窗對話方塊中添加服務入參。
當接入網關協議為OPC UA時,需設定參數索引,用於標記參數的順序。
說明不能用以下系統保留參數作為輸入參數的標識符:set、get、post、property、event、time、value。
您可以使用某個屬性作為入參,也可以自訂參數。例如:在定義自動噴灌服務功能時,將已定義的屬性噴灌時間和噴灌量作為自動噴灌服務的入參,則調用該參數時傳入這兩個參數,噴灌裝置將按照設定的噴灌時間和噴灌量自動進行精準灌溉。
一個服務最多支援定義20個入參。
輸出參數
設定該服務的出參,可選。
單擊增加參數,在彈窗對話方塊中添加服務出參。
當接入網關協議為OPC UA時,需設定參數索引,用於標記參數的順序。
說明不能用以下系統保留參數作為輸出參數的標識符:set、get、post、property、event、time、value。
您可以使用某個屬性作為出參,也可以自訂參數,例如:將已定義的屬性土壤濕度作為出參,則雲端調用自動噴灌服務時,將返回當前土壤濕度的資料。
一個服務最多支援定義20個出參。
擴充描述
擴充描述為裝置通訊協定到標準物模型的映射關係。對應物模型TSL中的物模型擴充配置。
僅節點類型為網關子裝置且接入網關協議為自訂或OPC UA的產品,添加物模型時,顯示且需增加擴充描述。
接入網關協議為自訂時,需傳入JSON格式的自訂配置,長度不超過1024個字元。
接入網關協議為OPC UA時,設定節點名稱。節點名稱需保證服務維度下唯一。
描述
輸入文字,對該服務功能進行說明或備忘。長度限制為100個字元。
自訂事件:在添加自訂功能對話方塊,選擇功能類型為事件。設定參數完成後,單擊確認。
說明接入網關的協議選擇為Modbus時,不支援定義任何事件。
事件參數設定說明如下。
參數
描述
功能名稱
事件的名稱。支援中文、英文字母、日文、數字、短劃線(-)、底線(_)、正斜線(/)和英文句號(.),且必須以中文、英文、日文或數字開頭,不超過30個字元。
標識符
事件唯一識別碼,在產品下具有唯一性。即Alink JSON格式中該事件的identifier的值,作為裝置上報該事件數目據的Key,例如:ErrorCode。 支援英文、數字和底線(_),不超過50個字元。
說明不能用以下系統保留參數作為標識符:set、get、post、property、event、time、value。
事件類型
您可以針對不同的事件類型進行商務邏輯處理和統計分析。
資訊:指裝置上報的一般性通知,例如:完成某項任務。
警示:裝置運行過程中主動上報的突發或異常情況,警示類資訊,優先順序高。
故障:裝置運行過程中主動上報的突發或異常情況,故障類資訊,優先順序高。
輸出參數
該事件的出參。單擊增加參數,在彈窗對話方塊中添加一個服務出參。您可以使用某個屬性作為出參,也可以自訂參數。例如:將已定義的屬性電壓作為出參,則裝置上報該故障事件時,將攜帶當前裝置的電壓值,用於進一步判斷故障原因。
當接入網關協議為OPC UA時,需設定參數索引,用於標記參數的順序。
說明不能用以下系統保留參數作為輸出參數的標識符:set、get、post、property、event、time、value。
一個事件最多支援定義50個出參。
擴充描述
擴充描述為裝置通訊協定到標準物模型的映射關係。對應物模型TSL中的物模型擴充配置。
僅節點類型為網關子裝置且接入網關協議為自訂或OPC UA的產品,添加物模型時,顯示且需增加擴充描述。
接入網關協議為自訂時,需傳入JSON格式的自訂配置,長度不超過1024個字元。
接入網關協議為OPC UA時,設定節點名稱。節點名稱需保證事件維度下唯一。
描述
輸入文字,對該事件功能進行說明或備忘。長度限制為100個字元。
發布物模型
物模型發布後,才會正式生效。
單擊功能定義的編輯草稿頁面左下方的發布上線。控制台頁面會彈出發布物模型上線?對話方塊。
可選:單擊添加發布備忘,輸入版本號碼和版本描述。
參數
說明
版本號碼
設定當前物模型版本號碼。後期可根據版本號碼管理物模型。
版本號碼支援英文字母、數字和英文句號(.),長度限制1~16個字元。
版本描述
描述目前的版本物模型。支援中文漢字、英文字母、日文、數字和特殊符號。長度限制為100個字元。一個中文漢字算一個字元;一個日文算一個字元。
如果存在已上線的版本,則需要進行比對,確認新版本的修改點。
單擊比對結果,在比對結果對話方塊中查看修改點。確認無誤後,單擊確認查閱,回到發布物模型上線對話方塊,自動選中“確認已檢視目前的版本與線上版本的比對結果”前的複選框。
如果不需要比對,您可直接手動選中“確認已檢視目前的版本與線上版本的比對結果”前的複選框。
單擊確定,完成物模型的發布。
發布物模型成功後,會直接返回產品詳情頁面的功能定義頁簽,您可看到當前物模型的版本號碼和上線時間。
執行結果
物模型發布後,物聯網平台為該產品產生正式版本的物模型。在產品詳情頁面的功能定義頁簽下,您可以:
單擊物模型TSL,查看JSON格式的物模型TSL。
相關API
API | 描述 |
為指定產品的物模型新增功能,支援定義物模型擴充描述。 | |
查看指定產品的物模型中的功能定義詳情。 | |
複製指定產品的物模型到目標產品。 | |
發布指定產品的物模型。 | |
擷取物聯網平台預定義的產品品類列表。 | |
查詢指定品類的標準物模型資訊。 | |
擷取指定產品的物模型歷史版本列表。 | |
查詢指定產品的物模型。 | |
為指定產品匯入物模型TSL,暫不支援擴充描述配置。 | |
查看指定產品的發行物模型中的功能定義詳情。 | |
查詢指定產品的發行物模型TSL。 | |
匯出指定產品的物模型擴充描述配置。 | |
匯出發行物模型的擴充描述配置。 |
後續操作
產品下裝置上報的物模型資料預設會自動寫入熱資料存放區空間,您可根據實際業務需要,停止部分或全部物模型的熱資料存放區服務。具體內容,請參見關閉或開啟物模型資料存放區。