Seite 1 von 1

Pymodbus3 UDP Übertragung

Verfasst: Freitag 14. September 2018, 16:48
von Mesta
Hallo zusammen,
ich verwende Pymodbus3 um Daten via Modbus zu senden und empfangen. Über TCP/IP funktioniert auch alles super, aber bei der UDP-Übertragung bekomme ich immer ein None Rückgabewert.
Hier nochmal ein kleines Beispiel

Code: Alles auswählen

#from pymodbus.client.sync import ModbusTcpClient as ModbusClient # funktioniert
from pymodbus.client.sync import ModbusUdpClient as ModbusClient 

ip_udp = 'xxx.xxx.xxx.xxx'
port_udp = xxxx
address = 1000
size = 1
UNIT = 0x1

client = ModbusClient(ip_udp,  port_udp)
client.connect()

rr = client.read_holding_registers(address, size, unit=UNIT)
print(rr) # Über TCP/IP bekomme ich eine Liste, über UDP ein None ...

client.close()
Die Übertragung über UDP habe ich bereits mit einem anderen Programm getestet und alles lief soweit gut.
Hat jemand einen Rat für mich?
Grüße

Re: Pymodbus3 UDP Übertragung

Verfasst: Samstag 15. September 2018, 09:23
von sls
Und welchen Port verwendest du? Vermutlich den selben wie bei einer TCP-Connection?

Übrigens gibt es keine `UDP`-artige IP-Adresse, du solltest den Variablennamen also überdenken.

Re: Pymodbus3 UDP Übertragung

Verfasst: Samstag 15. September 2018, 09:57
von Mesta
Ich verwende Port 502, das ist der Selbe den ich auch für die TCP-Connection verwende. Wie muss der UDP-Port den gestalltet sein?

Die Ip wäre dann am besten der UDP_Header, oder wie meinst du dass?

Re: Pymodbus3 UDP Übertragung

Verfasst: Samstag 15. September 2018, 11:17
von __blackjack__
@Mesta: Es war gemeint das `ip_udp` ”falsch” ist, weil es keine speziellen UDP-IPs gibt die man zum Beispiel von speziellen TCP-IPs unterscheiden könnte. Das wäre also einfach `ip_address`.

Re: Pymodbus3 UDP Übertragung

Verfasst: Samstag 15. September 2018, 11:54
von Mesta
@__blackjack__: Ok das ist klar. Aber heißt es dann, dass es einen UDP-spezifischen Port gibt?

Re: Pymodbus3 UDP Übertragung

Verfasst: Samstag 15. September 2018, 12:46
von __deets__
Udp und tcp haben beide den gleichen Port-Bereich (1-65535), aber kommen sich nicht in die Quere.

Re: Pymodbus3 UDP Übertragung

Verfasst: Sonntag 16. September 2018, 09:16
von Mesta
Ok, ich versuche einfach mal eine andere library und vergleiche die Ergebnisse.
Ich vermute das irgendwas mit dem request nicht stimmt.