Echtzeit-Auslastung im TwinCAT und CPU-Auslastung im Task Manager windows

ysh032

Level-1
Beiträge
38
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
Weißt jemand, was die im TwinCAT "Echtzeiteinstellungen" =>"Online" gezeigte "Echtzeit-Auslastung" ist?
Beckhoff sagt, das ist die Auskunft über die momentane CPU-Auslastung. Aber warum ist der im TwinCAT gezeigte
Auslastungswert immer unterschiedlich wie im Windows Task Manager gezeigte CPU-Auslastung. z.B. wenn die Echt-
zeit-Auslastung im TwinCAT auf 25% gestiegen ist, bleibt die CPU-Auslastung im Task Manager noch nur 1-2%. Gibt es
Verhältnis zwischen beiden?
 
Beckhoff hat einen eigenen Scheduler, der die Echtzeit herstellt. Über einen Schieberegler kann man einstellen, wieviel von der maximalen Systemrechenzeit die Echtzeit einnimmt. Spätestens zu diesem Zeitpunkt, schaltet der Scheduler um, meistens jedoch eher (sobald die Anweisungen ausgeführt wurden). Die Echtzeitanzeige in TwinCAT zeigt somit die tatsächliche Auslastung des Systems an. Die Anzeige in Windows bezieht sich auf die Zeit, welche Sie vom Beckhoff-Scheduler noch zur Verfügung gestellt bekommt. Also in deinem Beispiel ist die Auslastung des Gesamtsystems 25%. Somit bleiben 75% für Windows. Von diesen 75% ist Windows zu 1-2% ausgelastet.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wobei zu Beachten ist das der Schieberegler nicht zu hoch gestellt wird. Maximal 80% sollten für TC reserviert werden.
Ich hatte Probleme mit der ADS Kommunikation, welche über Windows läuft, weil die Systemlast zu hoch war und Windows zu wenig Recourcen hatte. Das trat auf bei Echtzeitauslastung 80% und Eingestellt 80% für TC.
Wir haben dann das Programm auf eine langsame und schnelle Task aufgeteilt und die Systemlast dadurch reduziert. Nun keine Probleme mit ADS mehr.
 
Ich habe auch auf solche Probleme getroffen. Die Ursache sind meinstens zu kleinere Taskzykluszeit oder zu viele zu behandlenden Datenmengen jedes Zyklus. Bei solchen Fälle habe ich
auch das Programm auf 2 oder mehere Tasks jeweils mit verschiedener Zykluszeit aufgeteilt, die Auslastung in TC kann zwar dadurch reduziert, aber treten die Probleme bei Datenaustausch
zwischen diesen Tasks auf. Die Daten-In/Output Applikationen des schneller Tasks können nicht rechtzeitig sondern mit einer unerwarteten Zeitverzug von dem langsameren Task empfangen,
weil die Abtastungsrate der Anweisungen in beiden Task unterschiedlich sind. Ich weiß nicht, ob ein Zwischenpuffer zwischen beiden Tasks erstellt werden soll. Die zu übertragenden Daten werden
zuerst in diesem Puffer temporär gespeichert.
 
Zurück
Oben