Ich benutze Pymodbus auf einem Raspberry Pi als Client, um Werte von Sensoren zu halten und sie einem Modbus-Master über TCP zur Verfügung zu stellen.Pymodbus-Client setValues begrenzt auf 100 Register
Alles funktioniert super. Ich verwende Folgendes, um den Datenspeicher einzurichten. values = Kontext [slave_id] .getValues (Register, Adresse, Anzahl = 350) Das Problem ist, wenn ich versuche, die Werte zu setzen, kann ich nicht über [98] Listenwerte gehen.
Wenn ich die Anzahl = 5 festlege, kann ich Werte von [0] bis [4] setzen, aber es wird ein Fehler ausgegeben, wenn ich [5] wie erwartet einstelle.
Mit der Zählung = 350 bekomme ich und Fehler, wenn ich versuche und den Wert [99] einstellen.
Dies würde vorschlagen, dass ihre Grenze von 100 Registern ist. Kann diese Grenze verlängert werden?
Wenn ich store.py betrachte, kann ich keine Einschränkungen sehen, daher bin ich etwas verwirrt, wo die Grenze gesetzt wäre.
Ihre Hilfe würde sehr geschätzt werden.
Prost
Hallo. Vielen Dank für Ihre Antwort. Dies ist eine Slave-Implementierung von pyModbus, kein Master. Wenn ich die Register von meinem Master lese, lese ich in Blöcke von 100 Registern, wie Sie gesagt haben. – Winetec
Das Problem ist, wenn Sie den Datenspeicher von Registern in pyModbus es erstellen – Winetec
Wont können Sie Werte für den Slave für mehr als die ersten 98 Register hinzufügen. – Winetec