Hi Cesar,

thank you for the follow-up & confirmation.

Let me know if there is something I can help with.

Best regards,
Luiz



Em seg., 15 de jul. de 2024 às 01:36, Cesar Garcia <cesar.gar...@ceos.com.ve>
escreveu:

> Hi Luiz,
>
> I tested the Odot modules and indeed with our version of the Plc4x-S7
> driver it fails.
>
> I performed the tests with S7-300 and S7-400 and on both  behave the same
> way.
>
> The Odot equipment does not respond to the first "Setup communication"
> message; comparing the frames you can see the difference with respect to
> the use of an HMI or the KepWare driver. I modify the parameters via URL
> but it still does not respond.
>
> It's time to investigate,
>
> El sáb, 13 jul 2024 a las 14:29, Luiz doleron (<dole...@gmail.com>)
> escribió:
>
> > Hey Cesar,
> >
> > I modified my code to use CachedPlcConnectionManager but the problem
> > persists: the program gets stuck on the getConnection call.
> >
> > This is my code now:
> >
> > public static void main(String[] args) {
> >
> > // System.setProperty(SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "Error");
> >
> > Logger logger = LoggerFactory.getLogger(TestConnection.class);
> >
> > String connectionString = "s7://10.10.26.88?controller-type:S7_300";
> >
> > PlcConnection plcConnection = null;
> >
> > try {
> >
> > CachedPlcConnectionManager connectionManager =
> CachedPlcConnectionManager.
> > getBuilder(new DefaultPlcDriverManager()).build();
> >
> > plcConnection = connectionManager.getConnection(connectionString);
> >
> > if (!plcConnection.getMetadata().isReadSupported()) {
> >
> > logger.error("This connection doesn't support reading.");
> >
> > return;
> >
> > }
> >
> > System.out.println("Success");
> >
> > } catch (Exception e) {
> >
> > e.printStackTrace();
> >
> > } finally {
> >
> > if (plcConnection != null) {
> >
> > try {
> >
> > plcConnection.close();
> >
> > } catch (Exception e) {
> >
> > e.printStackTrace();
> >
> > }
> >
> > }
> >
> > }
> >
> >
> > }
> >
> >
> > The exception trace is:
> >
> > [main] INFO org.apache.plc4x.java.DefaultPlcDriverManager - Instantiating
> > new PLC Driver Manager with class loader
> > jdk.internal.loader.ClassLoaders$AppClassLoader@2cdf8d8a
> >
> > [main] INFO org.apache.plc4x.java.DefaultPlcDriverManager - Registering
> > available drivers...
> >
> > [main] INFO org.apache.plc4x.java.DefaultPlcDriverManager - Registering
> > driver for Protocol s7 (Siemens S7 (Basic))
> >
> > [main] INFO org.apache.plc4x.java.transport.tcp.TcpChannelFactory -
> > Configuring Bootstrap with
> >
> >
> org.apache.plc4x.java.s7.readwrite.configuration.S7TcpTransportConfiguration@345965f2
> >
> > [main] INFO org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic -
> > S7 Driver running in ACTIVE mode.
> >
> > [main] INFO org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl -
> > 15:11:46.130938260 userEventTriggered: Multiplexor Event:
> > org.apache.plc4x.java.spi.events.ConnectEvent@139982de
> >
> > [nioEventLoopGroup-2-1] WARN io.netty.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:840)
> >
> > 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 more
> >
> > [pool-6-thread-1] WARN
> > org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic - Timeout
> > during Connection establishing, closing channel...
> >
> > [pool-6-thread-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl - Unregistered of
> > channel: PRIMARY
> >
> > [pool-6-thread-1] WARN io.netty.channel.AbstractChannelHandlerContext -
> > Failed to mark a promise as failure because it has succeeded already:
> > DefaultChannelPromise@53d1d4d1(success)
> >
> > java.lang.IllegalStateException: HashedWheelTimer.stop() cannot be called
> > from TimerTask
> >
> > at io.netty.util.HashedWheelTimer.stop(HashedWheelTimer.java:393)
> >
> > at org.apache.plc4x.java.spi.netty.NettyHashTimerTimeoutManager.stop(
> > NettyHashTimerTimeoutManager.java:63)
> >
> > at org.apache.plc4x.java.spi.Plc4xNettyWrapper.close(
> > Plc4xNettyWrapper.java:130)
> >
> > at io.netty.channel.AbstractChannelHandlerContext.invokeClose(
> > AbstractChannelHandlerContext.java:757)
> >
> > at io.netty.channel.AbstractChannelHandlerContext.close(
> > AbstractChannelHandlerContext.java:733)
> >
> > at io.netty.channel.DefaultChannelPipeline.close(
> > DefaultChannelPipeline.java:994)
> >
> > at io.netty.channel.AbstractChannel.close(AbstractChannel.java:280)
> >
> > at
> > io.netty.channel.embedded.EmbeddedChannel.close(EmbeddedChannel.java:569)
> >
> > at
> > io.netty.channel.embedded.EmbeddedChannel.close(EmbeddedChannel.java:556)
> >
> > at org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$4(
> > S7ProtocolLogic.java:185)
> >
> > at org.apache.plc4x.java.spi.Plc4xNettyWrapper.lambda$8(
> > Plc4xNettyWrapper.java:253)
> >
> > at org.apache.plc4x.java.spi.netty.NettyHashTimerTimeoutManager.lambda$0(
> > NettyHashTimerTimeoutManager.java:55)
> >
> > at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(
> > HashedWheelTimer.java:715)
> >
> > at io.netty.util.concurrent.ImmediateExecutor.execute(
> > ImmediateExecutor.java:34)
> >
> > at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(
> > HashedWheelTimer.java:703)
> >
> > at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(
> > HashedWheelTimer.java:790)
> >
> > at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:503)
> >
> > at java.base/java.lang.Thread.run(Thread.java:840)
> >
> > [nioEventLoopGroup-2-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl - Unregistered of
> > channel: PRIMARY
> >
> > [nioEventLoopGroup-2-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl -
> > io.netty.channel.embedded.EmbeddedEventLoop@476a35e8
> >
> > [plc4x-s7ha-thread-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HPlcConnection - Creating
> > prymary connection.
> >
> > [plc4x-s7ha-thread-1] INFO
> > org.apache.plc4x.java.transport.tcp.TcpChannelFactory - Configuring
> > Bootstrap with
> >
> >
> org.apache.plc4x.java.s7.readwrite.configuration.S7TcpTransportConfiguration@345965f2
> >
> > [plc4x-s7ha-thread-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HPlcConnection -
> Reconnecting
> > primary channel.
> >
> > [nioEventLoopGroup-3-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl - Unregistered of
> > channel: PRIMARY
> >
> > [nioEventLoopGroup-3-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl -
> > io.netty.channel.embedded.EmbeddedEventLoop@476a35e8
> >
> > [plc4x-s7ha-thread-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HPlcConnection - Creating
> > prymary connection.
> >
> > [plc4x-s7ha-thread-1] INFO
> > org.apache.plc4x.java.transport.tcp.TcpChannelFactory - Configuring
> > Bootstrap with
> >
> >
> org.apache.plc4x.java.s7.readwrite.configuration.S7TcpTransportConfiguration@345965f2
> >
> > [plc4x-s7ha-thread-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HPlcConnection -
> Reconnecting
> > primary channel.
> >
> > [nioEventLoopGroup-4-1] INFO
> > org.apache.plc4x.java.s7.readwrite.protocol.S7HMuxImpl - Unregistered of
> > channel: PRIMARY
> >
> > ...
> >
>
>
> --
> *CEOS Automatización, C.A.*
> *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,*
> *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,*
>
> *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI*
> *Ing. César García*
>
> *Cel: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> <support.aan.automat...@siemens.com>*
>


-- 
Luiz Carlos d´Oleron

Reply via email to