DL/T 645 读
x/dlt645Read组件:v0.37.0+ 通过 DL/T 645-2007 协议读取电能表数据项,结果以统一契约 iot_points.Data 列表写回 msg.Data。
需要额外引入扩展库: rulego-components-iot (opens new window)
# 配置
| 字段 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| server | string | 电表 TCP 地址(串口服务器透传端口),host:port | 127.0.0.1:8899 |
| addr | string | 12 位 BCD 表地址 | 000000000001 |
| timeout | int | 请求超时(秒) | 5 |
| points | array | 默认点位表(addr=DI 数据标识)。若 msg.Data 带点位列表则优先使用 | - |
# 点位表字段
| 字段 | 说明 |
|---|---|
| name | 点位名称 |
| addr | 数据标识 DI(见下表) |
| type | 数据类型(默认 BCD) |
各字段支持 ${msg.xx} / ${metadata.xx} 模板。
# 地址格式(DI 数据标识)
格式:XX-XX-XX-XX(4 字节)
| DI | 说明 |
|---|---|
| 00-01-00-00 | 正向有功总电能 |
| 02-01-01-00 | A 相电压 |
| 02-02-01-00 | A 相电流 |
| 02-03-00-00 | 瞬时总有功功率 |
| 04-00-01-01 | 表号 |
# 数据类型
- BCD(默认):标准 BCD 编码,自动按 DI 确定小数位
- BCD_SIGNED:带符号 BCD
- INT16/UINT16/INT32/UINT32/INT64/UINT64:二进制整数
- BOOL/STRING:特殊类型
# 输入/输出
- 输入:可使用配置中的
points,也可由msg.Data传入点位列表覆盖 - 输出:
[{"name","value","timestamp","error"}]
# 示例
{
"id": "dlt645_read",
"type": "x/dlt645Read",
"configuration": {
"server": "192.168.1.40:8899",
"addr": "000000000001",
"points": [
{"name": "正向有功总电能", "addr": "00-01-00-00"},
{"name": "A相电压", "addr": "02-01-01-00"}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 关联组件
- 协议概览:x/dlt645
- 写入:x/dlt645Write
- 统一采集入口:x/iotRead(driver=dlt645)
- 转时序点落盘:x/tsdbWrite(配置 measurement)
在 GitHub 上编辑此页 (opens new window)
上次更新: 2026/08/01, 05:05:14