I’m trying to connect twinCAT3 with VC using the OPC UA connection. But I’m receiving this warning message in VC " OPC UA - Server - Server to simulation - Communication delay warning threshold of 100 ms reached. Average completion time of last 5 operations: 475.6 ms."
I’m getting a lot of delays and my computer is getting a lot of “freeze” moments where the robot is simultaneously jumping from one pose to another. It seems it is impossible to make the two programs work together. Each time I run the simulation I got a different performance although I think That my code is almost done.
I know this topic was discussed in another post where siemens PLC simulation software was used. I need to know how to make a proper connection with TwinCAT.
any ideas on how to solve this issue?
Enable the detailed timing info collection from the Settings in the Connectivity Configuration panel. Then run your simulation with the OPC UA connection and check the difference between “Total time” and “Plugin time” values in the Connected Variables panel.
The Plugin time is always a subset of the Total time, but if the plugin time value is high then the TwinCAT OPC UA server is slow to respond and you need to troubleshoot the performance on that side. If the plugin time is relatively low but total time high, then the performance issue is likely on the VC simulation side.
If your whole computer freezes, I would expect that to be caused by the TwinCAT’s realtime runtime. VC is just a normal application and shouldn’t be able to cause such issues. Potentially running the TwinCAT on dedicated CPU cores could help isolate it.
Common mistake on simulation side is to write to component properties that have the “Rebuild component on value change” option enabled. Since you mentioned robots, I’ve also noticed that some signal actions like robot trace can be pretty slow if turned on and off from Connectivity. VC academy has a guide about general best practices for better simulation performance.
User interaction like selecting components, switching tabs also block VC from doing anything else for up to seconds at a time. Rendering performance matters as well, as rendering also blocks other processing.