ModBus Kommunikation Danfoss MCX08M<->S7-1212C

LFD

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo in die Runde🙋‍♂️
im Rahmen eines Anbindungsprojektes einer Danfoss-Steuerung MCX08M mit einer Siemens-Steuerung S7-1212c sind wir auf folgendes Problem gestoßen: Die ModBus-Kommunikation über den Port RS485 der Danfoss-Steuerung scheint, inaktiv/deaktiviert zu sein.
Es handelt sich um eine Steuerung für eines Abkühlsystems/einer Klimaanlage mit eingestellten Parametern wie Soll-Temperatur, Wasserdurchfluss,...
Laut dem Benutzer-Handbuch der Steuerung sind die Parameter in Registern gespeichert, die einen Schreib-/Lesezugriff unterstützen(Read/Write Access). Ziel des Projektes ist, die eingestellte Soll-Temperatur zu lesen und diese in der Siemens-Steuerung, für weitere Befehle einer externen Anlage zu nutzen (nur Lesezugriff).
Die ModBus-Kommunikation sowie Leseintervallen der Slave-Register werden in TIA-Portal mithilfe der Bausteine MB_LOAD_COMM und MB_Master geregelt und die Siemens-Steuerung ist mit einem Kommunikationsmodul CM1241 RS422/485 ausgestattet. Der MB-Master bleibt aber ständig auf BUSY(keine Rückmeldung vom Slave).
Die ModBus-Kommunikation wurde zusätzlich mithilfe des Programms ModBus Poll getestet, was wiederum gescheitet ist.
Meine Recherchen haben mich zum Programm MCX Shape geführt, was eine Parametrierung der Danfoss-Steuerung ermöglichen sollte. Die Steuerung wurde in meinem Fall vom Programm nicht erkannt, was mich jetzt hier hergeführt hat, weil ich mich momentan in einer "Sackgasse" befinde.

Ich würde mich über jede Art von Tipps freuen:)

Gruß
Loic
 
Die ModBus-Kommunikation über den Port RS485 der Danfoss-Steuerung scheint, inaktiv/deaktiviert zu sein.
Flackern die TX- und RX-LED des CM1241? Hat der MCX RX/TX-LEDs? Flackern die?
Der Klassiker: mal testweise bei einem Teilnehmer die RS485 A und B Leitungen vertauschen.
MB_ADDR an Modbus_Master hat den gleichen Wert wie die am MCX eingestelle Stationsadresse? (1 ... 247)
Wie sieht dein Modbus_Master-Aufruf im Programm aus? Zeige uns mal einen Screenshot.

Der MB-Master bleibt aber ständig auf BUSY(keine Rückmeldung vom Slave).
Da müsste aber auch immer wieder sehr kurz DONE oder ERROR kommen. Nur 1 Zyklus lang, so dass du das eher nicht sehen kannst?
Tipp: bei DONE oder ERROR den Wert von STATUS auf eine Merkvariable umkopieren. Welcher Wert wird da gespeichert?
Tipp 2: wenn man wissen will, ob sich ein Signal (evtl. kurz) geändert hat, dann das Signal auf einen Zählereingang legen und schauen, ob sich der Zählerstand ändert.

Die ModBus-Kommunikation wurde zusätzlich mithilfe des Programms ModBus Poll getestet, was wiederum gescheitet ist.
Du meinst vermutlich "gescheitert"? Wie hast du getestet? Was für ein Kabel hast du benutzt? Was für Ergebnisse wurden angezeigt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wo her hast du denn die Parameter für die Modbus Kommunikation? Wo im Handbuch sind de gelistet...

Ich habe letztens die beiden Tools genutzt
 
Flackern die TX- und RX-LED des CM1241? Hat der MCX RX/TX-LEDs? Flackern die?
Der Klassiker: mal testweise bei einem Teilnehmer die RS485 A und B Leitungen vertauschen.
MB_ADDR an Modbus_Master hat den gleichen Wert wie die am MCX eingestelle Stationsadresse? (1 ... 247)
Wie sieht dein Modbus_Master-Aufruf im Programm aus? Zeige uns mal einen Screenshot.
Die TX/RX LED flackert nicht, sie leuchtet. Ja, die A und B Leitungen wurden untereinander vertauscht.
 

Anhänge

  • MB_Master.png
    MB_Master.png
    18,9 KB · Aufrufe: 1
Da müsste aber auch immer wieder sehr kurz DONE oder ERROR kommen. Nur 1 Zyklus lang, so dass du das eher nicht sehen kannst?
Tipp: bei DONE oder ERROR den Wert von STATUS auf eine Merkvariable umkopieren. Welcher Wert wird da gespeichert?
Tipp 2: wenn man wissen will, ob sich ein Signal (evtl. kurz) geändert hat, dann das Signal auf einen Zählereingang legen und schauen, ob sich der Zählerstand ändert.
Die Daten aus den gelesenen Registern sollten bei einem erfolgreichen Austausch in einem DB gespeichert werden, das ist nicht der Fall. Der MB_Master ist nur auf BUSY, mehr kommt nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du meinst vermutlich "gescheitert"? Wie hast du getestet? Was für ein Kabel hast du benutzt? Was für Ergebnisse wurden angezeigt?
Es wurde ein serielles Kabel benutzt, USB->ModBus. Der ModBus Poll arbeitet als Master und schickt ein Request zu der Danfoss-Steuerung und es kommt nach ein paar Sekunden ein "Timeout Error"
 
Die TX/RX LED flackert nicht, sie leuchtet.
alle beide LEDs?


Der MB_Master ist nur auf BUSY, mehr kommt nicht.
Bist du ganz sicher? Hast du das umkopieren des STATUS bei DONE oder ERROR programmiert?
Der Aufruf des MB_COMM_LOAD wurde erfolgreich durchlaufen (DONE)? REQ einfach fest mit true beschalten ist nicht besonders sinnvoll.
Bei PORT hast du die richtige Hardware-Kennung verwendet?
Die Kommunikationsparameter (BAUD, PARITY, FLOW_CTRL, ...) sind alle passend zum MCX08M eingestellt?

Warum verwendest du diese älteren Anweisungen MB_COMM_LOAD und MB_MASTER anstatt die neueren Modbus_Comm_Load und Modbus_Master?
Welche S7-1212C genau hast du? 6ES7 .......? Welche Firmware-Version hat die (online nachschauen)?
Welche TIA Version verwendest du?


Es wurde ein serielles Kabel benutzt, USB->ModBus. Der ModBus Poll arbeitet als Master und schickt ein Request zu der Danfoss-Steuerung und es kommt nach ein paar Sekunden ein "Timeout Error"
Anderes Master-Gerät (PC), anderes Kabel, andere Master-Software - und geht auch nicht. Dein MCX08M kann ModbusRTU und ist korrekt als Modbus Slave eingerichtet?


Ein Benutzer-Handbuch ist verfügbar.
Darfst du das Handbuch mit uns teilen oder ist das geheim?

Ansonsten lies mal hier:
 
Zurück
Oben