Die nahtlose Integration von Siemens S7-Steuerungen in moderne IoT-Architekturen stellt viele Unternehmen vor Herausforderungen. Der S7 Connector löst dieses Problem elegant: Eine in Go geschriebene, hochperformante Lösung, die das S7-Protokoll mit MQTT und dem Unified Namespace (UNS) Konzept verbindet.

Die zentrale Herausforderung

Produktionsanlagen mit Siemens S7-300/400/1200/1500 Steuerungen erzeugen wertvolle Daten. Diese Daten für Monitoring, Analyse und KI-Anwendungen nutzbar zu machen, erfordert jedoch eine leistungsfähige Middleware, die beide Welten verbindet: Die Automatisierungstechnik und moderne Cloud- bzw. Edge-Computing-Plattformen.

S7 Connector: Kernfunktionen im Überblick

Protokoll-Integration

  • S7-Kommunikation: Lesen und Schreiben von Daten aus S7-300/400/1200/1500 Steuerungen
  • MQTT-Integration: Automatische Publikation von SPS-Daten in einen Unified Namespace
  • Sparkplug B: Native Unterstützung des industriellen MQTT-Standards mit Protobuf-Encoding

Intelligente Datenübertragung

Der S7 Connector bietet Report-by-Exception – eine intelligente Funktion, die Daten nur bei Wertänderungen überträgt. Dies reduziert den MQTT-Traffic typischerweise um 80-95% und senkt damit Netzwerklast und Infrastrukturkosten erheblich.

Zusätzlich steht ein Push-Feature für periodisches Senden zur Verfügung – ideal für Time-Series Datenbanken, die kontinuierliche Datenpunkte benötigen.

Konfiguration leicht gemacht

Besonders hervorzuheben sind die integrierten Konfigurationsgeneratoren, die direkt aus TIA Portal Exporten eine vollständige config.yaml erzeugen:

# CLI-Generator
s7gen -in db_export.st -out config.yaml -base "UNS/PlantA/Area1/PLC1"

# Oder via Web-UI (http://localhost:8080)
s7gen-web

Dies vereinfacht die Einrichtung erheblich. Komplexe Datenstrukturen, UDTs und Bool-Packing werden automatisch erkannt und korrekt konfiguriert – ohne manuelle Fehlerquellen.

Flexible Datenformate für jeden Anwendungsfall

Der S7 Connector unterstützt verschiedene Protokolle und Datenformate:

1. UNS-JSON: Traditionelles MQTT mit JSON-Payloads

{"ts": 1699999999999, "value": 42}

2. Sparkplug B: Industriestandard für MQTT mit Protobuf-Encoding

spBv1.0/PlantA/Area1/DDATA/PLC1/Station127

3. Raw-Format: Einfache Werte ohne zusätzliche Metadaten für minimale Bandbreite

Bidirektionale Kommunikation & Anlagensteuerung

Der S7 Connector ermöglicht nicht nur das Auslesen, sondern auch das bidirektionale Steuern von SPS-Daten – eine essenzielle Funktion für SCADA-Systeme und moderne Leitstände.

DCMD: Direktes Schalten auf der SPS

Die DCMD-Funktionalität (Device Command) ist das Herzstück der Anlagensteuerung. DCMD ermöglicht das direkte Schreiben von Werten in die Siemens-Steuerung über MQTT:

UNS-JSON Modus:

mosquitto_pub -t "UNS/PlantA/Area1/PLC1/cmd/SpeedSetpoint" -m '{"value": 75.5}'

Sparkplug B Modus via DCMD:

spBv1.0/PlantA/Area1/DCMD/PLC1/SpeedSetpoint

Der S7 Connector setzt diese MQTT-Kommandos automatisch in S7-Schreiboperationen um – in Echtzeit und ohne zusätzliche Programmierung. Dies ist das eigentliche Schalten auf PLC-Ebene: Ventile öffnen/schließen, Motoren starten/stoppen, Sollwerte ändern – alles über standardisierte MQTT-Nachrichten.

Dies ist besonders wertvoll für SCADA-Anwendungen, wo Leitstandsoperatoren nicht nur Prozesswerte überwachen, sondern auch aktiv in die Anlagensteuerung eingreifen müssen.

NCMD: Node-Level Control

Ergänzend zu DCMD bietet die NCMD-Funktionalität (Node Command) Steueroperationen auf Connector-Ebene:

  • Rebirth: Vollständige Neuübertragung aller Datenpunkte
  • Restart: Neustart des S7 Connectors (z.B. nach Konfigurationsänderungen)
  • Custom Commands: Implementierung eigener Steuerlogik

NCMD steuert also den Connector selbst, während DCMD direkt mit der SPS kommuniziert.

Vollständige Closed-Loop-Szenarien

Diese bidirektionale Kommunikation ermöglicht durchgängige Regelkreise: Von der Datenerfassung über die Analyse bis zur automatisierten Rücksteuerung in die SPS – alles über standardisierte MQTT-Protokolle ohne proprietäre Schnittstellen.

Performance & Skalierbarkeit

Optimierte Datenübertragung

  • Report-by-Exception: Nur geänderte Werte werden übertragen
  • REAL-Präzision: Konfigurierbare Rundung für Float-Werte verhindert unnötige Updates
  • Push-Feature: Zeitgesteuerte Übertragung für kritische Daten

Diese Mechanismen sind besonders wichtig in großen Anlagen mit hunderten Tags, wo unnötiger Netzwerk-Traffic schnell zu Engpässen führt.

Robustheit im Betrieb

  • Auto-Reconnect: Automatische Wiederverbindung bei Verbindungsabbrüchen zu SPS oder MQTT-Broker
  • Prometheus-Metriken: Umfangreiche Monitoring-Möglichkeiten für Produktionsumgebungen
  • Verbose-Modus: Detaillierte Logging-Funktionen für Debugging und Fehleranalyse

Moderne Deployment-Strategien

Der S7 Connector ist vollständig Docker-kompatibel und unterstützt Multi-Arch-Deployments:

# Docker Compose starten
docker-compose up -d

# Multi-Arch Support für ARM und x86
docker buildx build --platform linux/amd64,linux/arm64 \
  -t yourrepo/s7-connector:latest --push .

Dies ermöglicht flexible Deployments – vom Edge-Device (z.B. Industrial PC oder Raspberry Pi) bis zur Cloud-Infrastruktur.

Anwendungsfälle in der Praxis

Der S7 Connector eignet sich für vielfältige industrielle Szenarien:

  • SCADA-Systeme: Vollwertiger Ersatz für proprietäre Gateways mit bidirektionaler Steuerung via NCMD
  • Produktionsmonitoring: Echtzeitüberwachung von Anlagenzuständen und KPIs
  • Predictive Maintenance: Datenerfassung für vorausschauende Wartungsstrategien
  • MES-Integration: Anbindung von Manufacturing Execution Systems
  • Energy Monitoring: Erfassung von Energieverbräuchen gemäß ISO 50001
  • Quality Assurance: Kontinuierliche Qualitätsdatenerfassung für statistische Prozesskontrolle
  • Remote Control: Fernsteuerung und -wartung von Produktionsanlagen über MQTT

Fazit: Die richtige Lösung für industrielle IoT-Integration

Der S7 Connector schließt die Lücke zwischen bewährter Automatisierungstechnik und modernen IoT-Plattformen. Durch seine flexible Architektur, einfache Konfiguration und Unterstützung von Industriestandards wie Sparkplug B ist er sowohl für Pilotprojekte als auch für unternehmensweite Rollouts geeignet.

Die Performance-Optimierungen und Überwachungsfunktionen machen ihn zu einer robusten, produktionsreifen Lösung für anspruchsvolle industrielle IoT-Szenarien.

Interesse geweckt? Der S7 Connector hilft Ihnen, Ihre Siemens-Steuerungen schnell und zuverlässig in Ihre IoT-Infrastruktur zu integrieren – ohne aufwändige Programmierung und mit minimaler Netzwerklast.

Vorheriger Beitrag