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.
Core Management 1:
Core Management 2:

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.

  • Wählen Sie die RT-Core(s) aus, um die Echtzeit zu nutzen.

Weitere Informationen zum Thema TwinCAT Echtzeit finden sie in der Dokumentation Grundlagen im Kapitel Echtzeit.

Core Management 3:

Core Management 4:

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:

  • Zykluszeiten kleiner als die auf einem Core eingestellt Base Time sind nicht möglich.
  • Die Zykluszeiten der Tasks sind ganzzahlige Vielfache der auf dem jeweiligen Kern eingestellten Base Time.
  • Wenn es die Anwendung nicht erfordert, sollte die Base Time auf Shared Cores nicht unter 1 ms gesetzt werden. Dies könnte die Leistung des Windows-Systems verlangsamen, ohne dass es spürbare Leistungsvorteile für den Real-Time-Kernel mit sich bringt.
  • Basiszeiten weit unter 1 ms erfordern PC-Systeme mit ausreichender Leistung.
  • Die Einstellung Base Time auf "None" bedeutet, dass Sie nur Tasks ausführen können, die keine Echtzeit benötigen (AMS Router, TwinCAT Scope, ADS OCX, ...).

Core Management 5:

Core Management 6:

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.

Core Management 7:

Core Management 8:

 

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.

Core Management 9:

Core Management 10:

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.

Core Management 11:

Core Management 12:

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.