TIA Support-Anfrage: Modbus RTU RS485

Aymen23

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe ein Problem mit der Modbus-RTU-Kommunikation über RS485. Das Modbus-Programm sieht korrekt aus, jedoch erhalte ich auf dem IoT-Gerät keine Antwort, obwohl die TX- und RX-LEDs am CM-PtP bereits blinken.
Ich teile mit Ihnen Screenshots meines Modbus-Programms mit.
Vielen Dank im Voraus.
Mit freundlichen Grüßen.
 

Anhänge

  • Capture d'écran 2025-12-11 124825.png
    Capture d'écran 2025-12-11 124825.png
    25 KB · Aufrufe: 29
  • Capture d'écran 2025-12-11 124853.png
    Capture d'écran 2025-12-11 124853.png
    34,2 KB · Aufrufe: 28
  • Capture d'écran 2025-12-11 124925.png
    Capture d'écran 2025-12-11 124925.png
    27,6 KB · Aufrufe: 26
  • Capture d'écran 2025-12-11 125039.png
    Capture d'écran 2025-12-11 125039.png
    228,1 KB · Aufrufe: 27
  • Capture d'écran 2025-12-11 125117.png
    Capture d'écran 2025-12-11 125117.png
    183,6 KB · Aufrufe: 25
  • Capture d'écran 2025-12-11 125158.png
    Capture d'écran 2025-12-11 125158.png
    84 KB · Aufrufe: 20
  • Capture d'écran 2025-12-11 125220.png
    Capture d'écran 2025-12-11 125220.png
    12,7 KB · Aufrufe: 28
Was keinen Sinn macht ist LEN 12 für 12 Reals, das wären für gewöhnlich mindestens 24 Register, das Modbus WORD-Basiert arbeitet.
Außerdem solltest du prüfen ob du Eingangswörter, oder Halteregister lesen/schreiben musst (und Mode entsprechend beschalten).

Was du auf jeden Fall noch tun solltest, Status bei Error sichern (Move auf eine zusätzlichen Stat-Var).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was keinen Sinn macht ist LEN 12 für 12 Reals, das wären für gewöhnlich mindestens 24 Register, das Modbus WORD-Basiert arbeitet.
Außerdem solltest du prüfen ob du Eingangswörter, oder Halteregister lesen/schreiben musst (und Mode entsprechend beschalten).

Was du auf jeden Fall noch tun solltest, Status bei Error sichern (Move auf eine zusätzlichen Stat-Var).
Eigentlich ja. Mein IoT-Gerät soll 12 Real-Werte aus der S7 auslesen. Und die S7 soll beschreibbar sein, deshalb ist im MODBUS_MASTER der Mode auf 1 gesetzt. Ich habe auch ausprobiert, dass Modbus nur zwei INT16-Werte sendet, aber der Empfänger bekommt trotzdem keine Werte. Das Problem liegt also entweder im Programm oder in der Hardware.
 
Jetzt solltest du vielleicht erst mal klären wer der aktive Part ist.
Wenn dein IoT Ding lesen / schreiben soll, dann musst du den Modbus-Slave Baustein verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der aktive Part ist S7 und Iot als slave , deswegen habe ich Modbus_Master baustein verwundet.
Okay, was soll dann die Formulieren "das IoT Device soll Werte auslesen"?
In dem Fall ist es ganz klar, dass die S7 Werte zum Device schreibt, bzw. Werte vom Device anfordert.

Um was handelt es sich bei dem IoT-Teil eigentlich?

P.S. Das sichern vom Status hast du mittlerweile implementiert?
Was steht da drin?
 
Okay, was soll dann die Formulieren "das IoT Device soll Werte auslesen"?
In dem Fall ist es ganz klar, dass die S7 Werte zum Device schreibt, bzw. Werte vom Device anfordert.

Um was handelt es sich bei dem IoT-Teil eigentlich?

P.S. Das sichern vom Status hast du mittlerweile implementiert?
Was steht da drin?
Das IoT-Gerät hat genaue Registerangaben. Das erste Register ist 0x31002 (dann in Tia portal 44099 ) und für die Baudrate kann ich ändern, aktuell steht sie auf 9600, die Parität ist none, 1 stopbits und 8 datenbits.
Der Status wechselt zwischen 7000, 7002 oder selten 81E2 oder 7001 ( in MODBUS_MASTER).
Das Problem liegt nicht am IoT-Gerät, weil ich dieses bereits erfolgreich getestet habe, sondern vermutlich an der S7.
 
Zuletzt bearbeitet:
Wie kommst du denn von 31002 auf 44099?

Aber nochmal sichern von Status bei Error, erst dann kannst du irgendwas erkennen.
 
Zurück
Oben