stefandreyer / CODESYS-MQTT

MQTT client library for CODESYS, supporting all QoS
MIT License
109 stars 24 forks source link

Update der Integration.md #64

Open VenMarMic opened 1 year ago

VenMarMic commented 1 year ago

Sehr geehrter Herr Dreyer,

zu aller Erst: vielen Dank für Ihre Arbeit! Ich habe zu Testzwecken eine Turck PLC bekommen, die von Haus aus kein "MQTT spricht". Daher war ich sehr froh über Ihr Projekt. Bei der Implementierung habe ich mich an Ihren integration guide gehalten. Dieser hatte mich zu einem Funktionierendem Connect geführt, aber am publish bin ich gescheitert. Nach etwas tüfteln bin ich dann darauf gekommen, dass der Part (BASIC HANDLER): "and an instance of SD_MQTT.HANDLE_MQTT for communication to the broker" veraltet ist. Das HandleMQTT bzw. nun ClientMQTT ist bereits im Struct instanziiert. Auch der ADR(...) Teil kann nun weggelassen werden (Dank ihrer Implementierung).

`PROGRAM MQTTConnect VAR stMQTTConnectData: MQTT.MQTT_IN_OUT:=(ClientID:='TX700Test'); // fbMQTTClient: MQTT.MqttClient; OBSOLETE HANDLE_MQTT END_VAR

stMQTTConnectData.clientFB( MQTT_IN_OUT:= stMQTTConnectData, ENABLE:= TRUE, URL:= 'meinBroker:1883', //hier ändern TIMEOUT:= T#2S, TLS:= FALSE);

Publish();

PROGRAM Publish VAR fbPublish: MQTT.MqttPublish; bPublish: BOOL; init: BOOL; END_VAR

IF NOT init THEN init := TRUE; fbPublish.SetMqttInOut(MQTT_IN_OUT:= MQTTConnect.stMQTTConnectData); END_IF; //go on

    fbPublish(
        Topic:= ADR('TestTopic/FromCodesys'), 
        PayloadString:= ADR('YES WE CAN'), 
        PublishAsString:= TRUE, 
        QoSIn:= MQTT.QoS.ExactlyOnce, 
        MRetain:= FALSE, 
        send:= bPublish);

`

Das erleichtert es eventuell anderen Neulingen

annD-annD commented 9 months ago

@VenMarMic Danke für den Input. Ich verwende diese geniale Bibliothek von Stefan schon länger - konnte den ganzen Ablauf noch immer nicht ganz durchblicken. Ich kopiere einfach Beispielblöcke mit automatischen Topics immer weiter und verwende es zum Senden meiner Werte. Jeder Fortschritt in der Dokumentation hilft mir weiter. Ich muss mich da nochmal reindenken.

@stefandreyer Deine Bibliothek läuft übrigens auch wunderbar auf einer Wago 750-8212 (PFC200) mit aktueller Firmware 26 und Codesys 3.5.19.20 (ohne eCockpit). Es fallen somit keine Lizenzkosten für die Software mehr an.

Gruß annD

stefandreyer commented 9 months ago

Hi,

ich habs mal aktuallisiert. Schauts euch mal an.

Grüße Stefan