eclipse / milo

Eclipse Milo™ - an open source implementation of OPC UA (IEC 62541).
http://www.eclipse.org/milo
Eclipse Public License 2.0
1.16k stars 431 forks source link

The connection to S7 1500 gets interrupted while the connection to S7 1200 does not. #1194

Closed lyworry closed 10 months ago

lyworry commented 10 months ago

Describe the bug The program developed using Milo to connect to the Siemens S7 1500 initially establishes communication successfully, but after a while, the connection is interrupted. Upon analyzing the network packets, it can be observed that the server side is not responding in a timely manner, leading to a connection reset. However, when tested with UaExpert, the communication remains stable. Additionally, when connecting the Milo-developed program to the Siemens S7 1200, the communication remains uninterrupted without experiencing the aforementioned issue. I am unable to identify the root cause of this problem. Could it be due to excessive server-side resource pressure on the S7 1500? However, Siemens technical support informed me that if the S7 1500 experiences excessive pressure, it should return an exception indicating insufficient resources.

Logs and Packet Captures image

Additional context

    <dependency>
        <groupId>org.eclipse.milo</groupId>
        <artifactId>sdk-server</artifactId>
        <version>0.6.8</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.eclipse.milo/sdk-client -->
    <dependency>
        <groupId>org.eclipse.milo</groupId>
        <artifactId>sdk-client</artifactId>
        <version>0.6.8</version>
    </dependency>
kevinherron commented 10 months ago

I'm not sure I can help you much with just a screenshot of a packet capture at the time the connection fails.

You will probably have to do a long term analysis of how your application communicates with the S7-1500, look for anything out of place like continual creation of sessions, subscriptions, or monitored items, and possibly continue working with Siemens support in case it's simply an issue with the server.

Milo is used for the OPC UA implementation at the company I work for and there are many connections to S7-1200 and S7-1500 across many customers but this is not an issue I have seen reported.