Appearance
因子数据字段说明
本文档详细说明了因子数据的各个字段含义和数据结构,帮助您理解和使用因子相关API。
字段定义
字段说明
下表列出了因子数据中的所有字段及其含义。这些字段在创建、更新和查询因子时使用。
| 字段 | 类型 | 说明 |
|---|---|---|
pk | integer | 因子主键ID,系统自动生成 |
device | integer | 设备ID,表示因子所属的设备 |
name | string | 因子名称,用户自定义 |
unit | integer | Modbus 从站地址,通常为1-255之间的整数 |
address | integer | 寄存器地址,用于定位数据在设备中的存储位置 |
the_type | integer | 因子类型代码,请参考 因子类型定义 |
the_type_detail | object | 因子类型详细信息,包含名称、单位和图标 |
data_endian | string | 数据大小端,">"表示大端(Big-Endian),"<"表示小端(Little-Endian) |
data_endian_display | string | 数据大小端的显示名称 |
data_type | string | 数据类型,如:int8/int16/uint16/float等 |
data_type_display | string | 数据类型的显示名称 |
data_index | integer | 数据读取索引,用于区分同一地址的不同数据点 |
modbus_type | integer | Modbus寄存器类型,1=线圈(Coil),2=离散输入(Discrete Input),3=保持寄存器(Holding Register),4=输入寄存器(Input Register) |
modbus_type_display | string | Modbus寄存器类型的显示名称 |
data_factor | float | 数据因子,用于数据转换,实际值 = 原始值 × 因子 + 差值 |
data_delta | float | 数据差值,用于数据转换 |
info | string | 备注信息,用户自定义 |
enabled | boolean | 是否启用该因子,true=启用,false=禁用 |
agri_id | string | 因子内部ID,系统自动生成,格式为"设备ID-从站地址-数据索引" |
数据示例
完整因子数据示例
json
{
"pk": 5855,
"device": 17644,
"name": "fe",
"unit": 1,
"address": 0,
"the_type": 200,
"the_type_detail": {
"name": "远程开关",
"unit": "",
"icon": "https://agri-static.holdingbyte.com/media/icon/200.png"
},
"data_endian": ">",
"data_endian_display": "Big-Endian (ABCD)",
"data_type": "int8",
"data_type_display": "8-bit Integer",
"data_index": 0,
"modbus_type": 1,
"modbus_type_display": "Coil",
"data_factor": 1.0,
"data_delta": 0.0,
"info": "",
"enabled": true,
"agri_id": "d-1000-xxxx-1-00"
}数据类型说明
支持的数据类型
以下是系统支持的数据类型及其说明:
| 数据类型 | 说明 | 字节数 |
|---|---|---|
int8 | 8位有符号整数 | 1 |
uint8 | 8位无符号整数 | 1 |
int16 | 16位有符号整数 | 2 |
uint16 | 16位无符号整数 | 2 |
int32 | 32位有符号整数 | 4 |
uint32 | 32位无符号整数 | 4 |
float | 32位浮点数 | 4 |
double | 64位浮点数 | 8 |
Modbus寄存器类型
Modbus寄存器类型说明
Modbus协议定义了4种不同的寄存器类型:
| 代码 | 类型 | 说明 | 访问权限 |
|---|---|---|---|
1 | Coil | 线圈,用于控制开关量 | 读/写 |
2 | Discrete Input | 离散输入,用于读取开关量状态 | 只读 |
3 | Holding Register | 保持寄存器,用于存储数值 | 读/写 |
4 | Input Register | 输入寄存器,用于读取数值 | 只读 |
数据大小端说明
数据大小端
数据大小端是指多字节数据在内存中的存储顺序:
| 符号 | 名称 | 说明 | 字节顺序(示例) |
|---|---|---|---|
> | Big-Endian | 大端模式,高位字节在前 | ABCD |
< | Little-Endian | 小端模式,低位字节在前 | DCBA |
>< | Mid-Big-Endian | 中大端模式 | BADC |
<> | Mid-Little-Endian | 中小端模式 | CDAB |
使用建议
- 创建因子时,请确保选择正确的数据类型和大小端模式,这对数据的正确解析至关重要
- 对于需要进行单位转换的数据,可以使用
data_factor和data_delta字段进行调整 - 使用
info字段添加必要的备注信息,便于后期维护 - 当不再需要某个因子时,可以将
enabled设置为false而不是直接删除,这样可以保留历史配置
