/** * 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; }