TIA MQTT in TIA v17 - Probleme mit der Verbindung zum Broker

DK3210

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe folgendes Problem:
Ich habe PLCSIM Advanced 3.0 auf meinem Rechner am Laufen. Eine S7-1500 wird dabei simuliert. IP Adresse 169.254.0.1 (Bild)
Die IP-Adressen des virtuellen Netzes sind 192.168.0.241 bzw 169.254.0.241.
Über beide IPs kann ich auch eine Verbindung zum MQTT Broker herstellen und Nachrichten empfangen / senden. listener 1883 und allow_anonymous true sind aktiviert, mosquitto version ist 1.6.9

plcsim_cpu.pngnetzwerk und internet.pngmqtt explorer.png

Ich hab folgende Konfiguration in TIA v17:
CPU 1518F-4 PN/DP mit Firmwareversion 2.0
LMQTT-Client Bibliothek v3.0.5.
Meine Datenbank ist hier zu sehen. Als IP Adresse habe ich sowohl 192.168.0.241, als auch 169.254.0.241 versucht, bekomme jedoch immmer wieder als status error: 16#8601 und die subfunction 16#0000_8089.
hwid 64 und 0 habe ich ausprobiert, mehrere clientids, die ip direkt in hex reinzuschreiben. Nichts funktioniert. Alle posts im Netz hab auch durchsucht und bin leider zu keiner Lösung gekommen. Eventuell kann mir hier jemand weiterhelfen, der Ahnung davon hat oder eine Idee, warum es nicht funktioniert?

plcsim_cpu.pngLMQTT Client.pngTabelle mqttdb.png
 
Hey,

ich habs nochmal mit LMQTT v4.0.1 versucht, leider das gleiche Ergebnis. Hier ein Screenshot davon.
Anhang anzeigen 71288
Im Client Baustein, sieht deine Zeile 237 identisch zu dieser aus:
Code:
#statConnParam.paramIP.ConnPara.ID := #statConnParam.paramQDN.ConnPara.ID := #connParam.connId;

Da war in der Bibliothek für V18 noch ein Fehler, der Support meinte aber, der sei in der Bibliothek für V17 schon behoben ;)

Falls die Zeile nicht so aussieht, mal den Baustein vom Typ lösen und die Zeile ersetzen mit der von oben. :)

Sobald eine #7004 im Status steht, hast du eine Verbindung aufgebaut, dann kannst du mal publishen.
 
Hey, danke für die schnelle Antwort! Die Zeile war leicht anders:
//neue Zeile
#statConnParam.paramIP.ConnPara.ID := #statConnParam.paramQDN.ConnPara.ID := #connParam.connId;
//alte Zeile
#statConnParam.paramIP.ConnPara.ID:= #statConnParam.paramQDN.ConnPara.ID:=#connParam.connId;

Leider bekomme ich dennoch denselben Fehler wie zuvor, obwohl ich die Zeile 237 ersetzt habe. Gibt es vielleicht irgendwelche Grundeinstellungen, die noch beachtet werden müssen? Ich habe bestimmt schon 15-20 Stunden lang jede IP-Adresse, jegliche Foren usw durchsucht, komme aber immer zu demselben Fehler. Sowohl and der echten SPS, als auch in der Simulation. Irgendetwas mache ich scheinbar noch falsch.

Vielen Dank für die Hilfe - es wäre der Wahnsinn, wenn das alles noch funktionieren würde!

Screenshot 2023-09-04 141713.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe folgendes in der Hilfe Funktion gesehen bei TCON:

TCON: Establish communication connection (S7-1200, S7-1500)
18089The CONNECT parameter does not point to a connection description or the connection description was created manually.

Wie kann ich das Problem lösen?
 
Hey, danke für die Antworten!

Ich habe bei HWID die 64 ausprobiert, leider erfolglos. auch die anderen, sprich 65,66 ; 72,73 und 120,121 waren erfolglos.
In einem anderen Post im Forum hat es mit der 0 auch funktioniert, da, wie oben beschrieben in DCDCDCs Screenshot, bei 0 die passende automatisch gewählt wird.

Leider war die HWID wohl nicht das Problem
 
Hm.. Bei deiner simulierten CPU stehen immer wieder andere Ips auf den Screenshots.

Versuch mal überall das Subnett aufzumachen 255.255.0.0 dann kannst du schon mal einen Bereich weiter sprechen.

Ansonsten kenn ich mich mit Plcsim Advanced nicht sehr gut aus da sich meiner Meinung reale Hw am besten eignet zum testen.

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey,

ich habs nochmal mit LMQTT v4.0.1 versucht, leider das gleiche Ergebnis. Hier ein Screenshot davon.
169.256.1.241 interessante IP...
Generell hör mal mit diesem 169.254... Quatsch auf, das sind reservierte Adressen.
Broker und CPU Interface in ein normales Subnetz 192.168.0.xy
HWId fest auf 64 / X1 oder 72 / X2
Sobald TIA irgendwas mit IP Adressen "automatisch" macht, kommt nur selten etwas Sinnvolles dabei heraus.
 

Anhänge

  • LMQTT_v4.01.png
    LMQTT_v4.01.png
    39,8 KB · Aufrufe: 14
@eldon - das hat leider nicht funktioniert
@Pipboy - danke für den Input! Ich hatte es schon öfters mit der 192.168.0.xy versucht und habe es nach deinem Post erneut damit probiert. In Zukunft werde ich also nur noch diese IPs verwenden.
@maxder2te - der Broker läuft auf demselben PC wie PLCSIM Advanced und TIA v17 und hat sich im selben Netzwerk befunden, wie der PLCSIM Virtual Ethernet Adapter. Ich habe aber bereits auch den Broker übers Ethernet laufen lassen - ohne Erfolg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast du denn in deiner "mosquitto.conf" File im Abschnitt Listeners, die Ports freigegeben auf denen der Broker horchen soll?

Code:
# =================================================================
# Listeners
# =================================================================

# Listen on a port/ip address combination. By using this variable
# multiple times, mosquitto can listen on more than one port. If
# this variable is used and neither bind_address nor port given,
# then the default listener will not be started.
# The port number to listen on must be given. Optionally, an ip
# address or host name may be supplied as a second argument. In
# this case, mosquitto will attempt to bind the listener to that
# address and so restrict access to the associated network and
# interface. By default, mosquitto will listen on all interfaces.
# Note that for a websockets listener it is not possible to bind to a host
# name.
#
# On systems that support Unix Domain Sockets, it is also possible
# to create a # Unix socket rather than opening a TCP socket. In
# this case, the port number should be set to 0 and a unix socket
# path must be provided, e.g.
# listener 0 /tmp/mosquitto.sock
#
# listener port-number [ip address/host name/unix socket path]
listener 1883
listener 9001

Du kannst auch feststellen welche Ports gehört werden, mit:
Code:
netstat -an | findstr 1883
:
Code:
PS C:\Windows\system32> netstat -an | findstr 1883
  TCP    127.0.0.1:1883         0.0.0.0:0              ABH?REN
  TCP    [::1]:1883             [::]:0                 ABH?REN

Soweit ich weiß, hat der Broker immer die IP vom localhost
 
Zuletzt bearbeitet:
ja habe ich bereits hinzugefügt.

Ich habe hier mal ein kleines Video aufgezeichnet. Auf Youtube am Zahnrad unten rechts im Videoplayer kann man die Wiedergabegeschwindigkeit auf 2x stellen. Vielleicht ist da ein offensichtlich erkennbarer Fehler drin? Bin absoluter Beginner in TIA

Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.
 
wie bei Minute 5:50 zu sehen ist, habe ich den Broker auf 192.168.0.241 am Laufen. Das ist auch die Einstellung in der mqttdb Datei. Wenn ich bei der CPU 255.255.0.0 als Subnetz wähle bekomme ich denselben Fehler
 
Zurück
Oben