WO2004015575A2 - Verfahren zur erfassung von programmlaufzeiten in einem datenverarbeitungsgerät - Google Patents

Verfahren zur erfassung von programmlaufzeiten in einem datenverarbeitungsgerät Download PDF

Info

Publication number
WO2004015575A2
WO2004015575A2 PCT/DE2003/002547 DE0302547W WO2004015575A2 WO 2004015575 A2 WO2004015575 A2 WO 2004015575A2 DE 0302547 W DE0302547 W DE 0302547W WO 2004015575 A2 WO2004015575 A2 WO 2004015575A2
Authority
WO
WIPO (PCT)
Prior art keywords
time
processor
measurement
data processing
processing device
Prior art date
Application number
PCT/DE2003/002547
Other languages
English (en)
French (fr)
Other versions
WO2004015575A3 (de
Inventor
Klaus Göbel
Werner Kuske
Pirmin Lind
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2004015575A2 publication Critical patent/WO2004015575A2/de
Publication of WO2004015575A3 publication Critical patent/WO2004015575A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

Die Erfindung betrifft ein Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät, zum Beispiel einer speicherprogrammierbaren Steuerung, bei dem die Messung der Laufzeiten eines Programms oder einer Programmsequenz durch eine Auswertung der Zeittakte des Datenverarbeitungsgeräts parallel zur Abarbeitung der eigentlichen Programmbefehle mit einem das Datenverarbeitungsgerät steuernden Prozessor erfolgt. Bei einer vorgegebenen Anzahl von wiederholten Messungen eines Laufzeitintervalls kann dabei während der Messung jeweils ein Minimal-, ein Maximal- und/oder ein Mittelwert errechnet und im Prozessor zur weiteren Auswertung gespeichert werden.

Description

Beschreibung
Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät
Die Erfindung betrifft ein Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät, insbesondere im Zusammenhang mit Programmsequenzen, die in speicherprogrammierbaren Steuerungen ausgeführt werden, nach den gattungsgemäßen Merkmalen des Hauptanspruchs .
Es ist bisher üblich, dass die Programmlaufzeiten mit unterschiedlichen zusätzlichen Verfahren gemessen werden, die ein besonderes Ablaufprogramm benötigen. Zum Beispiel können Messfunktionen implementiert werden, die am Anfang und am Ende einer Programmsequenz jeweils aufgerufen werden.
Eine solche LaufZeitmessung durch das Einfügen von besonderen Funktionen in den Programmablauf hat dabei insbesondere den Nachteil, dass hiermit keine interaktive Messung beliebiger
Programmsequenzen möglich ist, da zunächst die Messfunktionen in den Code eingefügt werden müssen. Darüber hinaus ist ein solches Verfahren nicht rückwirkungsfrei, da der Aufruf der Messfunktionen das eigentliche Programm vergrößert und die Laufzeit der Messfunktionen das Messergebnis außerdem verfälscht .
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbei- tungsgerät derart zu verbessern, dass auf einfache Weise ein interaktives und/oder rückwirkungsfreies Messen von Programmlaufzeiten ohne externe Messgeräte möglich ist.
Gemäß der Erfindung ist ein Verfahren und ein Software- oder Firmware-Baustein zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät in vorteilhafter Weise dadurch weitergebildet, dass die Messung der Laufzeiten eines Pro- gramms oder einer Programmsequenz durch eine Auswertung der Zeittakte des Datenverarbeitungsgeräts parallel zur Abarbeitung der eigentlichen Programmbefehle mit einem das Datenverarbeitungsgerät steuernden Prozessor erfolgt . Hierdurch wird auf einfache Weise die Messung in den Prozessor verlagert, auf dem das Programm abläuft, so dass die Messung keine zusätzliche Zeit kostet.
Besonders vorteilhaft kann bei einer vorgegebenen Anzahl von wiederholten Messungen eines Laufzeitintervalls während der Messung jeweils ein Minimal-, ein Maximal- und/oder ein Mittelwert errechnet und im Prozessor zur weiteren Auswertung gespeichert werden. Andererseits kann auch bei einer vorgegebenen Anzahl von wiederholten Messungen eines Laufzeitin- tervalls die jeweils gemessene Zeit in einem Pufferspeicher gespeichert und zur beliebigen Auswertung dem Prozessor zugeführt werden. Die Messung kann auch innerhalb eines, vorzugsweise für speicherprogrammierbare Steuerungen als Datenverarbeitungsgerät vorgesehenen Debuggers durchgeführt wer- den.
Zur Messung der Programmlaufzeit kann der Start- und der Endzeitpunkt jeweils einer Messung durch einen Vergleich der Adresse des jeweils aktuellen Befehls mit dem Inhalt zweier programmierbarer Register (start_address, stop_address) erfolgen, wobei beim Startpunkt der Prozessor den Startzeitpunkt in einem Register (start_time) und beim Endpunkt der Prozessor den Stopzeitpunkt in einem Register (stop_time) speichert und dass daraus die aktuelle Laufzeit (duration) berechnet wird. Hierbei wird zur Messung der Zeit ein Register (clock) als Uhr benutzt, welches unabhängig vom Prozessor mit einem festen Takt hochgezählt wird. Nach jeder Messung werden dabei die Ergebnisse eines in einer vorherigen Messung durchgeführten gleichen Schrittes überschrieben.
Vorteilhaft ist es außerdem, wenn die minimale und maximale Laufzeit (min duration, max duration) sowie die Summe der Laufzeiten (total_duration) zur Berechnung der mittleren Laufzeit ermittelt wird, wobei sobald die vorgegebene Anzahl von Messungen (end_count) erreicht ist, der Minimal- und der Maximalwert ausgelesen und der Mittelwert berechnet wird.
Zusammenfassend ist festzustellen, dass mit dem erfindungsgemäßen Verfahren die Messungen der Programmlaufzeit jederzeit und ohne zusätzliche Messgeräte für beliebige Programmsequenzen durchgeführt werden können und die Messung das Messergeb- nis nicht verfälscht. Beispielsweise zur Wartung von speicherprogrammierbaren Steuerungen können die LaufZeitmessungen auch vor Ort beim Kunden durchgeführt werden, wobei der Hersteller einer speicherprogrammierbaren Steuerung mit dem erfindungsgemäßen Verfahren LaufZeitmessungen in der Steue- rung des Kunden durchführen kann, während diese eine Anlage unterbrechungsfrei steuert .
Bisher übliche LaufZeitmessungen im Labor des Herstellers sind oftmals nicht aussagekräftig genug, weil die Kundenan- läge im Labor nicht zur Verfügung steht. Da die erfindungsgemäße Messung rückwirkungsfrei ist, kann sie insbesondere in kritischen Anlagen benutzt werden, die ständig im Betrieb sein müssen. Die Messungen können allerdings auch ferngesteuert, z. B. über Kommunikationsnetze, durchgeführt werden.
Die Erfindung wird anhand des in der Zeichnung dargestellten Ausführungsbeispiels zur Ausführung des Verfahrens erläutert.
Es zeigen:
Figur 1 ein prinzipielles Ablaufdiagramm der Messung einer
Programmlaufzeit , Figur 2 eine sofortige LaufZeitmessung mit einer Berechnung der Minimal- Maximal- und Mittelwerte und Figur 3 eine Anwandlung des Ausführungsbeispiels mit einer
Ablage des Messwerts in einem Pufferspeicher. Beim in Figur 1 dargestellten Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät, zum Beispiel bei einer speicherprogrammierbaren Steuerung, werden eine Anzahl von Messungen durchgeführt und wenn eine vorgege- bene Anzahl von Messungen noch nicht erreicht ist, die Messung beispielsweise entsprechend der Anweisung „ if (count < end_count) " beim Anfangspunkt „instruction_add- ress = start_address" gestartet.
Beim Start der LaufZeitmessung speichert der Prozessor der
Steuerung den StartZeitpunkt in einem Register „start_time = clock" und beim Endpunkt speichert der Prozessor den Stop- zeitpunkt in einem Register „stop_time = clock". Hieraus kann dann die aktuelle Laufzeit „duration = stop_time - start__time" berechnet werden.
Im folgenden Bearbeitungsblock zur Verarbeitung der Messergebnisse können die Alternativen nach Figur 2 oder Figur 3 durchgeführt werden. Nach einer vorgegebenen Anzahl von wie- derholten Messungen eines Laufzeitintervalls kann dann z. B. gemäß der Figur 2 während der Messung jeweils ein Minimalwert „if (duration < min_duration) (min_duration = duration) " und ein Maximalwert „if (duration > max_duration) (max_duration = duration) " gespeichert werden.
Gemäß einer Alternative nach der Figur 3 kann auch bei einer vorgegebenen Anzahl von wiederholten Messungen eines Lauf- zeitintervalls die jeweils gemessene Zeit in einem Pufferspeicher gespeichert „ bu fer (count) = duration" und zur be- liebigen Auswertung dem Prozessor zugeführt werden.
Anschließend kann die Anzahl der Messungen erhöht werden „count = count +1". Sobald die vorgegebene Anzahl von Messungen (end_count) erreicht ist, kann dann die mittlere Laufzeit aus der Summe der Laufzeiten „total_duration = total duration + duration" errechnet werden. Beispielsweise sind bei einer Durchführung des Verfahrens mit 50 Messungen eine Minimalwert von 34 μs, eine Maximalwert von 567 μs und ein Mittelwert von 55 μs errechnet worden.

Claims

Patentansprüche
1. Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät, dadurch geke nn z e i c hne t , dass die Messung der Laufzeiten eines Programms oder einer Programmsequenz durch eine Auswertung der Zeittakte des Datenverarbeitungsgeräts parallel zur Abarbeitung der eigentlichen Programmbefehle mit einem das Daten- Verarbeitungsgerät steuernden Prozessor erfolgt.
2. Verfahren nach Anspruch 1, dadurc h gekenn z e i c hne t , dass bei einer vorgegebenen Anzahl von wiederholten Messungen eines Laufzeitintervalls während der Mes- sung jeweils ein Minimal-, ein Maximal- und/oder ein Mittelwert errechnet und im Prozessor zur weiteren Auswertung gespeichert wird.
3. Verfahren nach Anspruch 1, dadur ch gekenn - z e i c hne t , dass bei einer vorgegebenen Anzahl von wiederholten Messungen eines Laufzeitintervalls die jeweils gemessene Zeit in einem Pufferspeicher gespeichert und zur beliebigen Auswertung dem Prozessor zugeführt wird.
4. Verfahren nach Anspruch 2, d a d u r c h g e k e n n z e i c hne t , dass der Start und der Endzeitpunkt jeweils einer Messung durch einen Vergleich der Adresse des jeweils aktuellen Befehls mit dem Inhalt zweier programmierbarer Register (start_address, stop_address) erfolgt, wobei beim Startpunkt der Prozessor den StartZeitpunkt in einem Register
(start_time) und beim Endpunkt der Prozessor den Stopzeit- punkt in einem Register (stop_time) speichert und dass daraus die aktuelle Laufzeit (duration) berechnet wird.
5. Verfahren nach Anspruch 4, dadurch g e kenn z e i c hne t , dass zur Messung der Zeit ein Register (clock) als Uhr fungiert, welches unabhängig vom Prozessor mit einem festen Takt hochgezählt wird.
6. Verfahren nach einem der Ansprüche 2 bis 5, d a du r c h g e ke nn z e i c hne t , dass nach jeder Messung die Ergebnisse eines in einer vorherigen Messung durchgeführten gleichen Schrittes überschrieben werden.
7. Verfahren nach einem der Ansprüche 2 bis 5, d a dur c h g e k e n n z e i c hne t , dass die minimale und maximale
Laufzeit (min_duration, max_duration) sowie die Summe der Laufzeiten (total_duration) zur Berechnung der mittleren Laufzeit ermittelt wird, wobei sobald die vorgegebene Anzahl von Messungen (end_count) erreicht ist, der Minimal- und der Maximalwert ausgelesen und der Mittelwert berechnet wird.
8. Verfahren nach einem der Ansprüche 1 bis 8, d a du r c h g e k e n n z e i c hn e t , dass Zur Auswertung die Anzahl der Prozessortakte vorgesehen ist .
9. Software- oder Firmware-Baustein zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche, d a du r c h g e k e nn z e i c hn e t , dass die Messung innerhalb eines, vorzugsweise für speicherprogrammierbare Steuerungen als Datenverarbeitungsgerät, vorgesehenen Debuggers durchgeführt wird.
PCT/DE2003/002547 2002-07-29 2003-07-29 Verfahren zur erfassung von programmlaufzeiten in einem datenverarbeitungsgerät WO2004015575A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2002134469 DE10234469A1 (de) 2002-07-29 2002-07-29 Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät
DE10234469.8 2002-07-29

Publications (2)

Publication Number Publication Date
WO2004015575A2 true WO2004015575A2 (de) 2004-02-19
WO2004015575A3 WO2004015575A3 (de) 2004-04-29

Family

ID=30128484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2003/002547 WO2004015575A2 (de) 2002-07-29 2003-07-29 Verfahren zur erfassung von programmlaufzeiten in einem datenverarbeitungsgerät

Country Status (2)

Country Link
DE (1) DE10234469A1 (de)
WO (1) WO2004015575A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007039020B4 (de) * 2007-08-17 2019-10-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung und/oder Optimierung von Prozessabläufen einer Steuerung einer Maschine

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467463A (en) * 1992-02-27 1995-11-14 Tandy Corporation System independent timing reference for computer
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
EP1072979A2 (de) * 1999-07-27 2001-01-31 Lucent Technologies Inc. Verfahren zur Überwachung der Gebrauchslaufzeit von Erprobungssoftware
WO2001080012A2 (en) * 2000-04-11 2001-10-25 Analog Devices, Inc. Non-intrusive application code profiling method and apparatus
US20020087291A1 (en) * 2000-12-29 2002-07-04 Barnes Cooper Operating system-independent method and system of determining CPU utilization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467463A (en) * 1992-02-27 1995-11-14 Tandy Corporation System independent timing reference for computer
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
EP1072979A2 (de) * 1999-07-27 2001-01-31 Lucent Technologies Inc. Verfahren zur Überwachung der Gebrauchslaufzeit von Erprobungssoftware
WO2001080012A2 (en) * 2000-04-11 2001-10-25 Analog Devices, Inc. Non-intrusive application code profiling method and apparatus
US20020087291A1 (en) * 2000-12-29 2002-07-04 Barnes Cooper Operating system-independent method and system of determining CPU utilization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Accurate elapse time program for personal computers" RESEARCH DISCLOSURE, KENNETH MASON PUBLICATIONS, HAMPSHIRE, GB, Bd. 349, Nr. 8, Mai 1993 (1993-05), XP007118968 ISSN: 0374-4353 *

Also Published As

Publication number Publication date
DE10234469A1 (de) 2004-02-12
WO2004015575A3 (de) 2004-04-29

Similar Documents

Publication Publication Date Title
EP0687363B1 (de) Verfahren zur prüfung von elektronischen steuergeräten
DE19834191C2 (de) Integrierte Schaltungsvorrichtung und ihr Steuerverfahren
DE3633113A1 (de) Verfahren und vorrichtung zur automatischen erfassung der ansprechspannung eines elektromagnetischen bauteils, insbesondere eines magnetventils
DD296763A5 (de) Vorrichtung und verfahren zum testen von an einer gleichstromquelle angeschlossenen elektischen verbrauchern eines kraftfahrzeuges
EP1303809B1 (de) Verfahren und vorrichtung zur messung der laufzeit einer task in einem echtzeitsystem
DE19539353A1 (de) Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht
DE3336977A1 (de) Ausfallsicheres verfahren fuer einen fahrzeugcomputer
DE3820534A1 (de) Einrichtung zur fehlererkennung bei einem regler
DE3227292A1 (de) Elektronische steuereinrichtung
WO2004015575A2 (de) Verfahren zur erfassung von programmlaufzeiten in einem datenverarbeitungsgerät
EP1528447B1 (de) Diagnoseeinrichtung und- verfahren zur Überwachung des Betriebs eines Regelkreises
DE3709524A1 (de) Verfahren zur ueberpruefung der speicherzelleninhalte eines programmspeichers
DE102008022302A1 (de) Elektronische Rechenvorrichtung zur Bestimmung einer Ausführzeit einer Aufgabe und Programm
DE102011083655A1 (de) Überwachungsvorrichtung zur Überwachung eines Betriebs einer Steuerverarbeitungsvorrichtung
DE102015221892A1 (de) Bestimmung einer maximalen Latenzzeit
DE102016111294A1 (de) Diagnoseverfahren zur Fehlererkennung in einem Abgassystem eines Kraftfahrzeugs
DE3546127A1 (de) Verfahren zur automatischen ueberpruefung von steuergeraeten
DE102012203252A1 (de) Vorrichtung und Verfahren zum Testen von elektronischen Geräten mit einer räumlich getrennten Steuereinrichtung
DE2142711A1 (de) Signalpruefschaltung
DE10131317A1 (de) Steuergerät und Verfahren zum Testen eines Steuergerätes
DE4314127C2 (de) System zur Simulation eines realen, elektrischen Verbrauchers und Handgerät als Systemkomponente
DE102018201710A1 (de) Verfahren und Vorrichtung zum Überprüfen einer Funktion eines neuronalen Netzes
DE3535787C2 (de)
DE102017123248A1 (de) Verfahren zur Funktionsüberwachung eines Sensors
DE2432024A1 (de) Verfahren zum betrieb einer datenverarbeitungsanlage

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase