[go: up one dir, main page]

DE102009010004A1 - Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer - Google Patents

Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer Download PDF

Info

Publication number
DE102009010004A1
DE102009010004A1 DE200910010004 DE102009010004A DE102009010004A1 DE 102009010004 A1 DE102009010004 A1 DE 102009010004A1 DE 200910010004 DE200910010004 DE 200910010004 DE 102009010004 A DE102009010004 A DE 102009010004A DE 102009010004 A1 DE102009010004 A1 DE 102009010004A1
Authority
DE
Germany
Prior art keywords
stack
pointer
actual value
program
stp
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
DE200910010004
Other languages
German (de)
Inventor
Horst NÄTHER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Automotive GmbH
Original Assignee
Continental Automotive GmbH
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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE200910010004 priority Critical patent/DE102009010004A1/en
Publication of DE102009010004A1 publication Critical patent/DE102009010004A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The method involves determining an actual value (AV) of a memory stack pointer (SP) of a memory stack (ST) at a position within a program sequence of an executable program (PROG). The determined actual value of the memory stack pointer is compared with a preset reference value (STP) of the memory stack pointer. Failure of an operation of a digital tachograph is detected when the actual value of the memory stack pointer deviates from the reference value of the memory stack pointer. An identifier for detection of the failure is stored in an error memory (EM). An independent claim is also included for a device for monitoring an operation of a digital tachograph.

Description

Die Erfindung betrifft ein Verfahren zum Überwachen eines Betriebs einer Vorrichtung und eine Vorrichtung, die ausgebildet ist zum Überwachen ihres Betriebs. Die Erfindung betrifft insbesondere einen digitalen Tachographen als die Vorrichtung.The The invention relates to a method for monitoring an operation of a Device and device adapted for monitoring their operation. The invention particularly relates to a digital Tachographs as the device.

Digitale Tachographen weisen mindestens eine Recheneinrichtung und mindestens einen Speicher auf. In dem mindestens einen Speicher ist mindestens ein Programm gespeichert, das durch die mindestens eine Recheneinrichtung ausführbar ist. Fehler in einer Programmausführung des mindestens einen Programms können beispielsweise zu einem unerwünschten Überschreiben von Speicherzellen oder Speicherbereichen des Speichers führen. Dies kann einen dauerhaft zuverlässigen Betrieb des Tachographen beeinträchtigen.digital Tachographs have at least one computing device and at least a memory on. In the at least one memory is at least a program stored by the at least one computing device executable is. Error in a program execution of the at least one Program can for example, to an undesirable overwriting lead from memory cells or memory areas of the memory. This can be a permanently reliable Operating the tachograph impair.

Die Aufgabe der Erfindung ist, ein Verfahren zum Überwachen eines Betriebs einer Vorrichtung und eine Vorrichtung, die ausgebildet ist zum Überwachen ihres Betriebs, zu schaffen, durch das bzw. durch die ein Fehler in dem Betrieb der Vorrichtung einfach und zuverlässig erkennbar ist.The The object of the invention is a method for monitoring an operation of a Device and device adapted for monitoring of their operation, to create, by or through which a mistake easily and reliably recognizable in the operation of the device is.

Die Aufgabe wird gelöst durch die Merkmale der unabhängigen Patentansprüche. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.The Task is solved by the characteristics of the independent Claims. Advantageous developments of the invention are characterized in the subclaims.

Die Erfindung zeichnet sich aus durch ein Verfahren zum Überwachen eines Betriebs einer Vorrichtung und durch eine entsprechende Vorrichtung, die ausgebildet ist zum Überwachen ihres Betriebs. In der Vorrichtung sind ein Stapelspeicher und ein zugehöriger Stapelspeicherzeiger vorgesehen. In der Vorrichtung ist mindestens ein Programm ausführbar. An min destens einer ersten Position innerhalb eines Programmablaufs dieses mindestens einen ausführbaren Programms wird jeweils ein Istwert des Stapelspeicherzeigers des Stapelspeichers ermittelt. Der jeweilige ermittelte Istwert des Stapelspeicherzeigers wird mit einem jeweils vorgegebenen Sollwert des Stapelspeicherzeigers verglichen. Ein Fehler des Betriebs der Vorrichtung wird erkannt, wenn der jeweilige Istwert des Stapelspeicherzeigers von dem jeweils zugehörigen Sollwert des Stapelspeicherzeigers abweicht.The Invention is characterized by a method for monitoring an operation of a device and by a corresponding device, the is designed for monitoring their operation. In the device are a stack and a associated Stack memory pointer provided. In the device is at least a program executable. At at least one first position within a program sequence this at least one executable Program is an actual value of the stack pointer of the Stack memory determined. The respective determined actual value of the Stack memory pointer is provided with a respective predetermined setpoint compared to the stack memory pointer. An error of operation of the Device is detected when the respective actual value of the stack memory pointer from the respectively associated The setpoint of the stack pointer deviates.

Der Vorteil ist, dass Abweichungen des Istwerts von dem Sollwert des Stapelspeicherzeigers so sehr einfach erkennbar sind und bei Vorliegen einer solchen Abweichung auf einen fehlerhaften Betrieb der Vorrichtung geschlossen werden kann. Der Betrieb der Vorrichtung kann so sehr einfach und zuverlässig überwacht werden und bei Erkennen des Fehlers des Betriebs können sehr einfach Maßnahmen eingeleitet werden, um den korrekten Betrieb der Vorrichtung wieder herzustellen, beispielsweise indem ein Neustart der Vorrichtung herbeigeführt wird. Negative Auswirkungen des fehlerhaften Betriebs der Vorrichtung können so sehr einfach minimiert werden. Die Vorrichtung kann so dauerhaft zuverlässig betrieben werden. Vorzugsweise wird der jeweilige Istwert des Stapelspeicherzeigers durch eine jeweilige Programmanweisung ermittelt, die an der jeweiligen ersten Position in dem Programmablauf angeordnet ist.Of the The advantage is that deviations of the actual value from the nominal value of the Stack memory pointers are very easily recognizable and present such a deviation on a faulty operation of the device can be closed. The operation of the device can be so much easily and reliably monitored can be very and at detecting the error of the operation easy action be initiated to the correct operation of the device again For example, by restarting the device is brought about. Negative effects of faulty operation of the device can be minimized so easily. The device can be so durable reliable operate. Preferably, the respective actual value of the stack memory pointer determined by a respective program instruction, which at the respective first position in the program flow is arranged.

In einer vorteilhaften Ausgestaltung ist der jeweilige vorgegebene Sollwert des Stapelspeicherzeigers als eine jeweilige Konstante vorgegeben. Dies hat den Vorteil, dass eine solche Konstante im Vergleich zu einer Variablen besser vor unerwünschten Änderungen geschützt sein kann, die beispielsweise durch einen fehlerhaften Programmablauf oder Betrieb verursacht werden können. Der Betrieb der Vorrichtung kann so besonders sicher und zuverlässig sein. Die jeweilige Konstante wird vorzugsweise bereits bei einer Herstellung der Vorrichtung vorgegeben.In an advantageous embodiment is the respective predetermined Setpoint of the stack pointer as a respective constant specified. This has the advantage that such a constant in the Compared to a variable better protected against unwanted changes can, for example, by a faulty program flow or operation can be caused. The operation of the device can be so safe and reliable. The respective constant is preferably already in a production predetermined the device.

Alternativ dazu ist es vorteilhaft, wenn an mindestens einer zweiten Position innerhalb des Programmablaufs, die jeweils einer ersten Position zugeordnet ist, jeweils der Istwert des Stapelspeicherzeigers ermittelt wird. Der an der mindestens einen zweiten Position ermittelte jeweilige Istwert des Stapelspeicherzeigers wird als der jeweils zugehörige vorgegebene Sollwert des Stapelspeicherzeigers vorgegeben. Der Vorteil ist, dass dann keine Konstante bereits bei der Herstellung der Vorrichtung vorgegeben werden muss. Dies ist besonders einfach. Vorzugsweise wird der jeweilige an der mindestens einen zweiten Position ermittelte Istwert des Stapelspeichers an jeweils mindestens einer von dem Stapelspeicherzeiger abweichenden Speicherstelle gespeichert. Der jeweilige Sollwert wird vorzugsweise aus dieser jeweiligen mindestens einen Speicherstelle gelesen.alternative For this it is advantageous if at least a second position within the program, each of a first position is assigned, in each case the actual value of the stack memory pointer determined becomes. The respective determined at the at least one second position Actual value of the stack memory pointer is given as the respective predetermined Specified setpoint of the stack memory pointer. The advantage is, that then no constant already in the manufacture of the device must be specified. This is very easy. Preferably the respective determined at the at least one second position Actual value of the stack to at least one of the Stack memory pointer different storage location stored. Of the respective setpoint is preferably from this respective at least read a memory location.

In diesem Zusammenhang ist es vorteilhaft, wenn zumindest eine der mindestens einen zweiten Position in dem Programmablauf jeweils vor einem Aufruf eines jeweiligen Unterprogramms angeordnet ist und die jeweils zugehörige erste Position in dem Programmablauf jeweils nach diesem Aufruf dieses jeweiligen Unterprogramms angeordnet ist. Dies hat den Vorteil, dass Fehler, die im Zusammenhang mit diesem jeweiligen Unterprogramm stehen und die den Stapelspeicherzeiger unerwünscht verändern, einfach und zuverlässig erkennbar sind. Bei Unterprogrammaufrufen werden beispielsweise gegebenenfalls vorgesehene Übergabeparameter und/oder eine Rücksprungadresse auf dem Stapelspeicher abgelegt und der Istwert des Stapelspeicherzeigers entsprechend verändert. Nach korrektem Ausführen des Unterprogramms muss im Allgemeinen der Istwert des Stapelspeicherzeigers gegenüber dem vor dem Aufruf des Unterprogramms ermittelten Sollwert des Stapelspeicherzeigers unverändert sein, das heißt, alle Elemente, die im Zusammenhang mit dem Ausführen dieses Unterprogramms auf dem Stapelspeicher abgelegt wurden, müssen auch wieder entnommen worden sein. Dies ist so sehr einfach überprüfbar und der Fehler ist sehr einfach erkennbar.In this context, it is advantageous if at least one of the at least one second position in the program sequence is arranged in each case before a call of a respective subroutine and the respectively associated first position in the program sequence is arranged in each case after this call of this respective subroutine. This has the advantage that errors that are related to this particular subroutine and that change the stack memory pointer undesirably, are easily and reliably recognizable. Subroutine calls, for example, optionally provided transfer parameters and / or a return address are stored on the stack and the actual value of the stack memory pointer changed accordingly. After correct execution of the In general, the subroutine must have the actual value of the stack pointer unchanged from the setpoint value of the stack pointer that was determined before the subroutine was called, that is, all elements that were placed on the stack in connection with executing this subroutine must also have been removed. This is so easily verifiable and the error is very easily recognizable.

In diesem Zusammenhang ist es weiter vorteilhaft, wenn dem jeweiligen Unterprogramm eine jeweilige Kennung zugeordnet ist und die Kennung bei Erkennen des Fehlers in einen Fehlerspeicher gespeichert wird. Der Vorteil ist, dass das Auftreten des Fehlers so einfach nachvollziehbar ist und genutzt werden kann, um die Vorrichtung so zu verbessern, dass der Fehler in Zukunft nicht mehr auftritt. Vorzugsweise werden mit der Kennung auch der Istwert des Stapelspeicherzeigers und/oder ein Inhalt des Stapelspeichers in dem Fehlerspeicher gespeichert.In In this context, it is also advantageous if the respective Subprogram is assigned a respective identifier and the identifier is stored in a fault memory when the error is detected. The advantage is that the occurrence of the error is so easy to understand is and can be used to improve the device so that the error will not occur in the future. Preferably be with the identifier also the actual value of the stack memory pointer and / or a content of the stack is stored in the error memory.

In einer weiteren vorteilhaften Ausgestaltung ist zumindest eine der mindestens einen zweiten Position gleich der zugehörigen mindestens einen ersten Position. Das Ermitteln des jeweiligen Istwerts des Stapelspeicherzeigers für diese mindesten eine zugehörige zweite Position und das Vorgeben als der zugehörige vorgegebene Sollwert werden nur bei einem erstmaligen Ausführen des Programmablaufs ausgeführt. Das Ermitteln des jeweiligen Istwerts des Stapelspeicherzeigers für diese mindestens eine zugehörige erste Position und das Vergleichen mit dem jeweils zugehörigen vorgegebenen Sollwert werden bei weiteren Ausführungen des Programmablaufs ausgeführt. Der Betrieb der Vorrichtung ist so besonders einfach überprüfbar. Im Allgemeinen ist der Istwert des Stapelspeicherzeigers an einer vorgegebenen Position des Programmablaufs bei jedem Ausführen des Programmablaufs gleich, wenn der Betrieb fehlerfrei ist. Der Fehler ist so sehr einfach und zuverlässig erkennbar.In a further advantageous embodiment is at least one of at least one second position equal to the associated at least a first position. Determining the respective actual value of the Stack memory pointer for these at least one associated second position and the default as the associated predetermined setpoint only for a first time run of the program run. Determining the respective actual value of the stack pointer for this at least one associated first position and comparing with the respectively associated predetermined Reference values are executed in further executions of the program sequence. Of the Operation of the device is so particularly easy to verify. in the Generally, the actual value of the stack pointer is at a given value The position of the program sequence is the same every time the program is executed, if the operation is faultless. The mistake is so simple and reliable recognizable.

In einer weiteren vorteilhaften Ausgestaltung wird der jeweils vorgegebene Sollwert des Stapelspeicherzeigers an jeweils mindestens drei Speicherstellen in voneinander unterschiedlichen Speicherbereichen gespeichert. Für das Vergleichen mit dem jeweils zugehörigen Istwert werden die jeweiligen mindestens drei Speicherstellen gelesen und wird jeweils derjenige Wert als der jeweilige vorgegebene Sollwert gewählt, der aus mindestens zwei der mindestens drei Speicher stellen übereinstimmend gelesen wurde. Dies hat den Vorteil, dass dies besonders sicher ist. Selbst wenn einer der gespeicherten Sollwerte durch den Fehler überschrieben und somit verändert sein sollte, kann der Fehler zuverlässig erkannt werden.In a further advantageous embodiment of each predetermined Setpoint of the stack pointer to at least three memory locations stored in different memory areas. For the Compare with the respective associated actual value, the respective at least three memory locations are read and will be the one each Value selected as the respective predetermined setpoint, which consists of at least two the at least three memory locations have been read consistently. This has the advantage that this is particularly safe. Even if one of the stored setpoints is overwritten by the error and thus changed should be, the error can be reliably detected.

In einer weiteren vorteilhaften Ausgestaltung der Vorrichtung ist die Vorrichtung als ein digitaler Tachograph ausgebildet. Der Tachograph ist so dauerhaft zuverlässig betreibbar.In a further advantageous embodiment of the device is the Device designed as a digital tachograph. The tachograph is so permanently reliable operated.

Ausführungsbeispiele der Erfindung sind im Folgenden anhand der schematischen Zeichnungen erläutert. Es zeigen:embodiments The invention are explained below with reference to the schematic drawings. It demonstrate:

1 eine Vorrichtung, 1 a device

2 ein erstes Ablaufdiagramm und 2 a first flowchart and

3 ein zweites Ablaufdiagramm. 3 a second flowchart.

Elemente gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen Bezugszeichen versehen.elements same construction or function are cross-figurative with the same Provided with reference numerals.

Eine Vorrichtung umfasst mindestens eine Recheneinrichtung CPU und mindestens einen Speicher MEM, der elektrisch mit der mindestens einen Recheneinrichtung CPU gekoppelt ist (1). Ferner kann die Vorrichtung auch eine oder mehr als eine Schnittstelleneinrichtung IF umfassen, die elektrisch mit der mindestens einen Recheneinrichtung CPU gekoppelt ist. In dem mindestens einen Speicher MEM ist mindestens ein Programm PROG gespeichert, das durch die Vorrichtung und insbesondere durch die mindestens eine Recheneinrichtung CPU ausführbar ist. Das mindestens eine Programm PROG umfasst beispielsweise mindestens ein Unterprogramm F und vorzugsweise mindestens ein Kontrollunterprogramm, zum Beispiel mindestens ein erstes Kontrollunterprogramm F1 und/oder mindestens ein zweites Kontrollunterprogramm F2. Das mindestens eine Unterprogramm F, erste Kontrollunterprogramm F1 und zweite Kontrollunterpro gramm F2 können auch jeweils als Funktion bezeichnet werden. Ferner ist vorzugsweise mindestens ein Fehlerspeicher EM vorgesehen, der beispielsweise in dem mindestens einen Speicher MEM angeordnet ist.A device comprises at least one computing device CPU and at least one memory MEM, which is electrically coupled to the at least one computing device CPU ( 1 ). Furthermore, the device may also include one or more than one interface device IF that is electrically coupled to the at least one computing device CPU. At least one program PROG is stored in the at least one memory MEM that can be executed by the device and in particular by the at least one computing device CPU. The at least one program PROG comprises, for example, at least one subroutine F and preferably at least one control subroutine, for example at least one first control subroutine F1 and / or at least one second control subroutine F2. The at least one subroutine F, first control subroutine F1 and second control subroutine F2 can also be referred to as a function. Furthermore, at least one fault memory EM is preferably provided, which is arranged, for example, in the at least one memory MEM.

Die Vorrichtung umfasst ferner mindestens einen Stapelspeicher ST, der auch als ”Stack” bezeichnet werden kann. Der mindestens eine Stapelspeicher ST ist vorzugsweise in dem mindestens einen Speicher MEM angeordnet und umfasst eine vorgegebene Anzahl von Speicherstellen, die so vorgegeben ist, dass mehrere Elemente auf dem Stapelspeicher ST abgelegt werden können, das heißt, in diesem gespeichert werden können. Die Elemente umfassen insbesondere lokale Variablen innerhalb von Unterprogrammen wie dem mindestens einen Unterprogramm F, dem mindestens einen Kontrollunterprogramm F1 oder dem mindestens einen Kontrollunterprogramm F2. Die Elemente können jedoch beispielsweise auch Rücksprungadressen und/oder Übergabeparameter von solchen Unterprogrammen umfassen. Dem jeweiligen Stapelspeicher ST ist ein Stapelspeicherzeiger SP zugeordnet, der auch als ”Stackpointer” bezeichnet werden kann. Der Stapelspeicherzeiger SP ist vorzugsweise in dem mindestens einen Speicher MEM angeordnet. Der Stapelspeicherzeiger SP kann jedoch auch beispielsweise in einem Register der mindestens einen Recheneinrichtung CPU angeordnet sein.The device further comprises at least one stack ST, which may also be referred to as a "stack". The at least one stack ST is preferably arranged in the at least one memory MEM and comprises a predetermined number of memory locations, which is predetermined so that a plurality of elements can be stored on the stack ST, that is, can be stored therein. In particular, the elements comprise local variables within subroutines such as the at least one subroutine F, the at least one control subroutine F1 or the at least one control subroutine F2. However, the elements may also include, for example, return addresses and / or transfer parameters of such subroutines. The respective stack ST is assigned a stack memory pointer SP, which is also known as "Stackpointer" can be called. The stack memory pointer SP is preferably arranged in the at least one memory MEM. However, the stack memory pointer SP can also be arranged, for example, in a register of the at least one computing device CPU.

Vorzugsweise wird der mindestens eine Stapelspeicher ST sowie der jeweils zugehörige Stapelspeicherzeiger SP während einer Entwicklung oder Herstellung der Vorrichtung und insbesondere des mindestens einen Programms PROG durch ein Übersetzungsprogramm, das auch als ”Compiler” bezeichnet werden kann, zum Beispiel durch einen C-Compiler, erzeugt oder angelegt, so dass der mindestens eine Stapelspeicher ST und der jeweils zugehörige Stapelspeicherzeiger SP während eines Programmablaufs des mindestens einen Programms PROG zur Verfügung stehen. Der mindestens eine Stapelspeicher ST und der jeweils zugehörige Stapelspeicherzeiger SP können jedoch auch auf andere Weise zur Verfügung gestellt werden.Preferably is the at least one stack ST and the respective associated stack memory pointer SP while a development or manufacture of the device and in particular of the at least one PROG program through a translation program that too referred to as a "compiler" can be, for example, created or created by a C compiler, such that the at least one stack memory ST and the respectively associated stack memory pointer SP while a program sequence of at least one program PROG available. The at least one stack ST and the respective associated stack memory pointer SP can but also be made available in other ways.

Ein Istwert AV des jeweiligen Stapelspeicherzeigers SP zeigt bei korrektem Betrieb der Vorrichtung auf eine Speicherstelle des zugehörigen Stapelspeichers ST. Wird ein Element auf dem Stapelspeicher ST abgelegt, wird dieses an dieser Speicherstelle gespeichert und wird der Istwert AV des Stapelspeicherzeigers SP so verändert, dass dieser auf eine nächste Speicherstelle des Stapelspeichers ST zeigt. Bei einem Entnehmen eines Elements von dem Stapelspeicher ST wird der Istwert AV des Stapelspeicherzeigers SP so verändert, dass dieser auf die Speicherstelle des zuletzt abgelegten Elements zeigt und dieses Element wird gelesen. Eine Reihenfolge in Bezug auf das Verändern des Istwerts AV des Stapelspeicherzeigers SP einerseits und das Speichern beziehungsweise Lesen des Elements andererseits kann auch umgekehrt sein. Der mindestens eine Stapelspeicher ST wird also gemäß einem ”Last in – First out” – Prinzip, oder kurz: LIFO, betrieben, das heißt, das jeweils zuletzt abgelegte Element wird als erstes wieder entnommen.One Actual value AV of the respective stack memory pointer SP points at correct Operation of the device to a storage location of the associated stack ST. If an element is placed on the stack ST, this becomes stored at this memory location and the actual value AV of Stack memory pointer SP changed so that this one on next Storage location of the stack ST shows. With a removal of an element of the stack ST becomes the actual value AV of the Stack memory pointer SP changed so that this to the location of the last deposited element shows and this element is read. An order in relation on changing the actual value AV of the stack memory pointer SP on the one hand and the Saving or reading the element on the other hand can also be the other way around. The at least one stack ST is so according to a "last-in-first-out" principle, or in short: LIFO, operated, that is, the most recently filed Element is removed first again.

Die Vorrichtung ist insbesondere als ein Tachograph ausgebildet und weist vorzugsweise Sicherheitseinrichtungen auf, die unbefugte Manipulationen der Vorrichtung verhindern oder zumindest erkennbar machen. Insbesondere kann beispielsweise vorgesehen sein, einen Inhalt des Speichers MEM zumindest teilweise zu löschen, um ein unbefugtes Auslesen von vertraulichen Informationen zu verhindern, wenn eine unbefugte Manipulation der Vorrichtung, zum Beispiel ein unbefugtes Öffnen eines Gehäuses der Vorrichtung, erkannt wurde. Insbesondere kann auch vorgesehen sein, das mindestens eine Programm PROG zu löschen, wenn die unbefugte Manipulation erkannt wurde.The Device is designed in particular as a tachograph and preferably has security devices that unauthorized manipulation Prevent the device or at least make it recognizable. Especially For example, it may be provided a content of the memory To at least partially erase MEM, to prevent unauthorized reading of confidential information, if an unauthorized manipulation of the device, for example, a unauthorized opening a housing the device was detected. In particular, can also be provided be at least one program PROG delete when unauthorized manipulation was detected.

Zum Überwachen eines Betriebs der Vorrichtung sind das mindestens eine Kontrollunterprogramm E1 und/oder das mindestens eine Kontrollunterprogramm F2 vorgesehen. 2 zeigt ein erstes Ablaufdiagramm, das insbesondere im Wesentlichen das mindestens eine erste Kontrollunterprogramm F1 darstellt. Dieses beginnt in einem Schritt S1. Ein Schritt S2 kann vorgesehen sein, in dem der Istwert AV des Stapelspeicherzeigers SP ermittelt wird, beispielsweise durch Lesen der Speicherstelle, an der der Stapelspeicherzeiger SP gespeichert ist. Ein Schritt S3 kann vorgesehen sein, in dem der ermittelte Istwert AV des Stapelspeicherzeigers SP als ein vorgegebener Sollwert STP des Stapelspeicherzeigers SP vorgegeben wird. Vorzugsweise wird der Sollwert STP des Stapelspeicherzeigers SP an mindestens einer Speicherstelle gespeichert, beispielsweise in dem mindestens einen Speicher MEM. In 1 ist diese mindestens eine Speicherstelle jeweils als gespeicherter Stapelspeicherzeiger SSP gekennzeichnet. Ein Schritt S4 kann vorgesehen sein, in dem das mindestens eine Unterprogramm F aufgerufen und ausgeführt wird.For monitoring an operation of the device, the at least one control subroutine E1 and / or the at least one control subroutine F2 are provided. 2 shows a first flowchart, which in particular essentially represents the at least one first control subroutine F1. This begins in a step S1. A step S2 may be provided, in which the actual value AV of the stack memory pointer SP is determined, for example by reading the memory location at which the stack memory pointer SP is stored. A step S3 may be provided, in which the determined actual value AV of the stack memory pointer SP is specified as a predetermined desired value STP of the stack memory pointer SP. The setpoint value STP of the stack memory pointer SP is preferably stored at at least one memory location, for example in the at least one memory MEM. In 1 this at least one memory location is marked in each case as a stored stack memory pointer SSP. A step S4 may be provided in which the at least one subprogram F is called and executed.

In einem Schritt S5 wird der Istwert AV des Stapelspeicherzeigers SP ermittelt, beispielsweise durch Lesen der Speicherstelle, an der der Stapelspeicherzeiger SP gespeichert ist. In einem Schritt S6 wird der vorgegebene Sollwert STP des Stapelspeicherzeigers SP ermittelt, beispielsweise durch Lesen eines aktuellen Werts des mindestens einen gespeicherten Stapelspeicherzeigers SSP. In einem Schritt S7 wird überprüft, ob der Istwert AV des Stapelspeicherzeigers SP von dem Sollwert STP des Stapelspeicherzeigers SP abweicht. Stimmen beide überein, dann wird das mindestens eine erste Kontrollunterprogramm F1 in einem Schritt 58 beendet. Wird in dem Schritt S7 jedoch eine Abweichung erkannt, dann wird in einem Schritt S9 ein Fehler ERR des Betriebs der Vorrichtung erkannt. Vorzugsweise wird der Fehler ERR in dem mindestens einen Fehlerspeicher EM gespeichert. Bevorzugt ist dem mindestens einen Unterprogramm F jeweils eine eindeutige Kennung zugeordnet und wird diese Kennung ebenfalls in dem mindestens einen Fehlerspeicher EM gespeichert. Ferner kann es vorteilhaft sein, bei Vorliegen des Fehlers ERR auch einen Inhalt des Stapelspeichers ST und/oder des zugehörigen Stapelspei cherzeigers SP in dem mindestens einen Fehlerspeicher EM zu speichern. Vorzugsweise werden in dem Schritt S9 Maßnahmen eingeleitet zum Wiederherstellen des korrekten Betriebs der Vorrichtung. Bevorzugt wird die Vorrichtung dazu automatisch neu gestartet.In a step S5, the actual value AV of the stack memory pointer SP determined, for example, by reading the memory location at the the stack memory pointer SP is stored. In a step S6 the predetermined setpoint STP of the stack memory pointer SP is determined, for example, by reading a current value of the at least a stored stack pointer SSP. In one step S7 is checked if the Actual value AV of the stack pointer SP from the setpoint STP of the stack pointer SP deviates. Both agree, then the at least one first control subroutine F1 in a step 58 finished. However, in step S7, a deviation detected, then in a step S9, an error ERR of the operation the device recognized. Preferably, the error ERR is in the stored at least one error memory EM. Preference is the at least one subroutine F each have a unique identifier and this identifier is also in the at least one Error memory EM stored. Furthermore, it may be advantageous in the presence of the error ERR also a content of the stack ST and / or the associated Stack memory pointer SP in the at least one fault memory To save EM. Preferably, measures are taken in step S9 initiated to restore the correct operation of the device. Preferably, the device is restarted automatically.

Bevorzugt werden die Schritte S5 und S6 an einer ersten Position P1 des Programmablaufs des Programms PROG ausgeführt und werden die Schritte S2 und S3 an einer zweiten Position P2 des Programmablaufs des Programms PROG ausgeführt. Bevorzugt liegt die zweite Position P2 jeweils vor und vorzugsweise unmittelbar vor dem Aufruf des mindestens einen Unterprogramms F und liegt die erste Position P1 in dem Programmablauf jeweils nach und vorzugsweise unmittelbar nach diesem mindestens einen Unterprogramm F. Dadurch sind unerwünschte Veränderungen des Istwerts AV des Stapelspeicherzeigers SP, die im Rahmen des Aufrufs und der Ausführung des mindestens einen Unterprogramms F auftreten, einfach und zuverlässig erkennbar.Preferably, the steps S5 and S6 are executed at a first position P1 of the program flow of the program PROG, and the steps S2 and S3 are executed at a second position P2 of the program flow of the program PROG leads. Preferably, the second position P2 is in each case before and preferably immediately before the call of the at least one subroutine F and the first position P1 in the program sequence is after and preferably immediately after this at least one subroutine F. This undesirable changes the actual value AV of the stack memory pointer SP , which occur in the context of the call and execution of the at least one subroutine F, easily and reliably recognizable.

Insbesondere alternativ zu den Schritten S2 und S3 kann auch ein Schritt S10 vorgesehen sein, in dem der Sollwert STP des Stapelspeicherzeigers SP als Konstante C vorgegeben ist und der Sollwert STP des Stapelspeicherzeigers SP somit unabhängig von dem jeweiligen Istwert AV des Stapelspeicherzeigers SP vorgegeben ist.Especially Alternatively to the steps S2 and S3, a step S10 may also be used be provided in which the setpoint STP of the stack memory pointer SP is specified as a constant C and the setpoint STP of the stack memory pointer SP thus independent predetermined by the respective actual value AV of the stack memory pointer SP is.

Das mindestens eine erste Kontrollunterprogramm F1 kann dazu ausgebildet sein, das mindestens eine Unterprogramm F oder den Aufruf des mindestens einen Unterprogramms F zu kapseln. Vorzugsweise wird bei dem jeweiligen Aufruf des mindestens einen ersten Kontrollunterprogramms F1 ein Unterprogrammzeiger FP als Übergabeparameter übergeben, der auf das mindestens eine aufzurufende Unterprogramm F zeigt. Anstatt das mindestens eine Unterprogramm F unmittelbar in dem Programm PROG aufzurufen, wird das mindestens eine Kontrollunterprogramm F1 aufgerufen und diesem der dem aufzurufenden Unter programm F zugehörige Unterprogrammzeiger FP übergeben. Ferner wird dem mindestens einen ersten Kontrollunterprogramm F1 vorzugsweise auch die Kennung FID als Übergabeparameter übergeben. Das mindestens eine erste Kontrollunterprogramm F1 kann jedoch auch anders ausgebildet sein.The At least one first control subroutine F1 can be designed for this purpose be that at least one subroutine F or calling the at least to encapsulate a subroutine F. Preferably, at the respective Calling the at least one first control subroutine F1 a subroutine pointer Passing FP as transfer parameter, pointing to the at least one subprogram F to be called. Instead of the at least one subroutine F directly in the program PROG call, the at least one control subroutine F1 is called and this the subprogram pointer associated with the subroutine F to call Pass FP. Furthermore, the at least one first control subroutine F1 preferably also pass the identifier FID as a transfer parameter. However, the at least one first control subroutine F1 can also be trained differently.

3 zeigt ein zweites Ablaufdiagramm, das insbesondere im Wesentlichen das mindestens eine zweite Kontrollunterprogramm F2 darstellt. Dieses beginnt in einem Schritt S11. In einem Schritt S12 wird überprüft, ob das mindestens eine zweite Kontrollunterprogramm F2 erstmalig nach einem Start oder nach einem Betriebsbeginn der Vorrichtung ausgeführt wird. Ist dies der Fall, dann wird in Schritten S13 und S14, die im Wesentlichen den Schritten S2 und S3 entsprechen, der Istwert AV des Stapelspeicherzeigers SP ermittelt und als der Sollwert STP des Stapelspeicherzeigers SP vorgegeben. Das mindestens eine zweite Kontrollunterprogramm F2 endet in einem Schritt S15. 3 shows a second flowchart, which in particular essentially represents the at least one second control subroutine F2. This starts in a step S11. In a step S12, it is checked whether the at least one second control subroutine F2 is executed for the first time after a start or after a start of operation of the device. If this is the case, then in steps S13 and S14, which essentially correspond to steps S2 and S3, the actual value AV of the stack memory pointer SP is determined and specified as the desired value STP of the stack pointer SP. The at least one second control subroutine F2 ends in a step S15.

Wird in dem Schritt S12 jedoch festgestellt, dass das mindestens eine zweite Kontrollunterprogramm F2 bereits zuvor ausgeführt wurde und daher die Schritte S13 und S14 bereits ausgeführt wurden, dann werden in Schritten S16 und S17, die im Wesentlichen den Schritten S5 und S6 entsprechen, der Istwert AV des Stapelspeicherzeigers SP und der Sollwert STP des Stapelspeicherzeigers SP ermittelt. In einem Schritt S18, der im Wesentlichen dem Schritt S7 entspricht, wird überprüft, ob der Istwert AV des Stapelspeicherzeigers SP von dem Sollwert STP des Stapelspeicherzeigers SP abweicht. Falls dies nicht der Fall ist, dann wird das mindestens eine zweite Kontrollunterprogramm F2 in dem Schritt S15 beendet. Andernfalls wird in einem Schritt S19, der im Wesentlichen dem Schritt S9 entspricht, der Fehler ERR des Betriebs der Vorrichtung erkannt. Es kann ebenfalls vorgesehen sein, den Fehler ERR in dem mindestens einen Fehlerspeicher EM zu speichern. Ferner kann es vorteilhaft sein, bei Vorliegen des Fehlers ERR auch den Inhalt des Stapelspeichers ST und/oder des zugehörigen Stapel speicherzeigers SP in dem mindestens einen Fehlerspeicher EM zu speichern. Das mindestens eine zweite Kontrollunterprogramm F2 endet in dem Schritt S15. Vorzugsweise werden in dem Schritt S19 Maßnahmen eingeleitet zum Wiederherstellen des korrekten Betriebs der Vorrichtung. Bevorzugt wird die Vorrichtung dazu automatisch neu gestartet. Bevorzugt stimmen die erste Position P1 und die zweite Position P2 überein, so dass die Schritte S13, S14 einerseits sowie die Schritte S16, S17 andererseits an der gleichen Position des Programmablaufs des Programms PROG ausgeführt werden.Becomes however, in step S12, it is determined that the at least one second control subroutine F2 was previously executed and therefore steps S13 and S14 have already been performed, then be in steps S16 and S17, which are essentially the steps S5 and S6 correspond to the actual value AV of the stack pointer SP and the setpoint STP of the stack memory pointer SP determined. In a step S18 substantially corresponding to the step S7, is checked if the Actual value AV of the stack pointer SP from the setpoint STP of Stack memory pointer SP deviates. If this is not the case, then the at least one second control subroutine F2 in the step S15. Otherwise, in a step S19, which substantially corresponds to the step S9, the error ERR of Operation of the device detected. It can also be provided to store the error ERR in the at least one error memory EM. Furthermore, it may be advantageous, in the presence of the ERR error as well the contents of the stack ST and / or the associated stack memory pointer SP to save in the at least one error memory EM. That at least a second control subroutine F2 ends in step S15. Preferably In the step S19 measures are initiated to restore the correct operation of the device. Prefers the device is restarted automatically. Preferably, the vote first position P1 and the second position P2 match, so the steps S13, S14 on the one hand, and the steps S16, S17 on the other the same position of the program execution of the PROG program.

Bevorzugt umfasst dass mindestens eine Programm PROG eine Programmschleife und insbesondere eine Hauptprogrammschleife (1). In dieser Programmschleife werden bevorzugt das mindestens eine erste und/oder zweite Kontrollunterprogramm F1, F2 aufgerufen. Das mindestens eine zweite Kontrollunterprogramm F2 überprüft, ob der Istwert AV des Stapelspeicherzeigers SP an der jeweiligen Position des Programmablaufs, an der das mindestens eine zweite Kontrollunterprogramm F2 aufgerufen wird, korrekt ist, das heißt, bei jedem Durchlaufen der Programmschleife den gleichen Wert aufweist, dieser also unverändert bleibt. Das mindestens eine erste Kontrollunterprogramm F1 kapselt vorzugsweise den jeweiligen Aufruf des mindestens einen Unterprogramms F und überprüft insbesondere, ob durch das Ausführen dieses jeweiligen Unterprogramms F der Istwert AV des Stapelspeicherzeigers SP unerwünscht verändert wird, das heißt, ob der Istwert AV des Stapelspeicherzeigers SP nach dem Ausführen des mindestens einen Unterprogramms F gleich dem Istwert AV des Stapelspeicherzeigers SP vor dem Ausführen des mindestens einen Unterprogramms F ist.Preferably, at least one program PROG comprises a program loop and in particular a main program loop ( 1 ). In this program loop, the at least one first and / or second control subroutine F1, F2 are preferably called. The at least one second check subroutine F2 checks whether the actual value AV of the stack pointer SP at the respective position of the program sequence at which the at least one second check subroutine F2 is called is correct, ie has the same value each time it passes through the program loop So it remains unchanged. The at least one first control subroutine F1 preferably encapsulates the respective call of the at least one subroutine F and, in particular, checks whether the actual value AV of the stack memory pointer SP is changed undesirably by executing this respective subroutine F, that is, if the actual value AV of the stack pointer SP after the Execution of the at least one subroutine F is equal to the actual value AV of the stack memory pointer SP before executing the at least one subroutine F.

Beispielsweise sind mindestens zwei Unterprogramme F vorgesehen. Beispielsweise wird ein erstes Unterprogramm von den mindestens zwei Unterprogrammen F in dem Programm PROG aufgerufen, indem das mindestens eine erste Kontrollunterprogramm F1 ausgeführt wird mit einer ersten Kennung FID1 und einem ersten Unterprogrammzeiger FP1 als Übergabeparameter. Die erste Kennung FID1 und der erste Unterprogrammzeiger FP1 sind dem ersten Unterprogramm zugeordnet. Entsprechend wird ein zweites Unterprogramm von den mindestens zwei Unterprogrammen F in dem Programm PROG aufgerufen, indem das mindestens eine erste Kontrollunterprogramm F1 ausgeführt wird mit einer zweiten Kennung FID2 und einem zweiten Unterprogrammzeiger FP2 als Übergabeparameter. Die zweite Kennung FID2 und der zweite Unterprogrammzeiger FP2 sind dem zweiten Unterprogramm zugeordnet. Entsprechendes kann für weitere Unterprogramme F vorgesehen sein.For example, at least two subprograms F are provided. For example, a first subroutine is called by the at least two subroutines F in the program PROG by the at least one first control sub Program F1 is executed with a first identifier FID1 and a first subroutine pointer FP1 as a transfer parameter. The first identifier FID1 and the first subroutine pointer FP1 are assigned to the first subroutine. Accordingly, a second subroutine is called by the at least two subroutines F in the program PROG by executing the at least one first control subroutine F1 with a second identifier FID2 and a second subroutine pointer FP2 as the transfer parameter. The second identifier FID2 and the second subroutine pointer FP2 are assigned to the second subroutine. The same can be provided for further subprograms F.

Es kann auch vorgesehen sein, dass jeweilige Programmschritte des mindestens einen ersten oder zweiten Kontrollunterprogramms F1, F2 unmittelbar in dem Programm PROG und insbesondere in der Programmschleife des Programms PROG angeordnet sind, also nicht in einem jeweiligen Unterprogramm oder Kontrollunterprogramm angeordnet sind.It can also be provided that respective program steps of at least a first or second control subroutine F1, F2 immediately in the PROG program and in particular in the program loop of the Program PROG are arranged, so not in a respective subroutine or control subroutine are arranged.

Vorzugsweise wird der jeweilige Sollwert STP des Stapelspeicherzeigers SP an mindestens drei Speicherstellen gespeichert. Vorzugsweise liegen diese Speicherstellen in unterschiedlichen Speicherbereichen, so dass die Gefahr gering ist, dass alle der mindestens drei Speicherstellen unerwünscht überschrieben werden. Vorzugsweise werden im Rahmen des Ermittelns des jeweiligen Sollwerts STP des Stapelspeicherzeigers SP, insbesondere in den Schritten S6 und S17, alle der mindestens drei Speicherstellen gelesen, in denen der Sollwert STP des Stapelspeicherzeigers SP zuvor gespeichert wurde. Ferner wird vorzugsweise überprüft, ob die Werte der dort gespeicherten Stapelspeicherzeiger SSP übereinstimmen. Falls diese nicht übereinstimmen, dann wird vorzugsweise ein entsprechender Eintrag in dem mindestens einen Fehlerspeicher EM gespeichert. Ferner wird bevorzugt derjenige Wert als der Sollwert STP des Stapelspeicherzeigers SP vorgegeben, der an mindestens zwei der mindestens drei Speicherstellen übereinstimmend gespeichert ist.Preferably is the respective set value STP of the stack memory pointer SP stored at least three memory locations. Preferably lie these locations in different memory areas, so that the risk is low, that all of the at least three storage locations unwanted overwritten become. Preferably, in the context of determining the respective Setpoint STP of the stack pointer SP, in particular in the Steps S6 and S17, all of the at least three memory locations read, in which the setpoint STP of the stack pointer SP previously stored has been. Furthermore, it is preferably checked whether the Values of the stored stack pointers SSP match. If these do not match, then preferably a corresponding entry in the at least stored a fault memory EM. Further, it is preferable that one Value specified as the desired value STP of the stack pointer SP, the stored on at least two of the at least three memory locations coincident is.

Claims (9)

Verfahren zum Überwachen eines Betriebs einer Vorrichtung, in der ein Stapelspeicher (ST) und ein zugehöriger Stapelspeicherzeiger (SP) vorgesehen sind und in der mindestens ein Programm (PROG) ausführbar ist, bei dem – an mindestens einer ersten Position (P1) innerhalb eines Programmablaufs dieses mindestens einen ausführbaren Programms (PROG) jeweils ein Istwert (AV) des Stapelspeicherzeigers (SP) des Stapelspeichers (ST) ermittelt wird, – der jeweilige ermittelte Istwert (AV) des Stapelspeicherzeigers (SP) mit einem jeweils vorgegebenen Sollwert (STP) des Stapelspeicherzeigers (SP) verglichen wird und – ein Fehler des Betriebs der Vorrichtung erkannt wird, wenn der jeweilige Istwert (AV) des Stapelspeicherzeigers (SP) von dem jeweils zugehörigen Sollwert (STP) des Stapelspeicherzeigers (SP) abweicht.Method for monitoring an operation of a Device in which a stack (ST) and an associated stack memory pointer (SP) are provided and in which at least one program (PROG) is executable, in which - at at least one first position (P1) within a program sequence this at least one executable Program (PROG) in each case an actual value (AV) of the stack memory pointer (SP) of the stack (ST) is determined, - the respective determined actual value (AV) of the stack memory pointer (SP) with a each predetermined setpoint (STP) of the stack memory pointer (SP) is compared and - one Error of operation of the device is detected when the respective Actual value (AV) of the stack memory pointer (SP) from the respectively associated setpoint (STP) of the stack pointer (SP). Verfahren nach Anspruch 1, bei dem der jeweilige Sollwert (STP) des Stapelspeicherzeigers (SP) als eine jeweilige Konstante (C) vorgegeben ist.The method of claim 1, wherein the respective Setpoint (STP) of the stack pointer (SP) as a respective one Constant (C) is given. Verfahren nach Anspruch 1, bei dem – an mindestens einer zweiten Position (P2) innerhalb des Programmablaufs, die jeweils einer ersten Position (P1) zugeordnet ist, jeweils der Istwert (AV) des Stapelspeicherzeigers (SP) ermittelt wird, und – der an der mindestens einen zweiten Position (P2) ermittelte jeweilige Istwert (AV) des Stapelspeicherzeigers (SP) als der jeweils zugehörige vorgegebene Sollwert (STP) des Stapelspeicherzeigers (SP) vorgegeben wird.The method of claim 1, wherein - at least a second position (P2) within the program flow, respectively a first position (P1) is assigned, in each case the actual value (AV) of the Stack memory pointer (SP) is determined, and - the on the at least one second position (P2) determined respective Actual value (AV) of the stack memory pointer (SP) as the respectively associated predetermined setpoint (STP) of the stack memory pointer (SP) is specified. Verfahren nach Anspruch 3, bei dem – zumindest eine der mindestens einen zweiten Position (P2) in dem Programmablauf jeweils vor einem Aufruf eines jeweiligen Unterprogramms (F) angeordnet ist und – die jeweils zugehörige erste Position (P1) in dem Programmablauf jeweils nach diesem Aufruf dieses jeweiligen Unterprogramms (F) angeordnet ist.The method of claim 3, wherein - at least one of the at least one second position (P2) in the program sequence each before a call of a respective subroutine (F) arranged is and - the respectively associated first position (P1) in the program sequence after each call this respective subroutine (F) is arranged. Verfahren nach Anspruch 4, bei dem – dem jeweiligen Unterprogramm (F) eine jeweilige Kennung (FID) zugeordnet ist und – die Kennung (FID) bei Erkennen des Fehlers in einen Fehlerspeicher (EM) gespeichert wird.The method of claim 4, wherein - the respective Subroutine (F) is assigned a respective identifier (FID) and - the identifier (FID) stored in error memory (EM) when the error is detected becomes. Verfahren nach einem der Ansprüche 3 bis 5, bei dem – zumindest eine der mindestens einen zweiten Position (P2) gleich der zugehörigen mindestens einen ersten Position (P1) ist, – das Ermitteln des jeweiligen Istwerts (AV) des Stapelspeicherzeigers (SP) für diese mindesten eine zugehörige zweite Position (P2) und das Vorgeben als der zugehörige vorgegebene Sollwert (STP) nur bei einem erstmaligen Ausführen des Programmablaufs ausgeführt werden und – das Ermitteln des jeweiligen Istwerts (AV) des Stapelspeicherzeigers (SP) für diese mindestens eine zugehörige erste Position (P1) und das Vergleichen mit dem jeweils zugehörigen vorgegebenen Sollwert (STP) bei weiteren Ausführungen des Programmablaufs ausgeführt werden.Method according to one of claims 3 to 5, in which - at least one of the at least one second position (P2) equal to the associated at least a first position (P1), - Determining the respective Actual value (AV) of the stack pointer (SP) for this at least one associated second Position (P2) and the default as the associated preset setpoint (STP) only for a first time run of the program run be and - the Determining the respective actual value (AV) of the stack pointer (SP) for this at least one associated first position (P1) and the comparison with the respectively associated predetermined Setpoint (STP) for other versions of the program run become. Verfahren nach einem der Ansprüche 3 bis 6, bei dem – der jeweils vorgegebene Sollwert (STP) des Stapelspeicherzeigers (SP) an jeweils mindestens drei Speicherstellen in voneinander unterschiedlichen Speicherbereichen gespeichert wird und – für das Vergleichen mit dem jeweils zugehörigen Istwert (AV) die jeweiligen mindestens drei Speicherstellen gelesen werden und jeweils derjenige Wert als der jeweilige vorgegebene Sollwert (STP) gewählt wird, der aus mindestens zwei der mindestens drei Speicherstellen übereinstimmend gelesen wurde.Method according to one of Claims 3 to 6, in which - the respectively predetermined desired value (STP) of the stack memory pointer (SP) is stored at at least three memory locations in mutually different memory areas and - for comparing with the respectively associated actual value (AV) the respective at least three memory locations are read and in each case that value is selected as the respective predetermined setpoint value (STP), which has been read concurrently from at least two of the at least three storage locations. Vorrichtung, die ausgebildet ist zum Überwachen ihres Betriebs und in der – ein Stapelspeicher (ST) und – ein zugehöriger Stapelspeicherzeiger (SP) vorgesehen sind und in der mindestens ein Programm (PROG) ausführbar ist und die ausgebildet ist – zum Ermitteln jeweils eines Istwerts (AV) des Stapelspeicherzeigers (SP) des Stapelspeichers (ST) an mindestens einer ersten Position (P1) innerhalb eines Programmablaufs dieses mindestens einen ausführbaren Programms (PROG), – zum Vergleichen des jeweiligen ermittelten Istwerts (AV) des Stapelspeicherzeigers (SP) mit einem jeweils vorgegebenen Sollwert (STP) des Stapelspeicherzeigers (SP) und – zum Erkennen eines Fehlers des Betriebs der Vorrichtung, wenn der jeweilige Istwert (AV) des Stapelspeicherzeigers (SP) von dem jeweils zugehörigen Sollwert (STP) des Stapelspeicherzeigers (SP) abweicht.Device adapted for monitoring of their operation and in the - one Stack memory (ST) and - one associated Stack memory pointer (SP) are provided and in the at least a program (PROG) executable is and that is trained - to determine one each Actual value (AV) of the stack memory pointer (SP) of the stack (ST) at at least a first position (P1) within a program sequence this at least one executable Program (PROG), - to the Compare the respective determined actual value (AV) of the stack pointer (SP) with a respective predetermined setpoint (STP) of the stack memory pointer (SP) and - to the Detecting a failure of the operation of the device, if the respective Actual value (AV) of the stack memory pointer (SP) from the respectively associated setpoint (STP) of the stack pointer (SP). Vorrichtung nach Anspruch 8, die als ein digitaler Tachograph ausgebildet ist.Apparatus according to claim 8, which is a digital Tachograph is formed.
DE200910010004 2009-02-23 2009-02-23 Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer Ceased DE102009010004A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200910010004 DE102009010004A1 (en) 2009-02-23 2009-02-23 Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910010004 DE102009010004A1 (en) 2009-02-23 2009-02-23 Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer

Publications (1)

Publication Number Publication Date
DE102009010004A1 true DE102009010004A1 (en) 2010-08-26

Family

ID=42356674

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910010004 Ceased DE102009010004A1 (en) 2009-02-23 2009-02-23 Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer

Country Status (1)

Country Link
DE (1) DE102009010004A1 (en)

Similar Documents

Publication Publication Date Title
EP1192543B1 (en) Method and system for determining a fault tree of a technical system, computer program product and a computer readable storage medium therefor
EP2318920B1 (en) Control appliance for a vehicle, and method for updating data for a control appliance for a vehicle
DE69331292T2 (en) Electronic device and method for fixed information modification
DE102007038763A1 (en) Method and device for securing a program against a control flow manipulation and against a faulty program sequence
DE19839680B4 (en) Method and device for modifying the memory contents of control units
EP2943748B1 (en) Method and device for managing map data of a digital map for a navigation apparatus
EP1262856A2 (en) Program controlled storage device
DE4004740A1 (en) IC CARD
DE3210616A1 (en) COMPUTER
EP0664387B1 (en) Process to change the working mode of a control device in vehicles
DE102009010004A1 (en) Device i.e. digital tachograph, operation monitoring method, involves detecting failure of operation of digital tachograph when actual value of memory stack pointer deviates from reference value of memory stack pointer
DE69112107T2 (en) System for controlling recovery from an error in a queue structure of control data.
EP1563358B1 (en) Method for the secure checking of a memory region of a microcontroller in a control device and control device with a protected mikrocontroller
EP1810139A1 (en) Method, operating system and computing element for running a computer program
DE102009002898A1 (en) Method for actualizing controller of vehicle, involves providing comparative results based on comparison of two conditions, and accomplishing actualization of controller based on one of comparative results
DE102015008751A1 (en) NUMERIC CONTROL WITH FUNCTION FOR AUTOMATIC RECONSTRUCTION OF SETTINGS AND FUNCTION TO PREVENT INCORRECT SETTINGS
EP2990941B1 (en) Computer-implemented method for generating a control device program codes and related report management environment
DE102018202626A1 (en) Method for the computer-aided parameterization of a technical system
WO2008031776A1 (en) Microcontroller and method for starting an application program on a microcontroller
WO2022042950A1 (en) Device for capturing and processing a measurement value of a sensor in a motor vehicle
DE102008004923B4 (en) Method for updating a control sequence of a machine control system and device for carrying out the method
DE102021200789A1 (en) Computer-implemented method and device for manipulation detection for exhaust aftertreatment systems using artificial intelligence methods
DE102005006832B4 (en) Circuit arrangement and method for secure data processing and their use
EP3876123B1 (en) Arrangement and operating method for a secure start-up of an electronic device
DE102007062915A1 (en) Storage programmable control i.e. digitally operated electronic system, operating method for controlling automation system, involves switching functional block at feasible state if external information corresponds to internal information

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20111215