TIA Mehrere Werte über Modbus TCP auslesen

alfred0905

Level-2
Beiträge
53
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe ein kleines Problem - ich habe einen Esera 1Wire auf Modbus TCP Controller, über den ich gerne mehrere Sensoren auslesen würde. Leider habe ich es (aufgrund der Datenmenge pro Sensor) immer nur geschafft jeweils einen auszulesen. Hat jemand eine Idee was die einfachste Möglichkeit wäre beim MB_Client die MB_DATA_ADDR so quasi als Stapelverarbeitung immer nacheinander abzufragen?

LG
 
Das was Du auslesen willst, die verschiedenen Empfangsbereiche (jeder Sensorwert z.B.) etc. alle in ein Array stecken.
Dann einen Zähler (Einfache INT-Variable) erstellen.
Dieser Zähler wird immer um 1 addiert wenn MB_Client ein Done ausgibt.
Der Arrayindex wird dann beim nächsten Aufruf entsprechend mit anderen Werten gefüttert und andere Empfangsbereiche werden ebenfalls damit deklariert.
Wenn alle Geräte durch sind den Zähler wieder auf 0 setzen.
Eine Flankenerkennung vom Done wird nicht benötigt da dieser immer nur 1 Zyklus lang true ist.
Das hochzählen kann ebenfalls bei Error geschehen, dann aber aufpassen das die Verbindung sauber getrennt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, sorry für die späte Antwort, bin leider zu garnichts gekommen die letzten Tage..

Das mit dem Counter funktioniert denke ich ganz gut, was leider nicht so ganz klappt ist die jeweiligen 5 Sensorwerte aus dem "Empfangsarray" richtig dem counter nach in die einzelnen Sensorarrays zu kopieren - da kommt irgendwie nur murks raus, das ist definitiv nicht in der richtigen Reihenfolge, bei Sensor P2 werden die Werte garnicht erst verschoben und bleiben immer auf 0 - vielleicht fällt jemanden der Fehler auf?
 

Anhänge

Zurück
Oben