public ModbusResponse createResponse() {
    WriteSingleRegisterResponse response = null;
    Register reg = null;

    // 1. get process image
    ProcessImage procimg = ModbusCoupler.getReference().getProcessImage();
    // 2. get register
    try {
      reg = procimg.getRegister(m_Reference);
      // 3. set Register
      reg.setValue(m_Register.toBytes());
    } catch (IllegalAddressException iaex) {
      return createExceptionResponse(Modbus.ILLEGAL_ADDRESS_EXCEPTION);
    }
    response = (WriteSingleRegisterResponse) getResponse();

    return response;
  }
 public void writeData(DataOutput dout) throws IOException {
   dout.writeShort(m_Reference);
   dout.write(m_Register.toBytes());
 }