ModbusTCP slave - Funktionsumfang

Post Reply
Tobi
Posts: 1
Joined: 27 Nov 2017, 17:58
Answers: 0

ModbusTCP slave - Funktionsumfang

Post by Tobi »

Hallo zusammen,

gibt es die Möglichkeit mit Hilfe des ModbusTCP-slave-Treibers einzelne Bits zu lesen bzw. zu schreiben?
Im Detail würde ich gerne die Function-Codes 0x02 und 0x05 des ModbusTCP-Protokolls verwenden.

Vielen Dank schonmal im Voraus :)
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: ModbusTCP slave - Funktionsumfang

Post by volker »

HI,
zum Modbus TCP Slave gibt es ein Tutorial. Am Ende des Tutorials kannst Du folgende Information finden:
Modbus Funktionen

Das Modbus Slave Modul stellt dir die folgenden Modbus Funktionen zur Verfügung:

Read Holding Registers (0x03)
Eingänge lesen
Read Input Registers (0x04)
Ausgänge lesen
Write Single Register (0x06)
Ein Eingang Register beschreiben
Write Multiple Registers (0x10)
Mehrere Eingang Register beschreiben
Daraus kannst Du entnehmen, dass wir keine Bit-Funktionen beim Slave unterstützen.
Darf ich wissen, was der Grund für diese Anforderung ist? In der Regel können Master-Geräte alle auch die Registerfunktionen, um Daten abzuholen. Und im weiterverarbeitenden System ist dann in der Regel das einzelne Bit eh in einem ganzen Byte untergebracht. Der Busdruchsatz auf dem Modbus verändert sich auch unwesentlich bei der Übertragung eines Words pro Boolscher Variable statt eines Bits, denn auf TCP-Ebene wird das dann auch wiede in einem kompletten Byte eingepackt. Wenn man optimale Peformance will, dann kann man selber 16 Einzelbits in ein register packen und im Mastersystem mit der Applikationssoftware wieder dort entnehmen. Damit würde dann der Durchsatz erheblich besser gegenüber de 16-fachen Nutzung über Function 02.
Aber sicher hast Du gute Gründe für die Anforderung. Lass sie uns mal wissen, denn wenn das relevan ist, können wir das auf die Agenda für kommende Versionen setzen.
Unser RevPi Motto: Don't just claim it - make it!
Post Reply