Tech Talks

Siemens-S7-Werte mit Peakboard Hub Flows an viele Anwendungen verteilen

Mit Peakboard Hub Flows kannst du eine Siemens S7 über eine einzige Verbindung auslesen und die Werte über Hub-Variablen an beliebig viele Peakboard-Anwendungen verteilen.

04.11.2026

·

5 Min. Lesezeit

Offener Schaltschrank mit einer Reihe SPS-Module und Statusleuchten in der Produktionshalle (KI-generiertes Bild)
Das Wichtigste in Kürze
  • Siemens-Steuerungen unterstützen nur wenige eingehende Verbindungen. Ein Hub Flow kann die S7 über eine einzige Verbindung lesen.
  • Der Hub Flow läuft im Beispiel alle 10 Sekunden und schreibt jeden Wert in eine eigene Hub-Variable.
  • Anwendungen abonnieren nur die Hub-Variablen, die sie brauchen, und werden bei jeder Änderung benachrichtigt.
  • Die Variablen IsRunning, RunningSpeed und ErrorMessage kommen aus Datenbaustein 4 der S7.

Die Anwendungen abonnieren die Variablen und erhalten jede Änderung, sobald der Hub Flow sie in die Hub-Variablen schreibt. Hub Flows sind automatisierte Abläufe, die selbstständig im Hintergrund im Peakboard Hub laufen. Wie ein Flow-Projekt grundsätzlich aufgebaut ist, erklärt Teil 1 der Reihe zum Historisieren von MQTT-Daten.

Eine Steuerung, viele Anwendungen

In der S7 steckt die Information, was eine Maschine gerade tut: ob sie läuft und welche Ursache eine Störung hat. Diese Angaben brauchen oft viele Peakboard-Anwendungen gleichzeitig, zum Beispiel auf Peakboard Boxen an verschiedenen Stellen im Werk. Siemens-Steuerungen unterstützen allerdings nur wenige eingehende Verbindungen. Baut jede Anwendung ihre eigene Verbindung zur S7 auf, kann das die Steuerung überlasten.

Das Prinzip mit Hub-Variablen

  1. Der Hub Flow baut als Einziger eine Verbindung zur S7 auf und liest die benötigten Daten. Für die Steuerung bleibt es damit bei einer Verbindung.
  2. Aus den Rohdaten bereitet der Hub Flow die Werte auf, die für die Anwendungen nötig sind.
  3. Jeder Wert landet in einer eigenen Hub-Variable und überschreibt dort den vorherigen Wert.

Im Beispiel wiederholt der Hub Flow diese Schritte alle 10 Sekunden. Jede Peakboard-Anwendung abonniert nur die Hub-Variablen, die sie braucht. Schreibt der Hub Flow einen neuen Wert, werden alle Anwendungen benachrichtigt, die diese Variable abonniert haben. In der Anwendung kann dann zum Beispiel eine Statusanzeige von Grün auf Rot wechseln oder eine E-Mail an die zuständige Person verschickt werden. Diese Architektur folgt dem Publish-Subscribe-Muster.

Schritt für Schritt

1. Hub-Variablen anlegen

Im Peakboard Hub kannst du drei Hub-Variablen anlegen. Im Dialog „Add MQTT Variable“ kannst du für jede Variable den Namen (Identifier) und den Datentyp (Datatype) festlegen:

  • IsRunning (Boolean): ob die Maschine läuft
  • RunningSpeed (Number): die Geschwindigkeit, solange die Maschine läuft, sonst 0
  • ErrorMessage (String): die Fehlermeldung bei einem Problem, sonst leer
Dialog Add MQTT Variable im Peakboard Hub mit Identifier RunningSpeed und Datentyp number

2. Variablen im Flow-Projekt verbinden

Im Peakboard Designer kannst du ein neues Flow-Projekt anlegen und darin drei lokale Variablen mit denselben Namen und Datentypen erstellen. Jede davon kannst du mit ihrer Hub-Variable verbinden: Variable bearbeiten, Reiter „Peakboard Hub“ öffnen und unter „Peakboard Hub Variables“ die passende Hub-Variable auswählen. Ändert sich eine lokale Variable, aktualisiert der Hub Flow automatisch die zugehörige Hub-Variable.

Lokale Variable ErrorMessage im Flow-Projekt, verbunden mit der gleichnamigen Peakboard Hub Variable

3. S7-Datenquelle anlegen

Für die Verbindung zur Steuerung kannst du die Standard-Datenquelle für Siemens S7 nutzen. Im Beispiel heißt sie MySiemensS7 und ist auf Rack 0 und Slot 1 eingestellt. Die drei Variablen der Steuerung kannst du aus dem Datenbaustein 4 lesen:

  • IsRunning: Datentyp Bit, Byte-Offset 258
  • ErrorMessage: Datentyp String, Byte-Offset 2
  • RunningSpeed: Datentyp Int, Byte-Offset 0
S7-Datenquelle MySiemensS7 mit Rack 0, Slot 1 und den Variablen IsRunning, ErrorMessage und RunningSpeed aus Datenbaustein 4

4. Werte per Funktion übernehmen

Die Funktion WriteVariable kannst du mit Building Blocks bauen. Mit dem Block „set variable … from list MySiemensS7 … get row 0“ kannst du jede lokale Variable auf den Wert aus der ersten Zeile der Datenquelle setzen. Weil die lokalen Variablen mit dem Peakboard Hub verbunden sind, landen die Werte so automatisch auch in den Hub-Variablen.

Building-Blocks-Funktion WriteVariable, die IsRunning, ErrorMessage und RunningSpeed aus der S7-Datenquelle setzt

5. Hub Flow einrichten und hochladen

Für den Hub Flow ProcessS7 kannst du einen periodischen Trigger mit 10 Sekunden einrichten und zwei Schritte hinterlegen: „Reload“ für die Datenquelle MySiemensS7 und „Run function“ für die Funktion WriteVariable.

Hub Flow ProcessS7 mit periodischem Trigger alle 10 Sekunden und den Schritten Reload und Run function

Nach dem Upload in den Peakboard Hub läuft der Hub Flow sofort, und in den Hub-Variablen kannst du die aktuellen Werte der S7 sehen.

Shared variables IsRunning, ErrorMessage und RunningSpeed im Peakboard Hub mit aktuellen S7-Werten

Die Werte in einer Anwendung anzeigen

In einer Peakboard-Anwendung kannst du drei Variablen anlegen und an die Hub-Variablen binden. Die gebundenen Variablen verhalten sich wie normale Variablen und aktualisieren sich automatisch, sobald sich die zugehörige Hub-Variable ändert. Zur Anzeige eignen sich ein Icon mit bedingter Formatierung für IsRunning, ein Gauge für RunningSpeed und ein Textfeld für ErrorMessage mit dem Standardtext „Running“ für den fehlerfreien Betrieb.

Peakboard-Anwendung im Peakboard Designer mit Icon, Gauge und Text, gebunden an die drei Hub-Variablen

So kannst du eine Steuerung von den Anwendungen entkoppeln, die ihre Daten nutzen. Das funktioniert auch bei einer Steuerung wie der S7 mit ihrer begrenzten Zahl an Verbindungen. Beim Zwischenspeichern von SAP-Daten in einer Hub-Liste werden die Daten in den Anwendungen regelmäßig neu geladen. Hier bekommen die Anwendungen jede Änderung mit, sobald der Hub Flow sie in die Hub-Variablen schreibt.

Das Beispiel im Video

Weiterführende Links

Das Flow-Projekt SiemensS7Distribution.pbfx und die Anwendung SiemensS7Consumer.pbmx kannst du herunterladen und im Peakboard Designer öffnen. Mehr zur Anbindung einer S7 im Peakboard Designer kannst du auf der Seite zur Datenanbindung Siemens S7 nachlesen.

Produkt

Peakboard Hub Flows

Alle Funktionen, die Preise und die 60-tägige Testphase des Peakboard Hub stehen auf der Produktseite zu Peakboard Hub Flows.

Warum lohnt sich ein Hub Flow für die S7?

Siemens-Steuerungen unterstützen nur wenige eingehende Verbindungen, und viele direkte Verbindungen können die S7 überlasten. Mit einem Hub Flow genügt eine einzige Verbindung zur S7.

Was ist eine Hub-Variable?

Eine Variable im Peakboard Hub, die einen aktuellen Wert enthält. Anwendungen können sie abonnieren und werden benachrichtigt, sobald sich der Wert ändert.

Wie oft liest der Hub Flow die S7 im Beispiel?

Alle 10 Sekunden. Bei jedem Lauf lädt er die Datenquelle MySiemensS7 neu und führt die Funktion WriteVariable aus, um die Variablen zu aktualisieren.

Wie erfahren die Anwendungen von neuen Werten?

Die Anwendungen abonnieren die Hub-Variablen und werden benachrichtigt, sobald der Hub Flow einen neuen Wert schreibt.

Teile diesen Artikel:
Peakboard Favicon
Author: Peakboard Redaktion

Die Peakboard Redaktion schreibt über Digitalisierung, Datenvisualisierung und Prozessoptimierung in Industrie und Logistik. Der Fokus liegt auf praxisnahen Lösungen, aktuellen Entwicklungen und verständlich aufbereitetem Fachwissen.

Schneebedeckter Berg mit orangefarbener Markierung entlang des Gipfels.
Schwarz-weiß-Bild von schneebedeckten Bergen in einem Tal.
Weiße Wolken vor schwarzem Hintergrund, die in horizontalen Linien verlaufen.
Weiße Wolken vor schwarzem Hintergrund, die in horizontalen Linien verlaufen.