Beschreibung
Mit der Anweisung können Sie die Laufzeit einzelner OBs über verschiedene Zeiträume ermitteln.
|
Hinweis Die Anweisung liefert die zuletzt aufgezeichneten Zeitwerte für den gewünschten OB unabhängig davon, ob dieser momentan geladen ist oder nicht. Die Daten werden auch durch Löschen oder Überladen nicht zurückgesetzt, sondern nur durch einen Neustart (Warmstart). |
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "OB_RT":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Bedeutung |
|---|---|---|---|---|
|
OB_NR |
Input |
INT |
E, A, M, D, L |
OB, dessen zuletzt ermittelte Zeiten abgefragt werden sollen. Gültige OB-Nummern sind alle in Ihrer CPU realisierten OBs mit Ausnahme von OB 121 und OB 122. Die Bearbeitung von Synchronfehlern zählt zur Bearbeitungszeit des jeweils fehlerverursachenden OB. Die Angabe der OBs 121 und 122 oder nicht in der CPU realisierten OBs führt zu einer Fehlermeldung. Bei OB_NR=0 werden die Daten des OB, in dessen Kontext die Anweisung aufgerufen wurde, übergeben. Bei Aufruf von der Anweisung "OB_RT" in den OBs 121 oder 122 mit OB_NR=0 werden die Zeiten des alarmverursachenden OB inclusive der Zeiten im OB 12x ausgegeben. |
|
RET_VAL |
Return |
INT |
E, A, M, D, L |
Tritt während der Bearbeitung der Anweisung ein Fehler auf, enthält der Rückgabewert einen Fehlercode. Andernfalls enthält RET_VAL die Nummer des OB, für den diese Daten abgerufen wurden. |
|
PRIO |
Output |
INT |
E, A, M, D, L |
In PRIO wird die Prioritätsklasse des abgefragten OB ausgegeben. |
|
LAST_RT |
Output |
DINT |
E, A, M, D, L |
Laufzeit der letzten abgeschlossenen Bearbeitung des angegebenen OB in Mikrosekunden.
Hinweis: Die Unterbrechungszeiten durch höherpriore OBs sind in LAST_RT nicht enthalten. Die OB-spezifischen Betriebssystemleistungen (z. B. die Erzeugung und die Bereitstellung der OB-Startinformation, die Aktualisierung des Prozessabbilds, die Aktualisierung des Teilprozessabbilds) sind in LAST_RT enthalten. |
|
LAST_ET |
Output |
DINT |
E, A, M, D, L |
Zeitspanne zwischen OB-Anforderung und Bearbeitungsende des angegebenen OB in Mikrosekunden, und zwar für die letzte abgeschlossene Bearbeitung des angegebenen OB.
Hinweis: Die Unterbrechungszeiten durch höherpriore OBs sind in LAST_ET enthalten. |
|
CUR_T |
Output |
DINT |
E, A, M, D, L |
Zeitpunkt der OB-Anforderung des angegebenen OB, der momentan gerade bearbeitet wird, als Relativzeit in Mikrosekunden. Falls der angegebene OB momentan nicht bearbeitet wird, enthält CUR_T den Wert "0". Hinweis: Die Systemzeit ist ein Zähler, der von "0" bis "2 147 483 647" Mikrosekunden zählt. Beim Überlauf startet der Zähler wieder bei "0". |
|
CUR_RT |
Output |
DINT |
E, A, M, D, L |
Bisherige Laufzeit der aktuellen Bearbeitung des angegebenen OB in Mikrosekunden. CUR_RT ist "0", wenn der OB nicht oder noch nicht bearbeitet wird. Nach Ende der Bearbeitung wird die Laufzeit in LAST_RT übertragen, und CUR_RT wird auf 0 gesetzt. |
|
CUR_ET |
Output |
DINT |
E, A, M, D, L |
Die seit der Anforderung des angegebenen OB, der momentan gerade bearbeitet wird, vergangene Zeitspanne in Mikrosekunden. CUR_ET ist "0", wenn der angegebene OB momentan nicht bearbeitet wird. Nach Ende der Bearbeitung wird die Laufzeit in LAST_ET übertragen, und CUR_ET wird auf "0" gesetzt. |
|
NEXT_ET |
Output |
DINT |
E, A, M, D, L |
Falls weitere Bearbeitungen des angegebenen OB anstehen, bevor die aktuelle Anforderung beendet wurde, wird in NEXT_ET die Zeitspanne vom aktuellen Zeitpunkt bis zum Zeitpunkt der nächst folgenden Anforderung in Mikrosekunden angezeigt. NEXT_ET ist "0", wenn außer dem aktuellen zur Bearbeitung anstehenden bzw. in Bearbeitung stehenden Startereignis für den betroffenen OB kein weiteres Startereignis existiert. WinLC RTX und die S7-400-CPUs verwenden diesen Parameter nicht. Bei ihnen hat NEXT_ET den Wert "FFFF FFFF". |
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Die Zeiten enthalten auch die Laufzeiten eventuell eingeschachtelter Bearbeitungen von Synchronfehler-Alarmen (OB 121, OB 122).
|
Hinweis Falls Sie in OB_NR eine OB-Nr. angeben, die im Mengengerüst Ihrer CPU zwar vorhanden ist, der zugehörige OB vom Betriebssystem aber noch nicht aufgerufen bzw. von Ihnen noch nicht in die CPU geladen wurde, enthält RET_VAL die angegebene OB-Nr., PRIO die projektierte (ggf. Default-) Priorität des angegebenen OB. Die Laufzeitparameter (CUR_RT, CUR_ET, LAST_RT, LAST_ET, NEXT_ET) liefern den Initialwert DW#16#FFFF FFFF zurück. Bei den folgenden Anlaufarten bzw. Betriebszustandswechseln werden die Laufzeitparameter auf ihren Initialwert gesetzt: Neustart, Kaltstart, Wiederanlauf. |
Parameter RET_VAL
|
Ereignisklasse Fehlercode |
Erläuterung |
|---|---|
|
1 bis 102 |
Nummer des OB, zu dem Informationen übergeben werden |
|
W#16#8080 |
Parameter OB_NR enthält einen unzulässigen Wert. |
|
W#16#8xyy |
allgemeine Fehlerinformation Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL |