TIA MB_Client Float+UInt32 mit einem Aufruf auslesen

ModbusDani1995

Level-2
Beiträge
87
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wie kann ich am einfachsten über einen MB_Client Baustein Messwerte vom Typ Real und UInt auslesen.
Muss ich den MB Client 2x aufrufen?
Oder soll ich eine Datenstruktur genau wie im Handbuch anlegen?
Die gelb markierten Werte müsste ich auslesen.

Danke!

1749125299541.png
1749125345363.png
 
Ich würde in der SPS einmal alle Werte (zumindest in dem Bereich wo es dich interessiert) anlegen und die Werte alle in einem Rutsch abholen. Danach ziehst du dir die Sachen raus, die dich interessieren.

Alternativ müsstest du die einzeln Datensätze einzeln nacheinander abfragen, z.B. indem du die Parameter an deinem MB_client nach jedem erfolgreichen Daten abholen änderst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde in der SPS einmal alle Werte (zumindest in dem Bereich wo es dich interessiert) anlegen und die Werte alle in einem Rutsch abholen. Danach ziehst du dir die Sachen raus, die dich interessieren.

Alternativ müsstest du die einzeln Datensätze einzeln nacheinander abfragen, z.B. indem du die Parameter an deinem MB_client nach jedem erfolgreichen Daten abholen änderst.
Geht alle auf einmal abholen überhaupt?

4Byte mehr aber in der Adresse +8?

1749126484432.png
 
Hmm habe ich persönlich so noch nicht gesehen, denke aber funktionieren wird es trotzdem.

Ich würde es einfach mal ausprobieren und im Zweifel legst du die ungenutzten als Reserve-Bytes oder ähnliches an? Probiert doch mal was übertragen wird, wenn du z.B. ab 1101 12 Byte überträgst, dann solltest du ja theoretisch deine ersten beiden gewollten Werte haben und ebend etwas nicht benötigtes dazwischen.
 
Hmm habe ich persönlich so noch nicht gesehen, denke aber funktionieren wird es trotzdem.

Ich würde es einfach mal ausprobieren und im Zweifel legst du die ungenutzten als Reserve-Bytes oder ähnliches an? Probiert doch mal was übertragen wird, wenn du z.B. ab 1101 12 Byte überträgst, dann solltest du ja theoretisch deine ersten beiden gewollten Werte haben und ebend etwas nicht benötigtes dazwischen.
UInt32 ist schon UDint oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
- erstelle eine Struktur mit den Datentypen der aufeinanderfolgenden Register
- gib diese Struktur als Empfangspuffer für MB_Client an
auf die Art kann man bis zu 125 aufeinanderfolgende Register in einem Rutsch einlesen, auch wenn man einige Register davon gar nicht benötigt, so ist es doch einfacher und schneller, als mehrere Register-Bereiche nacheinander einzulesen

UInt32 = UDInt
 
Zurück
Oben