Modbus/TCP und adam 6051 counter die zweite

Hi Leute
Ich bin neu hier im Forum und habe mich eigentlich auch nur angemeldet da ich ein Problem mit besagtem gerät habe und sonst nur sehr wenig zu diesem Thema gefunden habe.
Ich bin derzeit Student (Technische informatik) und habe ein Projekt nebenherlaufen bei dem es darum geht Daten mittels Modbus/TCP Modulen zu erfassen. In diesem Programm werden bereits mittels ad4eth(gerät mit Modbus/TCP schnittstelle) Temperaturen eingelesen.

Nur mit dem adam 6051 verzweifle ich langsam. ich möchte dabei die Countereingänge auslesen und hier liegt auch mein Problem, da ich nicht weis wie ich dies machen soll. Ich schreibe das gesammte Programm in c++, binn mir aber relativ sicher das ich eher Verständnissprobleme beim Protokoll bzw. der Adressierung habe.
(wie gesagt Temperaturen auslesen klappt, ebenfalls via Modbus/TCP).
da die antwort die das gerät zurück gibt immer merkwürdig(falsch) ist.
mal -50 mal nur kauderwelsch.
zum Protokoll:
ich Sende folgende Nachricht:
Bit 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
0 | 0 | 0 | 0 | 0 | 6 | 1 | 04 | 0 | 24 | 0 | 1

6: unit identifier = 1
7: funktion code = 04 Read input register
8: start Register Hig byte = 0
9: start Register Low byte = 24 oder 40024?
//laut appendix 40025~40026 Das wurde bereits in einem anderen post klargestellt das
man hier -1 drauf rechnen muss.
10: anzahl Register Hig byte = 0
11: anzahl Register Low byte = 1
//ein Register ab Register 24 lesen. 40025 und 40026 bzw. 40024 und 40025? Liegt hier evtl der Fehler? Laut appendix müste mann hier 2 Register auslesen.

Gibt es noch weitere dinge zu beachten wenn ich einen Counter auslese?
z.B. Überläufe o.ä.?

Ich hoffe das ich nicht allzuviel nerve und das ihr mir helfen können.

Mfg BabCom

Hallo erneut.

Ich habe mitlerweise nach einiger zeit des fleissigen Studiums der Dokumentation das adam 6051 moduls weitgehend ans laufen bekommen. ich habe jetzt jedoch eine neues Problem und zwar bekomme ich immer eine flasche antwortgröße zurück.

Byte Nr__: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8| 9 | 10 | 11 | 12
Gesendet : 0 | 0 | 0 | 0 | 0 | 6 | 1 | 04 | 00 | 24 | 00 | 02 |x
Antwort
: 0 | 0 | 0 | 0 | 0 | 7 | 1 | 04 | _4 | _0 | _1 | 0 | 0
im byte 5 wird die Anzahl der folgenden bytes angegeben. Laut Doku solten es bei fkt code 04 6 sein (angegeben im byte 7).
Hatte schon mal irgend jemand einen ähnlichen fehler und kann mir da weiter helfen?

Mfg BabCom