From 96fc4933dc4467c319ebfc538f9eccdfaa5816af Mon Sep 17 00:00:00 2001 From: Christofer Dutz Date: Wed, 18 Sep 2024 15:20:17 +0200 Subject: [PATCH] fix: Fixed an issue with calculating the endingAddress of a coil-response. --- .../plc4x/java/modbus/base/optimizer/ModbusOptimizer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/base/optimizer/ModbusOptimizer.java b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/base/optimizer/ModbusOptimizer.java index f4f1ff1e382..e932756437b 100644 --- a/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/base/optimizer/ModbusOptimizer.java +++ b/plc4j/drivers/modbus/src/main/java/org/apache/plc4x/java/modbus/base/optimizer/ModbusOptimizer.java @@ -348,7 +348,7 @@ protected static class Response { public Response(int startingAddress, byte[] responseData) { this.startingAddress = startingAddress; this.responseData = responseData; - this.endingAddressCoil = responseData.length * 8; + this.endingAddressCoil = startingAddress + responseData.length * 8; // In general a "Celil(responseData.length / 2)" would have been more correct, // but the data returned from the device should already be an even number. this.endingAddressRegister = startingAddress + (responseData.length / 2);