Step 7 S7 1500 MQTT Baustein

david_mqtt

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich arbeite zur Zeit an einem SPS (S7 1500) MQTT Projekt. Ich möchte die von einer SPS ausgelesenen Prozess-Daten einer Maschine an einen MQTT-Broker senden.
Nun sehe ich leider, dass Siemens wohl vorsieht, dass man nur einen Prozess-Datensatz pro Nachricht an den Broker verschickt.
Ich bin das Ganze bisher so umgangen, dass ich einfach ein großes JSON Objekt (aus Datensatz-Bausteinen bestehend) als String übergeben habe.
Jedoch ist der Aufwand diesen String für jede SPS zu erstellen schon enorm, denn wir sprechen hier von 70-100 Prozessdaten.

Zur Veranschaulichung, so sieht der MQTT-Nachrichtentext dann fertig aus (deutlich verkürzt):
Code:
'{"uhrzeit": "123123123", "zugkraft": "10", "widerstand": "20", "spannung":"30", "stromstaerke":"40"}'

Nun meine Frage, gibt es einfache einfachere Methode wie man mehrere Prozess-Daten über MQTT senden kann?
Also quasi das man alle von der SPS erfassten Prozess-Daten einer Maschine oÄ direkt zusammenfassen - und per MQTT versenden kann?

Vielen Dank im voraus!
 
Da MQTT sich für den Inhalt der 'Payload' nicht interessiert, sondern es einfach nur überträgt, kannst du die Daten so zusammenpacken wie es dir UND dem vermittelnden MQTT-Broker gefällt. Ein fixes Format für die payload gibt es nicht. Vielleicht kommt dir da die künftige MQTT-Version 5 etwas entgegen.

Grüsse Corrado
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo David.

Wie hast du es final gelöst? Stehe aktuell genau vor der gleichen Frage:
1. Für jede Info ein Topic mit Payload?
2. Alles in einem String zusammenfassen und dann mit Node-Red o.ä. auswerten

Viele Grüße
 
Hallo David.

Wie hast du es final gelöst? Stehe aktuell genau vor der gleichen Frage:
1. Für jede Info ein Topic mit Payload?
2. Alles in einem String zusammenfassen und dann mit Node-Red o.ä. auswerten

Viele Grüße
Wenn du sowieso schon Node Red ins Boot holst, dann brauchst du doch gar kein MQTT auf der SPS.
Node Red kann die Daten z.B. per OPC UA oder S7-Protokoll von der Steuerung holen und passend verpackt an den Broker schicken.
Wenn ich meine Glaskugel richtig lese, dann kommt MQTT wahrscheinlich mit TIA 18.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo David.

Wie hast du es final gelöst? Stehe aktuell genau vor der gleichen Frage:
1. Für jede Info ein Topic mit Payload?
2. Alles in einem String zusammenfassen und dann mit Node-Red o.ä. auswerten

Viele Grüße
Hallo,
erstmal sorry, dass ich so spät antworte.
Wir haben das komplette Projekt dazu eingestellt.
Über MQTT hatten wir (kurz vor Abbruch) alles in einem riesigen JSON-String zusammengefasst.
Die Konfiguration im TIA-Portal war total nervig und kompliziert. Die Anleitung zum Einrichten einer verschlüsselten MQTT-Verbindung über Port 8883 war totaler Mist. Musste mich stundenlang durch das komplette Portal suchen. Hoffentlich muss ich nie wieder mit dem TIA-Portal arbeiten.
 
Zuletzt bearbeitet:
Hallo,
erstmal sorry, dass ich so spät antworte.
Wir haben das komplette Projekt dazu eingestellt.
Über MQTT hatten wir (kurz vor Abbruch) alles in einem riesigen JSON-String zusammengefasst.
Die Konfiguration im TIA-Portal war total nervig und kompliziert. Die Anleitung zum Einrichten einer verschlüsselten MQTT-Verbindung über Port 8883 war totaler Mist. Musste mich stundenlang durch das komplette Portal suchen. Hoffentlich muss ich nie wieder mit dem TIA-Portal arbeiten.
Ich kann da eine gewisse Schadenfreue nicht verkneifen 😜
MQTT ist im Prinzip eine schöne "Idee". Aber "Gut gemeint" ist das Gegenteil von "Gut gemacht".
Ich hab mich auch schon stundenlang mit den Formaten rumgeschlagen.
Letztlich ist es in jeder Sprache eine Bastelei mit Stringbefehlen.
Es ist reines Marketing-Geblubber wenn es heisst einfache Umsetzung mit JSON und MQTT.
 
Zurück
Oben