Lately I’ve been working on different projects that involve PLC (connected via LAN cable with a Siemens S1500/TIA portal) testing and debugging with the help of the Connectivity addon. I was wondering what your experiences are with the average update time of the connected variables.
I’ve done a small scale test before, which gave me an average update time of just 20.0 ms. After this test, I did a big scale project/digital twin with lots of sensors (mostly Raycast sensors) and other variables, and these are the first results:
This is quite high, since we want to simulate encoders as well in the future. I made a script that changed all the RaycastSensor sample times from 0.01 to 0.04 s, and this were the new results:
Way better, still not fast enough. What are your experiences with making a OPC UA connection for PLC tests working with big layouts? Any tips on lowering the average update times?
Also, is this a problem on the hardware or software end? Is this solved by buying a fast desktop?
Since almost all of the latency is under “plugin time”, the delays are likely outside VC software i.e. in the OPC UA server of the S1500.
I haven’t tested Siemens connectivity performance myself, but unless you are experiencing heavy CPU load on the machine that runs the OPC UA server (computer or a physical PLC?), buying a faster computer might not help.
Note that using “event-based” update mode on a variable group with direction simulation -> server can be very inefficient if your simulation variables change value at high frequency because that mode will do a separate write request for each value change to ensure all values are sent out.
In the direction server->simulation the event-based update mode works differently (it uses the OPC UA subsciption mechanism) and is usually much more efficient than cyclic.