Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SIMATIC S7 Serie Systemhandbuch Seite 309

Inhaltsverzeichnis

Werbung

8.8.9
RUNTIME (Programmlaufzeit messen)
Tabelle 8-154 Anweisung RUNTIME
KOP/FUP
SCL
Ret_Val := RUNTIME(
_lread_inout_);
Soll die Laufzeit des gesamten Programms gemessen werden, ist die Anweisung
"Programmlaufzeit messen" in OB 1 aufzurufen. Die Laufzeitmessung beginnt mit dem ersten
Aufruf und Ausgang RET_VAL gibt die gemessene Programmlaufzeit nach dem zweiten Aufruf
zurück. Die gemessene Laufzeit umfasst alle CPU-Prozesse, die während der
Programmausführung auftreten können, zum Beispiel Unterbrechungen durch übergeordnete
Ereignisse oder Kommunikation. Anweisung "Programmlaufzeit messen" liest einen internen
Zähler der CPU und schreibt den Wert in den IN-OUT-Parameter MEM. Die Anweisung berechnet
die aktuelle Programmlaufzeit anhand der internen Zählerfrequenz und schreibt sie in Ausgang
RET_VAL.
Soll die Laufzeit einzelner Bausteine oder Befehlssequenzen gemessen werden, werden drei
separate Netzwerke benötigt. Rufen Sie Anweisung "Programmlaufzeit messen" in einem
einzelnen Netzwerk Ihres Programms auf. Sie setzen den Startpunkt der Laufzeitmessung mit
dem ersten Aufruf der Anweisung. Rufen Sie dann den benötigten Programmbaustein oder die
Befehlssequenz im nächsten Netzwerk auf. Rufen Sie Anweisung "Programmlaufzeit messen" in
einem anderen Netzwerk ein zweites Mal auf und weisen Sie dem IN-OUT-Parameter MEM den
gleichen Speicher wie beim ersten Aufruf der Anweisung zu. Die Anweisung "Programmlaufzeit
messen" im dritten Netzwerk liest einen CPU-internen Zähler, berechnet die aktuelle Laufzeit der
Programmbausteine oder der Befehlssequenz anhand der internen Zählerfrequenz und schreibt
diese in Ausgang RET_VAL.
Anweisung "Programmlaufzeit messen" nutzt einen internen Hochfrequenzzähler für die
Berechnung der Zeit. Bei Zählerüberlauf gibt die Anweisung Werte <= 0.0 zurück. Diese
Laufzeitwerte können ignoriert werden.
Hinweis
Die CPU kann die Laufzeit einer Befehlssequenz nicht genau bestimmen, weil sich die
Anweisungsfolge innerhalb einer Befehlssequenz während der optimierten
Programmkompilierung ändert.
Tabelle 8-155 Datentypen für die Parameter
Parameter
Datentyp
MEM
LReal
RET_VAL
LReal
Beispiel: Anweisung RUNTIME
Das folgende Beispiel zeigt, wie Anweisung RUNTIME für die Messung der Ausführungszeit eines
Funktionsbausteins verwendet wird:
S7-1200 Automatisierungssystem
Systemhandbuch, V4.5 05/2021, A5E02486681-AO
Beschreibung
Misst die Laufzeit des gesamten Programms, einzelner Bausteine oder
von Befehlssequenzen.
Beschreibung
Startpunkt für die Laufzeitmessung
Gemessene Laufzeit in Sekunden
8.8 Programmsteuerungsoperationen
Anweisungen
309

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Simatic s7-1200

Inhaltsverzeichnis