Optimizing SIMIT Virtual Controller (VC) Performance and Resolving High Simulation Load
In SIMIT Simulation Platform (V10.2 / V11), Virtual Controller (VC) load exceeding 90% indicates simulation overload, leading to time dilation where simulated CPU cycles execute slower than real-time. To resolve high VC load when virtualizing complex controllers like CPU 410-5H, configure the host Windows Power Plan to 'High Performance' to eliminate CPU frequency throttling, distribute multiple VCs across isolated processor cores using core affinity settings in VC Manager, increase the SIMIT base simulation time slice (e.g., from 10 ms to 20 ms), and deploy the built-in 'SimulationLoad' component to identify computationally heavy charts.
Table of Contents
- Executive Summary
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
SIMIT Simulation Platform enables comprehensive virtual commissioning of SIMATIC PCS 7 automation software by emulating controller execution via Virtual Controllers (VC). When testing large-scale automation architectures involving multiple CPU 410-5H controllers, engineers frequently encounter severe performance bottlenecks where the SIMIT VC load spikes beyond 100% (reaching 150% or higher).
A simulation load above 100% means the host PC hardware cannot execute the scheduled PLC cyclic interrupt tasks (e.g., OB35 at 100 ms) within the real-time simulation interval. As a result, timers drift, ramp functions run slowly, and communication timeouts occur between SIMIT and WinCC. This article explains the underlying load calculation mechanics of SIMIT VCs, evaluates the impact of PC hardware architecture (clock frequency vs core count), and delivers actionable optimization steps to bring simulation load within safe operating limits (< 50%).
Architecture and Fundamental Mechanics
The SIMIT Virtual Controller is an advanced software emulator that executes native S7-400 machine code instructions and cyclic Organization Blocks (OB1, OB30 to OB38) directly on a Windows PC. The simulation load metric reported in SIMIT is defined mathematically as:
Load (%) = (Actual Execution Time of Cycle / Nominal Cycle Time Slice) * 100
Siemens defines three operational thresholds for SIMIT load:
- OK (0% to 50%): The simulation executes comfortably within real-time limits, with ample headroom for cyclic communication and variable load spikes.
- Critical (50% to 90%): The simulation maintains real-time synchronicity, but transient load increases (such as batch transitions or heavy alarm bursts) can push cycles into overrun.
- Overload (> 90% to 100%+): Real-time constraints are violated. SIMIT enforces time dilation (simulation slowdown), causing 1 real-world second to correspond to 1.5 or 2 simulation seconds, corrupting PID loop tuning and sequence timing tests.
Hardware bottlenecks in SIMIT VC execution differ fundamentally from general multiprocessing workloads. Each individual Virtual Controller executes primarily as a single high-priority thread. Consequently, single-core IPC (instructions per cycle) and high base/boost clock speeds (e.g., 4.0 GHz to 5.0+ GHz on Intel Core i9 or Xeon processors) have a far greater performance impact than having a massive number of low-frequency cores. Furthermore, modern CPU power management features (Intel SpeedStep, AMD Cool'n'Quiet, C-states) dynamically throttle clock speeds during low CPU utilization phases, causing wild oscillations in reported SIMIT load.
Step-by-Step Implementation Procedure
Follow these steps to optimize SIMIT Virtual Controller performance and reduce simulation load below 50%:
-
Configure Windows Operating System Power Management:
- On the SIMIT host workstation, open the Windows Control Panel.
- Navigate to 'Power Options'.
- Change the active power plan from 'Balanced' to 'High Performance'.
- Click 'Change plan settings' > 'Change advanced power settings'.
- Expand 'Processor power management' > 'Minimum processor state' and set it to100%on both battery and AC power. This prevents CPU core clock down-throttling during simulation cycles. -
Assign Dedicated Processor Affinity in SIMIT VC Manager:
- In SIMIT, open your simulation project.
- Navigate to 'Components' or open 'Virtual Controller Manager'.
- If your project simulates multiple controllers (e.g., two CPU 410-5H instances), do not allow Windows to schedule both VCs dynamically on the same core.
- In the VC configuration properties, assign each Virtual Controller instance to distinct physical CPU cores (e.g., VC1 -> Core 2/3, VC2 -> Core 4/5). Avoid assigning VCs to Core 0, which handles primary Windows OS interrupts. -
Adjust Simulation Cycle Time and Time Slices:
- In SIMIT, click on the project root node in the project tree and open 'Properties'.
- Locate the 'Simulation cycle' settings.
- If the base cycle is set to an aggressive rate (e.g., 10 ms), increase the cycle time slice to20 msor50 ms, provided that fast physical skid dynamics (such as surge valves) do not strictly mandate sub-20ms resolution.
- In PCS 7 CFC, verify that non-critical control logic is scheduled in OB34 (200 ms) or OB33 (500 ms) rather than executing all charts inside OB35 (100 ms). -
Deploy the SIMIT SimulationLoad Diagnostic Component:
- In the SIMIT component task card, locate the standard library componentSimulationLoad(under 'Communication' or 'Standard Tools').
- Drag and dropSimulationLoadonto a diagnostic simulation chart.
- Connect the output pins to numerical indicators or trend displays.
- Run the simulation to analyze exact cycle duration breakdowns and identify whether the bottleneck originates from SIMIT chart behavioral models or the VC execution engine. -
Select High-Frequency Host Hardware:
- For simulation rigs hosting 2 or more CPU 410-5H VCs with comprehensive plant skid models, specify host hardware featuring high single-thread clock frequencies (e.g., Intel Core i9-10900K / i9-12900K or high-frequency Xeon E-series with >= 3.8 GHz clock, 32 GB RAM, and NVMe SSD storage).
Verification
- In SIMIT Runtime, observe the 'Load' indicator located on the bottom status bar. Confirm that load remains stable and below 50% under normal running conditions.
- In Windows Task Manager (Performance tab > CPU), verify that processor speed remains locked at maximum rated frequency without dropping.
- Verify real-time tracking: start a stopwatch on an OS Client faceplate executing a 60-second ramp or timer sequence. Confirm that 60 simulated seconds elapsed on the faceplate match exactly 60.0 (+/- 0.5) seconds of real-world wall-clock time.
- Check the SIMIT log window to ensure zero 'Simulation time overrun' warning entries during steady-state or dynamic skid operation.
Limitations and Operational Precautions
SIMIT Virtual Controller cannot simulate proprietary third-party C-code DLLs compiled strictly for physical AS 410 microcode that bypass standard Step 7 instruction sets. SIMIT VC licensing is scalable based on the number of emulated controllers; verify license capacities in Automation License Manager (ALM) to ensure the required number of VCs are authorized. Hardware specifications and procurement for simulation workstations should be reviewed with an authorized Siemens distributor or the Siemens Industry Mall.
Engineer FAQ
What SIMIT load level is considered acceptable by Siemens support?
While SIMIT manuals define load below 40-50% as optimal ('OK') and 50-90% as 'Critical', Siemens technical support confirms that steady loads below 90% maintain real-time execution. However, loads exceeding 90% cause simulation time dilation and must be mitigated.
Why does high core count (e.g., 32-core Xeon) not automatically lower VC load?
Each SIMIT Virtual Controller instance runs largely on a dedicated execution thread. A 32-core server CPU running at 2.2 GHz will exhibit much higher VC load than an 8-core desktop CPU running at 4.5 GHz.
Does increasing RAM reduce SIMIT VC load?
Increasing RAM prevents disk paging if memory is exhausted, but once minimum requirements (16 to 32 GB) are met, additional RAM does not reduce CPU simulation cycle execution times.
Can I split a single CPU 410-5H across multiple Virtual Controllers?
No. A single physical CPU 410-5H maps directly to one SIMIT Virtual Controller instance. However, logic can be decoupled across multiple VCs if modular skid testing is performed.
What does the SimulationLoad component measure?
The SimulationLoad component monitors real-time cycle execution metrics, providing millisecond-level data on simulation task execution times, model calculation overhead, and peak load fluctuations.
Technical References
- Siemens Industry Online Support - SIMIT Simulation Platform V10.2 System Manual
- SIMIT Virtual Controller V10.2 Manual and Performance Guidelines
- Siemens Industry Online Support FAQ 109780242 - Hardware Requirements for SIMIT Simulation Platform
Related Articles
- Implementing Process Modeling and Dynamic Skid Simulation in PCS 7 Using SIMIT
- Assigning IP Addresses and Commissioning SIMIT Units via SIMIT Unit Administration
- Step-by-Step Simulation of PCS 7 Automation Systems and CFC Logic Using S7-PLCSIM
Related Tags
- SIMIT
- Virtual Controller
- Simulation Load
- CPU 410-5H
- Performance Tuning
- Virtual Commissioning