Modbus: Verständnisfrage zu Funktionen (Lesen & Schreiben)

Guten Morgen,
ich habe eine Frage zum Thema Modbus.

Eine Adresse stellt ein Register dar, d.h. ich kann mit einer bestimmten Adresse einen bestimmten Wert auslesen, je nach Einheit / Datentyp & Funktion.

Beispiele:
Adresse 1000 UINIT 16, mit Funktion „Read Holding Register“ auslesen
Adresse 1000 UINIT 16, mit Funktion „Write Single Holding Register“ beschreiben

Was mir noch nicht so ganz klar ist, was ist der genaue Unterschied zwischen:

  • Read Holding Registers
  • Read Input Registers

Im Internet habe ich folgendes gefunden:
Read Holding Registers
Lesen von 16-Bit (Output-)Registern

Read Input Registers
Lesen von 16-Bit (Input-)Registern

Ist es hier nicht egal, ob welchen der beiden Funktionen ich nehme?
Da beide den Inhalt auslesen.

Das eine ist ein Output-Register, das andere ein Input-Register, aber beide befehle sind Read-Befehle, hier habe ich aktuell ein Problem mit dem Verständnis bezüglich dem genauen Unterschied.

Vom Verständnis her würde ich denken das „Read Input Registers“ eine Write-Funktion ist und keine Read-Funktion, da ich hier einen „Input“ habe.

Auch die Funktionen „Write Multiple Coils“ + „Write Multiple Registers“ sind mir nicht ganz klar.
Da ich beim Schreiben in IP-Symcon z.B. immer nur eine Adresse angebe z.B. 1000.
Wann bzw. wie kann ich den mehrere auf einmal schreiben?

Hat hier jemand einfach Erklärungen zum Hintergrund für mich, für ein besseres Verständnis?

‚Read Input Register‘ ließt die Register, die im Modbus-Protokoll ‚Input-Register‘ heißen.

Write Multiple… dort gibt man das erste Register an, und je nach Länge des (erlaubten) Datenblocks werden dann mehrere hintereinander geschrieben.

Bezüglich Write Multiple, das dachte ich mir fast so das mehrere geschrieben werden können.
Wir war nur nicht klar wie, da man nicht mehrere Adressen als Ziel in der Zeile eingeben kann.

Blöd gefragt, das ist aber nicht so oft der Fall, oder?
In den meisten Fällen arbeitet man mit einzelnen Adressen und nicht mit Langen Datenblocks die dann mehrere Andressen nacheinander beschreiben bzw. hatte ich noch nicht den Fall bisher.

FC4 ist bei vielen Hersteller Sensorwerte die nicht schreibbar sind.

FC3 kann dann alles sein, oft virtuelle Werte wie Sollwerte, berechnete Werte usw.

Aber auch eine Mischung habe ich schon erlebt. Die Bibel ist nachher nur die Herstellerangaben.

Wenn du bei Expertenoption oder wie das heißt klickst kannst du Zusammenhängende Register angeben, dann werden diese in einen Lesezugriff abgefragt.

Mfg
Paul

1 „Gefällt mir“