Zum Inhalt springen

Konnektoren-Übersicht

Konnektoren sind die Bausteine von Meddle-Workflows. Jeder Konnektor ist eine spezialisierte Komponente, die Daten aus Quellen lesen, Daten in Ziele schreiben oder Daten während der Übertragung verarbeiten und transformieren kann.

Konnektoren werden in einem visuellen Workflow-Editor miteinander verbunden, um leistungsstarke Datenintegrations-Pipelines ohne Code zu erstellen.

Meddle bietet 44 verschiedene Konnektor-Typen, die in drei Hauptkategorien organisiert sind:

Verbinden Sie sich mit industriellen Automatisierungssystemen, SPSen und führen Sie industrielle Analytik aus:

OPC UA

Industrielles Standardprotokoll für industrielle Automatisierung. Unterstützt mehrere Authentifizierungsmethoden und Sicherheitsmodi.

Modbus

Serielle und TCP-Kommunikation mit SPSen und industriellen Geräten. Unterstützt alle Registertypen und Datenformate.

Siemens S7

Direkte Kommunikation mit Siemens S7-300, S7-400, S7-1200 und S7-1500 SPSen.

Logix

Allen-Bradley/Rockwell SPS-Kommunikation über EtherNet/IP (CIP)-Protokoll.

CoAP

Constrained Application Protocol für ressourcenbeschränkte IoT-Geräte.

gRPC

Remote-gRPC-Dienste mit TLS und konfigurierbarem Polling für industrielle Integrationen aufrufen.

ISA-18.2

Alarmmanagement-Zustandsmaschine gemäß ISA-18.2-Standard mit Totband und Ein-/Aus-Verzögerungen.

OEE

Gesamtanlageneffektivität (Verfügbarkeit × Leistung × Qualität) über gleitende oder Schicht-Fenster berechnen.

OPC UA PubSub

OPC UA PubSub-Nachrichten über MQTT- oder UADP (UDP-Multicast)-Transporte empfangen und senden.

Predictive Maintenance

Verbleibende Nutzungsdauer und Gesundheitsscores aus Signaltrends mittels Regression, gleitendem Durchschnitt oder EWMA berechnen.

PROFINET

Variablen von PROFINET-IO-Geräten über DCE/RPC lesen und schreiben.

UNS

ISA-95 Unified-Namespace-Topic-Hierarchien mit SparkplugB- oder JSON-Ausgabe aufbauen.

Integration mit IoT-Protokollen, Message-Brokern und Datenbanken:

MQTT

Publish/Subscribe-Messaging für IoT-Geräte mit QoS-Unterstützung (MQTT v3).

HTTP/REST

Verbinden Sie sich mit REST-APIs und Webdiensten mit anpassbaren Headern und Methoden.

InfluxDB

Zeitreihendatenbank, optimiert für industrielle und IoT-Daten.

MongoDB

NoSQL-Dokumentendatenbank für flexible Datenspeicherung.

SQL

Unterstützung für MySQL-, PostgreSQL- und SQL Server-Datenbanken.

Redis

In-Memory-Datenspeicher für Caching und Echtzeit-Datenwarteschlangen.

Firebase

Google Cloud Firestore für skalierbare NoSQL-Dokumentenspeicherung.

AMQP

RabbitMQ AMQP 0.9.1 Publish/Subscribe mit Exchange/Queue-Bindungen und TLS.

Kafka

Apache Kafka Publish/Subscribe mit Konsumentengruppen und SASL-Authentifizierung.

MQTT v5

MQTT 5.0 mit Shared Subscriptions, User-Properties und Message-Expiry.

NATS

NATS Publish/Subscribe mit Queue-Gruppen und Token- oder JWT-Credentials.

S3

AWS S3 (oder S3-kompatibler) Object-Storage-Reader und -Writer mit Schlüssel-Templates.

Daten während der Übertragung transformieren, filtern, routen und verarbeiten:

Filter

Whitelist oder Blacklist spezifischer Datenschlüssel.

Conveyor

Daten unverändert für Many-to-Many-Routing weitergeben.

Merge

Daten aus mehreren Quellen mit Timing- oder Schlüssel-basierten Strategien kombinieren.

Reshape

Felder umbenennen oder Daten mit statischen Werten anreichern.

Trigger

Bedingte Logik mit MXL-Ausdrücken.

Cron

Datenfreigabe zu bestimmten Zeiten planen.

Auth

JWT-Authentifizierung und -Validierung.

Anomaly Detection

ML-basierte Anomalieerkennung mit Isolation Forest.

Alert

Bedingungsbasierte Benachrichtigungen senden.

Chart

Echtzeit-Datenvisualisierung.

Aggregation

Fensterbasierte Aggregation (Summe, Durchschnitt, Min, Max, Count) über Tumbling-, Sliding- oder Count-Fenster.

File Format

CSV- und XML-Payloads parsen und serialisieren.

Notification

Benachrichtigungen an Slack, Microsoft Teams, E-Mail, Microsoft 365 oder Webhooks senden.

OnChange

Streams deduplizieren, indem nur ausgegeben wird, wenn überwachte Schlüssel sich über eine Toleranz hinaus ändern.

Protocol Translator

Zwischen flachem JSON, verschachteltem JSON, SparkplugB und OPC UA JSON konvertieren.

Rate Limiter

Token-Bucket-Drosselung mit Drop- oder Bounded-Queue-Strategie.

Router

Bedingtes Routing basierend auf MXL-Ausdrücken mit einem _route-Tag.

Script

Sandboxed Lua-Skripte mit konfigurierbarem Timeout ausführen.

Transform

Felder mit JSONPath, Go-Templates oder statischen Werten extrahieren oder berechnen.

Validation

Typ-, Bereichs- und Regex-Validierung mit Drop-, Forward- oder Tag-Aktionen.

Alle Konnektoren tauschen Daten im standardmäßigen Schlüssel-Wert-Payload-Format aus:

{
"temperature": 25.5,
"pressure": 101.3,
"humidity": 60,
"status": "active",
"timestamp": 1234567890
}

Dieses standardisierte Format ermöglicht es jedem Konnektor, mit jedem anderen Konnektor zu kommunizieren, unabhängig vom zugrunde liegenden Protokoll oder System.

Jeder Konnektor wird mit JSON mit drei Hauptabschnitten konfiguriert:

  1. Type: Der Konnektor-Typ (z.B. OpcuaReader, MqttV3Writer)
  2. Config: Konnektor-spezifische Konfiguration (Endpunkt, Anmeldeinformationen usw.)
  3. Variables: (Optional) Für industrielle Konnektoren definiert, welche Daten gelesen/geschrieben werden

Beispiel:

{
"type": "OpcuaReader",
"config": {
"endpoint": "opc.tcp://localhost:4840",
"pollingRate": 1000
},
"variables": [
{
"key": "temperature",
"nodeId": "ns=1;s=Temperature"
}
]
}

Konnektoren sind in Arbeitsblättern (Workflows) organisiert, wo:

  1. Reader-Konnektoren Daten aus Quellen sammeln
  2. Verarbeitungskonnektoren Daten transformieren und filtern
  3. Writer-Konnektoren Daten an Ziele senden

Daten fließen durch Verbindungen zwischen Konnektoren, wobei jeder Konnektor Daten parallel verarbeitet, um maximale Leistung zu erzielen.

Viele Reader-Konnektoren unterstützen einen pollingRate-Parameter (in Millisekunden):

{
"pollingRate": 1000 // Alle 1 Sekunde abfragen
}

Konnektoren, die Authentifizierung erfordern, unterstützen typischerweise mehrere Methoden:

{
"username": "user",
"password": "pass"
}

Oder für Token-basierte Authentifizierung:

{
"authToken": "your-token-here"
}

Alle Konnektoren beinhalten integrierte Fehlerbehandlung und:

  • Protokollieren Fehler mit spezifischen Fehlercodes
  • Setzen den Betrieb fort, wenn möglich
  • Bieten detaillierte Fehlermeldungen zur Fehlerbehebung
  • Verwenden Sie angemessene pollingRate-Werte, um Systeme nicht zu überlasten
  • Schnelleres Polling = mehr Daten, aber höhere CPU-/Netzwerknutzung
  • Typische Werte: 100ms (schnell), 1000ms (normal), 5000ms (langsam)

Einige Konnektoren akkumulieren Daten im Speicher:

  • Merge: Kombiniert Daten aus mehreren Quellen
  • Cron: Hält Daten bis zur geplanten Freigabe
  • Verwenden Sie den maxRetained-Parameter, um die Speichernutzung zu begrenzen
  • Arbeitsblätter führen Konnektoren parallel aus
  • Mehrere Arbeitsblätter laufen gleichzeitig
  • Horizontale Skalierung über CPU-Kerne

Beginnen Sie mit grundlegenden Reader → Writer-Workflows, bevor Sie Verarbeitungskonnektoren hinzufügen.

Platzieren Sie Filter-Konnektoren am Anfang des Workflows, um die Payload-Größe zu reduzieren und die Leistung zu verbessern.

Verwenden Sie Reshape-Konnektoren, um Feldnamen über verschiedene Quellen hinweg zu standardisieren.

Verwenden Sie Trigger-Konnektoren, um Fehlerbedingungen zu erkennen und zu Alert-Konnektoren zu routen.

Verwenden Sie Cron-Konnektoren für Batch-Verarbeitung und geplante Datenfreigaben.

Verwenden Sie Auth-Konnektoren, um JWT-Token in Datenflüssen zu validieren, die Authentifizierung erfordern.

Fügen Sie Anomaly Detection-Konnektoren hinzu, um ungewöhnliche Muster in Ihren Daten zu identifizieren.

Erkunden Sie die Konnektor-Dokumentation nach Kategorie: