Projektauftrag: MQTT-Client
SPS als MQTT-Client
Folgendes Projekt ist fertigzustellen:

Komponentendiagramm
MQTT-Broker und Webserver auf einem Raspberrypi, sowie der MQTT-Client auf einem ESP32 mit Sensor zu Temperaturmessung sind bereits in Betrieb.
Ihr Teilauftrag ist die Installation eines MQTT-Clients auf der S7 SPS, der die Temperatur abonniert und der Motor bei einer Temperatur ab 25°C eingeschaltet wird. Er treibt einen Lüfter zur Kühlung an.
ton >= 25° C
Technologieplan: Temperaturgesteuerter Lüfter
Eine Dokumentation zum Einsatz des MQTT-Clients auf der SPS finden Sie hier:
Konfiguration des MQTT-Broker
Der frei verfügbare MQTT-Broker "Mosquitto" ist auf einem Raspberry Pi installiert.
Die IP-Adresse des MQTT-Brokers ist 172.17.10.253.
Aus dem Auszug der Konfigurationsdatei /etc/mosquitto/mosquitto.conf geht hervor, auf welchen Ports er lauscht:
# from everywhere on port 1884 with pw listener 1884 0.0.0.0 allow_anonymous false password_file /etc/mosquitto/pw # from everywhere on ssl port 8883 with pw listener 8883 0.0.0.0 allow_anonymous false password_file /etc/mosquitto/pw cafile /etc/mosquitto/ca_certificates/ca.crt keyfile /etc/mosquitto/certs/server.key certfile /etc/mosquitto/certs/server.crt tls_version tlsv1.2
Der Zugriff ist also nur mit Benutzername und Kennwort möglich. Sie lauten hier:
Benutzername: mqttUser
Kennwort: Password
ESP32 als MQTT-Client publiziert die Temperatur
Eine Kurzbeschreibung des publizierten Datenformats der Temperatur sowie der Quellcodes des Sensorsystems findet sich hier:
https://github.com/ateachment/Esp32-Mqtt-TLS-PW-DS18B20/tree/main
Die Temperatur wird unter dem Topic temp/temp0 publiziert.Fehlersuche bei Einrichtung des MQTT-Clients auf der S7-SPS
Bei Verbindungsproblemen können die entsprechenden Fehlercodes hier nachgeschlagen werden:
TCON: Establish communication connection - ERROR and STATUS parameters
https://support.industry.siemens.com/cs/mdm/109815056?c=146683338379&lc=en-WW