- Replace all mermaid blocks (zh+en) with 112 Vue SVG diagram components covering flowchart/sequence/ER/class/state diagram types - Remove mermaid + vitepress-plugin-mermaid dependencies (config.mts, package.json) Build time drops from ~10s to ~6.4s; per-page eager JS ~528KB→~160KB gzip - Fix 4 undefined CSS variables (--dc3-divider, --dc3-fe-text, --dc3-region-amber, --dc3-region-be) that caused invisible lifelines - Unify terminology: 物模型→模板 with comparison table + Badge - Fix factual errors: MQTT batch 5ms→5s, MongoDB hallucination removed, agentic /v1/ path corrected, tool count 150+→330+, compose drivers 8→22 - Remove 14 orphaned architecture images (replaced by Vue components) - Add --dc3-rose-fill token (tenant/alarm styling) Co-Authored-By: Claude <noreply@anthropic.com>
8.5 KiB
title
| title |
|---|
| 驱动能力矩阵 |
驱动能力矩阵
本页一览 IoT DC3 全部 28 个驱动的协议类别、读 / 写 / 订阅能力与实现状态,帮你在选型时快速对位。每行链接到该驱动自己的页面,属性、采集周期、最小接入示例等细节在那里展开。
读 / 写 / 订阅按驱动当前实现的真实行为标注:「✓」表示该能力已落地,「—」表示该协议方向不实现、由设计决定不提供、或骨架尚未补齐——具体以代码为准(见表后说明)。订阅 / 上报指驱动被动接收设备推送(监听端口、网络回调、设备注册等),区别于周期轮询采集。
「实现状态」列总结该驱动整体成熟度:
- 完整:读 / 写 / 订阅按协议设计全部落地,可直接用于生产接入。
- 可用:核心链路可用,但有局部局限(如部分数据类型、Observe、健康钩子未实现),详见备注与驱动页。
- 骨架:协议组帧或传输层尚未补全,目前仅供结构参考,不能直接采集真实设备。
工业总线 / PLC
这一类驱动作为主站(client)主动连设备,按位号
轮询读值、按命令写值,不监听上报。ethernet-ip 目前是协议骨架,CIP 组帧尚未补全。
| 驱动 (dc3.driver.code) | 类别 | 读 | 写 | 订阅/上报 | 实现状态 | 备注 |
|---|---|---|---|---|---|---|
Modbus TCP (ModbusTcpDriver) |
工业总线/PLC | ✓ | ✓ | — | 完整 | 以太网 Modbus 主站 |
Modbus RTU (ModbusRtuDriver) |
工业总线/PLC | ✓ | ✓ | — | 完整 | 串口 Modbus 主站 |
OPC UA (OpcUaDriver) |
工业总线/PLC | ✓ | ✓ | — | 完整 | OPC 统一架构客户端 |
OPC DA (OpcDaDriver) |
工业总线/PLC | ✓ | ✓ | — | 完整 | 经典 OPC 数据访问(DCOM) |
S7 (PlcS7Driver) |
工业总线/PLC | ✓ | ✓ | — | 完整 | 西门子 PLC |
MELSEC (MelsecDriver) |
工业总线/PLC | ✓ | ✓ | — | 完整 | 三菱 PLC(MC 协议) |
FINS (FinsDriver) |
工业总线/PLC | ✓ | ✓ | — | 可用 | 欧姆龙 PLC,支持 16/32 位整数、浮点、字符串与 BCD |
EtherNet/IP (EthernetIpDriver) |
工业总线/PLC | — | — | — | 骨架 | 罗克韦尔 / CIP,组帧待补 |
SCADA / 电力 / 计量
楼宇、电力与计量类协议。bacnet-ip 与 snmp 主动读写;sl651 是水文遥测,开 TCP 服务端被动收报文,故仅订阅;iec104、dlms
当前为骨架。
| 驱动 (dc3.driver.code) | 类别 | 读 | 写 | 订阅/上报 | 实现状态 | 备注 |
|---|---|---|---|---|---|---|
BACnet/IP (BacnetIpDriver) |
SCADA/电力/计量 | ✓ | ✓ | — | 完整 | 楼宇自控 |
IEC 104 (Iec104Driver) |
SCADA/电力/计量 | — | — | — | 骨架 | 电力 SCADA,协议层待补 |
DLMS (DlmsDriver) |
SCADA/电力/计量 | — | — | — | 骨架 | 智能电表,传输层待补 |
SL651 (Sl651Driver) |
SCADA/电力/计量 | — | — | ✓ | 完整 | 水文遥测,TCP 服务端收报文 |
SNMP (SnmpDriver) |
SCADA/电力/计量 | ✓ | ✓ | — | 完整 | 网络设备监控 |
IoT / 无线
物联网与无线类。mqtt 走发布/订阅,值由订阅被动到达(无主动读),命令可下发;lwm2m 内嵌服务端、收设备注册与通知,读写已落地但
Observe 订阅尚未实现;
coap、http、ble 为请求-响应式主动读写(coap 的 Observe 未实现);can、zigbee 当前为骨架实现,zigbee
仅监听协调器网络状态、尚未监听节点入网与属性上报,can 底层走 can-utils。
| 驱动 (dc3.driver.code) | 类别 | 读 | 写 | 订阅/上报 | 实现状态 | 备注 |
|---|---|---|---|---|---|---|
MQTT (MqttDriver) |
IoT/无线 | — | ✓ | ✓ | 可用 | 发布/订阅,值经订阅到达;initial() 钩子为骨架 |
CoAP (CoapDriver) |
IoT/无线 | ✓ | ✓ | — | 可用 | 受限设备 RESTful,Observe 未实现 |
LwM2M (Lwm2mDriver) |
IoT/无线 | ✓ | ✓ | — | 可用 | 内嵌服务端,读写已落地,Observe 订阅未实现 |
HTTP (HttpDriver) |
IoT/无线 | ✓ | ✓ | — | 完整 | 通用 HTTP 采集 |
BLE (BleDriver) |
IoT/无线 | ✓ | ✓ | — | 完整 | 低功耗蓝牙 GATT |
Zigbee (ZigbeeDriver) |
IoT/无线 | ✓ | ✓ | — | 骨架 | 骨架实现,订阅(入网/上报)未实现 |
CAN (CanDriver) |
IoT/无线 | ✓ | — | — | 骨架 | 控制器局域网,底层走 can-utils |
串口 / 通用网络
按命令模板组帧的通用透传驱动,主动收发,不监听。
| 驱动 (dc3.driver.code) | 类别 | 读 | 写 | 订阅/上报 | 实现状态 | 备注 |
|---|---|---|---|---|---|---|
串口 Serial (SerialDriver) |
串口/通用网络 | ✓ | ✓ | — | 完整 | 通用串口透传 |
TCP/UDP (TcpUdpDriver) (raw) |
串口/通用网络 | ✓ | ✓ | — | 完整 | 通用 socket 透传 |
数据库
把库表当数据源:读走 executeQuery、写走 executeUpdate,由位号上的 SQL 模板驱动,不监听变更。
| 驱动 (dc3.driver.code) | 类别 | 读 | 写 | 订阅/上报 | 实现状态 | 备注 |
|---|---|---|---|---|---|---|
MySQL (MysqlDriver) |
数据库 | ✓ | ✓ | — | 完整 | 从库表采集位号 |
PostgreSQL (PostgresqlDriver) |
数据库 | ✓ | ✓ | — | 完整 | 从库表采集位号 |
Oracle (OracleDriver) |
数据库 | ✓ | ✓ | — | 完整 | 从库表采集位号 |
SQL Server (SqlserverDriver) |
数据库 | ✓ | ✓ | — | 完整 | 从库表采集位号 |
虚拟 / 测试
无真实设备的两个驱动:virtual 按位号类型生成模拟读值(写为占位、不落设备);listening-virtual 反向开 TCP/UDP
服务端收外部推送,并可经连接通道向设备回写。
| 驱动 (dc3.driver.code) | 类别 | 读 | 写 | 订阅/上报 | 实现状态 | 备注 |
|---|---|---|---|---|---|---|
虚拟 Virtual (VirtualDriver) |
虚拟/测试 | ✓ | — | — | 可用 | 生成模拟数据,写为占位 |
监听虚拟 Listening Virtual (ListeningVirtualDriver) |
虚拟/测试 | — | ✓ | ✓ | 完整 | TCP/UDP 服务端收推送,可回写 |
::: info 能力标记以代码为准
表中「✓ / —」反映各驱动 *DriverCustomServiceImpl 当前的真实实现:「—」可能是协议方向本就不提供(如 virtual 的写、mqtt
的主动读),也可能是骨架未补齐(如 ethernet-ip、iec104、dlms、can)。「实现状态」列是对成熟度的整体概括,局部的数据类型或子能力缺口以各驱动页的
::: warning / ::: info 标注为准。最终行为请以对应模块的 read() / write() / initial() 源码为准;驱动迭代后此表会同步更新。
:::