johanrop - 2023-04-02

Hallo Zusammen,

ich bin recht neu in der Codesys Welt und beschäftige mich gerade mit MQTT.

Ich habe in Codesys mittels der MQTT_Client_SL Bibliothek (3S-Smart Software Solutions) einen MQTT_Client zum Subscriben und Publishen implementiert. Das Implementieren hat auch soweit gut geklappt, die Verbindung zum Broker wird aufgebaut, ich kann zu einer Topic publishen und subscriben.

Ich habe nun versucht zusätzlich noch einen TCP Socket Client zu implementieren der über den FB TCP_Read den entsprechenden Port 1883 abhört/auslist. Der selbe Port wird auch bei der MQTT Kommunikation verwendet um Daten vom Broker zu empfangen (subscriben) und zu versenden (publishen).

Ich war der Meinung, das ich vom MQTT Broker an den Port 1883 gesendete Daten sowohl mit dem entsprechenden MQTT_Subscribe FB als auch mit dem implementiereten TCP_Client empfangen kann, da MQTT ein TCP/IP basiertes Nachrichtenprotokoll ist. Mit dem MQTT_Subscribe FB werden Daten empfangen und eingelesen. Mit dem TCP_Read FB werden diese Daten nicht empfangen/erkannt/eingelesen.

Warum ist das so ? Ist das generell nicht möglich, wo liegt mein Denkfehler ? Gibt es eine Möglichkeit, zu prüfen ob Daten über den entsprechenden TCP Port ankommen?

Vielen Dank im Voraus. Bilder sind im Anhang.

Beste Grüße,
Johan