Zum Hauptinhalt springen

Treiberübersicht

Dies ist eine Liste der von PlantPulse Edge unterstützten Industrieprotokolle. Produktstand opc_type 44 Typen (43 Treiber + 1 Alias).

Jeder Treiber ist in einem plantpulse.driver.protocol.<proto> Paket innerhalb von plantpulse-edge-driver.jar implementiert, wobei ProtocolDriverFactory.createDriver(opc_type) Instanzen basierend auf der Zeichenfolge APP_OPC.OPC_TYPE erstellt.

Implementierungsarten​

  • Eigene Java-Implementierung (Mehrheit) — Das Protokoll-Framing wird direkt auf Java-Sockets geschrieben. Es gibt keine externen Native- oder JNI-Abhängigkeiten. Im Juli 2026 wurden die Modbus-Familie, PROFINET, AB-ETH, BACnet, KNXnet und CANopen in Native-Code umgeschrieben, wodurch die Abhängigkeit zu Apache PLC4X vollständig entfernt wurde.
  • Externe Bibliotheken — MELSEC und S7 verwenden iot-communication, OPC UA verwendet Eclipse Milo.
  • Native Bridge — FOCAS startet einen C++ Collector als Kindprozess und liest Daten über TCP/JSON aus.
  • 4 Stub-Treiber — CC-Link IE, DALI, IO-Link, DeltaV. Hier wird eine Konfiguration beschrieben, bei der das Gateway nicht direkt liest, sondern über ein übergeordnetes Protokoll bridged. Das Kriterium hierfür ist die Vererbung von AbstractStubDriver.
Schreibzugriff variiert je nach Treiber

Die Spalte Schreiben in der folgenden Tabelle ist maßgeblich. Schreibversuche an Treibern, die dies nicht unterstützen, werden abgelehnt.


Liste der unterstützten Protokolle​

Universelle PLC / Allgemeine Protokolle​

opc_typeProtokoll / AnlageImplementierungSchreibenStandardportSeite
LSLS XGI/XBC/XBM (FEnet)Eigenes Java✅—LS
MELSECMitsubishi MELSEC (MC)iot-communication✅—MELSEC
S7Siemens S7-300/400/1200/1500iot-communication✅—S7
MODBUSModbus TCPEigenes Java✅502Modbus
MODBUSUDPModbus UDPEigenes Java (MBAP-over-UDP)✅502Modbus
MODBUS_RTUModbus RTUEigenes Java (RTU-over-TCP)✅502Modbus RTU
OPCUAOPC UAEclipse Milo 1.1.8✅—OPC UA

US-PLC-Serie​

opc_typeProtokoll / AnlageImplementierungSchreibenStandardportSeite
GEGE SRTP / GE FanucEigenes Java (Pure Socket)✅18245GE
EIPEtherNet/IP · CIP (Symbolic Tag)Eigenes Java (ENIP/CIP)✅44818EtherNet/IP
LOGIXAB ControlLogix / CompactLogixEIP Alias — Gleicher Treiber✅44818EtherNet/IP
AB-ETHAllen-Bradley CSP/PCCC (SLC·PLC-5)Eigenes Java❌2222AB-ETH

Europa / Gebäudeautomation​

opc_typeProtokoll / AnlageImplementierungSchreibenStandardportSeite
PROFINETPROFINET (acyclic Read-Implicit)Eigenes Java❌34964PROFINET
ADSBeckhoff TwinCAT ADSEigenes Java✅48898ADS
BACNETBACnet/IP (ReadProperty)Eigenes Java❌47808BACnet
KNXNETKNXnet/IP (tunneling)Eigenes Java✅3671KNXnet
CANOPENCANopen (SDO)Eigenes Java❌20200CANopen
MBUSM-Bus (Zähler)Eigenes Java⚠10001M-Bus
IEC61850IEC 61850 MMS (Energie)Eigenes Java (full ISO stack)✅102IEC 61850
DALIDALI Beleuchtungstub❌—DALI
IO_LINKIO-Link Masterstub❌—IO-Link
DELTAVEmerson DeltaVstub❌—DeltaV

⚠ Das Schreiben bei M-Bus verarbeitet nur Slave-Auswahlbefehle, keine Messwerte.

Japan / Taiwan PLC-Serie​

opc_typeProtokoll / AnlageImplementierungSchreibenStandardportSeite
FINSOmron FINSEigenes Java✅9600FINS
MEWTOCOLPanasonic MEWTOCOLEigenes Java✅9094MEWTOCOL
FATEKFatekEigenes Java✅500Fatek
KEYENCE_KVKeyence KV-7500/8000 Host LinkEigenes Java (ASCII)✅8501Verbindungstyp
CCLINK_IECC-Link IE Fieldstub❌—CC-Link IE
Keyence KV ist noch nicht an Realgeräten validiert

Das Wire-Format wurde basierend auf der Dokumentation implementiert, jedoch noch nicht mit realer Hardware verifiziert. Bitte gleichen Sie die Werte über eine Testverbindung ab, bevor Sie den Treiber im Vor-Ort-Einsatz verwenden.

Industriekommunikation / Domänenspezifisch​

opc_typeProtokoll / AnlageImplementierungSchreibenStandardportSeite
SECSGEMSEMI SECS/GEM (HSMS)Eigenes Java✅5000SECS/GEM
HARTHART-IPEigenes Java✅5094HART
DNP3DNP3 (unsolicited unterstützt)Eigenes Java✅20000DNP3
IEC104IEC 60870-5-104 TelecontrolEigenes Java❌2404Verbindungstyp
FOCASFANUC CNC (FOCAS)Native Bridge + C++ Collector❌8193FOCAS
MTCONNECTMTConnect CNC / WerkzeugmaschinenEigenes Java (HTTP/XML)❌5000Verbindungstyp
OPOpen Protocol (Schraubwerkzeuge)Pure Java✅4545Open Protocol
NMEANMEA 0183 (Schiff/GPS)Eigenes Java❌10110NMEA
IEC61162_450Marine Bridge NMEA over UDP MulticastEigenes Java❌60004 (UDP)Verbindungstyp
MOTOR_SENSEMotorsense Vibrations-/StromsensorHTTPS REST (separates Jar)❌—Verbindungstyp

Messaging / Externe Schnittstellen​

opc_typeProtokoll / AnlageImplementierungSchreibenStandardportSeite
HTTPHTTP Empfang (Cache Bind)Eigenes Java(via Bind)—HTTP
WEBSOCKETWebSocketEigenes Java✅80 / 443WebSocket
MQTT_CLIENTMQTT ClientEclipse Paho✅1883 / 8883MQTT Client
SPARKPLUG_BSparkplug BEigenes Protobuf✅1883Sparkplug B
KAFKAApache Kafkakafka-clients 4.1.2✅9092Kafka
COAPCoAPCalifornium 3.13.0✅5683 / 5684CoAP
ROS2ROS 2 (rosbridge WebSocket)Eigenes Java❌9090 / 9443ROS 2
SNMPSNMP v2c (Netzwerkgeräte/UPS)Eigenes Java (BER)❌161 (UDP)Verbindungstyp

Gemeinsames OPC-Registrierungsformular​

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

FeldBedeutungBeispiel
opc_idEindeutige ID innerhalb des GatewaysOPC_UA_Kepware
opc_nameAnzeigenameKepware OPC-UA
opc_typeProtokolltyp (siehe Tabelle oben)OPCUA
opc_agent_ipZiel-Host IP192.168.0.40
opc_agent_portZielport49320
site_idSite-IDSITE_00001 (automatisch ausgefüllt)
auto_collectAutomatischer Start beim Bootentrue/false
timecycleErfassungsintervall (ms)1000
optionsProtokollspezifische Zusatzoptionen (Map){"username":"kopens","password":"***"}

Die Namen der Schlüssel in options variieren je nach Protokoll. Eine detaillierte Schlüsseltabelle wird auf der jeweiligen Treiberseite bereitgestellt.


Gemeinsames Tag-Registrierungsformular​

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

FeldBedeutungBeispiel
tag_idEindeutige Tag-ID (meist <OPC_ID>_TAG_<n>)OPC_LS_XBM_0001_TAG_00001
tag_nameAnzeigenamePump1.RPM
plc_addressTatsächliche PLC-Adresse (Format je nach Protokoll)D00309 (LS) / ns=2;s=Sine1 (OPCUA)
data_typeEdge-Freitext-String (Float, Integer, Boolean, String etc.)Integer
formatSpeicherbreite / Darstellungsformat (Optional)DW (LS) / STR[10]
descriptionBeschreibung펌프 회전수
fomulaPost-Processing-Formel (Optional, z.B. x * 0.1)x / 10

Detaillierte Regeln zu plc_address und format werden auf den jeweiligen Treiberseiten behandelt.


Registrierungsfluss (REST)​