-> Hier kostenlos registrieren
Hallo zusammen,
ich verwende in mittlerweile 3 Projekten mit unterschiedlichen CPUs (1516, 1511 Soft PLC (OpenController, 1212C) den LMQTT Client Baustein von Siemens.
libraries-for-communication
Damit Abonniere ich eine Topic. Soweit funktioniert auch alles erstmal. Auch Publish geht.
Problematisch wird es wenn viele Nachrichten hintereinander kommen.
Ich schicke fast zeitgleich über einen anderen Client 10 Nachrichten. Nur wenige ms nacheinander. Alle gleich lang und recht easy.
Topic: Test
Payload: {"test":1}
danach Payload test 2 usw.
Leider kommen die Nachrichten zwar im Broker an. Das sehe ich mit einem anderen Client (MQTTX), in der SPS kommen aber nur die 1. und die 10. Nachricht an.
Ein Skope des TRCV im LMQTT Baustein zeigt:
Ein NDR (New Data Received) nach der 1. Nachricht und danach ist mehrere SPS Zyklen (60 Stück) und 116ms lang Ruhe und es kommt nichts mehr an.
Erst dann wieder ein NDR und die 10. Nachricht.

Immer wieder das gleiche Verhalten.
Kein Error und auch der Aufruf des TRCV läuft in jedem Zyklus und der EN ist auch gesetzt.
Was macht der TRCV in der Zeit.
Was passiert im Hintergrund?
Wieso wird das nicht in einen Puffer geschrieben?
So kann keine zuverlässige Kommunikation mit MQTT aufgebaut werden.
ich verwende in mittlerweile 3 Projekten mit unterschiedlichen CPUs (1516, 1511 Soft PLC (OpenController, 1212C) den LMQTT Client Baustein von Siemens.
libraries-for-communication
Damit Abonniere ich eine Topic. Soweit funktioniert auch alles erstmal. Auch Publish geht.
Problematisch wird es wenn viele Nachrichten hintereinander kommen.
Ich schicke fast zeitgleich über einen anderen Client 10 Nachrichten. Nur wenige ms nacheinander. Alle gleich lang und recht easy.
Topic: Test
Payload: {"test":1}
danach Payload test 2 usw.
Leider kommen die Nachrichten zwar im Broker an. Das sehe ich mit einem anderen Client (MQTTX), in der SPS kommen aber nur die 1. und die 10. Nachricht an.
Ein Skope des TRCV im LMQTT Baustein zeigt:
Ein NDR (New Data Received) nach der 1. Nachricht und danach ist mehrere SPS Zyklen (60 Stück) und 116ms lang Ruhe und es kommt nichts mehr an.
Erst dann wieder ein NDR und die 10. Nachricht.

Immer wieder das gleiche Verhalten.
Kein Error und auch der Aufruf des TRCV läuft in jedem Zyklus und der EN ist auch gesetzt.
Was macht der TRCV in der Zeit.
Was passiert im Hintergrund?
Wieso wird das nicht in einen Puffer geschrieben?
So kann keine zuverlässige Kommunikation mit MQTT aufgebaut werden.