final public int[] readInputRegisters(int serverAddress, int startAddress, int quantity) throws
            ModbusProtocolException, ModbusNumberException, ModbusIOException {
        ModbusRequest request = ModbusRequestBuilder.getInstance().buildReadInputRegisters(serverAddress, startAddress, quantity);
        ReadHoldingRegistersResponse response = (ReadInputRegistersResponse) processRequest(request);
        return response.getRegisters();
    }
final public int [ ] readInputRegisters ( int serverAddress , int startAddress , int quantity ) throws ModbusProtocolException , ModbusNumberException , ModbusIOException { ModbusRequest request = ModbusRequestBuilder . getInstance ( ) . buildReadInputRegisters ( serverAddress , startAddress , quantity ) ; ReadHoldingRegistersResponse response = ( ReadInputRegistersResponse ) processRequest ( request ) ; return response . getRegisters ( ) ; }
This function code is used to read from 1 to 125 contiguous input registers in a remote
device. The Request PDU specifies the starting register address and the number of registers.
In the PDU Registers are addressed starting at zero. Therefore input registers numbered 1-16
are addressed as 0-15.

@param serverAddress a slave address
@param startAddress  starting register address
@param quantity      the number of registers
@return the register data
@throws ModbusProtocolException if modbus-exception is received
@throws ModbusNumberException   if response is invalid
@throws ModbusIOException       if remote slave is unavailable