Hello everyone,

my sample program of PLC4J (very similiar to the hello world example) 
fails to connect to my test PLC (S7-1500):

Nov 07, 2019 2:37:51 PM io.netty.channel.DefaultChannelPipeline 
onUnhandledInboundException
WARNUNG: An exceptionCaught() event was fired, and it reached at the tail 
of the pipeline. It usually means the last handler in the pipeline did not 
handle the exception.
java.io.IOException: Eine vorhandene Verbindung wurde vom Remotehost 
geschlossen
        at sun.nio.ch.SocketDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:192)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
        at 
io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
        at 
io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1125)
        at 
io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:682)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:617)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:534)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)

"An existing connection was closed by the remote host"

Thats my program at the moment:


    public static void main(String[] args) {
        try (PlcConnection plcConnection = new 
PlcDriverManager().getConnection("s7://172.30.74.65/0/2")) {
            System.out.println("connected");
            System.out.println(plcConnection);
            CompletableFuture<Void> ping = plcConnection.ping();
            ping.get(500, TimeUnit.MILLISECONDS);
            System.out.println("ping exception = " + 
ping.isCompletedExceptionally());
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("disconnected");
    }

I can both ping the PLC as well as connect to it with the Siemens TIA 
Portal. Does the PLC need some special configuration in the project to be 
reachable via S7Comm via ISO on TCP? nmap shows port 102 TCP as open.

Any help is much appreciated!

Mit freundlichen Grüßen
Kind regards

Sebastian Wiendl
DSE / Digital Solutions Software Engineer
Phone: +49 9605 919 - 9341
E-Mail: [email protected]
Internet: www.bhs-world.com
Shop: www.icorr.shop

 

BHS Corrugated Maschinen- und Anlagenbau GmbH
Paul-Engel-Straße 1
92729 WEIHERHAMMER
GERMANY

Management: Christian Engel, Lars Engel
Registered at Amtsgericht Weiden, HR B 1320







Reply via email to