Example #1
0
  /**
   * Write a configuration value to the slave
   *
   * @param address Address of the configuration value
   * @param value Value to be set
   * @return true if value received correctly
   */
  public boolean sendWriteRequest(int address, int value) {
    SimpleRegister reg = new SimpleRegister(value);

    try {
      WriteSingleRegisterRequest request = new WriteSingleRegisterRequest(address, reg);
      WriteSingleRegisterResponse response =
          (WriteSingleRegisterResponse) this.sendRequest(request);

      if (value != response.getRegisterValue()) {
        log.warning("The sent value isn't the same as the received value");
        return false;
      }
    } catch (Exception ex) {
      log.warning("Error on writing value: " + ex.getMessage());
      return false;
    }

    return true;
  }
  public ModbusResponse getResponse() {
    WriteSingleRegisterResponse response = new WriteSingleRegisterResponse();

    response.setHeadless(isHeadless());
    if (!isHeadless()) {
      response.setProtocolID(getProtocolID());
      response.setTransactionID(getTransactionID());
    }
    response.setFunctionCode(getFunctionCode());
    response.setUnitID(getUnitID());

    return response;
  }