Zum Hauptinhalt springen

Treiber-Übersicht

Übersicht der von PlantPulse Edge unterstützten Industrieprotokolle.

Jeder Treiber ist im Paket plantpulse.driver.protocol.<proto> innerhalb von plantpulse-edge-driver.jar implementiert; ProtocolDriverFactory.createDriver(opc_type) erzeugt die Instanz anhand des APP_OPC.OPC_TYPE-Strings.

Die Implementierungen lassen sich grob in zwei Zweige einteilen:

  • Eigene Java-Implementierung (Mehrzahl): LS, EIP, ADS, OP, FINS, MEWTOCOL, FATEK, NMEA, MBUS, HART, DNP3, IEC61850, SECSGEM sowie zusätzlich Modbus-Familie (TCP/UDP/RTU), PROFINET, AB-ETH, BACnet, KNXnet, CANopen, die im Juli 2026 nativ neu geschrieben wurden (die alte Delegation an Apache PLC4j wurde vollständig entfernt — die PLC4X-Abhängigkeit selbst wurde gelöscht). Das Protokoll-Framing ist ohne externe native/JNI-Abhängigkeiten direkt auf reinen Java-Sockets umgesetzt.
  • Stub mit HW-Master-Abhängigkeit (nur Leitfaden): DALI, IO-Link, DeltaV. Dokumentiert wird die empfohlene Konfiguration, bei der statt eines Lesevorgangs im Gateway über ein übergeordnetes Protokoll (OPC UA / Modbus / PROFINET / DeltaV OPC UA) gebrückt wird. (ROS 2 ist mit der realen rosbridge-WebSocket-Implementierung aus dieser Kategorie ausgeschieden — siehe Verbindungstyp.)

Darüber hinaus bilden GE/MELSEC/S7 auf Basis der unveränderten iot-communication (xingshuangs)-Bibliothek, OPC UA auf Basis von Eclipse Milo sowie ein eigener HTTP-Client den Nebenstrang.


Übersicht der unterstützten Protokolle

Universelle PLC / allgemeine Protokolle

opc_typeProtokollBibliothekStatusSeite
LSLS XGI/XBC/XBM (FEnet)Eigenes JavastabilLS
GEGE SRTP / GE Fanuciot-communication (xingshuangs)stabil(in Vorbereitung)
MELSECMitsubishi MELSEC (MC)iot-communication (xingshuangs)stabilMELSEC
S7Siemens S7-300/400/1200/1500iot-communication (xingshuangs)stabilS7
MODBUSModbus TCPEigenes Javastabil (read+write)Modbus
MODBUSUDPModbus UDPEigenes Java (MBAP-over-UDP)stabil (read+write)Modbus
MODBUS_RTUModbus RTUEigenes Java (RTU-over-TCP)stabil (read+write)Modbus RTU
OPCUAOPC Unified ArchitectureEclipse MilostabilOPC-UA

US-amerikanische PLC-Familie

opc_typeProtokollBibliothekStatusSeite
EIPEtherNet/IP CIP (Allen-Bradley Logix)Eigenes Java (angelehnt an das etherip-Design, reines Java)stabil (read+write)EIP
AB-ETHAllen-Bradley PLC-5/SLC-500Eigenes Java (CSP/PCCC)stabil (read-only, TCP/2222)AB-ETH

Europa / Gebäudeautomation

opc_typeProtokollBibliothekStatusSeite
ADSBeckhoff TwinCAT/ADSEigenes Java (AMS/ADS)stabil (read+write)ADS
PROFINETPROFINET (azyklischer Record)Eigenes Java (DCE/RPC Read-Implicit)stabil (read-only, UDP/34964 — zyklisches RT nicht unterstützt)PROFINET
BACNETBACnet/IP (HVAC/Gebäude)Eigenes Java (ReadProperty)stabil (read-only, UDP/47808)BACnet
KNXNETKNXnet/IP (Beleuchtung/Beschattung)Eigenes Java (UDP-Tunneling)stabil (read+write, UDP/3671)KNXnet

Japanische PLC-Familie

opc_typeProtokollBibliothekStatusSeite
FINSOMRON FINS over TCPEigenes Javastabil (read der 1. Stufe)(in Vorbereitung)
MEWTOCOLPanasonic MEWTOCOLEigenes Javastabil (read der 1. Stufe)(in Vorbereitung)
FATEKFATEK FBsEigenes Javastabil (read der 1. Stufe)(in Vorbereitung)

Industriekommunikation / domänenspezifisch

opc_typeProtokollBibliothekStatusSeite
OPAtlas Copco Open Protocol (Verschraubungsergebnisse)Eigenes Java (OpenProtocolJavaDriver)stabil — Ablösung des Node.js-Runners abgeschlossen(in Vorbereitung)
NMEANMEA 0183 (Marine/Schiff)Eigenes Javastabil (read-only, Sentence-Caching)(in Vorbereitung)
MBUSM-Bus (EN 13757, Zähler)Eigenes Javastabil (read der 1. Stufe)(in Vorbereitung)
HARTHART-IP (HCF, 4-20 mA + digital)Eigenes Javastabil (read der 1. Stufe, cmd 0/1/3/13)(in Vorbereitung)
DNP3DNP3 (IEEE 1815, Energieversorger)Eigenes Javastabil (read der 1. Stufe, G1/G30)(in Vorbereitung)
IEC61850IEC 61850 MMS (Umspannwerk)Eigenes Java (vollständiger ISO-Stack)stabil (read+write + BRCB/URCB-Reports)IEC 61850
SECSGEMSECS/GEM HSMS (Halbleiter)Eigenes Java1. Stufe (HSMS-Handshake — SECS-II-Body in späterer Phase)(in Vorbereitung)
CANOPENCANopen (Maschinenbau)Eigenes Java (SDO expedited, CAN-over-TCP)stabil (read-only, TCP/20200)CANopen
DALIDALI (Beleuchtung, Gebäude)(HW-Master-abhängig — Stub)nur Leitfaden (OPC UA / Modbus-Bridge empfohlen)DALI
IO_LINKIO-Link (Sensor-Master)(HW-Master-abhängig — Stub)nur Leitfaden (PROFINET/EtherNet-IP-Bridge)IO-Link

Sonstige / externe Schnittstellen

opc_typeProtokollBibliothekStatusSeite
HTTPHTTP (externer Push oder Polling)eigenstabil, write unterstütztHTTP
MOTOR_SENSEKOPENS Motor Senseeigen (separates jar, per Reflection geladen)stabilHTTP / Motor Sense
ROS2ROS 2 (Roboter/AGV)rosbridge_suite (JSON over WebSocket)read per Topic-Subscription (reale Implementierung)ROS 2
DELTAVEmerson DeltaV (DCS)(proprietär — Stub)nur Leitfaden (Weg über DeltaV OPC UA zwingend)DeltaV

Kategorienübersicht — Universelle PLC 8 / USA 2 / Europa & Gebäude 4 / Japan 3 / Industriekommunikation & Domäne 10 / Sonstige 4 = 29 opc_type. Die mit "(in Vorbereitung)" gekennzeichneten Seiten werden später als eigene Treiberdokumente ausgegliedert; derzeit werden die Regeln zu plc_address / format durch die Entwicklernotizen und das Javadoc des Pakets protocol/<proto>/ im Quellcode ersetzt.


Gemeinsames OPC-Registrierungsformular

Felder, die bei der Registrierung über die Oberfläche oder per POST /api/v1/opc von allen Protokollen gemeinsam genutzt werden:

FeldBedeutungBeispiel
opc_ideindeutige ID innerhalb des GatewayOPC_UA_Kepware
opc_nameAnzeigename in der OberflächeKepware OPC-UA
opc_typeProtokolltyp (siehe Tabelle oben)OPCUA
opc_agent_ipZiel-Host-IP192.168.0.40
opc_agent_portZielport49320
site_idSite-IDSITE_00001 (automatisch befüllt)
auto_collectautomatischer Start beim Bootentrue/false
timecycleErfassungsintervall (ms)1000
optionsprotokollspezifische Zusatzoptionen (Map){"username":"kopens","password":"***"}

Die Schlüsselnamen von options unterscheiden sich je Protokoll. Auf den jeweiligen Treiberseiten finden Sie detaillierte Schlüsseltabellen.


Gemeinsames Tag-Registrierungsformular

Felder für die Einzelregistrierung über tag_list[] oder POST /api/v1/opc/{opcId}/tag:

FeldBedeutungBeispiel
tag_ideindeutige Tag-ID (üblicherweise <OPC_ID>_TAG_<n>)OPC_LS_XBM_0001_TAG_00001
tag_nameAnzeigenamePump1.RPM
plc_addresstatsächliche PLC-Adresse (protokollspezifisches Format)D00309 (LS) / ns=2;s=Sine1 (OPCUA)
data_typefreier Edge-String (Float, Integer, Boolean, String usw.)Integer
formatSpeicherbreite / Darstellungsformat (optional)DW (LS) / STR[10]
descriptionBeschreibung펌프 회전수
fomulaNachverarbeitungsformel (optional, z. B. x * 0.1)x / 10

Die Details zu plc_address und den format-Regeln werden auf den jeweiligen Treiberseiten behandelt.


Registrierungsablauf (REST)