Python Modbus RTU Master "Kunbus Way"
Posted: 22 Feb 2021, 12:48
Hallo,
ich arbeite zum ersten mal mit einem RevPi, mit Raspberrys und ähnlichen Linuxsystemen habe ich bereits einige Erfahrung.
Für das aktuelle Projekt benötige ich neben ein paar DIOs auch eine Modbus RTU Schnittstelle, alles umgesetzt mit Python.
Ich habe mir die Tutorials angesehen und wie ich es verstanden habe, gibt es nun zwei Möglichkeiten die Schnittstelle umzusetzen.
Die eine Möglichkeit ist eine Python Modbus Lib zu nutzen und damit auf die serielle RS485 Schnittstelle zuzugreifen, was vermutlich problemlos funktionieren wird.
Die andere Möglichkeit ist über das Prozessabbild und PiCtory, hier ist mir jedoch noch nicht ganz klar, wie man die Befehle "effizient" umsetzt.
Muss für jeden Slave und jedes Register der Befehl in PiCtory definiert werden?
Insbesondere bei den Schreibbefehlen, wie gebe ich aus dem Python Script vor, welcher Wert geschrieben werden soll?
Oder gibt es eine effizientere Möglichkeit das umzusetzen (Übergabe von Slave- und Registeradresse aus dem Skript, Übergabe des Werts aus dem Skript etc)?
Die Entwickler werden sich sicherlich etwas gedacht haben, als Sie das Prozessabbild und alles drum rum für den RevPi ausgearbeitet haben,
daher würde ich gerne verstehen wie genau man dieses Werkzeug am besten nutzt, anstatt den "faulen Weg" zu gehen und alles über die Python Lib zu lösen.
Auch in der Doku habe ich leider nichts dazu finden können, ich hatte etwas erwartet wie "rpi.io.<meinModbusname>.readholdingregisters" oder ähnliches.
Vielen Dank.
ich arbeite zum ersten mal mit einem RevPi, mit Raspberrys und ähnlichen Linuxsystemen habe ich bereits einige Erfahrung.
Für das aktuelle Projekt benötige ich neben ein paar DIOs auch eine Modbus RTU Schnittstelle, alles umgesetzt mit Python.
Ich habe mir die Tutorials angesehen und wie ich es verstanden habe, gibt es nun zwei Möglichkeiten die Schnittstelle umzusetzen.
Die eine Möglichkeit ist eine Python Modbus Lib zu nutzen und damit auf die serielle RS485 Schnittstelle zuzugreifen, was vermutlich problemlos funktionieren wird.
Die andere Möglichkeit ist über das Prozessabbild und PiCtory, hier ist mir jedoch noch nicht ganz klar, wie man die Befehle "effizient" umsetzt.
Muss für jeden Slave und jedes Register der Befehl in PiCtory definiert werden?
Insbesondere bei den Schreibbefehlen, wie gebe ich aus dem Python Script vor, welcher Wert geschrieben werden soll?
Oder gibt es eine effizientere Möglichkeit das umzusetzen (Übergabe von Slave- und Registeradresse aus dem Skript, Übergabe des Werts aus dem Skript etc)?
Die Entwickler werden sich sicherlich etwas gedacht haben, als Sie das Prozessabbild und alles drum rum für den RevPi ausgearbeitet haben,
daher würde ich gerne verstehen wie genau man dieses Werkzeug am besten nutzt, anstatt den "faulen Weg" zu gehen und alles über die Python Lib zu lösen.
Auch in der Doku habe ich leider nichts dazu finden können, ich hatte etwas erwartet wie "rpi.io.<meinModbusname>.readholdingregisters" oder ähnliches.
Vielen Dank.