Hallo zusammen,
ich versuche einen Broadcast über die Adresse 0 mit der NI ModBus Toolbox an mehrere Janitza Messgeräte zu versenden (write multiple registers über Modbus TCP). Gibt es hier irgendwas spezielles zu beachten, weil sofern ich den Broadcast verschicke, melden alle anderen ModBus Zugriffe (Lesezugriffe) Fehler. Sende ich die beiden Register anstelle eines Broadcasts nur an ein einzelnes Gerät, funktioniert es.
vielen Dank für eure Hilfe
Maximilian
Meines Wissens nach wird das mit Modbus-TCP nicht funktionieren, da das TCP/IP Protokoll als Punkt-zu-Punkt Verbindung einen Broadcast nicht hergibt.
Neuerdings stolpere ich dagegen häufiger über den Begriff Modbus UDP. UDP gibt einen Broadcast her, aber auf UDP ist die NI-Modbus-Lib nicht ausgelegt. Außerdem muss das natürlich deine Gegenstelle hergeben.
Im Detail kenne ich mich da nicht aus, aber da musst du aus meiner Sicht selber Hand anlegen und auf UDP umbauen.
Gruß, Jens
Was meinst du mit Adresse 0? Bei Modbus TCP gibts nur die IP-Adresse und die Register-Adresse und hier bringt 0 entweder nur Unsinn oder keinen Broadcast.
Im Allgemeinen würde ich versuchen die NI Modbus Library nicht zu verwenden, den die hat leider Bugs und an einigen Stellen massive Performance Probleme (Modbus TCP Slave).
(18.04.2013 19:59 )Holy schrieb: [ -> ]Was meinst du mit Adresse 0? Bei Modbus TCP gibts nur die IP-Adresse und die Register-Adresse und hier bringt 0 entweder nur Unsinn oder keinen Broadcast.
Du hast den MBAP Header vergessen. Gerade die UnitID hierdrin spielt nach meiner Erfahrung eine wichtige Rolle!
(18.04.2013 19:59 )Holy schrieb: [ -> ]Im Allgemeinen würde ich versuchen die NI Modbus Library nicht zu verwenden, den die hat leider Bugs und an einigen Stellen massive Performance Probleme (Modbus TCP Slave).
Also aus Modbus TCP Master habe ich bisher gute Erfahrungen gemacht. Hat immer das gemacht, was es soll.
Der Slave ist Mist, da stimme ich dir zu.
Gruß, Jens