Datenaustausch über Modbus TCP

mario1

Level-1
Beiträge
41
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche einen Datenaustausch zwischen zwei Raspberry über Modbus/TCP herzustellen.
Dazu habe ich in meinem Projekt eine Steuerung als Modbus/TCP Slave mit zwei Holding und zwei Input Register konfiguriert.
In dem Ausgangswort lasse ich Bit 0 mit einer Frequenz von 1 Hz blinken (habe auch schon einen statischen Wert 16xFFFF versucht).

Frage:
Warum ist das Holding Register auf ein Eingangswort und das Input Register auf ein Ausgangswort gemapt?

Modbus1.JPGModbus3.JPGModbus2.JPGModbus4.JPG

Bei der Unit-ID habe ich 255 eigestellt, weil der Slave über Modbus/TCP angesprochen wird (hat in anderen Projekten mit Energiemonitoringgeräten so funktioniert).
Im Modbus Master versuche ich mit dem Funktionscode 3 (Read Holding Register) Offset 0x000 das Ausgangswort des Modbus Slaves zu lesen.
Gelingt mir aber leider mit!
Wo kann der Fehler liegen?

mfG
Mario
 
1. Gedanke:
In Deinem zweiten Bild wird die Unit-ID rot angemeckert - wenn Du links schaust ist ein Bereich von 1-247 erlaubt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

nach Modbus.org sind die Unit-ID 1-247 den seriellen Slave Geräten hinter einem Gateway vorbehalten.
Die Unit-ID 0 ist die Broadkast Adresse.

mfG
Mario
 
Hallo,

madem ich in den Modbus Einstellungen unter Variablen aktualisieren: Aktiviert2 (immer in Buszyklus-Task) ausgewählt habe läuft mein Projekt.
Hat vielleicht noch jemand eine Erklärung für
Frage:
Warum ist das Holding Register auf ein Eingangswort und das Input Register auf ein Ausgangswort gemapt?

mfG
Mario
 
Zurück
Oben