-
Notifications
You must be signed in to change notification settings - Fork 0
Protocol Support
EnerOS Bot edited this page Jul 5, 2026
·
1 revision
中文 | English
维护版本:v0.51.2 | 最后更新:2026-07-06
EnerOS 原生支持 11 种电力 / IoT / 工业协议,覆盖输电网 / 配电网 / 用电侧 / 边缘 IoT 全场景。本页为协议矩阵速查;适配器开发流程请参阅 开发工作流 与主仓库 docs/developer-guide.md §5。
| 协议 | crate | 引入版本 | 用途 | 链路层 | 典型场景 |
|---|---|---|---|---|---|
| IEC 61850 | eneros-device | v0.25.0 | 变电站自动化 / 智能电子设备 IED | TCP/IP | 变电站内 / 间隔层 |
| IEC 60870-5-104 | eneros-device / eneros-scada | v0.26.0 | 远动遥测 / 遥信 / 遥控 | TCP/IP | 主站-子站 |
| IEC 60870-5-103 | eneros-protocol-iec103 | v0.35.0 | 继电保护设备通信 | 串口 / TCP | 保护设备-录波 |
| CDT 循环远动 | eneros-protocol-cdt | v0.35.0 | 老旧远动设备 | 串口 | 老旧变电站 |
| Modbus | eneros-device | v0.25.0 | 工业设备通用协议 | 串口 / TCP | 逆变器 / 储能 / 周边设备 |
| PMU C37.118 | eneros-protocol-pmu | v0.35.0 | 同步相量测量 | UDP / TCP | 广域监测 WAMS |
| ICCP / TASE.2 | eneros-protocol-iccp | v0.35.0 | 控制中心间数据交换 | TCP/IP | 调度中心互联 |
| MQTT | eneros-protocol-mqtt | v0.45.0 | IoT 消息总线 | TCP | 分布式能源 / 储能 |
| CoAP | eneros-protocol-coap | v0.45.0 | 受限设备 RESTful | UDP | 传感器 / 边缘节点 |
| LwM2M | eneros-protocol-lwm2m | v0.45.0 | IoT 设备管理 | UDP | 智能电表 / 终端管理 |
| DL/T 698.45 | eneros-protocol-dlt698 | v0.47.0 | 中国电力用电信息采集 | TCP | 智能电表 / 用电采集 |
| 特性 | 说明 |
|---|---|
| AF_PACKET | Linux 原始套接字,用于 SV / GOOSE 二层直发,绕过 IP 栈降低时延 |
| FT 1.2 | 串口帧格式,用于 IEC 103 / CDT |
| R-GOOSE | GOOSE 通过 Routed VLAN 跨子网传输,用于变电站间 |
| mTLS | v0.39.0+ 所有协议客户端支持 mTLS 双向证书认证 |
eneros-device 提供协议网关能力,可在不同协议间转换:
[IEC 104 子站] ─┐
[Modbus 逆变器]─┼→ ProtocolGateway → [ICCP 上送调度]
[DL/T 698 电表]─┘ → [MQTT 上送云平台]
tests/protocol_conformance/ 提供 7 协议 275 个一致性测试用例:
| 协议 | 测试数 | 覆盖点 |
|---|---|---|
| IEC 104 | 60 | 帧编解码 / 序列号 / 时标 / 总召唤 / 命令 / 短时浮点 |
| IEC 103 | 35 | 帧格式 / ASDU / 故障记录 / 扰动数据 |
| Modbus | 40 | 功能码 / 异常码 / 寄存器映射 |
| PMU C37.118 | 30 | 配置帧 / 数据帧 / 命令帧 / 相量精度 |
| DL/T 698 | 50 | 链路层 / 应用层 / 数据标识 / 安全认证 |
| MQTT | 30 | 连接 / 订阅 / 发布 / QoS / 遗嘱 |
| CoAP | 30 | 方法 / 选项 / Blockwise / 资源发现 |
fuzz/ 目录提供 4 个 fuzz 目标:
| 目标 | 协议 | 引擎 |
|---|---|---|
fuzz_iec104 |
IEC 104 | libFuzzer |
fuzz_iec103 |
IEC 103 | libFuzzer |
fuzz_dlt698 |
DL/T 698 | libFuzzer |
fuzz_pmu_c37118 |
PMU C37.118 | libFuzzer |
eneros.toml [quality].fuzz_targets 配置启用的目标。Windows 平台 libFuzzer 链接问题,需在 Linux / WSL2 环境运行(详见 测试策略)。
- IEC 104 mock 实现非生产级,仅用于演示
- Fuzz 60s smoke 与 24h 长时运行待 Linux/WSL2 环境验证
- IEC 61850 MMS 服务集仅实现核心子集
- DNP3 仅支持串口变体,TCP 变体待 v0.52.0
- 电力系统入门 — IEC 协议族速通
- 测试策略 — Fuzz / proptest / 协议一致性
- 主仓库 docs/developer-guide.md §5 — 添加新协议适配器
- 主仓库 crates/eneros-device/ — 设备适配器源码
EnerOS Wiki | v0.51.2