You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2018/06/28 15:32:45 UTC
[incubator-plc4x] 03/03: modbus: added some logging and pdu todo
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit a7cc186b1ce2d14869399bf3ad39cc3a89e8ff7c
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jun 28 17:32:35 2018 +0200
modbus: added some logging and pdu todo
---
.../org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java
index 9dd4e14..6a4a2aa 100644
--- a/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java
+++ b/plc4j/protocols/modbus/src/main/java/org/apache/plc4x/java/modbus/netty/Plc4XModbusProtocol.java
@@ -105,6 +105,7 @@ public class Plc4XModbusProtocol extends MessageToMessageCodec<ModbusTcpPayload,
// TODO: support multiple requests
ReadRequestItem<?> readRequestItem = request.getRequestItem().get();
int quantity = readRequestItem.getSize();
+ // TODO: the unit the should be used for multiple Requests
short unitId = 0;
ModbusAddress address = (ModbusAddress) readRequestItem.getAddress();
@@ -153,22 +154,27 @@ public class Plc4XModbusProtocol extends MessageToMessageCodec<ModbusTcpPayload,
if (modbusPdu instanceof WriteMultipleCoilsResponse) {
// TODO: finish implementation
WriteMultipleCoilsResponse writeMultipleCoilsResponse = (WriteMultipleCoilsResponse) modbusPdu;
+ LOGGER.debug("{}: address:{}, quantity:{}", writeMultipleCoilsResponse, writeMultipleCoilsResponse.getAddress(), writeMultipleCoilsResponse.getQuantity());
plcRequestContainer.getResponseFuture().complete(new PlcWriteResponse((PlcWriteRequest) request, new WriteResponseItem<>((WriteRequestItem<? extends Object>) requestItem, ResponseCode.OK)));
} else if (modbusPdu instanceof WriteMultipleRegistersResponse) {
// TODO: finish implementation
WriteMultipleRegistersResponse writeMultipleRegistersResponse = (WriteMultipleRegistersResponse) modbusPdu;
+ LOGGER.debug("{}: address:{}, quantity:{}", writeMultipleRegistersResponse, writeMultipleRegistersResponse.getAddress(), writeMultipleRegistersResponse.getQuantity());
plcRequestContainer.getResponseFuture().complete(new PlcWriteResponse((PlcWriteRequest) request, new WriteResponseItem<>((WriteRequestItem<? extends Object>) requestItem, ResponseCode.OK)));
} else if (modbusPdu instanceof WriteSingleCoilResponse) {
// TODO: finish implementation
WriteSingleCoilResponse writeSingleCoilResponse = (WriteSingleCoilResponse) modbusPdu;
+ LOGGER.debug("{}: address:{}, value:{}", writeSingleCoilResponse, writeSingleCoilResponse.getAddress(), writeSingleCoilResponse.getValue());
plcRequestContainer.getResponseFuture().complete(new PlcWriteResponse((PlcWriteRequest) request, new WriteResponseItem<>((WriteRequestItem<? extends Object>) requestItem, ResponseCode.OK)));
} else if (modbusPdu instanceof WriteSingleRegisterResponse) {
// TODO: finish implementation
WriteSingleRegisterResponse writeSingleRegisterResponse = (WriteSingleRegisterResponse) modbusPdu;
+ LOGGER.debug("{}: address:{}, value:{}", writeSingleRegisterResponse, writeSingleRegisterResponse.getAddress(), writeSingleRegisterResponse.getValue());
plcRequestContainer.getResponseFuture().complete(new PlcWriteResponse((PlcWriteRequest) request, new WriteResponseItem<>((WriteRequestItem<? extends Object>) requestItem, ResponseCode.OK)));
} else if (modbusPdu instanceof ReadCoilsResponse) {
// TODO: finish implementation
ReadCoilsResponse readCoilsResponse = (ReadCoilsResponse) modbusPdu;
+ LOGGER.debug("{}: Nothing", readCoilsResponse);
ByteBuf byteBuf = readCoilsResponse.getCoilStatus();
byte[] bytes = new byte[byteBuf.readableBytes()];
byteBuf.readBytes(bytes);
@@ -176,6 +182,7 @@ public class Plc4XModbusProtocol extends MessageToMessageCodec<ModbusTcpPayload,
} else if (modbusPdu instanceof ReadDiscreteInputsResponse) {
// TODO: finish implementation
ReadDiscreteInputsResponse readDiscreteInputsResponse = (ReadDiscreteInputsResponse) modbusPdu;
+ LOGGER.debug("{}: Nothing", readDiscreteInputsResponse);
ByteBuf byteBuf = readDiscreteInputsResponse.getInputStatus();
byte[] bytes = new byte[byteBuf.readableBytes()];
byteBuf.readBytes(bytes);
@@ -183,6 +190,7 @@ public class Plc4XModbusProtocol extends MessageToMessageCodec<ModbusTcpPayload,
} else if (modbusPdu instanceof ReadHoldingRegistersResponse) {
// TODO: finish implementation
ReadHoldingRegistersResponse readHoldingRegistersResponse = (ReadHoldingRegistersResponse) modbusPdu;
+ LOGGER.debug("{}: Nothing", readHoldingRegistersResponse);
ByteBuf byteBuf = readHoldingRegistersResponse.getRegisters();
byte[] bytes = new byte[byteBuf.readableBytes()];
byteBuf.readBytes(bytes);
@@ -190,6 +198,7 @@ public class Plc4XModbusProtocol extends MessageToMessageCodec<ModbusTcpPayload,
} else if (modbusPdu instanceof ReadInputRegistersResponse) {
// TODO: finish implementation
ReadInputRegistersResponse readInputRegistersResponse = (ReadInputRegistersResponse) modbusPdu;
+ LOGGER.debug("{}: Nothing", readInputRegistersResponse);
ByteBuf byteBuf = readInputRegistersResponse.getRegisters();
byte[] bytes = new byte[byteBuf.readableBytes()];
byteBuf.readBytes(bytes);