korni128 commented on issue #1593:
URL: https://github.com/apache/plc4x/issues/1593#issuecomment-2100578105

   Hello César José García León, 
   
   thank you for looking into the problem and responding. 
   
   We have three real S7 PLCs in our test lab:: S7-1200, S7-1515, S7-1516
   For testing purposes, I connect to the PLC via an SSH tunnel, but I also run 
the code without an SSH connection next to the PLC. I have improved my code and 
logging a little bit to show you more details. I have tried out the connection 
with all three SPS via SSH and next to the SPS on a remote computer. Everything 
runs perfectly in version 0.11.0 but if I change the version to 0.12.0 the 
exception occurs as described before. You can find more details in the log 
output below. 
   
   Here is my current test code:
   ```
   import org.apache.plc4x.java.api.PlcConnection;
   import org.apache.plc4x.java.api.PlcDriverManager;
   import org.slf4j.Logger;
   import org.slf4j.LoggerFactory;
   
   public class TestConnectionWithPLC4X2 {
     
     private static final Logger logger = 
LoggerFactory.getLogger(TestConnectionWithPLC4X2.class);
   
     public static void main(String[] args) throws Exception {
   
       String urlS71515 = "s7://192.168.0.111:102?remote-rack:0&remote-slot:1"; 
// S7-1515 (Lab)
       String urlS71200 = "s7://192.168.0.190:102?remote-rack:0&remote-slot:1"; 
// S7-1200 (Error_FBs)
       String urlS71516 = "s7://192.168.0.186:102?remote-rack:0&remote-slot:1"; 
// S7-1516 (Simulation)
   
       String executionEnvironment = System.getenv("EXEC_ENVIRONMENT");
       if ("local".equals(executionEnvironment)) {
         urlS71515 = "s7://127.0.0.1:1515?remote-rack:0&remote-slot:1"; // 
S7-1515 (Lab)
         urlS71200 = "s7://127.0.0.1:1200?remote-rack:0&remote-slot:1"; // 
S7-1200 (Error_FBs)
         urlS71516 = "s7://127.0.0.1:1516?remote-rack:0&remote-slot:1"; // 
S7-1516 (Simulation)
       }
   
       logger.info("");
       
logger.info("#####################################################################");
       logger.info("Test connection with S7-1515");
       
logger.info("#####################################################################");
       try (PlcConnection connection = 
PlcDriverManager.getDefault().getConnectionManager().getConnection(urlS71515)) {
         logger.info("Connection status with S7-1515: {}", 
connection.isConnected() ? "CONNECTED" : "DISCONNECTED");
       }
       logger.info("Connection Closed");
   
       logger.info("");
       
logger.info("#####################################################################");
       logger.info("Test connection with S7-1200");
       
logger.info("#####################################################################");
       try (PlcConnection connection = 
PlcDriverManager.getDefault().getConnectionManager().getConnection(urlS71200)) {
         logger.info("Connection status with S7-1200: {}", 
connection.isConnected() ? "CONNECTED" : "DISCONNECTED");
       }
       logger.info("Connection Closed");
   
       logger.info("");
       
logger.info("#####################################################################");
       logger.info("Test connection with S7-1516");
       
logger.info("#####################################################################");
       try (PlcConnection connection = 
PlcDriverManager.getDefault().getConnectionManager().getConnection(urlS71516)) {
         logger.info("Connection status with S7-1516: {}", 
connection.isConnected() ? "CONNECTED" : "DISCONNECTED");
       }
       logger.info("Connection Closed");
     }
   }
   ```
   
   Log output with version 0.11.0 => works and looks good
   ```
   
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO TestConnectionWithPLC4X - Test connection with S7-1515
   #####################################################################
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Instantiating new PLC 
Driver Manager with class loader 
jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering available 
drivers...
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol s7 (Siemens S7 (Basic))
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol plc4x (PLC4X (Proxy-Protocol))
    [main] INFO o.a.p.j.t.tcp.TcpChannelFactory - Configuring Bootstrap with 
Configuration{local-rack=1, local-slot=1, local-tsap=0, remote-rack=0, 
remote-slot=0, remote-rack2=0, remote-slot2=0, remote-tsap=0, pduSize=1024, 
maxAmqCaller=8, maxAmqCallee=8, controllerType=null, readTimeOut=8, ping=false, 
pingTime=-1, retryTime=4}
    [main] INFO o.a.p.j.s.r.protocol.S7ProtocolLogic - S7 Driver running in 
ACTIVE mode.
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 15:09:00.889822200  
userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.ConnectEvent@524f3b3a
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 
java.util.NoSuchElementException: watchdog
    [main] INFO TestConnectionWithPLC4X - Connection status with S7-1515: 
CONNECTED
    [nioEventLoopGroup-2-1] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 
15:09:01.906797500  userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.ConnectedEvent@22dc3224
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 15:09:01.910999800  
userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.DisconnectEvent@539d019
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - DisconnectEvent
    [main] INFO TestConnectionWithPLC4X - Connection Closed
    [main] INFO TestConnectionWithPLC4X - 
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO TestConnectionWithPLC4X - Test connection with S7-1200
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Instantiating new PLC 
Driver Manager with class loader 
jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering available 
drivers...
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol s7 (Siemens S7 (Basic))
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol plc4x (PLC4X (Proxy-Protocol))
    [main] INFO o.a.p.j.t.tcp.TcpChannelFactory - Configuring Bootstrap with 
Configuration{local-rack=1, local-slot=1, local-tsap=0, remote-rack=0, 
remote-slot=0, remote-rack2=0, remote-slot2=0, remote-tsap=0, pduSize=1024, 
maxAmqCaller=8, maxAmqCallee=8, controllerType=null, readTimeOut=8, ping=false, 
pingTime=-1, retryTime=4}
    [main] INFO o.a.p.j.s.r.protocol.S7ProtocolLogic - S7 Driver running in 
ACTIVE mode.
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 15:09:01.946659400  
userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.ConnectEvent@30af5b6b
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 
java.util.NoSuchElementException: watchdog
    [main] INFO TestConnectionWithPLC4X - Connection status with S7-1200: 
CONNECTED
    [nioEventLoopGroup-3-1] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 
15:09:03.402679  userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.ConnectedEvent@5888d5b
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 15:09:03.404680500  
userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.DisconnectEvent@19835e64
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - DisconnectEvent
    [main] INFO TestConnectionWithPLC4X - Connection Closed
    [main] INFO TestConnectionWithPLC4X - 
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO TestConnectionWithPLC4X - Test connection with S7-1516
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Instantiating new PLC 
Driver Manager with class loader 
jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering available 
drivers...
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol s7 (Siemens S7 (Basic))
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol plc4x (PLC4X (Proxy-Protocol))
    [main] INFO o.a.p.j.t.tcp.TcpChannelFactory - Configuring Bootstrap with 
Configuration{local-rack=1, local-slot=1, local-tsap=0, remote-rack=0, 
remote-slot=0, remote-rack2=0, remote-slot2=0, remote-tsap=0, pduSize=1024, 
maxAmqCaller=8, maxAmqCallee=8, controllerType=null, readTimeOut=8, ping=false, 
pingTime=-1, retryTime=4}
    [main] INFO o.a.p.j.s.r.protocol.S7ProtocolLogic - S7 Driver running in 
ACTIVE mode.
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 15:09:03.446152400  
userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.ConnectEvent@6a55299e
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 
java.util.NoSuchElementException: watchdog
    [nioEventLoopGroup-4-1] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 
15:09:04.513452200  userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.ConnectedEvent@19a070f1
    [main] INFO TestConnectionWithPLC4X - Connection status with S7-1516: 
CONNECTED
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - 15:09:04.514457800  
userEventTriggered: S7HMuxImpl#0 Event: 
org.apache.plc4x.java.spi.events.DisconnectEvent@2f1de2d6
    [main] INFO o.a.p.j.s.r.connection.S7HMuxImpl - DisconnectEvent
    [main] INFO TestConnectionWithPLC4X - Connection Closed
   ```
   
   Log output with version 0.12.0 (I have removed the content of DEBUGDOOM 
because I don't know what is in there)
   ```
    [main] INFO TestConnectionWithPLC4X - 
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO TestConnectionWithPLC4X - Test connection with S7-1515
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Instantiating new PLC 
Driver Manager with class loader 
jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering available 
drivers...
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol s7 (Siemens S7 (Basic))
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol plc4x (PLC4X (Proxy-Protocol))
    [main] INFO o.a.p.j.t.tcp.TcpChannelFactory - Configuring Bootstrap with 
org.apache.plc4x.java.s7.readwrite.configuration.S7TcpTransportConfiguration@34129c78
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] USER_EVENT: 
org.apache.plc4x.java.spi.events.ConnectEvent@11d8ae8b
    [main] INFO o.a.p.j.s.r.protocol.S7ProtocolLogic - S7 Driver running in 
ACTIVE mode.
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] WRITE: 22B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] FLUSH
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 15:07:55.101204500 
userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.ConnectEvent@11d8ae8b
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 22B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] WRITE: 25B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] FLUSH
    [nioEventLoopGroup-2-1] WARN i.n.channel.embedded.EmbeddedChannel - More 
than one exception was raised. Will report only the first one and log others.
   io.netty.handler.codec.DecoderException: 
io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 must produce 
at least one message.
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:145)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:1)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 
must produce at least one message.
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:99)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.logging.LoggingHandler.write(LoggingHandler.java:288)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113)
        at 
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000)
        at 
io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
        at 
io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
        at 
org.apache.plc4x.java.spi.internal.DefaultConversationContext.sendToWire(DefaultConversationContext.java:70)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:107)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:1)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$3(S7ProtocolLogic.java:194)
        at 
java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
        at 
org.apache.plc4x.java.spi.Plc4xNettyWrapper.decode(Plc4xNettyWrapper.java:183)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        ... 40 common frames omitted
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 27B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] WRITE: 33B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] FLUSH
    [nioEventLoopGroup-2-1] WARN i.n.channel.embedded.EmbeddedChannel - More 
than one exception was raised. Will report only the first one and log others.
   io.netty.handler.codec.DecoderException: 
io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 must produce 
at least one message.
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:145)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:1)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 
must produce at least one message.
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:99)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.logging.LoggingHandler.write(LoggingHandler.java:288)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113)
        at 
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000)
        at 
io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
        at 
io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
        at 
org.apache.plc4x.java.spi.internal.DefaultConversationContext.sendToWire(DefaultConversationContext.java:70)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:107)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:1)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$8(S7ProtocolLogic.java:231)
        at 
java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
        at 
org.apache.plc4x.java.spi.Plc4xNettyWrapper.decode(Plc4xNettyWrapper.java:183)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        ... 40 common frames omitted
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 967B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-2-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] USER_EVENT: org.apache.plc4x.java.spi.events.ConnectedEvent@7209f3cd
    [main] INFO TestConnectionWithPLC4X - Connection status with S7-1515: 
DISCONNECTED
    [nioEventLoopGroup-2-1] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 
15:07:56.076771100 userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.ConnectedEvent@7209f3cd
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] USER_EVENT: 
org.apache.plc4x.java.spi.events.DisconnectEvent@6dab9b6d
    [nioEventLoopGroup-2-1] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 
java.util.NoSuchElementException: watchdog
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] CLOSE
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded ! R:embedded] INACTIVE
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded ! R:embedded] UNREGISTERED
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - Unregistered of channel: 
PRIMARY
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 15:07:56.079778400 
userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.DisconnectEvent@6dab9b6d
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - DisconnectEvent
    [main] INFO TestConnectionWithPLC4X - Connection Closed
    [main] INFO TestConnectionWithPLC4X - 
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO TestConnectionWithPLC4X - Test connection with S7-1200
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Instantiating new PLC 
Driver Manager with class loader 
jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering available 
drivers...
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol s7 (Siemens S7 (Basic))
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol plc4x (PLC4X (Proxy-Protocol))
    [plc4x-evt-dispatcher-thread-1] INFO o.a.p.j.s.r.p.S7ProtocolEventLogic - 
EventDispatcher Bye!
    [main] INFO o.a.p.j.t.tcp.TcpChannelFactory - Configuring Bootstrap with 
org.apache.plc4x.java.s7.readwrite.configuration.S7TcpTransportConfiguration@53fd0d10
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] USER_EVENT: 
org.apache.plc4x.java.spi.events.ConnectEvent@4ce1d6d0
    [main] INFO o.a.p.j.s.r.protocol.S7ProtocolLogic - S7 Driver running in 
ACTIVE mode.
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] WRITE: 22B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] FLUSH
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 15:07:56.111357300 
userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.ConnectEvent@4ce1d6d0
    [plc4x-evt-processor-thread-1] INFO o.a.p.j.s.r.p.S7ProtocolEventLogic - 
ObjectProcessor Bye!
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 22B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] WRITE: 25B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] FLUSH
    [nioEventLoopGroup-3-1] WARN i.n.channel.embedded.EmbeddedChannel - More 
than one exception was raised. Will report only the first one and log others.
   io.netty.handler.codec.DecoderException: 
io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 must produce 
at least one message.
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:145)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:1)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 
must produce at least one message.
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:99)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.logging.LoggingHandler.write(LoggingHandler.java:288)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113)
        at 
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000)
        at 
io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
        at 
io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
        at 
org.apache.plc4x.java.spi.internal.DefaultConversationContext.sendToWire(DefaultConversationContext.java:70)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:107)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:1)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$3(S7ProtocolLogic.java:194)
        at 
java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
        at 
org.apache.plc4x.java.spi.Plc4xNettyWrapper.decode(Plc4xNettyWrapper.java:183)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        ... 40 common frames omitted
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 27B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] WRITE: 33B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] FLUSH
    [nioEventLoopGroup-3-1] WARN i.n.channel.embedded.EmbeddedChannel - More 
than one exception was raised. Will report only the first one and log others.
   io.netty.handler.codec.DecoderException: 
io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 must produce 
at least one message.
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:145)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:1)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 
must produce at least one message.
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:99)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.logging.LoggingHandler.write(LoggingHandler.java:288)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113)
        at 
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000)
        at 
io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
        at 
io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
        at 
org.apache.plc4x.java.spi.internal.DefaultConversationContext.sendToWire(DefaultConversationContext.java:70)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:107)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:1)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$8(S7ProtocolLogic.java:231)
        at 
java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
        at 
org.apache.plc4x.java.spi.Plc4xNettyWrapper.decode(Plc4xNettyWrapper.java:183)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        ... 40 common frames omitted
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 247B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-3-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] USER_EVENT: org.apache.plc4x.java.spi.events.ConnectedEvent@10b971b9
    [nioEventLoopGroup-3-1] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 
15:07:57.275383900 userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.ConnectedEvent@10b971b9
    [main] INFO TestConnectionWithPLC4X - Connection status with S7-1200: 
DISCONNECTED
    [nioEventLoopGroup-3-1] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 
java.util.NoSuchElementException: watchdog
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] USER_EVENT: 
org.apache.plc4x.java.spi.events.DisconnectEvent@7b94089b
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] CLOSE
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded ! R:embedded] INACTIVE
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded ! R:embedded] UNREGISTERED
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - Unregistered of channel: 
PRIMARY
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 15:07:57.277050600 
userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.DisconnectEvent@7b94089b
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - DisconnectEvent
    [main] INFO TestConnectionWithPLC4X - Connection Closed
    [main] INFO TestConnectionWithPLC4X - 
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO TestConnectionWithPLC4X - Test connection with S7-1516
    [main] INFO TestConnectionWithPLC4X - 
#####################################################################
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Instantiating new PLC 
Driver Manager with class loader 
jdk.internal.loader.ClassLoaders$AppClassLoader@76ed5528
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering available 
drivers...
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol s7 (Siemens S7 (Basic))
    [main] INFO o.a.p.java.DefaultPlcDriverManager - Registering driver for 
Protocol plc4x (PLC4X (Proxy-Protocol))
    [plc4x-evt-processor-thread-1] INFO o.a.p.j.s.r.p.S7ProtocolEventLogic - 
ObjectProcessor Bye!
    [main] INFO o.a.p.j.t.tcp.TcpChannelFactory - Configuring Bootstrap with 
org.apache.plc4x.java.s7.readwrite.configuration.S7TcpTransportConfiguration@53dbe163
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] USER_EVENT: 
org.apache.plc4x.java.spi.events.ConnectEvent@34a875b3
    [main] INFO o.a.p.j.s.r.protocol.S7ProtocolLogic - S7 Driver running in 
ACTIVE mode.
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] WRITE: 22B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] FLUSH
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 15:07:57.323779200 
userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.ConnectEvent@34a875b3
    [plc4x-evt-dispatcher-thread-1] INFO o.a.p.j.s.r.p.S7ProtocolEventLogic - 
EventDispatcher Bye!
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 22B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ...
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] WRITE: 25B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ....
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] FLUSH
    [nioEventLoopGroup-4-1] WARN i.n.channel.embedded.EmbeddedChannel - More 
than one exception was raised. Will report only the first one and log others.
   io.netty.handler.codec.DecoderException: 
io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 must produce 
at least one message.
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:145)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:1)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 
must produce at least one message.
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:99)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.logging.LoggingHandler.write(LoggingHandler.java:288)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113)
        at 
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000)
        at 
io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
        at 
io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
        at 
org.apache.plc4x.java.spi.internal.DefaultConversationContext.sendToWire(DefaultConversationContext.java:70)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:107)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:1)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$3(S7ProtocolLogic.java:194)
        at 
java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
        at 
org.apache.plc4x.java.spi.Plc4xNettyWrapper.decode(Plc4xNettyWrapper.java:183)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        ... 40 common frames omitted
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 27B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ..........
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] WRITE: 33B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| .....
   +--------+-------------------------------------------------+----------------+
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] FLUSH
    [nioEventLoopGroup-4-1] WARN i.n.channel.embedded.EmbeddedChannel - More 
than one exception was raised. Will report only the first one and log others.
   io.netty.handler.codec.DecoderException: 
io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 must produce 
at least one message.
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
        at 
io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:145)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl.decode(S7HMuxImpl.java:1)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        at 
io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
        at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
   Caused by: io.netty.handler.codec.EncoderException: MessageToMessageCodec$1 
must produce at least one message.
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:99)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.logging.LoggingHandler.write(LoggingHandler.java:288)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:113)
        at 
io.netty.handler.codec.ByteToMessageCodec.write(ByteToMessageCodec.java:108)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:875)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:984)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:868)
        at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:113)
        at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:891)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:956)
        at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950)
        at 
io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000)
        at 
io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
        at 
io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
        at 
org.apache.plc4x.java.spi.internal.DefaultConversationContext.sendToWire(DefaultConversationContext.java:70)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:107)
        at 
org.apache.plc4x.java.spi.internal.DefaultSendRequestContext.handle(DefaultSendRequestContext.java:1)
        at 
org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$8(S7ProtocolLogic.java:231)
        at 
java.base/java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
        at 
org.apache.plc4x.java.spi.Plc4xNettyWrapper.decode(Plc4xNettyWrapper.java:183)
        at 
io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
        ... 40 common frames omitted
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] READ: 967B
            +-------------------------------------------------+
            |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |
   +--------+-------------------------------------------------+----------------+
   |00000000| ..............
    [nioEventLoopGroup-4-1] DEBUGDOOM - [id: 0xembedded, L:embedded - 
R:embedded] USER_EVENT: org.apache.plc4x.java.spi.events.ConnectedEvent@4ec2b1c8
    [nioEventLoopGroup-4-1] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 
15:07:58.400353500 userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.ConnectedEvent@4ec2b1c8
    [main] INFO TestConnectionWithPLC4X - Connection status with S7-1516: 
DISCONNECTED
    [nioEventLoopGroup-4-1] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 
java.util.NoSuchElementException: watchdog
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] USER_EVENT: 
org.apache.plc4x.java.spi.events.DisconnectEvent@6dee4f1b
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded - R:embedded] CLOSE
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded ! R:embedded] INACTIVE
    [main] DEBUGDOOM - [id: 0xembedded, L:embedded ! R:embedded] UNREGISTERED
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - Unregistered of channel: 
PRIMARY
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - 15:07:58.400353500 
userEventTriggered: Multiplexor Event: 
org.apache.plc4x.java.spi.events.DisconnectEvent@6dee4f1b
    [main] INFO o.a.p.j.s.r.protocol.S7HMuxImpl - DisconnectEvent
    [main] INFO TestConnectionWithPLC4X - Connection Closed
    [plc4x-evt-processor-thread-1] INFO o.a.p.j.s.r.p.S7ProtocolEventLogic - 
ObjectProcessor Bye!
    [plc4x-evt-dispatcher-thread-1] INFO o.a.p.j.s.r.p.S7ProtocolEventLogic - 
EventDispatcher Bye!
   ```
   
    


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@plc4x.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to