Core Management
TwinCAT 3 bietet eine umfangreiche Unterstützung von Multi-Core-Systemen.
- 1. Wählen Sie die Anzahl der Kerne aus, die Sie für die TwinCAT-Laufzeit verwenden möchten. (In der Grafik rot markiert.)
- 2. Wählen Sie die Anzahl der Kerne aus, auf die Windows zugreifen kann und die Windows verwenden kann. (In der Grafik orange markiert.)
- 3. Legen Sie fest, welche CPUs von TwinCAT als Echtzeitkerne (RT-Core) verwendet werden sollen.
- Die Kerne sind passend eingestellt.

![]() | RT-Cores werden von Echtzeittasks wie SPS-Tasks, Software-Tasks und E/A-Tasks (EtherCAT, Profibus, ...) benötigt. Werden keine RT-Core(s) ausgewählt, können nur Tasks ausgeführt werden, die keine Echtzeit benötigen.
|
Weitere Informationen zum Thema TwinCAT Echtzeit finden sie in der Dokumentation Grundlagen im Kapitel Echtzeit.
Durch einen synchronen Basis-Tick auf allen Echtzeitkernen wird in der TwinCAT 3 Echtzeit das Scheduling für jeden Echtzeitkern unabhängig berechnet. Die Base Time ist die Zeit, nach welcher das Scheduling auf einem Kern jeweils angestoßen wird. Beachten Sie:
| ||
Dieser Wert definiert auf Shared Cores den maximalen Prozentsatz der Base Time, den der Scheduler für Echtzeitaufgaben verwenden kann. Der verbleibende Prozentsatz ist für Windows verfügbar. Nach Beendigung eines Echtzeittask-Zyklus schaltet der Scheduler wieder auf Windows um. Die verbleibende Zeit des Zyklus der Echtzeittask ist also nicht blockiert, sondern für Windows verfügbar. | ||
| TwinCAT Echtzeit selbst arbeitet mit sehr geringen Echtzeitschwankungen (Jitter). Der Gesamt-Jitter hängt von verschiedenen Komponenten eines PCs ab (Hardware, BIOS, Treiber, ...). TwinCAT misst und überwacht den Jitter und gibt eine Warnung aus, wenn ein voreingestellter Grenzwert überschritten wird. Wir empfehlen, TwinCAT auf Beckhoff-IPCs zu betreiben, da diese im Detail auf einen geringen Jitter optimiert sind. | |
Mit der TwinCAT Version 3.1.4026 ist es möglich, für jeden Echtzeitkern einen separaten Speicherbereich zur Verfügung zu stellen. Laufzeitmodule, die auf diesen Kernen ausgeführt werden und zur Laufzeit Speicher allokieren, verwenden automatisch erst diesen Speicher. Wenn dieser Speicher aufgebraucht ist, wird der zu allokierende Speicher aus dem gemeinsamen Speicherbereich verwendet, der im Router vorgehalten wird. Mit der Version 3.1.4026 sind der Speicher für die Kommunikation und der Speicher, den Laufzeitmodule zur Allokation von Speicher verwenden können, getrennt. Maximal 25 % des definierten Router-Speichers werden für die Kommunikation verwendet. | ||
Ab der TwinCAT Version 3.1.4026.6 ist es möglich das TwinCAT Core Boost Feature zu nutzen (siehe Kapitel Regisiterkarte Core Boost). Wird TwinCAT Core Boost auf einem Zielsystem unterstützt und ist aktiviert, ist es möglich für die einzelnen Echtzeit-Kerne die Taktfrequenz einzustellen. |