HomeBlog

Sensordaten von der Beckhoff-SPS per MQTT an Stromfee.info senden

Stromfee Redaktion · 5. Juli 2026
Sensordaten von der Beckhoff-SPS per MQTT an Stromfee.info senden
Technik & Blindleistung — Stromfee (KI-Bild)

Du hast eine Beckhoff-SPS (z. B. CX-Reihe mit TwinCAT 3) und willst Messwerte an Stromfee.info schicken. Hier bekommst du den direkten Weg über MQTT – ohne Umwege.

Der kürzeste Weg in 5 Schritten

1) In TwinCAT 3 die Function TF6701 „IoT Communication" installieren (liefert die Bibliothek Tc3_IotBase). 2) In deinem SPS-Projekt die Bibliothek referenzieren und eine Instanz von FB_IotMqttClient anlegen. 3) Broker-Adresse (Hostname/IP von Stromfee.info), Port und Zugangsdaten setzen. 4) Deine Sensorwerte als JSON-String verpacken. 5) Zyklisch FB_IotMqttClient.Execute() aufrufen und mit .Publish() auf dein Topic senden. Broker-Adresse, Port, Topic-Struktur und Zugangsdaten bekommst du von Stromfee – trag genau diese Werte ein, rate nicht.

Sensordaten von der Beckhoff-SPS per MQTT an Stromfee.info senden
Technik & Blindleistung — Stromfee (KI-Bild)
MQTT-Client im SPS-Code aufsetzen

Lege FB_IotMqttClient als Instanz an. Fülle sHostName mit der von Stromfee genannten Broker-Adresse und nPort mit dem Port (Standard 1883 unverschlüsselt, 8883 mit TLS). Rufe den Baustein in jedem SPS-Zyklus mit .Execute(TRUE) auf und prüfe bBrokerConnected. Erst wenn die Verbindung steht, sendest du Daten – sonst gehen Publishes verloren.

Sensordaten von der Beckhoff-SPS per MQTT an Stromfee.info senden
Technik & Blindleistung — Stromfee (KI-Bild)
Sensordaten als JSON verpacken

MQTT überträgt reine Bytes, deshalb formatierst du deine Messwerte sinnvoll als JSON. Mit der Bibliothek Tc3_JsonXml und dem FB_JsonSaxWriter baust du z. B. {"anlage":"cx-01","leistung_kw":12.4,"ts":"..."}. Alternativ setzt du den String bei einfachen Werten selbst zusammen. Halte dich an die Feldnamen, die Stromfee für die Auswertung erwartet.

Sensordaten von der Beckhoff-SPS per MQTT an Stromfee.info senden
Technik & Blindleistung — Stromfee (KI-Bild)
Veröffentlichen: Topic, Payload, QoS

Mit stMqttMessage.eQoS legst du die Zustellgarantie fest (QoS 0 = feuern und vergessen, QoS 1 = mindestens einmal – für Zählwerte meist QoS 1). Setze das Topic exakt so, wie Stromfee es vorgibt (oft nach dem Muster kunde/anlage/messwert). Übergib deinen JSON-String als Payload und rufe .Publish() auf. Sende nicht in jedem SPS-Zyklus, sondern getaktet (z. B. alle 1–10 s), um Broker und Netz nicht zu fluten.

Sensordaten von der Beckhoff-SPS per MQTT an Stromfee.info senden
Technik & Blindleistung — Stromfee (KI-Bild)
Sichere Verbindung: TLS und Zugangsdaten

Nutze für den Produktivbetrieb Port 8883 mit TLS und die von Stromfee bereitgestellten Zertifikate bzw. Benutzername/Passwort. Trag die Credentials nicht fest in den SPS-Quelltext, den du weitergibst. Ohne gültige Zugangsdaten weist der Broker die Verbindung ab – bBrokerConnected bleibt dann FALSE.

Fehlersuche, wenn nichts ankommt

Prüfe der Reihe nach: Erreicht die SPS den Broker (Ping/Portfreigabe in der Firewall)? Steht bBrokerConnected auf TRUE? Stimmen Topic und Zugangsdaten exakt? Zum Gegentesten abonnierst du dein Topic mit einem MQTT-Client wie MQTT Explorer oder mosquitto_sub und schaust, ob deine Payload eintrifft. So trennst du sauber SPS-Seite von Broker-Seite.

🎬 Der Energie-Zähler
Aktuell dazu

→ Passend dazu: beckhoff sps

Häufige Fragen

Wie ist der technische Ablauf zur Übertragung von Messdaten von einer Beckhoff-SPS an Stromfee?
Der kürzeste Weg in 5 Schritten umfasst die Installation der Function TF6701, das Referenzieren der Bibliothek Tc3_IotBase und das Anlegen einer Instanz von FB_IotMqttClient. Die Sensorwerte werden als JSON-String verpackt und zyklisch über den Befehl .Publish() auf das entsprechende Topic gesendet.
Welche spezifischen Konfigurationsdaten werden für die MQTT-Verbindung benötigt?
Broker-Adresse, Port, Topic-Struktur und Zugangsdaten bekommst du von Stromfee. Diese Werte müssen exakt übernommen werden, da das System auf diesen Vorgaben basiert.
Wie erfolgt die Formatierung der Messwerte für die Auswertung?
MQTT überträgt reine Bytes, weshalb die Messwerte sinnvoll als JSON-String formatiert werden müssen. Hierfür kann die Bibliothek Tc3_JsonXml mit dem FB_JsonSaxWriter genutzt oder der String bei einfachen Werten selbst zusammengesetzt werden.
Welche Voraussetzungen gibt es für den Verbindungsaufbau im SPS-Code?
Der Baustein muss in jedem SPS-Zyklus mit .Execute(TRUE) aufgerufen werden. Erst wenn die Verbindung steht (bBrokerConnected), dürfen Daten gesendet werden, da sonst Publishes verloren gehen.

Abrechnung prüfen lassen?

Kontakt aufnehmen →
📊 Deine Anlage prüfen →