TIA TIA V18 CB1241 Modbus RTU Problem

MLindner

Level-2
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe vor über eine S7-1200 und das Kommunikationsboard CB1241 per Modbus RTU Daten aus einem Gerät welches in unserer Firma entwickelt wurde auszulesen. Mein Problem ist das ich den Lesebefehl raussende und die TxD Led auch blinkt, jedoch angeblich keine Antwort bekomme. Angeblich deshalb weil ich per Hterm und RS485-USB Adapter gesehen habe das das Gerät passend Antwortet, aber ich bekomme keine Daten in die SPS und auch die RxD Led bleibt dunkel. Auch über einen Modbus Slave Simulator bekomme ich keine Daten, auch die Litzen von A und B habe ich mehrmals getauscht. Programm und Hterm screenshots füge ich bei. Ich bin für jeden Ratschlag dankbar, bin mit meinem Latein am Ende.
 

Anhänge

  • Hterm.png
    Hterm.png
    86,7 KB · Aufrufe: 38
  • Gerät.png
    Gerät.png
    213,9 KB · Aufrufe: 37
  • TIA-Programm3.png
    TIA-Programm3.png
    10,6 KB · Aufrufe: 33
  • TIA-Programm2.png
    TIA-Programm2.png
    26,8 KB · Aufrufe: 40
  • TIA-Programm.png
    TIA-Programm.png
    46 KB · Aufrufe: 41
  • TIA-Hardware.png
    TIA-Hardware.png
    20,7 KB · Aufrufe: 42
Mir fällt auf: Bei meinem Slave steht am Comm_load-Block
Modbus_Slave_DB.MB_DB
Schau mal nach, ob Du innerhalb Deines Master_DBs diese Struktur findest. Die musst Du meines Wissens da verschalten, zumindest bei meiner 1500er.
 
Zuletzt bearbeitet:
Im InstanzDB vom Modbus_Master findest du den Datentyp „MB_DB“, der muss dort ran. Zu finden in Systembausteine >> Programmressourcen
Anhang anzeigen 72545
Hallo und danke schon mal für die schnelle Hilfe, ich hatte die "normalen" Modbus Bausteine benutzt anstatt die Modbus RTU, habe das ganze jetzt mal umgestrickt, nun geht mein Modbus_Comm_Load aber nicht auf "done" obwohl meiner Meinung nach alles passen sollte. Siehe BilderScreenshot 2023-10-31 131250.pngScreenshot 2023-10-31 131328.png
 
Danke schon mal für den Tipp, ich habe einen Counter welcher bei "done" Flankenwechsel hochzählt aber der ändert sich nicht. Probiere das mal den REQ als permanent.
Muss mich selbst korrigieren, der Counter zählt hoch, was ich jetzt in meinem Master Baustein sehen kann ist das Busy immer "True" ist und der Status zwischendurch von 7002 auf 7001 wechselt und mein Counter der bei "Master DONE" hochzählen soll ändert sich nicht. In Hterm sehe ich das die Passenden werte auch zurückkommen.Screenshot 2023-11-02 073724.pngScreenshot 2023-11-02 073823.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei mir sieht es so aus:
Anhang anzeigen 72619


Stimmt deine MB_ADDR ?
Hallo kannst du mir sagen was M7.7 bei dir ist? Ja die MB_ADDR passt, da die Daten die ich per Hterm mitlese passen ja auch zu dem Lesebefehl. Noch dazu wird bei mir die Bedingung nicht eintreten, da mein "Master DONE" noch nie einen Flankenwechsel hatte. Ich bin echt mit meinem Latein am Ende
 
Nur ein Bit wo ich den REQ manuell unterbrechen kann, z. B. bei Laufzeitfehler. Ansonsten startet der REQ nach jedem Done. Mit Done zähle ich auch meine DATA_ADDR hoch, weil meine Register nicht durchlaufend sind. Deshalb auch DATA_LEN = 1.
Bin nun auch nicht der RTU-Spezialist, weil wir dies nicht verwenden. Ist mein privater WR, der kann leider nicht mehr.
 
Nur ein Bit wo ich den REQ manuell unterbrechen kann, z. B. bei Laufzeitfehler. Ansonsten startet der REQ nach jedem Done. Mit Done zähle ich auch meine DATA_ADDR hoch, weil meine Register nicht durchlaufend sind. Deshalb auch DATA_LEN = 1.
Bin nun auch nicht der RTU-Spezialist, weil wir dies nicht verwenden. Ist mein privater WR, der kann leider nicht mehr.
Okay danke dir, will erstmal damit es überhaupt mal funktioniert ein Register auslesen aber bei jedem versuch Steigt was auszulesen steigt einfach nur mein Fehlerzählerfehler.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bist du sicher dass deine Angaben beim Modbus_Comm_Load richtig sind? Bei mir ist der REQ AlwaysTrue.
Baud, Parity usw.

Anhang anzeigen 72628
So REQ habe ich jetzt einfach auf 1 gesetzt im Modbus Comm Load, Baud und Parity habe ich überprüft und das passt, was mich halt wirklich wundert ist, dass die RxD Led nicht blinkt obwohl daten auf dem Eingang sind.
 
Zurück
Oben