Modbus RPi als Slave betreiben

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich versuche Daten via Funk zu einem Rpi zu übertragen, der als Slave von einem Master abgefragt wird.

    Bei meinen Recherchen habe ich verschiedene Beispiele mit Arduinos gesehen, würde das auch mit einem Rpi funktionieren?

    Zur Zeit benutze ich einen Rpi als Master um Sondenwerte (Modbus RTU) auszulesen. Verwendet werden folgende Bibliotheken: Minimalmodbus und Pymodbus.

    Diese funktionieren ohne Probleme.

    Der Versuchsaufbau sollte wie folgt aussehen:

    Sonde (Slave) <->Rpi (Master)---------------> Funk --------------------> Rpi (Slave)<->Controller (Master)

    Der Funk stellt erstmal kein Problem da, dafür sollten im Netz ausreichend Beispiele vorhanden sein.

    Nun zu meiner Frage.

    Wie bekomme ich den Rpi(Slave) eingerichtet, dass dieser auf Anfrage des Controllers die Daten im richtigen Format sendet (Beispielsweise: 01 03 00 .....)?

    Der Controller (Master) kann mit foglenden Einstellungen betrieben werden:

    (0x01) Read Coils

    (0x02) Read Discrete Input Registers

    (0x03) Read Holding Registers

    (0x04) Read Input Registers

    unsignes word

    signed word

    u. double word

    s. double word

    float

    bit (of word)

    Ich würde ungern auf einen Arduino umsteigen wollen. Hat das jemand schon einmal versucht?

    Über Ideen oder Anregungen würde ich mich freuen.

  • > Das ist ja jetzt nichts, was hardware-spezifisch wäre ...

    Kommt drauf an wie schnell der Master reagiert. Mit Linux als Slave und RS485 sind schon viele gescheitert wenn der Master ein Mikrokontroller ist...

    Bei TCP oder UDP hat der Master meist ebenfalls ein eher langsames OS mit entsprechenden Timeouts, und zudem puffert ein anstaendiger Lan-Chip auch mindestens einen Frame.

  • Kommt drauf an wie schnell der Master reagiert. Mit Linux als Slave und RS485 sind schon viele gescheitert wenn der Master ein Mikrokontroller ist...

    Die Frage war ja, ob der Pi überhaupt Slave sein kann (was ja afair bei z.B. I2C nicht der Fall ist) ;)

    Ob das dann alles auch zufriedenstellend funktioniert, ist eine andere Sache (als Master klappt das ganz gut, ist aber keine Kunst) ...

    cu,

    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!