Verständnissfrage MB Registeradressen
Posted: 11 Sep 2020, 09:11
Hallo,
Wieder einmal beschäftigt mich der Modbus Master. Da ich nicht mit einem Master auskomme was die Outputs angeht (BOOL) habe ich ein zweiten Master hinzugefügt, dieser soll die Daten an den gleichen Slave übergeben. dazu hat dieser die gleiche IP und den selben Port wie der erste Master. Sollte ja so Möglich sein.
Nun habe mich mir Registeradressen genommen die ich frei auf dem Slave definieren kann, input 16001 da ihr ja mit 1 anfangt wo alle anderen mit 0 anfangen. und output 17001. im Slave habe ich die die Startadressen 16000 in und 17000 output eingetragen.
Wenn ich jetzt die beiden Testprogramme qModMaster und ModRSim2 benutze kommen die Daten auch an den jeweiligen Adressen an sowie vom Master als auch vom Slave.
Setze ich aber das ganze dann in die Realität um kommen die daten nicht an dem echten Slave an und werden auch nicht am Master angezeigt.
Beim ersten Master Funktioniert es.
Nun habe ich weiter rumgespielt. habe ein Testprogramm erstellt wo ich alle Modbus Variablen enthalten habe die ich per hand setzen kann.
Dann habe ich die Registeradressen beim Master 2 einmal auf die geändert die auch im Master 1 enthalten sind.
Dabei ist mir aufgefallen das, wenn ich eine Variable im Master 2 schreibe er eine Variable in Master 1 auf 1 setze aber die in Master 2 nicht, das dürft soch eigendlich nicht passieren da es ja unterschiedliche Variablen sind. Oder sehe ich das Falsch?
dazu stelle ich euch mal die rsc mit dazu.
Ich weiss leider nicht mehr weiter welche Startadresse der Master 2 verwendet da es ja so nicht geht. Aber nehme ich die startadressen vom Master 1 geht es aber leider setzt er mir die falschen Variablen.
Wieder einmal beschäftigt mich der Modbus Master. Da ich nicht mit einem Master auskomme was die Outputs angeht (BOOL) habe ich ein zweiten Master hinzugefügt, dieser soll die Daten an den gleichen Slave übergeben. dazu hat dieser die gleiche IP und den selben Port wie der erste Master. Sollte ja so Möglich sein.
Nun habe mich mir Registeradressen genommen die ich frei auf dem Slave definieren kann, input 16001 da ihr ja mit 1 anfangt wo alle anderen mit 0 anfangen. und output 17001. im Slave habe ich die die Startadressen 16000 in und 17000 output eingetragen.
Wenn ich jetzt die beiden Testprogramme qModMaster und ModRSim2 benutze kommen die Daten auch an den jeweiligen Adressen an sowie vom Master als auch vom Slave.
Setze ich aber das ganze dann in die Realität um kommen die daten nicht an dem echten Slave an und werden auch nicht am Master angezeigt.
Beim ersten Master Funktioniert es.
Nun habe ich weiter rumgespielt. habe ein Testprogramm erstellt wo ich alle Modbus Variablen enthalten habe die ich per hand setzen kann.
Dann habe ich die Registeradressen beim Master 2 einmal auf die geändert die auch im Master 1 enthalten sind.
Dabei ist mir aufgefallen das, wenn ich eine Variable im Master 2 schreibe er eine Variable in Master 1 auf 1 setze aber die in Master 2 nicht, das dürft soch eigendlich nicht passieren da es ja unterschiedliche Variablen sind. Oder sehe ich das Falsch?
dazu stelle ich euch mal die rsc mit dazu.
Ich weiss leider nicht mehr weiter welche Startadresse der Master 2 verwendet da es ja so nicht geht. Aber nehme ich die startadressen vom Master 1 geht es aber leider setzt er mir die falschen Variablen.