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