allerdings gibt es ja auch noch die "alte" sps die mit dem moxa kommuniziert. welche connect ID dort verwendet wird, weiß ich nicht.
Welche ID eine andere SPS verwendet, spielt keine Rolle. Die ID muss nur in der eigenen CPU einmalig sein.
0A 03 06 40 00 04 44 2E muss man diese ID nicht auch irgendwo verwerten in dem Datenbaustein?
Nein. Das ist lediglich die Bytefolge der "Abfrage-Sequenz für Slave ID 10 = 0x0A", also der Aufbau des Modbus RTU Request zum Lesen der Halteregister 1600 bis 1603 vom Modbus RTU Slave mit der Busadresse 10, die das Moxa Gateway an den Modbus Slave senden muss.
siehe Handbuch deines Modbus Gerätes oder dein Bild im Beitrag #17.
Die Bytefolge "0A 03 06 40 00 04 44 2E" (alles in hex) bedeutet:
0A = Slave Adresse 10
03 = Modbus Function Code 0x03 Read Holding Registers
06 40 = Startregister 1600
00 04 = Anzahl 4 Register
44 2E = CRC
MB_CLIENT stellt diese Bytefolge (ohne die letzten beiden Bytes (CRC)) aus MB_Unit_ID und den Auftragsparametern MB_MODE, MB_DATA_ADDR, MB_DATA_LEN zusammen und sendet sie an das Moxa Gateway.
Probiere mal das Lesen von Registern über den Moxa mit einem Modbus TCP Test Client, kommt es da auch zu Fehlern? (Modbus Test Tools gibt es viele, auch kostenlose)
Die Firmware deiner SPS-CPU ist aktuell?