Multi Core in der Automation

Autoren:

Ramon Barth ist Leiter der Grundlagenentwicklung bei Beckhoff Automation, Deutschland.
Sebastian Richter ist Field Application Engineer bei Intel, Deutschland.

Beckhoff nutzt mit seinem TwinCAT-System die Eigenschaften der unterschiedlichenCore-Systeme folgendermaßen:

Single-Core: Auf Single-Core-Systemen werden die Echtzeit-Funktionen quasi parallel mit höchster Priorität deterministisch ausgeführt. Dank eines patentierten Umschaltverfahrens zwischen Windows- und Echtzeit-Anwendung werden zeitkritische Windows-Funktionen rechtzeitig im Zeitraster des Echtzeit-Systems bearbeitet. Allerdings geht ein zusätzlicher Rechenleistungsbedarf der Echtzeit-Anwendungen zu Lasten der Leistungsfähigkeit der Windows-Anwendungen. Die Kommunikation zwischen beiden Welten erfolgt durch das nachrichtenbasierte TwinCAT-ADS-Kommunikationssystem; der ADS-Router synchronisiert hierbei die Prozesskommunikation (Bild1).

Dual Core: Dual-Core-Systeme erkennt TwinCAT automatisch; einer der beiden Cores (Bild 2) wird von der Echtzeit-Funktionalität belegt, wobei die vom Echtzeit-Kern nicht genutzte Rechenzeit des Core für Windows zur Verfügung steht. Für die Synchronisierung zwischen Windows-Applikation und Echtzeit-Anwendungen – wie SPS oder NC – ist wiederum das ADS-Nachrichtensystem zuständig.

Zur optimalen Nutzung der Dual-Core-CPUs wurden das Echtzeit-System sowie der ADS-Router – unter Wahrung der Kompatibilität zu den Vorgängerversionen – erweitert. Da beide CPU-Cores auf denselben Speicher und den gemeinsamen L2-Cache zugreifen, musste der ADS-Router nur um die Multiprozessor-Synchronisierung ergänzt werden, um die ADS-Nachrichten sicher an die angemeldeten Prozesse zu verteilen. Das Resultat für den Anwender besteht in einer höheren Rechenleistung für die Gesamtanwendung bei minimalem Migrationsaufwand.