top of page

GROK3-AI: Ausführliche Anleitung: Senden von Sensordaten von Beckhoff-SPS an Stromfee.info über MQTT

Autorenbild: Holger RoswandowiczHolger Roswandowicz




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:

    1. Installieren Sie TwinCAT 3 XAE (Engineering) auf Ihrem Entwicklungs-PC: TwinCAT Download.

    2. Aktivieren Sie die TwinCAT Runtime auf der SPS (z. B. CX5100).

    3. Prüfen Sie die Systemvoraussetzungen: Windows 7/10 oder TwinCAT/BSD, kompatible Hardware (x86, x64, ARM).

    4. Aktualisieren Sie die SPS-Firmware, falls nötig, über das TwinCAT System-Menü.


  • YouTube-Hilfe:


2. MQTT-Bibliothek einbinden


Die Tc3_IotBase-Bibliothek ermöglicht die direkte MQTT-Kommunikation aus TwinCAT heraus.


  • Vorgehen:

    1. Öffnen Sie TwinCAT XAE und erstellen Sie ein neues SPS-Projekt („Standard PLC

    2. Gehen Sie zu „References“ > „Add Library“ und wählen Sie Tc3_IotBase (TF6701 IoT Communication erforderlich).

    3. Falls die Lizenz fehlt, kontaktieren Sie Beckhoff für eine Test- oder Vollversion.



  • YouTube-Hilfe:


3. MQTT-Broker-Verbindung konfigurieren


Konfigurieren Sie die Verbindung zum MQTT-Broker von Stromfee.info direkt im SPS-Programm.


  • Vorgehen:

    1. 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



    2. 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



    3. Aktivieren Sie TLS, falls erforderlich (Zertifikat vom Broker bereitstellen):


      iecst


      WrapCopy


      fbMqttClient.stTLS.bUseTls := TRUE; fbMqttClient.stTLS.sCaFile := 'path/to/ca.crt';



    4. Rufen Sie die Execute-Methode zyklisch auf, um die Verbindung aufrechtzuerhalten:


      iecst


      WrapCopy


      fbMqttClient.Execute(bConnect);



  • YouTube-Hilfe:


4. Sensordaten programmieren und senden


Erfassen Sie Sensordaten (z. B. Temperatur, Druck) und senden Sie diese über MQTT.


  • Vorgehen:

    1. 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



    2. 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



    3. Laden Sie das Programm auf die SPS und starten Sie die Runtime („Activate Configuration“ > „Run“).



  • YouTube-Hilfe:


5. Datenübertragung überprüfen


Verifizieren Sie, dass die Daten beim Stromfee.info-Broker ankommen.


  • Vorgehen:

    1. Installieren Sie MQTT Explorer: MQTT Explorer Download.


    2. Verbinden Sie sich mit dem Broker (z. B. mqtt.stromfee.info, Port 1883, Zugangsdaten eingeben).


    3. Abonnieren Sie die Topics (z. B. waermenetz/temperatur), um die eingehenden Nachrichten zu sehen.


    4. Alternativ: Fragen Sie Stromfee.info nach Zugriff auf die InfluxDB, um die Daten direkt zu prüfen.



  • YouTube-Hilfe:


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:


Viel Erfolg bei Ihrem Projekt!

Comments


bottom of page