Beckhoff-Realtime-Kernel

Echtzeitverarbeitung – die Basis für PC-Control

Seite: 3/4

Anbieter zum Thema

Den Echtzeitmodus von TwinCAT unterbricht im Normalbetrieb nur ein Doppeltick-Interrupt, der den Scheduler des Echtzeitkernels aktiviert und gegebenenfalls nach Windows zurückschaltet. Ausnahmen bilden hier allerdings der NMI (Non Maskable Interrupt), der bei nicht tolerierbaren Hardwarefehlern ausgelöst wird, und der SMI (System Management Interrupt). In Ausnahmefällen können aber auch diese Ereignisse durch Konfiguration von TwinCAT unterbunden werden. Alle regulären, für den Betrieb des PC-Systems notwendigen, Interrupts sind im Nicht-Echtzeitmodus zugelassen und werden auch dort bearbeitet. Unter den beschriebenen Voraussetzungen kann TwinCAT die notwendige Echtzeitfunktionalität gewährleisten, ohne den Betrieb des PC-Systems zu stören.

Im Unterschied zur S2000-Software ist TwinCAT modular aufgebaut und bietet mehr Automatisierungsfunktionalität. Zur Unterstützung dieser Modularität und einer feineren Granularität in der Zeitsteuerung und Priorisierung nutzt TwinCAT ein Echtzeitkern, der es erlaubt, 64 Taskprioritäten zu vergeben, die im Echtzeitmodus abgearbeitet werden. Der Echtzeitkern bietet darüber hinaus Funktionen zur Synchronisierung von Tasks und CPUs und zur Intertask-Kommunikation. Der preemptive Scheduler sorgt dafür, dass die höchstpriore Task zum gewünschten Zeitpunkt gestartet wird und auf ihr Ende läuft. Die Tasks mit niedrigerer Priorität teilen sich die verbleibende Rechenzeit entsprechend ihres Ranges.

Windows CE – PC-Control skaliert sich für Embedded-Systeme

Immer leistungsfähigere PC-Systeme, mit immer mächtiger werdenden Betriebssystemen und komfortablen Benutzeroberflächen, sind für einfache Automatisierungsanwendungen häufig überdimensioniert. Mit Windows CE hat Microsoft ein zum Desktop-Windows kompatibles Betriebssystem entwickelt, das in Größe und Funktion fein skalierbar ist. Ursprünglich vor allem für den Einsatz in mobilen Geräten geplant, ist Windows CE seit der Version 3.0 echtzeitfähig und wird vermehrt im industriellen Umfeld eingesetzt.

Aufgrund der Verwandtschaft von Windows CE mit dem „großen“ Windows konnte „TwinCAT CE“ Quellcode-kompatibel zu „TwinCAT XP“ angepasst werden. Dies bedeutet, dass alle aktuellen und zukünftigen TwinCAT-Funktionen auch unter Windows CE verfügbar sind. Einschränkungen gibt es nur aufgrund der zur Verfügung stehenden Hardwareplattformen.

TwinCAT CE nutzt die native Echtzeitfähigkeit von Windows CE, erweitert um einen feingranularen Timer (Auflösung < 1 ms), auf Beckhoff Embedded-PCs. Da TwinCAT alle Echtzeitfunktionen auf Windows CE abgebildet hat, können TwinCAT-Echtzeitanwendungen, wie z. B. Software-SPS und -Motion-Control, mit Echtzeitanwendungen anderer Herkunft koexistieren.

Seit der Version 3.0 von Windows CE, aus dem Jahre 2000, hat sich das Betriebssystem ständig weiterentwickelt, bleibt aber immer mindestens einen Schritt hinter dem Desktop-Windows. Die aktuelle Version von Windows CE ist Windows Embedded Compact 7. Sie unterstützt nun erstmals SMP (Symetric Multi-Processing) auf Multiprozessorsystemen. TwinCAT CE 3 wird auch diese Funktionalität des Betriebssystems nutzen und unterstützen.

Multi-Core – PC-Control-Rechenleistung vervielfacht sich

Aktuell sind über Doppelkern-CPUs hinaus auch Vierfach- beziehungsweise Achtfach-Kerne zu vertretbaren Kosten verfügbar. Diese Entwicklung kommt den softwarebasierten Automatisierungslösungen entgegen, weil diese in der Lage sind, Aufgaben – je nach Anzahl der verfügbaren CPU-Kerne – zu verteilen. Sprich: Funktionale Einheiten, wie HMI, PLC-Control, PLC-Runtime und NC, lassen sich mit weniger Aufwand als bislang auf dedizierte Cores verteilen.

Beckhoff erleichtert dem Anwender durch entsprechende Konfigurations- und Diagnosewerkzeuge die Nutzung von Multi-Core-Systemen. So lassen sich im „TwinCAT System Manager“ zum Beispiel die Laufzeiten der Echtzeit-Tasks beobachten und Prioritäten oder Ablaufreihenfolgen der Tasks manuell konfigurieren. Mit konfigurierbaren Core-Affinitäten lassen sich Tasks statisch einem Core zuordnen. So kann – per vorgefertigter Profile – wieder eine klassische Einteilung in SPS- und NC-Laufzeitsysteme hergestellt werden. Bei der Entwicklung von Echtzeit- bzw. SPS-Anwendungen in der TwinCAT-System-Umgebung vollzieht sich der Umstieg von Single- zu Dual-Core-Systemen nahtlos, weil TwinCAT hier nur einen Core nutzt. Aber auch der Übergang vom Single- oder Dual-Core- zum Multi-Core-System wird sich fließend gestalten, indem TwinCAT mehrere Cores freigibt, um die verfügbare Rechenleistung nutzen zu können. Die Echtzeit-Laufzeitumgebung nutzt weiterhin nur eine CPU, somit lassen sich bestehende SPS-Projekte ohne Vorteilsverlust 1:1 übernehmen. Eine besondere Eigenschaft der Softwaregeneration TwinCAT 3 besteht darin, dass jeder genutzte Core, in Abhängigkeit von der Zykluszeit seiner Task, den optimalen Systemtakt einstellt. Dies spart Rechenleistung und senkt den Energiebedarf.

(ID:384424)