跳到主要内容

驱动概览

这是 PlantPulse Edge 支持的工业协议列表。产品基准 opc_type 44个 (43种驱动 + 1个别名)。

每个驱动都实现在 plantpulse-edge-driver.jar 的 plantpulse.driver.protocol.<proto> 包中,ProtocolDriverFactory.createDriver(opc_type) 根据 APP_OPC.OPC_TYPE 字符串创建实例。

实现分支​

  • 自主 Java 实现 (大多数) — 在纯 Java 套接字上直接编写协议分帧。 无外部 native·JNI 依赖。在 2026-07 重写 Modbus 系列·PROFINET·AB-ETH·BACnet·KNXnet CANopen 为原生实现后,彻底移除了对 Apache PLC4X 的依赖。
  • 外部库 — MELSEC·S7 使用 iot-communication,OPC UA 使用 Eclipse Milo。
  • 原生桥接 — FOCAS 将 C++ collector 作为子进程启动,通过 TCP/JSON 读取。
  • 4种 stub — CC-Link IE · DALI · IO-Link · DeltaV。引导用户通过上位协议桥接而非网关直接读取的配置。判定标准为是否继承 AbstractStubDriver。
写入支持因驱动而异

下表的 写入 列为准。尝试对不支持写入的驱动进行写入操作将被拒绝。


支持协议列表​

通用 PLC / 常规协议​

opc_type协议 / 设备实现写入默认端口页面
LSLS XGI/XBC/XBM (FEnet)自主 Java✅—LS
MELSECMitsubishi MELSEC (MC)iot-communication✅—MELSEC
S7Siemens S7-300/400/1200/1500iot-communication✅—S7
MODBUSModbus TCP自主 Java✅502Modbus
MODBUSUDPModbus UDP自主 Java (MBAP-over-UDP)✅502Modbus
MODBUS_RTUModbus RTU自主 Java (RTU-over-TCP)✅502Modbus RTU
OPCUAOPC UAEclipse Milo 1.1.8✅—OPC UA

美国 PLC 系列​

opc_type协议 / 设备实现写入默认端口页面
GEGE SRTP / GE Fanuc自主 Java (纯套接字)✅18245GE
EIPEtherNet/IP · CIP (符号标签)自主 Java (ENIP/CIP)✅44818EtherNet/IP
LOGIXAB ControlLogix / CompactLogixEIP 别名 — 相同驱动✅44818EtherNet/IP
AB-ETHAllen-Bradley CSP/PCCC (SLC·PLC-5)自主 Java❌2222AB-ETH

欧洲 / 建筑自动化​

opc_type协议 / 设备实现写入默认端口页面
PROFINETPROFINET (acyclic Read-Implicit)自主 Java❌34964PROFINET
ADSBeckhoff TwinCAT ADS自主 Java✅48898ADS
BACNETBACnet/IP (ReadProperty)自主 Java❌47808BACnet
KNXNETKNXnet/IP (tunneling)自主 Java✅3671KNXnet
CANOPENCANopen (SDO)自主 Java❌20200CANopen
MBUSM-Bus (电表)自主 Java⚠10001M-Bus
IEC61850IEC 61850 MMS (电力)自主 Java (full ISO stack)✅102IEC 61850
DALIDALI 照明stub❌—DALI
IO_LINKIO-Link 主站stub❌—IO-Link
DELTAVEmerson DeltaVstub❌—DeltaV

⚠ M-Bus 的写入仅处理 从站选择命令而非测量值。

日本 · 台湾 PLC 系列​

opc_type协议 / 设备实现写入默认端口页面
FINSOmron FINS自主 Java✅9600FINS
MEWTOCOLPanasonic MEWTOCOL自主 Java✅9094MEWTOCOL
FATEKFatek自主 Java✅500Fatek
KEYENCE_KVKeyence KV-7500/8000 上位链路自主 Java (ASCII)✅8501连接类型
CCLINK_IECC-Link IE Fieldstub❌—CC-Link IE
Keyence KV 尚未经过实际设备验证

线缆格式基于文档实现,未经过实际设备确认。在现场应用前,请通过测试连接比对数值。

工业通信 / 领域特定​

opc_type协议 / 设备实现写入默认端口页面
SECSGEMSEMI SECS/GEM (HSMS)自主 Java✅5000SECS/GEM
HARTHART-IP自主 Java✅5094HART
DNP3DNP3 (支持 unsolicited)自主 Java✅20000DNP3
IEC104IEC 60870-5-104 电力遥测自主 Java❌2404连接类型
FOCASFANUC CNC (FOCAS)原生桥接 + C++ collector❌8193FOCAS
MTCONNECTMTConnect CNC / 机床自主 Java (HTTP/XML)❌5000连接类型
OPOpen Protocol (拧紧工具)纯 Java✅4545Open Protocol
NMEANMEA 0183 (船舶·GPS)自主 Java❌10110NMEA
IEC61162_450海洋航桥 NMEA over UDP 组播自主 Java❌60004 (UDP)连接类型
MOTOR_SENSE电机感测 振动·电流传感器HTTPS REST (独立 jar)❌—连接类型

消息 / 外部接口​

opc_type协议 / 设备实现写入默认端口页面
HTTPHTTP 接收 (缓存 bind)自主 Java(经 bind)—HTTP
WEBSOCKETWebSocket自主 Java✅80 / 443WebSocket
MQTT_CLIENTMQTT 客户端Eclipse Paho✅1883 / 8883MQTT Client
SPARKPLUG_BSparkplug B自主 protobuf✅1883Sparkplug B
KAFKAApache Kafkakafka-clients 4.1.2✅9092Kafka
COAPCoAPCalifornium 3.13.0✅5683 / 5684CoAP
ROS2ROS 2 (rosbridge WebSocket)自主 Java❌9090 / 9443ROS 2
SNMPSNMP v2c (网络设备·UPS)自主 Java (BER)❌161 (UDP)连接类型

通用 OPC 注册表单​

通过界面或 POST /api/v1/opc 注册时,所有协议共用的字段:

字段含义示例
opc_id网关内唯一 IDOPC_UA_Kepware
opc_name界面显示名称Kepware OPC-UA
opc_type协议类型 (参考上表)OPCUA
opc_agent_ip目标主机 IP192.168.0.40
opc_agent_port目标端口49320
site_id站点 IDSITE_00001 (自动填充)
auto_collect启动时自动开始true/false
timecycle采集周期 (ms)1000
options各协议追加选项 (Map){"username":"kopens","password":"***"}

options 的键名称随协议而异。每个驱动页面均提供详细的键表。


通用标签注册表单​

tag_list[] 或 POST /api/v1/opc/{opcId}/tag 的单项注册字段:

字段含义示例
tag_id标签唯一 ID (通常为 <OPC_ID>_TAG_<n>)OPC_LS_XBM_0001_TAG_00001
tag_name显示名称Pump1.RPM
plc_address实际 PLC 地址 (各协议格式)D00309 (LS) / ns=2;s=Sine1 (OPCUA)
data_typeedge 自由字符串 (Float, Integer, Boolean, String 等)Integer
format内存宽度 / 表示格式 (可选)DW (LS) / STR[10]
description说明펌프 회전수
fomula后处理计算公式 (可选, 如: x * 0.1)x / 10

详细的 plc_address 和 format 规则在各驱动页面中讨论。


注册流程 (REST)​