变量标签 - 匠联边缘服务
变量标签 - 匠联边缘服务(自研物联网系统)
在物联网系统中,变量标签(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 | 变量标签名(英文标识符),作为系统内唯一引用名称。 |