Herunterladen Inhalt Inhalt Diese Seite drucken

Taskstacküberprüfung; Laufzeitmessungen - Bosch Rexroth HydraulicDrive Anwendungsbeschreibung

Ab hdx18
Inhaltsverzeichnis

Werbung

DOK-HYDRV*-MLD3-**VRS*-AP01-DE-P
Rexroth HydraulicDrive Rexroth IndraMotion MLD (2G) ab HDx-18
4.5.6
Taskstacküberprüfung
4.5.7

Laufzeitmessungen

Messung der Tasklaufzeiten in
Millisekunden
Beispiel einer Multitasking-SPS-
Applikation
Programm:
hIecTask := IecTaskGetCurrent(0);
IecTaskDisableWatchdog(hIecTask);
... // Code that is protected against watchdog
IecTaskEnableWatchdog(hIecTask);
Bereits beim Übersetzen des SPS-Programms wird geprüft, ob der Stackbe‐
darf der Tasks nicht zu hoch ist. Bei der MLD stehen jeder SPS-Task auf
IEC-Ebene 3 kByte Stackspeicher zur Verfügung. Bei der MLD steht jeder
SPS-Task eine Stackgröße von 10 kByte bei einem IEC-SPS-Programm oh‐
ne Aufruf von Firmware-Funktionen bzw. eine Stackgröße von 6 KByte bei ei‐
nem IEC-SPS-Programm mit Aufruf von Firmware-Funktionen zur Verfügung.
Eine Überschreitung des verfügbaren Stackspeichers wird beim Übersetzen
des Projekts als Fehler gemeldet.
Als Abhilfe sollten in Funktionen keine großen Datenfelder als Parameter
oder Variablen bzw. Rückgabewerte verwendet werden.
Bei der MLD existieren verschiedene Möglichkeiten zur Ermittlung des Zeit‐
bedarfs. Die Tasklaufzeiten werden vom System automatisch gemessen und
statistisch ausgewertet. Weiterhin wird in jedem SPS-Zeitschlitz die noch ver‐
bleibende Zeit gemessen.
Die Auswertungen der Tasklaufzeiten können per Funktion im SPS-Pro‐
gramm ermittelt werden. Hierfür wird in der Bibliothek "CmpIecTask.library"
die Funktion "SysIECTaskGetInfo3" mit der Struktur "Task_Info2" bereitge‐
stellt. Es wird dabei die Laufzeit der gewünschten Task als Struktur mit Sta‐
tistik geliefert.
Bei der Beurteilung sind die maximale und durchschnittliche Laufzeit zu be‐
trachten:
Wenn eine einmalige Zeitüberschreitung bereits zu einem Problem führt
und somit überwacht werden soll, so ist die maximale Laufzeit "dwMax‐
CycleTime" für die Beurteilung heranzuziehen (entspricht der Watch‐
dog-Empfindlichkeit "1"). Am Verhältnis der Maximalzeit zur Watchdog‐
zeit kann man erkennen, wie stark die entsprechende Task ausgelastet
wurde. Für spätere Updates der Firmware, welche eventuell geringfügig
mehr Eigenbedarf an Rechenleistung hat, und vor allem für zukünftige
Programmerweiterungen sollte man hier darauf achten, dass die Aus‐
lastung nicht zu hoch liegt (z. B. nicht über 50 %).
Wenn eine einmalige Zeitüberschreitung toleriert wird, kann man der
Task höhere Maximallaufzeiten zugestehen. In diesem Fall wird eher
das Verhältnis der durchschnittlichen Rechenzeit zur Watchdogzeit zur
Beurteilung maßgeblich. Die Maximallaufzeiten von Tasks treten meist
in einem Zyklus oder in wenigen Zyklen auf.
Bei hohen Anforderungen mit einer tolerierten Maximalzeit von nur einer
oder zwei Millisekunden ist die Aussagekraft dieser Zeitmessung durch
die Auflösung in Millisekunden relativ ungenau. Hierfür gibt es eine wei‐
tere Messung der freien Restzeit.
Bosch Rexroth AG
Grundfunktionen von Rexroth IndraMotion MLD
53/169

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis