In modbus there are 4 object types which are Input registers (R), Holding registers (R/W), Input Bits (R) and Coil Bits (R/W).
What's stopping someone just using holding registers? Why are the other three data types needed?
This protocol was originally developed for serial connection devices. Each of the 4 types can be classified as proprietary equipment.
Input - discrete input (button, limit switch, etc.)
Register input - analog input (temperature, pressure, etc.)
Coil - discrete output (relay, etc.)
Holding register - analogue output (typically 0-10 V, 4-20 mA) (setting speed or temperature, etc.)
Accordingly, we have no right to write something or somehow change the input or input of the register.