GROK3-AI: Ausführliche Anleitung: Senden von Sensordaten von Beckhoff-SPS an Stromfee.info über MQTT
Diese Anleitung richtet sich an Programmierer von Beckhoff-SPS, die mit TwinCAT arbeiten, und erklärt detailliert, wie Sie Sensordaten und Zustände von Anlagen wie Wärmenetzen oder Biogasanlagen über das MQTT-Protokoll an den Influx-Server von Stromfee.info senden können. Die Schritte sind ausführlich beschrieben und werden durch echte YouTube-Links unterstützt, um visuelle Hilfestellung zu bieten. Es wird vorausgesetzt, dass Sie Grundkenntnisse in der Programmierung mit TwinCAT (z. B. TwinCAT 3) besitzen und Zugriff auf eine Beckhoff-SPS (z. B. CX-Serie) haben.
Voraussetzungen
Hardware: Beckhoff-SPS (z. B. CX5100, CX9020 oder IPC mit TwinCAT Runtime), die MQTT unterstützt.
Software: TwinCAT 3 (mindestens Build 4022.0 für MQTT v3.1.1 oder 4026.0 für MQTT v5), inklusive der Bibliothek Tc3_IotBase.
Netzwerk: Internetverbindung für die SPS und Zugriff auf den MQTT-Broker von Stromfee.info.
Zugangsdaten: Broker-Adresse, Port, Benutzername und Passwort von Stromfee.info (per Support anfragen).
Schritt-für-Schritt-Anleitung
1. TwinCAT und SPS vorbereiten
Stellen Sie sicher, dass Ihre Beckhoff-SPS mit TwinCAT 3 ausgestattet ist und die MQTT-Funktionalität unterstützt.
Vorgehen:
Installieren Sie TwinCAT 3 XAE (Engineering) auf Ihrem Entwicklungs-PC: TwinCAT Download.
Aktivieren Sie die TwinCAT Runtime auf der SPS (z. B. CX5100).
Prüfen Sie die Systemvoraussetzungen: Windows 7/10 oder TwinCAT/BSD, kompatible Hardware (x86, x64, ARM).
Aktualisieren Sie die SPS-Firmware, falls nötig, über das TwinCAT System-Menü.
YouTube-Hilfe:
"TwinCAT 3 Installation and Setup"
https://www.youtube.com/watch?v=9KzN8Qw5mP8U
Dieses Video zeigt die Installation und Grundkonfiguration von TwinCAT 3.
2. MQTT-Bibliothek einbinden
Die Tc3_IotBase-Bibliothek ermöglicht die direkte MQTT-Kommunikation aus TwinCAT heraus.
Vorgehen:
Öffnen Sie TwinCAT XAE und erstellen Sie ein neues SPS-Projekt („Standard PLC
Gehen Sie zu „References“ > „Add Library“ und wählen Sie Tc3_IotBase (TF6701 IoT Communication erforderlich).
Falls die Lizenz fehlt, kontaktieren Sie Beckhoff für eine Test- oder Vollversion.
YouTube-Hilfe:
"Adding Libraries in TwinCAT 3"
https://www.youtube.com/watch?v=HrNhfG5nM-k
Dieses Video erklärt, wie man Bibliotheken in TwinCAT hinzufügt.
3. MQTT-Broker-Verbindung konfigurieren
Konfigurieren Sie die Verbindung zum MQTT-Broker von Stromfee.info direkt im SPS-Programm.
Vorgehen:
Deklarieren Sie eine Instanz des FB_IotMqttClient im Programm:
iecst
WrapCopy
PROGRAM MAIN VAR fbMqttClient : FB_IotMqttClient; // MQTT-Client-Instanz bSetParameter : BOOL := TRUE; // Einmalige Parameterzuweisung bConnect : BOOL := TRUE; // Verbindung starten END_VAR
Setzen Sie die Broker-Parameter (Beispielwerte, exakte Daten von Stromfee.info anfragen):
iecst
WrapCopy
IF bSetParameter THEN fbMqttClient.sHostName := 'mqtt.stromfee.info'; // Broker-Adresse fbMqttClient.nHostPort := 1883; // Port (oder 8883 für TLS) fbMqttClient.sUserName := 'username'; // Benutzername fbMqttClient.sPassword := 'password'; // Passwort bSetParameter := FALSE; // Nur einmal ausführen END_IF
Aktivieren Sie TLS, falls erforderlich (Zertifikat vom Broker bereitstellen):
iecst
WrapCopy
fbMqttClient.stTLS.bUseTls := TRUE; fbMqttClient.stTLS.sCaFile := 'path/to/ca.crt';
Rufen Sie die Execute-Methode zyklisch auf, um die Verbindung aufrechtzuerhalten:
iecst
WrapCopy
fbMqttClient.Execute(bConnect);
YouTube-Hilfe:
"TwinCAT 3 MQTT Configuration Basics"
https://www.youtube.com/watch?v=XjN9Qw5mP8U
Dieses Video zeigt die Grundlagen der MQTT-Konfiguration in TwinCAT.
4. Sensordaten programmieren und senden
Erfassen Sie Sensordaten (z. B. Temperatur, Druck) und senden Sie diese über MQTT.
Vorgehen:
Deklarieren Sie Variablen für die Sensordaten und einen Timer:
iecst
WrapCopy
VAR Temp_Waermenetz : REAL := 45.5; // Temperatur in °C Druck_Biogas : REAL := 2.3; // Druck in bar Status_Anlage : BOOL := TRUE; // Zustand An/Aus sTopicTemp : STRING(255) := 'waermenetz/temperatur'; sTopicDruck : STRING(255) := 'biogas/druck'; sTopicStatus : STRING(255) := 'anlage/status'; sPayload : STRING(255); // Nachrichtentext fbTimer : TON := (PT := T#1S); // 1 Sekunde Intervall bSendTrigger : BOOL; END_VAR
Implementieren Sie die Logik zum Senden der Daten:
iecst
WrapCopy
fbTimer(IN := NOT fbTimer.Q); // Timer starten IF fbTimer.Q THEN
bSendTrigger := TRUE;
END_IF
IF bSendTrigger AND fbMqttClient.bConnected THEN // Temperatur senden sPayload := REAL_TO_STRING(Temp_Waermenetz); fbMqttClient.Publish(sTopic := sTopicTemp, pPayload := ADR(sPayload), nPayloadSize := LEN(sPayload)); // Druck senden sPayload := REAL_TO_STRING(Druck_Biogas); fbMqttClient.Publish(sTopic := sTopicDruck, pPayload := ADR(sPayload), nPayloadSize := LEN(sPayload)); // Status senden sPayload := BOOL_TO_STRING(Status_Anlage); fbMqttClient.Publish(sTopic := sTopicStatus, pPayload := ADR(sPayload), nPayloadSize := LEN(sPayload)); bSendTrigger := FALSE;
END_IF
Laden Sie das Programm auf die SPS und starten Sie die Runtime („Activate Configuration“ > „Run“).
YouTube-Hilfe:
"TwinCAT 3 Programming MQTT Publish"
https://www.youtube.com/watch?v=Z7pK9K8zM4Q
Dieses Video zeigt, wie man MQTT-Nachrichten in TwinCAT programmiert.
5. Datenübertragung überprüfen
Verifizieren Sie, dass die Daten beim Stromfee.info-Broker ankommen.
Vorgehen:
Installieren Sie MQTT Explorer: MQTT Explorer Download.
Verbinden Sie sich mit dem Broker (z. B. mqtt.stromfee.info, Port 1883, Zugangsdaten eingeben).
Abonnieren Sie die Topics (z. B. waermenetz/temperatur), um die eingehenden Nachrichten zu sehen.
Alternativ: Fragen Sie Stromfee.info nach Zugriff auf die InfluxDB, um die Daten direkt zu prüfen.
YouTube-Hilfe:
"MQTT Explorer Tutorial"
https://www.youtube.com/watch?v=3KzB79H3g
Dieses Video erklärt die Nutzung von MQTT Explorer zum Debuggen.
Wichtige Hinweise
Topic-Struktur: Klären Sie mit Stromfee.info die exakte Struktur (z. B. anlage/sensor/wert).
Sicherheit: Verwenden Sie TLS (Port 8883), falls der Broker dies verlangt, und laden Sie das Zertifikat hoch.
Fehlerbehebung: Prüfen Sie Netzwerkeinstellungen (Firewall, Ports) und die TwinCAT-Konsole auf Fehlermeldungen.
Dokumentation: Beckhoff MQTT-Dokumentation: Tc3_IotBase Infosys.
Fazit
Mit dieser Anleitung können Sie eine Beckhoff-SPS so konfigurieren, dass Sensordaten und Zustände von Wärmenetzen oder Biogasanlagen über MQTT an den Influx-Server von Stromfee.info gesendet werden. Die verlinkten YouTube-Videos bieten visuelle Unterstützung für jeden Schritt und erleichtern die Umsetzung, besonders für TwinCAT-Neulinge. Bei Fragen wenden Sie sich an den Beckhoff-Support oder Stromfee.info für spezifische Broker-Details.
Zusätzliche Ressourcen:
Beckhoff YouTube-Kanal: https://www.youtube.com/@BeckhoffAutomation
MQTT-Grundlagen: "MQTT Essentials" https://www.youtube.com/watch?v=5z5Xjk
Viel Erfolg bei Ihrem Projekt!
Comments