Performance Issues Faced During the Simulation Stage
Performance Issues Faced During the Simulation Stage
As part of my final engineering project, I have been working on a digital twin of an automated production line using Siemens NX Mechatronics Concept Designer (MCD) integrated with PLCSim Advanced and TIA Portal.
While the model itself is functional and the PLC logic performs as intended, I encountered significant issues during real-time simulation. Specifically, after 2–3 minutes of running the simulation, the system begins to slow down, behave inconsistently, or produce incorrect mechanical behaviour, such as components misaligning or moving at unintended speeds.
After analysing system performance, CPU usage, and simulation behaviour, it became clear that hardware limitations do not cause the problem.
Despite this, Siemens NX MCD heavily relies on single-threaded performance during simulation. The physics engine, motion constraints, and PLC communication all run mostly on one CPU core, which quickly becomes saturated in complex models.
Additionally, my simulation involves:
A large number of components and mechanical joints
Real-time collision detection
High-frequency data exchange with the virtual PLC
This combination overwhelms MCD’s real-time engine, which is not designed for large-scale systems with full physics and high update rates.
I experimented with:
Lowering visual quality and disabling shadows
Simplifying geometry
Increasing simulation step size
Reducing collision checks
Although these optimizations improved performance slightly, they did not prevent the simulation from gradually desynchronizing or slowing down. This confirmed that the core issue lies in the software’s architecture, not my hardware or model complexity alone.
This experience highlighted a real-world constraint when working with digital twin technologies. While NX MCD is excellent for visualising and testing concepts, it has scalability limitations for high-detail, real-time simulations integrated with PLC systems.
To overcome this in future iterations, I may:
Break the simulation into smaller modules
Use event-based logic instead of complete physics
Consider hybrid simulation platforms (e.g. SIMIT, Unity with OPC UA)
It’s a valuable reminder that even powerful tools have boundaries, and part of engineering is learning how to work around them effectively.