Instructions

Table Of Contents
Anweisungen
8.8 Programmsteuerungsoperationen
S7-1200 Automatisierungssystem
326 Systemhandbuch, V4.2.3, 08/2018, A5E02486681-AL
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 innerhal
b einer Befehlssequenz während der optimierten
Programmkompilierung ändert.
Tabelle 8- 151 Datentypen für die Parameter
Parameter
Datentyp
Beschreibung
MEM
LReal
Startpunkt für die Laufzeitmessung
RET_VAL
LReal
Gemessene Laufzeit in Sekunden
Beispiel: Anweisung RUNTIME
Das folgende Beispiel zeigt, wie Anweisung RUNTIME für die Messung der Ausführungszeit
eines Funktionsbausteins verwendet wird:
Netzwerk 1:
Netzwerk 2: