Skip to content

DDS8888-2P 单相2P导轨继电器电能表 接入指南

模型清单

可使用下列名称或 ID 在 ThinkLink 中搜索对应模型。

模型类型名称id_name平台模型 ID
RPC[DDS8888 ACT] 23115 DEMAND-CLRdds8888_demand_clear_23115124191561935122435
RPC[DDS8888 GET] 23115dds8888_get_23115124191561935122433
RPC[DDS8888 ACT] 23115 RELAYdds8888_relay_action_23115124191561935122434
RPC[DDS8888 SET] 23115dds8888_set_23115124191561935122432
RPC[DDS8888 ACT] 23115 SET-ALARMdds8888_set_alarm_23115124191561935122436
TemplateDDS8888124193141094772736
Thing Model[DDS8888]dds8888_23115124190219116113920
Parameter Thing Model[DDS8888-PARA]dds8888_para_23115124190219116113921
Trigger[DDS8888] 电压/继电器/功率告警触发规则dds8888_alarm_23115124191561935122439

1. 传感器简介

项目内容
设备名称DDS8888-2P 单相2P导轨式带继电器电能表
厂商乐清市蓝天高科技有限公司
通信协议Modbus-RTU(RS-485)
接入方式EdgeBus DTU(KC11 市电版)/ LoRaWAN Class C
业务代码23115
模板名称DDS8888

DDS8888-2P 是单相 SOC 集成电路导轨式电能表,符合 GB/T 17215.321-2008(0.5/1 级有功),计量正/反向有功电量与最大需量,测量电压/电流/功率/功率因数/频率瞬时值,内置继电器支持远程拉/合闸。本指南通过 KC11 DTU 以 Modbus-RTU 接入 ThinkLink。

2. 产品特点

  1. 单相 2P 导轨式(35mm 标准导轨),配电箱内安装快捷省空间。
  2. 内置继电器,支持 RS485 远程拉/合闸,适配预付费/远程控停。
  3. 计量正/反向有功电量 + 最大需量;测量电压/电流/有功无功功率/功率因数/频率。
  4. 0.5/1 级精度、防潜动,抗高压尖峰/强磁/雷击浪涌。
  5. RS485 通讯 1200–9600bps 可选,兼容 Modbus-RTU 与 DL/T645。

3. 适用范围

  • 出租公寓/商铺分户计费与远程控停:远程抄读、欠费跳闸停电、缴费合闸复电。
  • 工业/楼宇支路用电监测:逐回路监测电压/电流/功率/功率因数,发现过载、断电、功率反向。
  • 能耗与需量管理:采集最大需量做需量考核,时段统计用电能效分析。

4. 采集器信息

4.1 硬件信息

项目内容
DTU 型号KC11(市电版)
供电方式AC 85–270V(市电常供电)
LoRaWAN ClassClass C(常在线)
通讯接口RS-485
串口参数9600 / 8N1(默认)
设备默认地址0x01(可改)

电能表由被测市电回路自身取电;KC11 DTU 由 AC 85–270V 市电供电。

4.2 接线信息

KC11 (AC 市电供电 DTU)            DDS8888-2P 电能表
  L / N  ── AC 85~270V 市电
  RS485-A ───────────────────────  485 A
  RS485-B ───────────────────────  485 B
  (总线末端必要时 120Ω 匹配电阻短接到 485A)

5. 数据采集

通过 Modbus-RTU 功能码 0x03 一次读取遥测主块寄存器 0x0018–0x0027(连续 16 寄存器),并单独读取 0x681C 获取继电器状态。字节序为大端 ABCD。

5.1 寄存器定义(Modbus-RTU 附录B)

遥测寄存器:

数据项地址寄存器数类型系数单位
正向有功总电量0x0018–0x00192uint32BE0.01kWh
反向有功总电量0x001A–0x001B2uint32BE0.01kWh
最大需量0x001C–0x001D2uint32BE0.0001kW
电压0x001E1uint16BE0.1V
电流0x001F–0x00202uint32BE0.001A
有功功率0x0021–0x00222uint32BE0.0001kW
无功功率0x0023–0x00242uint32BE0.0001kvar
功率因数0x00251uint16BE0.001
频率0x00261uint16BE0.01Hz
电表状态字10x00271uint16BE
继电器控制/状态0x681C1uint16BE(R/W)

配置/控制寄存器:

数据项地址属性说明
Modbus 地址0x000FR/W01~FE
表号(3 寄存器)0x0010–0x0012R/W写操作密码
波特率0x0013R/W9600=0x2580 等
需量清零0x0028W写 0x22B8 清零
继电器控制0x681CR/W写 0x001A=跳闸 / 0x001C=合闸

5.2 状态位定义(状态字 0x0027)

Bit含义取值
Bit5无功功率方向0=正向 / 1=反向
Bit4有功功率方向0=正向 / 1=反向
Bit1需量积算方式0=滑差 / 1=区间

⚠️ 现场待核 1 — 继电器读回编码:手册仅定义继电器寄存器 0x681C 的写语义(0x001A 跳闸 / 0x001C 合闸),未明确读回值。本对接假设读回同编码(0x001C=合闸/0x001A=跳闸),部署时请实测核对。

⚠️ 现场待核 2 — 写操作表号密码:继电器控制、改地址等写操作(FC10)需在数据后附 6 字节表号作密码。本对接确认未启用密码,使用全 0 表号;若现场表启用了密码保护,需改为实际表号。

6. EdgeBus 模型

6.1 EB 配置参数

参数
name / portdds8888 / 22
version / dataType0x87 / 0x31
串口9600 / 8N1
BzType / BzVersion23115 / 1
upPeriodIndex / periodIndex70 / 70(COV 关闭,共用)
Modbus 地址注入app_150 → 命令地址字节

6.2 说明

EB 含 1 个上行事件、2 个查询:① FC03 读 0x0018–0x0027(遥测主块,32 字节);② FC03 读 0x681C(继电器状态,2 字节,isLast 触发上行)。COV 关闭,采集=上传=300s。上行帧 6 字节 DTU 帧头后接 34 字节数据(dataLen=40)。Modbus 目标地址由 app_150 动态注入。

typescript
import { Buffer } from "buffer";
import { buildOtaFile } from "@EBSDK/run";
import {
    ActionAfertExpr, CalcData,
    CrcMode,
    CvtRule,
    EBBuffer,
    EBModel,
    ExprCondition,
    LoraUpEvent,
    QueryEvent, SetUpCovDataType,
    UserConfUPItem, EventInfoItem
} from "@EBSDK/EBCompiler/all_variable";
import { CheckbitEnum, getOtaConfig, HwTypeEnum, UpgrdTypeEnum } from "@EBSDK/otaConfig";


// DDS8888-2P 单相2P导轨继电器电能表 — Modbus-RTU 大端ABCD(见 requirement/requirements.md §5)
// 上行数据顺序 = 下面 quInfo 各 listVal 的拼接顺序:
//   Q1(0x0018-0x0027,16 reg=32B): energy_fwd/energy_rev/max_demand/voltage/current/
//                                 active_power/reactive_power/power_factor/frequency/status_word
//   Q2(0x681C,1 reg=2B):          relay_status(继电器状态,单独读,isLast 触发上行)
// addr_modbus 由 APP 槽位 150 动态注入到命令地址字节(indexAPP:150 → indexCMD:0 copySize:1)
const eventInfo: UserConfUPItem[] = [
    {
        name: "dds8888",
        port: 22,
        version: "0x87",
        dataType: "0x31",
        upPeriodIndex: 70,
        quInfo: [
            // Q1: 遥测主块 0x0018-0x0027(连续16寄存器,一次读全部遥测)
            {
                protocol: "modbus", addr: "0x01", code: "0x03", periodIndex: 70,
                indexAPP: 150, indexCMD: 0, copySize: 1,
                listVal: [{ start: "0x0018", end: "0x0027" }]
            },
            // Q2: 继电器状态 0x681C(与主块不连续,单独读;isLast 触发上行)
            {
                protocol: "modbus", addr: "0x01", code: "0x03", periodIndex: 70,
                indexAPP: 150, indexCMD: 0, copySize: 1,
                isLast: true,
                listVal: [{ start: "0x681C", end: "0x681C" }]
            }
        ]
    }
]

let otaConfig = getOtaConfig({
    BaudRate: 9600,
    StopBits: 1,
    DataBits: 8,
    Checkbit: CheckbitEnum.NONE,
    Battery: false,          // KC11 市电常供电 → Class C
    ConfirmDuty: 60,
    BzType: 23115,
    BzVersion: 1
})

const MODBUS_TT = (ebModel: EBModel) => {
    for (let i = 0; i < eventInfo.length; i++) {
        let event = new EventInfoItem(eventInfo[i]);
        event.upEventSetup()
        event.eventInstall()
    }
    return JSON.stringify(ebModel, null, 2)
}

buildOtaFile(import.meta.url, otaConfig, MODBUS_TT)

7. 物模型

7.1 基本信息

类型名称id Name
遥测物模型[DDS8888]dds8888_23115
参数物模型[DDS8888-PARA]dds8888_para_23115

7.2 上行帧结构

frameInfo:port 22、dataLen 40、battery 索引 4、tagList[0x87, 0x31]。数据从 index 6 起:

fieldbyte indextype系数
energy_fwd6uint32BE0.01
energy_rev10uint32BE0.01
max_demand14uint32BE0.0001
voltage18uint16BE0.1
current20uint32BE0.001
active_power24uint32BE0.0001
reactive_power28uint32BE0.0001
power_factor32uint16BE0.001
frequency34uint16BE0.01
status_word36hexbe2
relay_raw38hexbe2

状态字解析出 active_power_dir(bit4)/reactive_power_dir(bit5);relay_raw 解析出 relay_status(0x001C=1 合闸 / 0x001A=0 跳闸)。

8. 第三方平台数据订阅

8.1 MQTT Topic

/v32/{组织账号}/tkl/up/telemetry/{eui}

8.2 上报示例数据

json
{
    "eui": "6353012af10a9331",
    "active_time": "2026-06-29T08:35:48.000Z",
    "thingModelId": "124190219116113920",
    "thingModelIdName": "dds8888_23115",
    "telemetry_data": {
        "snr": 9.5,
        "rssi": -65,
        "energy_fwd": 876543.21,
        "energy_rev": 12.34,
        "max_demand": 1.1010,
        "voltage": 220.3,
        "current": 5.000,
        "active_power": 1.1010,
        "reactive_power": 0.0500,
        "power_factor": 0.998,
        "frequency": 50.00,
        "active_power_dir": 0,
        "reactive_power_dir": 0,
        "relay_status": 1,
        "status_word": "0000",
        "relay_raw": "001c"
    }
}

9. RPC

9.1 RPC 列表

名称id Name类型说明
参数设置dds8888_set_23115SET设上报周期/Modbus地址/心跳/上电延迟,回显校验
参数读取dds8888_get_23115GET读回上述参数
继电器控制dds8888_relay_action_23115ACTION远程拉/合闸(close 合闸 / trip 跳闸)
需量清零dds8888_demand_clear_23115ACTION最大需量清零
告警配置dds8888_set_alarm_23115ACTION设过压/欠压阈值 + 通知组

9.2 参数定义

参数field_name槽位类型范围/默认说明
上报周期period_upapp_70uint32le1–3600 / 300 sDTU 轮询+上报间隔
心跳周期period_heartapp_40uint32le86400 s省电,留空/<1h 自动设 24h
上电延迟pwron_delayapp_38uint16le1000 ms串口发送前等待
Modbus 地址addr_modbusapp_150uint81–247 / 1DTU 查询目标地址

9.3 继电器控制说明

下拉选择 close(合闸/通电)trip(跳闸/断电) 后执行。底层透传 FC10 写寄存器 0x681C(合闸=0x001C / 跳闸=0x001A),附全 0 表号密码,带回显校验。继电器实际状态由周期遥测 relay_status 回读核实。

10. 告警触发器

名称id Name监视
电压/继电器/功率告警dds8888_alarm_23115过压、欠压、继电器跳闸、有功功率反向

启用步骤:① 先执行 dds8888_set_alarm_23115 配置过压/欠压阈值与通知组;② 将本触发器绑定到目标设备/模板。之后每帧自动判定,电压带迟滞死区防抖,阈值缺失时主动消警。

11. 模板选择

在 ThinkLink 平台搜索模板:DDS8888(或按业务代码 23115 / 单相导轨继电器电能表查找)。模板已绑定遥测+参数物模型、全部 RPC 与告警触发器,并预置 KC11 市电 Class C 默认参数(heart_period=300s)。

12. 补充说明

  • 写操作(继电器/改地址)需附 6 字节表号密码,本对接用全 0(未启用密码)。
  • 设备同时支持 DL/T645-2007/1997,本对接采用 Modbus-RTU。
  • 继电器读回编码与表号密码两项请在部署时现场实测核对(见第 5.2 节风险提示)。