變量標簽 - 匠聯邊緣服務
變量標簽 - 匠聯邊緣服務(自研物聯網系統)
在物聯網系統中,變量標簽(Tags) 是實現設備與平臺之間高效、精準通信的核心要素。作為匠聯邊緣服務的重要組成部分,變量標簽定義了數據采集、傳輸與解析的規范,是設備通訊的直接依據。通過統一的標簽體系,我們能夠實現對不同協議、不同設備的數據無縫接入與管理。
一、什么是變量標簽?
變量標簽是對設備中可讀寫數據點的抽象描述,每一個標簽對應一個具體的物理量或控制參數,如溫度、濕度、電壓、開關狀態等。它不僅標識了數據的位置和類型,還包含了讀取方式、數據格式、單位、描述等元信息,為上層應用提供標準化的數據接口。
二、多協議支持與標簽格式設計
由于工業現場存在多種通信協議(如 Modbus、Snap7、MQTT、CAN 等),匠聯邊緣服務采用 JSON 格式的標簽配置 來靈活適配不同協議的數據結構。每種協議可根據其特性定義專屬的標簽編輯格式,確保數據解析的準確性與高效性。
目前系統已原生支持 Modbus 協議,并可通過擴展機制接入其他主流工業協議。
三、標簽配置樣例(Modbus 協議)
以下是一個典型的 Modbus 設備標簽配置示例,展示了如何通過 JSON 結構描述設備中的關鍵變量:
{
"Type": "ModbusMaster",
"ByteEndian": "BigEndian",
"WordEndian": "LittleEndian",
"DwordEndian": "BigEndian",
"Tags": {
"Temperature": {
"Register": "Holding",
"ModbusType": "Int16",
"Address": 0,
"Count": 4,
"DataType": "Double",
"Name": "溫度",
"Unit": "℃",
"Description": "設備當前環境溫度",
"Label": "溫度"
},
"Battery": {
"Register": "Holding",
"ModbusType": "Int16",
"Address": 2,
"Count": 4,
"DataType": "Double",
"Name": "電量",
"Unit": "%",
"Description": "電池剩余電量",
"Label": "電量"
}
}
}
四、字段詳解
1. 全局配置項
字段名 | 說明 |
---|---|
Type | 指定通信協議類型,如 ModbusMaster 表示 Modbus 主站模式。 |
ByteEndian | 字節序(大端/小端),影響字節內數據排列,可選 BigEndian 或 LittleEndian 。 |
WordEndian | 字序,用于多寄存器組合時的高低字順序,適用于 Float、Double 類型。 |
DwordEndian | 雙字序,針對 64 位數據類型的排列方式。 |
?? 注:字節序和字序的正確設置是保證數據解析正確的關鍵,需根據設備手冊嚴格匹配。
2. 標簽(Tags)內部字段說明
字段名 | 說明 |
---|---|
Register | 寄存器類型,如 Holding (保持寄存器)、Input (輸入寄存器)等。 |
ModbusType | Modbus 原始數據類型,如 Int16 , UInt32 , Float32 等。 |
Address | 起始地址(0 開始),表示該變量在寄存器中的偏移位置。 |
Count | 占用寄存器數量,例如 Float32 通常需要 2 個寄存器(即 Count: 2 )。 |
DataType | 實際轉換后的數據類型,如 Double , String , Boolean 等,用于平臺內部處理。 |
Name | 變量中文名稱,便于用戶識別。 |
Unit | 物理單位,如 ℃ , % , V , A 等,提升數據顯示可讀性。 |
Description | 變量詳細描述,用于維護和調試。 |
Label | 變量標簽名(英文標識符),作為系統內唯一引用名稱。 |
?