Modbus Coil aus FC202 auslesen bzw. schreiben

klayman

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

bis ich eine Möglichkeit gefunden habe die Firmware des zweiten FC202 zu aktualisieren versuche ich mich gerade am Auslesen und Ansteuern des ersten via Modbus TCP. Ganze Holding Register auszulesen funktioniert bereits, z.B. aktuelle Frequenz oder Leistungsaufnahme. Ebenso kann ich das Control Word über Register 2810 als Ganzes schreiben. Was mir jedoch nicht gelingt, sind einzelne Coils zu beschreiben.
Laut Handbuch von Danfoss soll Coil 5 z.B. Quick-Stop vs. Ramp Stop definieren (Link, Seite 7-16). Dieses Bit kann ich als Teil des ganzen Wortes über o.g. Register setzen, das Bit alleine lässt sich jedoch nicht ansprechen. Für meine Versuche nutze ich QModMaster mit folgenden Nachrichten:
Code:
[TCP]>Tx > 17:49:15:351 - 00  3D  00  00  00  06  01  01  00  20  00  0A 
[TCP]>Rx > 17:49:15:356 - 00  3D  00  00  00  03  01  81  01 
Sys > 17:49:15:356 - Error : Illegal function

Übersetzt für die Anforderung des Master:
1745251566305.png
Und übersetzt für die Antwort des Slave:
1745251583999.png

Hat jemand eine Idee was hier schief läuft?

Danke & Viele Grüße,
Klayman
 
Answer to self: Das MCA122 (ModbusTCP Option) kann keine einzelnen Coils beschreiben. So steht es im Handbuch (Dokument MG90P202) in Tabelle 4.1 auf Seite 17. Im Dokument Operating Instructions Modbus RTU (Dokument MG92B102) steht dann wieder auf Seite 18, dass es unterschiedliche Möglichkeiten gibt den FU zu steuern. Nämlich einmal über die Coils (was mit MCA 122 nicht geht), dann über Register 50000 Gruppe, sowie über die Register 28-1x und 29-10 Gruppen. Was nirgends steht: MCA122 geht nur über die 28-1x und 29-10 Gruppen. Control Word also in 2810 schreiben und schon gehts. Keine Ahnung warum das so seltsam dokumentiert ist...

Hier nochmal auf Englisch, falls mal jemand sucht:

Answer to self: the MCA122 Modbus TCP option does not support writing individual coils. This is explicitly stated in the manual (document MG90P202), in Table 4.1 on page 17. In contrast, the Operating Instructions for Modbus RTU (document MG92B102) explains on page 18 that there are several ways to control the drive: one is via coils (which doesn’t work with MCA122), another is via the 50000 register group, and finally through the 28-1x and 29-10 register groups. What isn’t documented clearly anywhere, though, is the fact that MCA122 only works via the 28-1x and 29-10 registers.
So if you write the Control Word to register 2810, it works immediately. I have no idea why this is documented so inconsistently.
 
Zurück
Oben