Modbus TCP schreiben Beispiel

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo zusammen,


    bin leicht am verzweifeln. Bekomme es nicht gebacken, einen Wert auf ein Modbus Register zu schreiben (Modbus TCP).

    Die Daten die ich senden möchte:

    IP: 192.168.178.61

    Slave ID: 228

    Adresse: 37

    Value: 500


    Habe etwas rumgespielt mit pymodbus, komme aber leider zu keinem Ergebnis. Die Dokumentation von pymodbus ist sehr umfangreich, hat mir da auch nicht weitergeholfen. ;(


    Hätte bitte jemand ein einfaches Beispiel, wie ich die Daten mit python senden kann?

  • Go to Best Answer
  • Ich hab versucht das Modul zu installieren, aber bin gescheitert...


    Der Code muesste etwa so aussehen:

    Code
    rom pymodbus.client import ModbusTcpClient
    
    client = ModbusTcpClient('127.0.0.1')
    rq = client.write_register(37, 500, slave=228)
    assert not rq.isError()
    client.close()
    • Best Answer

    Vielen Dank für die Hilfe!


    Die Verbindung klappt soweit, schmeißt aber noch einen Fehler:

    Der Port ist per default 502, oder muss ich den noch angeben?

    Code
    Traceback (most recent call last):
      File "write_modbus.py", line 21, in <module>
        assert not rq.isError()
    AssertionError
    Python
    from pymodbus.client.sync import ModbusTcpClient
    
    client = ModbusTcpClient('192.168.178.61')
    rq = client.write_register(37, 500, slave=228)
    assert not rq.isError()
    client.close()
  • Ich hab's geschafft das Modul zu installieren.


    Mit meinem Simulator funktioniert der Code wie angegeben.


    Wenn keine Verbindung zustande kommt sieht der Fehler ganz anders aus. Ich tippe mal auf eine Fehlermeldung von deinem Server.


    * Stimmt die Slave-Nummer?

    * Stimmt das Register?

  • Habs hinbekommen!


    Tell : Vielen Dank für die Hilfe :)


  • Ist die Frage wie lange das noch rennt. Die meisten Linux-Distributionen installieren es schon nicht mehr standardmässig. Die Python-Entwickler kümmern sich seit mehr als einem Jahr nicht mal mehr um Sicherheitslücken. Und der Zeitrahmen für den Umstieg war mehrere Jahre. Ist also jetzt auch alles andere als überraschend.

    „Eat the rich — the poor are full of preservatives.“ — Rebecca ”Becky” Connor, The Connors