Core Management
TwinCAT 3 offers extensive support for multi-core systems.
- 1. Select the number of cores you want to use for the TwinCAT Runtime. (Marked in red in the graphic.)
- 2. Select the number of cores that Windows can access and use. (Marked in orange in the graphic.)
- 3. Define which CPUs of TwinCAT are to be used as real-time kernels (RT core).
- The cores are set appropriately.
RT cores are required by real-time tasks like PLC tasks, software tasks and I/O tasks (EtherCAT, Profibus, ...). If no RT core(s) are selected, only tasks that do not require real-time can be executed.
|
Further information about TwinCAT real-time can be found in the documentation Basics in chapter Real-Time.
By a synchronous basic tick on all real-time kernels, the scheduling for each real-time kernel is calculated independently in TwinCAT 3 Real-Time. The Base Time is the time after which scheduling is triggered on a core. Note:
| ||
On shared cores, this value defines the maximum percentage of base time that the scheduler can use for real-time tasks. The remaining percentage is available for Windows. After completion of a real-time task cycle, the scheduler switches back to Windows. So the remaining time of the cycle of the real-time task is not blocked, but available for Windows. | ||
| TwinCAT real-time itself operates with very low real-time fluctuations (jitter). The total jitter depends on different components of a PC (hardware, BIOS, drivers, ...). TwinCAT measures and monitors the jitter and issues a warning if a preset limit value is exceeded. We recommend to run TwinCAT on Beckhoff IPCs, because they are optimized in detail for low jitter. | |
With TwinCAT Version 3.1.4026 it is possible to provide a separate memory area for each real-time kernel. This memory is automatically used first by runtime modules that run on these cores and allocate memory at runtime. When this memory is used up, the memory to be allocated is used from the shared memory area held in the router. With Version 3.1.4026, the memory for communication and the memory that runtime modules can use to allocate memory are separated. A maximum of 25% of the defined router memory is used for communication. | ||
From TwinCAT version 3.1.4026.6 it is possible to use the TwinCAT Core Boost feature (see chapter Core Boost tab). If TwinCAT Core Boost is supported on a target system and is activated, it is possible to set the clock frequency for the individual real-time kernels. |