Aufgrund der großen Vielfalt an Funktionen, die parallel auf AC500 SPSen laufen können, ist es empfehlenswert oder sogar zwingend erforderlich, je nach gewünschter Funktionalität, das Systemverhalten an die Bedürfnisse der individuellen Anwendung anzupassen.
Aufgrund von Hardwarebeschränkungen und -zwängen ist es notwendig, Prioritäten bei der Funktionalität zu setzen, insbesondere wenn mehrere Funktionen parallel ausgeführt werden sollen. Aufgrund der Komplexität der zugrundeliegenden Softwarekomponenten kann eine Priorisierung sehr schwierig sein. Neben den Aufgabenprioritäten kann es auch erforderlich sein, die Systemkonfiguration auf niedriger Ebene anzupassen, um die bestmögliche Leistung für eine bestimmte Funktion zu erzielen.
Um die Komplexität und damit das Risiko negativer Nebeneffekte zu verringern, wurde
der CPU-Parameter Communication schema
eingeführt. Dieser Parameter ermöglicht es dem Benutzer, den Hauptzweck der entsprechenden
SPS gezielt zu definieren und den Fokus auf eine bestimmte Funktionalität zu legen.
Schema |
PM50xx |
PM56xx |
Beschreibung |
---|---|---|---|
Standard |
X |
X |
Ausgewogene Priorität für die Kommunikation über Kommunikationsmodule (CMs) und die bordseitige Kommunikation Ethernet. |
Kommunikationsmodule |
- |
X |
Priorität und hohe Leistung für die auf dem Kommunikationsmodul (CM) basierende Kommunikation über Sync-Tasks. Niedrigere Priorität für den Ethernet und den E/A-Bus. |
An Bord Ethernet |
X |
X |
Priorität und hohe Leistung für die auf dem Kommunikationsmodul (CM) basierende Kommunikation über Sync-Tasks. Niedrigere Priorität für den Ethernet und den E/A-Bus. |
An Bord EtherCAT ⮫ „Kommunikationsschema „Onboard EtherCAT“ seit „SystemFW“ 3.4.1“ |
X |
X |
Sehr hohe Priorität für die Kommunikation an Bord von Ethernet (z. B. EtherCAT, PROFINET, EtherNet/IP). Niedrige Priorität für die Kommunikation über Kommunikationsmodule (CMs). |
Eine Änderung des Kommunikationsschemas kann erhebliche Auswirkungen auf das Verhalten der Benutzeranwendung haben und sollte daher nur vorgenommen werden, wenn,
-
eine Funktion konfiguriert wird, die sich auf ein bestimmtes Schema stützt (z. B. EtherCAT).
-
das Systemverhalten muss hinsichtlich der Leistung optimiert werden (Verringerung der Reaktionszeiten, Erhöhung des Durchsatzes usw.).
Beachten Sie, dass die größere Flexibilität und Freiheit mit einer größeren Verantwortung einhergeht, da die IEC-Aufgabenkonfiguration und der IEC-Anwendercode wichtige Systemfunktionen zu lange blockieren können. Die folgenden Informationen sollen helfen, geeignete Einstellungen zu finden, um Laufzeitfehler wie Timeout-Ausnahmen oder Kommunikationsprobleme zu vermeiden.
Prioritätseinstufungen und ihr Zweck
Die von jedem Kommunikationsschema priorisierte Funktionalität wird in 3 verschiedene Klassen eingeteilt:
-
Echtzeitfunktionen mit hoher Priorität
-
IEC-Aufgaben mit Echtzeit-Priorität
-
Nicht-Echtzeit-Funktionen mit niedriger Priorität

Echtzeitfunktionen mit hoher Priorität
Funktionen mit strengen Zeitvorgaben, z. B. Treiber mit Hardware-Zugriff oder Hardware-Watchdog-Überwachung, können zu Ausnahmefehlern, Verlust der Kommunikation mit der Hardware und anderen Problemen führen, die nicht behebbar sind und ein Anhalten der Benutzeranwendung zur Folge haben können.
Die Funktionalität dieser Klasse kann nicht durch die Aktivität von benutzerdefinierten IEC-Tasks beeinflusst werden. Dies hat zur Folge, dass verwandte Funktionen IEC-Aufgaben unterbrechen oder verzögern können, wodurch sich der Jitter der IEC-Aufgaben und die Dauer der IEC-Aufgabenzyklen erhöhen.
IEC-Aufgaben mit Echtzeit-Priorität
Dies ist der Prioritätsbereich der benutzerdefinierten IEC-Echtzeitaufgaben. Die Prioritäten 0 bis 15 sind Echtzeitprioritäten (IEC-Priorität 16 wird auf Nicht-Echtzeitpriorität abgebildet) und können verwendet werden, um die Priorität einer IEC-Task in Automation Builder zu definieren.
Aufgaben in diesem Bereich können durch Funktionen mit hoher Priorität unterbrochen oder verzögert werden. Es ist nicht möglich, dass IEC-Anwendercode Aktivitäten mit hoher Priorität unterdrückt, was die Sicherheit erhöht und das Risiko negativer Nebeneffekte durch Fehler im IEC-Anwendercode oder in den Bibliotheken oder durch Fehlkonfiguration von IEC-Tasks verringert.
Nicht-Echtzeit-Funktionen mit niedriger Priorität
Der niedrige Prioritätsbereich ist für Nicht-Echtzeit-Funktionen vorgesehen, die keine besonderen zeitlichen Anforderungen stellen und die ihre Tätigkeit ohne Verzögerung oder Unterbrechung der Benutzeranwendung und der damit verbundenen Funktionen ausführen sollen.
Aktivitäten, die diesem Bereich zugeordnet sind, können durch IEC-Aufgaben mit hoher Priorität und in Echtzeit unterdrückt werden. Daher kann es je nach der Gesamtbelastung des Systems zu hohem Jitter, sporadischer Aktivität oder langen Reaktionszeiten kommen.
Um eine Unterdrückung der Tasks dieser Gruppe zu vermeiden, reserviert das System ein kurzes Zeitfenster für die Bearbeitung von Funktionen mit niedriger Priorität, wenn die CPU-Auslastung nahezu 100 % erreicht. Unter normalen Umständen (unter einer durchschnittlichen Systemlast von 80 %) sollte dieser Mechanismus nicht aktiviert werden. Obwohl dieses Zeitfenster zu einem leichten Zittern der Aufgaben mit hoher Priorität führen kann (± 100 Mikrosekunden), stellt es sicher, dass das System reaktionsfähig bleibt und immer in der Lage ist, grundlegende Aufgaben, die regelmäßig ausgeführt werden müssen, zu erledigen. Beachten Sie, dass Aufgaben mit niedriger Priorität immer noch eine wichtige Rolle spielen und regelmäßig eingeplant werden müssen, um ihre individuellen Zeitanforderungen zu erfüllen.
Stellen Sie sicher, dass die durchschnittliche CPU-Auslastung 80 % nicht übersteigt, damit das System genügend Zeit hat, Funktionen mit niedriger Priorität zu verarbeiten.
Die Funktionalität mag für die einzelne Anwendung nicht wichtig sein, aber es ist dennoch notwendig, andere Funktionen wie das Automation Builder Login oder den Zugang zu Diagnosedaten am Leben zu erhalten.
Sobald die CPU-Auslastung 80 % übersteigt, wird es für das System schwierig, Aufgaben korrekt zu planen.