Ein Modbus-Register ist 16 Bit breit, sodass zwei Zeichen gespeichert werden können. Deshalb teilen sich zwei Zeichen die gleiche Adresse.
Das gesagt, müssen Sie die Byte-Reihenfolge ableiten, die verwendet wird: Wie werden die zwei Zeichen in das Register gestopft? Welcher geht zum höchstwertigen Byte?
Nehmen Sie Ihren Beispieltext, es hat 12 Zeichen, also ist das Lesen von 6 Registern genug (436865-436870). Von Ihrem Debug-Bild speichert die Adresse 436865 den Wert 26948, 0x6944, wenn sie in Hex konvertiert wird. Suchen Sie eine ASCII-Tabelle und suchen Sie nach den Codes 0x69 und 0x44. Dies sind die Codes für die Zeichen "i" und "D". Der Text in der SPS beginnt mit "Di". Wir können daraus schließen, dass für jedes Zeichenpaar, das in einem Register gespeichert ist, das zweite Zeichen im höchstwertigen Byte platziert wird.
Sie können den Text dann von der SPS abrufen, indem Sie die Bytes in jedem Register austauschen und mithilfe einer ASCII-Tabelle in ein Zeichen konvertieren.
Wie lautet der Text in der SPS ab Adresse 436865? – Ronaldo