Das sieht so aus, als ob du das Doppel-Halteregister 1516 + 1517 (Temperatur) lesen willst, und der Wert würde bei deiner Beschaltung in "Messwerte speichern"."Register auslesen"[0] landen (%DB5.DBD0) (erster Wert des REAL-Arrays)
Da passt aber die Parameter-Kombination Registernummer
1516 an MB_DATA_ADDR nicht zum MODE
0
Wofür habe ich mir eigentlich die Mühe gemacht, dir in Beitrag
#28 zwei Varianten zu nennen, wie du deine Register lesen kannst?
Das TIA Hilfe Thema "MB_CLIENT > Parameter MB_MODE, MB_DATA_ADDR und MB_DATA_LEN" hast du anscheinend auch nicht gründlich gelesen...
Bei MODE = 0 musst du 40001 zur gewünschten Registernummer addieren, oder MODE = 103 verwenden, da passt MB_DATA_ADDR = 1516
Wieso steht in deinem Bild am MB_DATA_PTR bei "Messwerte speichern"."Register auslesen"
P#DB5.DBX0.0 ? In
#31 hast du geschrieben, der DB wäre "optimiert"!?? Das stimmt also gar nicht ... das ist aber nicht der Grund, warum dein Lesen nicht richtig funktioniert...
der Baustein ist optimiert und der Dattenpuffer ist ein Array [0...9] of Real welches an MB_DATA_PTR liegt.
Verwendest du die bei CONNECT angegebene Connection ID 1 noch bei anderen Kommunikationsbausteinen für andere Verbindungen?
PS: Gewöhne dir mal ganz schnell wieder ab, in Variablennamen und DB-Namen Leerzeichen zu verwenden, auch wenn TIA solchen Unfug zulässt. In üblichen internationalen Nicht-Siemens Programmiersprachen sind Leerzeichen nicht zulässig.