DE10211110A1 - Verfahren zum Steuern eines Programmablaufs einer Recheneinheit - Google Patents
Verfahren zum Steuern eines Programmablaufs einer RecheneinheitInfo
- Publication number
- DE10211110A1 DE10211110A1 DE10211110A DE10211110A DE10211110A1 DE 10211110 A1 DE10211110 A1 DE 10211110A1 DE 10211110 A DE10211110 A DE 10211110A DE 10211110 A DE10211110 A DE 10211110A DE 10211110 A1 DE10211110 A1 DE 10211110A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- master
- programs
- master program
- computing unit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
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
Es wird ein Verfahren zum Steuern eines Programmablaufes einer Recheneinheit beschrieben, wobei mit einem Betriebssystem ein Masterprogramm gestartet wird. Das Masterprogramm startet nach vorgegebenen Daten mehrere Programme in einer vorgegebenen Reihenfolge. Weiterhin überprüft das Masterprogramm die korrekte Funktionsweise der Start- und Initialisierungsphasen der Programme und die korrekte Funktionsweise der Programme nach der Start- und Initialisierungsphase. Wird eine Fehlfunktion erkannt, so wird vom Masterprogramm eine Reaktionsfunktion ausgelöst. Eine Reaktionsfunktion besteht beispielsweise darin, dass ein folgendes Programm nicht gestartet wird, wenn das vorhergehende Programm nicht korrekt die Start- und Initialisierungsphase abgeschlossen hat.
Description
Die Erfindung betrifft ein Verfahren zum Steuern eines Programmablaufes einer
Recheneinheit gemäß dem Oberbegriff des Patentanspruchs 1.
Programmabläufe werden beispielsweise in der Druckindustrie eingesetzt, um eine
Druckmaschine nach vorgegebenen Verfahren zu steuern. Da insbesondere bei
Druckmaschinen eine präzise Abarbeitung der Programme erforderlich ist, ist eine genaue
Überwachung der abzuarbeitenden Programme vorteilhaft.
Zum Starten von Programmen sind beispielsweise skriptbasierende
Anwendungsprogramme bekannt, wobei skriptbasierende Programme lediglich
zeitverzögert gestartet werden können und eine Überwachung auf eine korrekte
Funktionsweise der Programme nicht erfolgt.
Zudem ist es beispielsweise bei dem Betriebssystem Windows bekannt, eine Autostart-
Gruppe vorzusehen, wobei die Autostart-Gruppe Programme beinhaltet, die bei einem Start
des Betriebssystems Windows automatisch gestartet werden. Bei dem Start der in der
Autostart-Gruppe abgelegten Programme ist jedoch nicht eine definierte Reihenfolge
garantiert. Weiterhin erfolgt keine Kontrolle der gestarteten Programme.
Weiterhin ist es aus dem Programm Taskmanager des Windows-Betriebssystems bekannt,
gestartete Programme mit Hilfe des Taskmanagers zu überwachen. Dabei ist es möglich,
den Betriebszustand eines Programmes zu erkennen. Als Betriebszustand wird
beispielsweise eine korrekte Funktionsweise des Programmes oder ein Absturz eines
Programmes erkannt. Programmfehler werden erst bei Eingabe durch einen Benutzer
erkannt. Zudem ist der Taskmanager in der Lage, nur ein Programm zu schließen oder die
Recheneinheit herunterzufahren und beispielsweise einen Neustart durchzuführen.
Die Aufgabe der Erfindung besteht darin, ein Verfahren zum Steuern eines
Programmablaufs bereitzustellen, das mehr Informationen und/oder eine größere
Flexibilität bei der Behandlung der Programme bereitstellt.
Die Aufgabe der Erfindung wird durch das Verfahren gemäß dem Anspruch 1 gelöst.
Ein Vorteil der Erfindung besteht darin, dass ein Masterprogramm vorgesehen ist, das
vorgegebene Programme nach einer vorgegebenen Reihenfolge startet. Auf diese Weise ist
eine Einhaltung der vorgegebenen Reihenfolge beim Starten der Programme gewährleistet.
Diese Vorgehensweise ist insbesondere dann von Vorteil, wenn eine korrekte
Funktionsweise eines zweiten Programmes davon abhängt, dass ein erstes Programm
korrekt abläuft und/oder korrekt gestartet wurde.
Weitere vorteilhafte Ausführungsformen der Erfindung sind in den abhängigen
Ansprüchen angegeben. In einer einfachen Ausführungsform der Erfindung wartet das
Masterprogramm nach dem Start eines ersten Programmes eine vorgegebene Zeitdauer und
startet erst nach Ablauf der vorgegebenen Zeitdauer ein zweites Programm. In dieser
Ausführungsform bietet die Zeitdauer eine große Wahrscheinlichkeit dafür, dass das erste
Programm einen Start- und Initialisierungsvorgang erfolgreich abgeschlossen hat, bevor
das zweite Programm gestartet wird. Dies ist insbesondere dann von Vorteil, wenn das
zweite Programm auf ein korrekt funktionierendes erstes Programm angewiesen ist.
In einer weiteren bevorzugten Ausführungsform überprüft das Masterprogramm, ob das
erste Programm eine Start- und Initialisierungsphase korrekt durchlaufen hat. Erst nach
Abschluss einer korrekt durchlaufenen Start- und Initialisierungsphase startet das
Masterprogramm ein zweites Programm. Durch die Überprüfung der Start- und
Initialisierungsphase wird gewährleistet, dass das zweite Programm nur dann gestartet
wird, wenn tatsächlich das erste Programm voll funktionsfähig läuft.
In einer bevorzugten Ausführungsform wird das Durchlaufen einer korrekten Start- und
Initialisierungsphase dadurch überprüft, dass festgestellt wird, ob das erste Programm auf
Eingaben reagiert, oder ob das erste Programm vorgegebene Daten mit einem anderen
Programm austauscht. Durch die konkrete Überprüfung der Funktionsweise des ersten
Programms ist sichergestellt, dass ein fehlerhaft arbeitendes erstes Programm sicher
erkannt wird.
Eine weitere bevorzugte Ausführungsform besteht darin, dass das Masterprogramm eine
korrekte Funktionsweise eines gestarteten Programmes überprüft und bei einer
Fehlfunktion des gestarteten Programmes ein Fehlersignal erzeugt. Das erzeugte
Fehlersignal zeigt an, dass ein gestartetes Programm nicht korrekt funktioniert.
Vorzugsweise wird das Fehlersignal einem Benutzer in Form einer optischen oder
akustischen Anzeige mitgeteilt. In einer weiteren Ausführungsform kann jedoch das
Fehlersignal auch in einem Fehlerspeicher abgespeichert werden. Bei einer späteren
Überprüfung der Recheneinheit wird der Fehlerspeicher ausgelesen und es werden
entsprechende Fehlersignale festgestellt.
In einer bevorzugten Ausführungsform der Erfindung überprüft das Masterprogramm die
Funktionsfähigkeit eines gestarteten Programmes dadurch, dass die von dem gestarteten
Programm in der Recheneinheit beanspruchte Systemleistung überprüft wird.
Beispielsweise wird unter dem Betriebssystem Windows ein Performance-Counter-Value
überprüft. Liegt der Performance-Counter-Value unter einem vorgegebenen
Vergleichswert, so beansprucht das Programm zu wenig Systemleistung und funktioniert
deshalb nicht korrekt. Weiterhin kann auch das Überschreiten eines vorgegebenen,
maximalen Vergleichswertes durch den Performance-Counter-Value darauf hinweisen,
dass das Programm zu viel Systemleistung der Recheneinheit beansprucht und deshalb
nicht korrekt funktioniert.
Eine einfache Überprüfung des Programmes auf eine korrekte Funktionsweise hin erfolgt
dadurch, dass überprüft wird, ob das Programm auf Signale des Betriebssystems reagiert.
Insbesondere wird als Antwort auf ein Signal des Betriebssystems unter dem
Betriebssystem Windows der Performance-Counter-Value ausgewertet.
Eine weitere Überprüfung des Programmes besteht darin, dass festgestellt wird, ob das
Programm Daten ausgibt. Gibt das Programm keine, zu wenige oder zu viele Daten aus, so
wird eine Fehlfunktion des Programmes erkannt. Die Vergleichswerte für die Beurteilung,
ob zu wenig oder zu viel Daten ausgegeben werden, werden in einer Testphase ermittelt.
In einer weiteren Ausführungsform der Erfindung wird eine Bezeichnung für ein
gestartetes Programm in eine Registrierliste eingetragen und das Betriebssystem überwacht
eine korrekte Funktionsweise des gestarteten Programmes mit einem
Überwachungsprogramm. Bei Erkennen einer Fehlfunktion des gestarteten Programmes
wird die Bezeichnung des fehlerhaften Programmes an das Masterprogramm
weitergegeben. Das Masterprogramm überprüft, ob das gemeldete Programm von dem
Masterprogramm zu überwachen ist. Erkennt das Masterprogramm, dass das gemeldete
Programm ein zu überwachendes Programm ist, so gibt das Masterprogramm ein
Fehlersignal ab.
In einer bevorzugten Ausführungsform startet das Masterprogramm nach Erkennen eines
fehlerhaft ablaufenden Programmes eine vorgegebene Reaktionsfunktion. Als
Reaktionsfunktion wird beispielsweise das Beenden des fehlerhaften Programmes
ausgeführt. In einer weiteren Ausführungsform startet das Masterprogramm nach dem
Beenden des fehlerhaften Programmes das fehlerhafte Programm erneut.
Eine weitere vorteilhafte Ausführungsform der Reaktionsfunktion besteht darin, dass das
Masterprogramm einen Neustart des gesamten Betriebssystems der Recheneinheit
durchführt.
Weiterhin ist es vorteilhaft, dass als Reaktionsfunktion das Masterprogramm eine
Fehlernachricht an eine weitere Recheneinheit abgibt, die an die Recheneinheit
angeschlossen ist, in der das Masterprogramm abläuft. Auf diese Weise wird gewährleistet,
dass bei einer Fehlfunktion auch die weitere Recheneinheit informiert wird, die Daten mit
der Recheneinheit austauscht. Somit ist gewährleistet, dass die weitere Recheneinheit eine
entsprechende Fehlfunktion der Recheneinheit erkennt und gegebenenfalls entsprechende
Reaktionsfunktionen ausführt.
Die Erfindung wird im Folgenden anhand der Figuren näher erläutert.
Es zeigen:
Fig. 1 eine schematische Darstellung einer Druckmaschine mit einer Recheneinheit,
Fig. 2 ein Speicherfeld,
Fig. 3 einen schematischen Programmablauf zur Abarbeitung des Verfahrens zum
Steuern eines Programmablaufes und
Fig. 4 ein Realisierungsbeispiel für drei Programme.
Die Erfindung wird im Folgenden anhand eines Ausführungsbeispieles für eine
Druckmaschine 1 beschrieben. Die Erfindung ist jedoch unabhängig von der Anwendung
bei einer Druckmaschine 1 und kann in jeder Recheneinheit eingesetzt werden, mit der
Programmabläufe gesteuert werden.
Fig. 1 zeigt eine Druckmaschine 1, die eine Recheneinheit 2, einen Daten- und
Programmspeicher 3, Sensoren 4, Aktoren 5, eine Anzeige 6, eine Eingabe 7, einen
Hauptspeicher 20 und eine Schnittstelle 8 aufweist. Der genaue Aufbau der Druckmaschine
1 ist für die Erfindung nicht wesentlich und wird deshalb in der Beschreibung nicht
ausführlich erläutert. Die wesentliche Funktionsweise der Druckmaschine 1 wird durch die
Sensoren 4 und die Aktoren 5 dargestellt. Als Aktoren 5 sind beispielsweise ein
Farbzonen- und Farbduktormotor oder eine Bebilderungselektronik vorgesehen. Es kann
jedoch auch jede andere Art von Aktor, die bei einer Druckmaschine 1 Verwendung findet,
vorgesehen sein. Die Recheneinheit 2 ist mit entsprechenden Leitungen mit dem Daten-
und Programmspeicher 3, den Sensoren 4, den Aktoren 5, der Anzeige 6, der Eingabe 7,
dem Hauptspeicher 20 und der Schnittstelle 8 verbunden. Die Schnittstelle 8 steht
weiterhin über eine Leitung 9 mit einer zweiten Recheneinheit 11 in Verbindung, die in
einer Vorrichtung 10 angeordnet ist. Die zweite Recheneinheit 11 tauscht über die
Schnittstelle 8 Daten und/oder Steuerprogramme mit der Recheneinheit 2 aus. Als
Vorrichtung 10 kann beispielsweise eine Test- oder Steuervorrichtung ausgebildet sein.
Die Druckmaschine 1 wird von der Recheneinheit 2 gesteuert. Dabei verfügt die
Recheneinheit 2 über ein Betriebssystem, ein Masterprogramm und über
Anwendungsprogramme. Das Betriebssystem steuert die Ein- und Ausgabe von Daten und
die Abarbeitung des Masterprogramms und der Anwendungsprogramme. Das
Masterprogramm dient dazu, um die Anwendungsprogramme zu starten und um eine
korrekte Funktionsweise der Anwendungsprogramme zu überwachen. Die
Anwendungsprogramme sind beispielsweise Programme zur Farbsteuerung der
Druckmaschine, Programme zur Steuerung der Bebilderung, Programme zur Steuerung der
Bedienoberfläche oder Programme zur Systemsteuerung. Eine Farbsteuerung umfasst
beispielsweise ein Programm zur Steuerung von Farbzonen- und Farbduktormotoren in
Abhängigkeit von einem eingestellten Farbprofil und der Druckgeschwindigkeit der
Druckmaschine. Eine Bebilderungssteuerung umfasst beispielsweise ein Programm zur
Ansteuerung der Bebilderungselektronik (D1).
Zur Steuerung der Bedienoberfläche werden beispielsweise Programme zur Visualisierung
des Zustandes der Druckmaschine und zur Steuerung von Maschinenkomponenten
eingesetzt. Als Maschinenkomponenten werden beispielsweise Wascheinrichtungen,
Register, Anleger, Ausleger, Druckwerke und Trockner der Druckmaschine angesehen.
Für die Systemsteuerung sind Programme zur Realisierung von komplexen Abläufen
vorgesehen, die durch eine Eingabe über eine Bedienoberfläche gestartet werden. Dabei
werden beispielsweise vorgegebene Aktionen in Steuerungsmodulen wie z. B. der
Farbsteuerung, der Bebilderungssteuerung oder der Bedienoberfläche aktiviert. Das
Betriebssystem, das Masterprogramm und die Anwendungsprogramme sind im Daten- und
Programmspeicher 3 abgelegt.
Fig. 2 zeigt einen schematischen Aufbau eines Speicherfeldes 12 des Daten- und
Programmspeichers 3. Im Speicherfeld 12 ist das Betriebssystem 15, das
Masterprogramm 16, ein erstes, zweites und drittes Anwendungsprogramm 13, 14, 19
gespeichert. Weiterhin weist das Speicherfeld 12 eine Fehlertabelle 17 und eine
Startliste 18 auf. In der Startliste 18 ist die Reihenfolge festgelegt, in der das erste, zweite
und dritte Anwendungsprogramm 13, 14, 19 vom Masterprogramm gestartet werden. Dazu
ist beispielsweise jedem Programm ein entsprechender Index zugeordnet, der die
Reihenfolge beim Starten der Anwendungsprogramme festlegt.
In der Fehlertabelle 17 ist eine Zuordnung von vorgegebenen Fehlersituationen und dazu
festgelegten Reaktionsfunktionen abgelegt. Erkennt das Masterprogramm 16 eine in der
Fehlertabelle 17 abgelegte Fehlersituation, so führt das Masterprogramm 16 die der
Fehlersituation zugeordnete Reaktionsfunktion aus.
Eine detailliertere Beschreibung der Erfindung wird im Folgenden anhand der Fig. 3
durchgeführt. Bei Programmpunkt 10 startet die Recheneinheit 2 das Betriebssystem.
Dabei liest die Recheneinheit 2 beispielsweise beim Einschalten der Stromversorgung das
Betriebssystem aus dem Speicher 3 in einen Hauptspeicher 20, der in der Recheneinheit 2
angeordnet ist. Das Betriebssystem führt eine Initialisierung der Recheneinheit 2 durch.
Nach Initialisierung der Recheneinheit 2 startet das Betriebssystem beim folgenden
Programmpunkt 15 das Masterprogramm 16. Dabei liest die Recheneinheit 2 das
Masterprogramm 16 aus dem Speicher 3 in den Hauptspeicher 20. Nach dem Start des
Masterprogrammes bei Programmpunkt 15 überprüft das Masterprogramm beim folgenden
Programmpunkt 20 die Liste der Anwendungsprogramme, die gestartet werden sollen. In
diesem Ausführungsbeispiel erkennt das Masterprogramm, dass im Speicherfeld 12 drei
Anwendungsprogramme 13, 14, 19 abgelegt sind. Nach Feststellen der zu startenden
Anwendungsprogramme überprüft das Masterprogramm beim folgenden
Programmpunkt 25, in welcher Reihenfolge die Anwendungsprogramme gestartet werden
sollen. Dazu liest das Masterprogramm 16 die Reihenfolge aus der Startliste 18 aus. In der
Startliste 18 ist vorzugsweise jedem der drei Programme 13, 14, 19 eine Zahl zugeordnet,
die die Reihenfolge festlegt, in der das entsprechende Anwendungsprogramm gestartet
wird. In dem beschriebenen Ausführungsbeispiel ist dem ersten Programm 13 die Zahl 1,
dem zweiten Programm 14 die Zahl 2 und dem dritten Programm 19 die Zahl 3 zugeordnet.
Entsprechend erkennt das Masterprogramm 16, dass zuerst das erste Programm 13,
anschließend das zweite Programm 14 und daraufhin das dritte Programm 19 gestartet
werden soll.
Beim folgenden Programmpunkt 30 startet das Masterprogramm das erste Programm 13.
Dazu gibt das Masterprogramm einen entsprechenden Befehl an die Recheneinheit 2, an
die Startadresse des ersten Programmes 13 zu springen und die an der Startadresse
abgelegten Befehle auszuführen. Nach dem Start des ersten Programmes 13 prüft das
Masterprogramm beim folgenden Programmpunkt 35, ob das erste Programm eine
vorgegebene Start- und Initialisierungsphase korrekt durchlaufen hat. Das
Masterprogramm 16 hat mehrere Verfahrensmöglichkeiten, um zu erkennen, ob die Start-
und die Initialisierungsphase des ersten Programmes abgeschlossen ist. Beispielsweise
überprüft das Masterprogramm 16, ob das erste Programm auf Eingaben reagiert, die über
die Eingabe 7 eingegeben werden. In einer bevorzugten Ausführungsform initialisiert das
Masterprogramm 16 selbst Testeingaben an das erste Programm und wartet auf eine
entsprechende Reaktion des ersten Programmes. Reagiert das erste Programm nicht in
einer vorgegebenen Art und Weise, so erkennt das Masterprogramm 16, dass das erste
Programm 13 die Start- und Initialisierungsphase nicht korrekt abgeschlossen hat.
In einer anderen Ausführungsform der Erfindung überprüft das Masterprogramm, ob das
erste Programm vorgegebene Daten an das Betriebssystem abgibt. Dazu ist im ersten
Programm 13 ein entsprechender Verfahrensschritt nach Abschluss der Start- und
Initialisierungsphase abgelegt, bei dem das erste Programm vorgegebene Daten an das
Betriebssystem abgibt. Wird die Abgabe durch das Masterprogramm 16 nicht erkannt, so
wurde die Start- und Initialisierungsphase nicht korrekt abgeschlossen.
Eine weitere Überprüfung eines korrekten Abschlusses einer Start- und
Initialisierungsphase besteht darin, dass das Masterprogramm 16 überprüft, ob das erste
Programm 13 auf Anfragen oder Daten des Betriebssystems 15 reagiert. Zur Überprüfung
einer Reaktion des ersten Programmes wird beispielsweise unter dem Betriebssystem
Windows überprüft, welche Werte ein Performance-Counter-Value aufweist. Gibt
beispielsweise das Betriebssystem eine Anfrage an das erste Programm und das erste
Programm ändert nach Erhalt der Anfrage nicht den Performance-Counter-Value, dann
zeigt dies an, dass das erste Programm die Anfrage nicht abarbeitet. Somit wird erkannt,
dass das erste Programm nicht auf Anfragen reagiert. Dieses Verhalten zeigt an, dass eine
Start- und Initialisierungsphase noch nicht abgeschlossen ist.
Erkennt das Masterprogramm 16 somit bei Programmpunkt 35, dass eine Start- und
Initialisierungsphase nicht abgeschlossen wurde, so wird nach Programmpunkt 45
verzweigt.
Bei Programmpunkt 45 überprüft das Masterprogramm anhand der Fehlertabelle 17,
welche Reaktionsfunktion aufgrund des festgestellten Fehlers auszuführen ist. Dabei
berücksichtigt das Masterprogramm das überprüfte Anwendungsprogramm, das in diesem
Fall das erste Programm darstellt und die Fehlerart, die bei der Überprüfung des ersten
Programmes aufgetreten ist. In dem beschriebenen Ausführungsbeispiel wurde
beispielsweise erkannt, dass das erste Programm 13 eine Start- und Initialisierungsphase
nicht abgeschlossen hat. Dieser Fehlersituation ist beispielsweise in der Fehlertabelle 17
die Reaktionsfunktion zugeordnet, dass das Masterprogramm das erste Programm 13
beendet und anschließend das erste Programm wieder startet. Die Ausführung der
Reaktionsfunktion wird beim folgenden Programmpunkt 50 durchgeführt. Weiterhin ist
beispielsweise vorgesehen, dass ein Fehlersignal erzeugt und beispielsweise in einem
Fehlerspeicherfeld 21 abgelegt wird. In einer anderen Ausführungsform wird das
Fehlersignal auf der Anzeige 6 in Form eines Anzeigefensters dargestellt. Im
Anzeigefenster ist vorzugsweise ein Fehlertext enthalten, der die festgestellte Fehlfunktion
beschreibt.
Wird somit in dem beschriebenen Ausführungsbeispiel bei Programmpunkt 50 das erste
Programm 13 beendet, dann wird anschließend zu Programmpunkt 30 zurückverzweigt, bei
dem das Masterprogramm 16 das erste Programm erneut startet.
In einer einfachen Ausführungsform ist als Reaktionsfunktion vorgesehen, dass das
Masterprogramm das erste Programm beendet und anschließend zum Programmpunkt 65
verzweigt.
In einer weiteren bevorzugten Ausführungsform ist als Reaktionsfunktion vorgesehen, dass
das Masterprogramm das gesamte Betriebssystem der Recheneinheit 3 herunterfährt und
einen Neustart des Betriebssystems veranlasst. Dabei wird nach Beendigung des
Betriebssystems bei Programmpunkt 50 zu Programmpunkt 10 zurückgesprungen.
In einer Weiterbildung der Erfindung gibt das Masterprogramm 16 zusätzlich über die
Schnittstelle 8 eine entsprechende Fehlernachricht an die weitere Recheneinheit 11. Somit
erhält die Recheneinheit 11 die Information, dass eine Fehlfunktion bei der
Recheneinheit 2 aufgetreten ist. In einer bevorzugten Ausführungsform wird der weiteren
Recheneinheit 11 auch die Art der erkannten Fehlfunktion mitgeteilt. Somit hat die weitere
Recheneinheit 11 die Möglichkeit, selbst entsprechende Reaktionsfunktionen
durchzuführen.
Ergibt die Abfrage bei Programmpunkt 35, dass die Start- und Initialisierungsphase des
ersten Programmes 13 korrekt durchgeführt wurde, so wird anschließend bei
Programmpunkt 55 das erste Programm 13 auf eine korrekte Funktionsweise hin überprüft.
Eine korrekte Funktionsweise des ersten Programmes 13 wird beispielsweise dadurch
erkannt, dass unter dem Betriebssystem Windows eine Datei mit einer Programm-ID-
Nummer für das Programm nach dem Start des Programmes abgelegt wurde. Über die
Programm-ID-Nummer ist ein Programm eindeutig zu identifizieren.
Lässt sich die Datei der Programm-ID öffnen, so erkennt das Masterprogramm 16, dass das
Programm aktiv ist. Eine weitere Überprüfung der korrekten Funktionsweise des ersten
Programmes 13 führt das Masterprogramm 16 dadurch durch, dass das
Masterprogramm 16 die vom ersten Programm 13 in der Recheneinheit 2 beanspruchte
Systemleistung überprüft. Beispielsweise wird dabei unter dem Betriebssystem Windows
ein Performance-Counter-Value ausgewertet. Liegt der Performance-Counter-Value unter
oder über einem vorgegebenen Minimal- bzw. Maximalwert, so wird eine Fehlfunktion des
ersten Programmes 13 erkannt. Liegt der Performance-Counter-Value zwischen dem
vorgegebenen Minimal- und Maximalwert, so wird eine korrekte Funktionsweise des
ersten Programmes 13 durch das Masterprogramm 16 festgestellt.
Weiterhin hat das Masterprogramm 16 die Möglichkeit, die korrekte Funktionsweise des
ersten Programmes 13 dadurch zu überprüfen, dass das Masterprogramm 16 feststellt, auf
welche Art und Weise das erste Programm 13 auf Daten oder Anfragen des
Betriebssystems 15 reagiert. Auch dazu wird unter dem Betriebssystem Windows
beispielsweise das zeitliche Verhalten der Performance-Counter-Values ausgewertet. Gibt
beispielsweise das Betriebssystem 15 eine Anfrage an das erste Programm 13, so muss die
in der Recheneinheit 2 durch das erste Programm 13 beanspruchte Systemleistung steigen.
Ist dies nicht der Fall, so erkennt das Masterprogramm 16, dass das erste Programm 13
nicht auf die Anfrage reagiert. Folglich wird eine Fehlfunktion des ersten Programmes 13
erkannt.
Ein weiteres, einfaches Verfahren besteht darin, dass das Masterprogramm 16 überprüft, ob
das erste Programm 13 Daten versendet. Versendet das erste Programm 13 keine Daten, so
wird eine Fehlfunktion des ersten Programmes 13 erkannt.
Nach der Überprüfung des ersten Programmes 13 bei Programmpunkt 55 erfolgt bei
Programmpunkt 60 die Abfrage, ob eine Fehlfunktion des ersten Programmes 13 erkannt
wurde. Ist dies der Fall, so wird zu Programmpunkt 45 verzweigt. Ergibt die Abfrage bei
Programmpunkt 60, dass keine Fehlfunktion des ersten Programmes 13 erkannt wurde, so
wird Programmpunkt 65 abgearbeitet. Bei Programmpunkt 65 startet das
Masterprogramm 16 das zweite Programm 14, das in der Startliste 18 als zweites zu
startendes Programm festgelegt ist. Anschließend überwacht das Masterprogramm 16 bei
Programmpunkt 70, ob eine Start- und Initialisierungsphase des zweiten Programmes 14
abgeschlossen wurde. Dabei werden die gleichen Überprüfungsverfahren eingesetzt wie bei
der Überprüfung des Abschlusses der Start- und Initialisierungsphase des ersten
Programmes 13. Ergibt die Abfrage bei Programmpunkt 70, dass eine Start- und
Initialisierungsphase nicht abgeschlossen wurde, so wird zu Programmpunkt 45 verzweigt.
Bei den Programmpunkten 45 und 50 wird eine für das zweite Programm erkannte
Fehlersituation in der Weise bearbeitet, die in der Fehlertabelle 17 abgelegt ist. Dabei prüft
das Masterprogramm 16, welche Reaktionsfunktionen aufgrund der beim zweiten
Programm 14 festgestellten Fehlfunktion ausgeführt werden sollen. Dabei prüft das
Masterprogramm 16 anhand der Fehlertabelle 17 die Zuordnung der festgestellten
Fehlfunktion zu einer festgelegten Reaktionsfunktion. Die Reaktionsfunktionen sind
vorzugsweise analog zu den Reaktionsfunktionen des ersten Programmes 13 ausgebildet.
Bei einem vollständigen Neustart des Betriebssystems wird auch das erste Programm 13
beendet.
Ergibt die Abfrage bei Programmpunkt 70, dass die Start- und Initialisierungsphase
erfolgreich abgeschlossen wurde, so wird Programmpunkt 75 abgearbeitet. Bei
Programmpunkt 75 überwacht das Masterprogramm 16 eine korrekte Funktionsweise des
ersten und/oder des zweiten Programmes 13/14. Dabei wird das zweite Programm 14 in
analoger Weise zum ersten Programm 13 überwacht. Zur Feststellung einer korrekten
Funktionsweise des zweiten Programmes 14 werden vorzugsweise die gleichen Verfahren
wie bei der Überwachung der korrekten Funktionsweise des ersten Programmes 13
eingesetzt.
Anschließend erfolgt bei Programmpunkt 80, ob eine Fehlfunktion des ersten oder des
zweiten Programmes 13, 14 erkannt wurde. Wurde eine Fehlfunktion des ersten oder des
zweiten Programmes 14 erkannt, so wird anschließend zu Programmpunkt 45 verzweigt.
Bei den Programmpunkten 45 und 50 wird die erkannte Fehlfunktion des zweiten
Programmes 14 vorzugsweise in analoger Weise zu den Fehlfunktionen des ersten
Programmes 13 behandelt und es werden entsprechende Reaktionsfunktionen ausgelöst.
Ergibt die Abfrage bei Programmpunkt 80, dass keine Fehlfunktion des ersten oder zweiten
Programmes 14 erkannt wurde, so wird anschließend zu Programmpunkt 85 verzweigt. Bei
Programmpunkt 85 erfolgt die Abfrage, ob das erste und das zweite Programm 13, 14
beendet sind oder ob ein Endesignal über die Eingabe 7 abgegeben wurde. Ist dies nicht der
Fall, so wird zu Programmpunkt 75 verzweigt. Bei Programmpunkt 75 wird eine korrekte
Funktionsweise des ersten und des zweiten Programmes 13, 14 überwacht.
Ergibt die Abfrage bei Programmpunkt 85, dass das erste und das zweite Programm 13, 14
beendet sind oder ein Endesignal eingegeben wurde, so wird zu Programmpunkt 90
verzweigt. Bei Programmpunkt 90 wird das Masterprogramm 16 beendet.
In einer besonderen Ausführungsform der Erfindung verfügt das Betriebssystem über ein
Überwachungsprogramm, das die korrekte Funktionsweise des ersten und des zweiten
Programmes 13, 14 selbstständig überwacht. Erkennt das Überwachungsprogramm eine
Fehlfunktion des ersten oder des zweiten Programmes 13, 14, so informiert das
Überwachungsprogramm das Masterprogramm 16 von der festgestellten Fehlfunktion des
entsprechenden Programmes. Daraufhin führt das Masterprogramm 16 entsprechend den
Verfahrensschritten 45 und 50 eine entsprechende Bearbeitung und einen Start eines
entsprechenden Reaktionsverfahrens durch.
Vorzugsweise wird bei der korrekten Funktionsweise des ersten und zweiten
Programmes 13, 14 die Abarbeitung einer Programmadresse innerhalb einer vorgegebenen
Laufzeit vom Betriebssystem vorgegeben. Wird die Programmadresse nicht innerhalb der
Laufzeit abgearbeitet, so wird eine Fehlfunktion durch das Betriebssystem erkannt.
Die Reaktionsfunktionen sind in der Fehlertabelle 17 beispielsweise durch reine
Zahlenwerte abgelegt, wobei das Masterprogramm 16 für jeden Zahlenwert eine
zugeordnete Reaktionsfunktion startet. Eine weitere vorteilhafte Ausführungsform der
Reaktionsfunktion besteht darin, dass bei Erkennen eines fehlerhaften Programmes ein von
dem fehlerhaften Programm abhängiges Programm nicht gestartet wird.
In einer weiteren Ausführungsform der Erfindung sind in der Fehlertabelle 17
Bezeichnungen für die Fehlfunktionen abgelegt, die bei Auftreten einer Fehlfunktion als
Reaktionsfunktionen abgearbeitet werden.
Eine weitere Reaktionsfunktion auf das Feststellen einer Fehlfunktion eines Programmes
bei Programmpunkt 50 besteht beispielsweise darin, dass ein weiteres Programm gestartet
wird. Das weitere Programm kann beispielsweise durch das dritte Programm 19 dargestellt
sein. Das dritte Programm 19 kann beispielsweise ein in Bezug auf Daten, Parameter oder
Algorithmusabschnitte gegenüber dem fehlerhaften Programm verändertes Programm sein.
Fig. 4 zeigt in einem schematischen Blockschaltbild ein Realisierungsbeispiel für drei
Programme 13, 14, 19. Bei Programmpunkt 100 wird das Masterprogramm 16 durch das
Betriebssystem 15 gestartet. Beim folgenden Programmpunkt 110 überprüft das
Masterprogramm 16 aufgrund der Daten im Speicherfeld 12, welche Programme in
welcher Reihenfolge gestartet werden sollen. Hierzu kann beispielsweise eine
Konfigurationsdatei ausgelesen werden. In dem beschriebenen Ausführungsbeispiel wird
als erstes das erste Programm 13 beim folgenden Programmpunkt 11 S gestartet. Das
Masterprogramm 16 startet das erste Programm 13 zum Zeitpunkt T1 und überwacht
gleichzeitig nach dem Start die korrekte Funktionsweise des ersten Programmes 13. Nach
dem Start des ersten Programmes 13 wartet das Masterprogramm 16 im Zeitraum 116 auf
ein Antwortsignal vom ersten Programm 13. Zum Zeitpunkt T2 gibt das erste
Programm 13 ein Init-Signal an das Masterprogramm 16. Das Init-Signal gibt an, dass das
erste Programm 13 die Start- und Initialisierungsphase abgeschlossen hat. Das
Masterprogramm 16 beginnt nach dem Erhalt des Init-Signals beim Programmpunkt 117
zum Zeitpunkt T3 den Start des zweiten zu startenden Programmes, das in diesem
Ausführungsbeispiel durch das zweite Programm 14 dargestellt ist. Zum Zeitpunkt T4
startet das Masterprogramm 16 das zweite Programm 14. Anschließend überwacht das
Masterprogramm 16 die korrekte Funktionsweise des zweiten Programmes 14. Zudem
wartet das Masterprogramm 16 eine vorgegebene feste Wartezeit D, bevor das
Masterprogramm 16 ein drittes zu startendes Programm zum Zeitpunkt T5 startet. Beim
Zeitpunkt T5 startet das Masterprogramm 16 das dritte Programm 19 und überwacht
gleichzeitig die korrekte Funktionsweise des dritten Programmes 19. Wie aus dem
schematischen Blockschaltbild zu erkennen ist, werden vom Masterprogramm 16
gleichzeitig das erste, zweite und dritte gestartete Programm 13, 14, 19 auf eine korrekte
Funktionsweise hin überprüft.
Zum Zeitpunkt T6 endet das erste Programm 13. Das Masterprogramm 16 erkennt das
Ende des ersten Programmes 13 und führt eine Analyse des ersten Programmes 13 durch.
Bei der anschließenden Analyse 120 wird beispielsweise überprüft, ob das erste Programm
13 rechtzeitig oder zu früh bzw. zu spät geendet hat und gegebenenfalls eine Aktion 121
ausgeführt. Ergibt die Analyse, dass das Ende des ersten Programmes 13 zu früh oder zu
spät erfolgt ist, so wird vom Masterprogramm 16 eine in der Fehlertabelle festgelegte
Reaktionsfunktion ausgeführt. In dem beschriebenen Ausführungsbeispiel besteht die
Reaktionsfunktion darin, dass auf der Anzeige 6 ein Anzeigefeld 122 angezeigt wird. Das
Programm zur Abarbeitung des beschriebenen Verfahrens kann auf jeder Art von
Speichermedium, insbesondere auf dem Daten- und Programmspeicher 3 abgespeichert
sein.
1
Druckmaschine
2
Recheneinheit
3
Daten- und Programmspeicher
4
Sensor
5
Aktor
6
Anzeige
7
Eingabe
8
Schnittstelle
9
Leitung
10
Vorrichtung
11
Zweite Recheneinheit
12
Speicherfeld
13
Erstes Programm
14
Zweites Programm
15
Betriebssystem
16
Masterprogramm
17
Fehlertabelle
18
Startliste
19
Drittes Programm
20
Hauptspeicher
21
Fehlerspeicherfeld
Claims (18)
1. Verfahren zum Steuern des Programmablaufes einer Recheneinheit, wobei mehrere
Programme gestartet werden und deren Funktionsweise überwacht wird,
dadurch gekennzeichnet,
dass zuerst ein Masterprogramm (16) gestartet wird,
dass das Masterprogramm (16) anhand einer Liste überprüft, welche Programme (13, 14, 19) gestartet werden sollen,
dass das Masterprogramm (16) aus einer Tabelle eine Startreihenfolge der Programme ausliest und
dass das Masterprogramm (16) die Programme (13, 14, 19) entsprechend der Reihenfolge startet.
dass zuerst ein Masterprogramm (16) gestartet wird,
dass das Masterprogramm (16) anhand einer Liste überprüft, welche Programme (13, 14, 19) gestartet werden sollen,
dass das Masterprogramm (16) aus einer Tabelle eine Startreihenfolge der Programme ausliest und
dass das Masterprogramm (16) die Programme (13, 14, 19) entsprechend der Reihenfolge startet.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass das Masterprogramm (16) nach dem Start eines ersten Programmes (13) eine
vorgegebene Zeitdauer (D) wartet, bevor das Masterprogramm (16) ein zweites
Programm (14) startet.
3. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass das Masterprogramm (16) nach dem Start eines ersten Programmes (13) überprüft, ob das erste Programm (13) eine Start- und Initialisierungsphase korrekt durchlaufen hat,
dass das Masterprogramm (16) nach einer korrekten Start- und Initialisierungsphase des ersten Programmes (13) ein zweite Programm (14) startet.
dass das Masterprogramm (16) nach dem Start eines ersten Programmes (13) überprüft, ob das erste Programm (13) eine Start- und Initialisierungsphase korrekt durchlaufen hat,
dass das Masterprogramm (16) nach einer korrekten Start- und Initialisierungsphase des ersten Programmes (13) ein zweite Programm (14) startet.
4. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
dass das Masterprogramm (16) zur Überprüfung einer korrekten Start- und
Initialisierungsphase des ersten Programmes (13) überprüft, ob das erste
Programm (13) auf Eingaben reagiert, oder ob das erste Programm vorgegebene
Daten mit einem anderen Programm, vorzugsweise dem Betriebssystem,
austauscht, oder ob das erste Programm (13) auf Signale eines vorgegebenen
Programmes reagiert.
5. Verfahren nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet,
dass das Masterprogramm (16) überprüft, ob ein gestartetes Programm (13, 14) korrekt funktioniert, und
dass das Masterprogramm (16) ein Fehlersignal erzeugt, das anzeigt, dass ein Programm (13, 14) nicht korrekt funktioniert.
dass das Masterprogramm (16) überprüft, ob ein gestartetes Programm (13, 14) korrekt funktioniert, und
dass das Masterprogramm (16) ein Fehlersignal erzeugt, das anzeigt, dass ein Programm (13, 14) nicht korrekt funktioniert.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
dass eine Überprüfung eines Programmes (13, 14) in der Weise erfolgt, dass das
Masterprogramm (16) überprüft, ob das Programm eine Systemleistung der
Recheneinheit (2) beansprucht, wobei insbesondere unter dem Betriebssystem ein
Performance-Counter-Value überprüft wird.
7. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
dass eine Überprüfung eines Programmes (13) in der Weise erfolgt, dass das
Masterprogramm (16) überprüft, ob das Programm auf Signale eines
Betriebssystems (15) reagiert, wobei insbesondere unter dem Betriebssystem (15)
ein Performance-Counter-Value ausgewertet wird.
8. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
dass eine Überprüfung eines Programmes (13) in der Weise erfolgt, dass das
Masterprogramm (16) überprüft, ob von dem Programm (13) Daten ausgegeben
werden.
9. Verfahren nach einem der Ansprüche 1 bis 8,
dadurch gekennzeichnet,
dass ein Betriebssystem (15) eine korrekte Funktionsweise der gestarteten Programme (13, 14) überwacht,
dass bei einer Fehlfunktion des Programms (13, 14) das Betriebssystem (15) ein Fehlersignal an das Masterprogramm (16) abgibt,
dass das Masterprogramm (16) überprüft, ob das fehlerhafte Programm ein vom Masterprogramm zu überwachendes Programm ist, und
dass das Masterprogramm (16) ein Fehlersignal abgibt, wenn das fehlerhafte Programm ein vom Masterprogramm (16) zu überwachendes Programm ist.
dass ein Betriebssystem (15) eine korrekte Funktionsweise der gestarteten Programme (13, 14) überwacht,
dass bei einer Fehlfunktion des Programms (13, 14) das Betriebssystem (15) ein Fehlersignal an das Masterprogramm (16) abgibt,
dass das Masterprogramm (16) überprüft, ob das fehlerhafte Programm ein vom Masterprogramm zu überwachendes Programm ist, und
dass das Masterprogramm (16) ein Fehlersignal abgibt, wenn das fehlerhafte Programm ein vom Masterprogramm (16) zu überwachendes Programm ist.
10. Verfahren nach einem der Ansprüche 1 bis 9, dass das Masterprogramm (16) bei
Erkennen eines fehlerhaft ablaufenden Programms eine Reaktionsfunktion startet.
11. Verfahren nach Anspruch 10,
dadurch gekennzeichnet,
dass als Reaktionsfunktion das Masterprogramm (16) das fehlerhafte Programm
beendet.
12. Verfahren nach Anspruch 11,
dadurch gekennzeichnet,
dass das Masterprogramm (16) das fehlerhafte Programm anschließend erneut
startet.
13. Verfahren nach einem der Ansprüche 10 bis 12,
dadurch gekennzeichnet,
dass als Reaktionsfunktion das Masterprogramm (16) einen Neustart des gesamten
Betriebssystems (15) der Recheneinheit durchführt.
14. Verfahren nach einem der Ansprüche 10 bis 13,
dadurch gekennzeichnet,
dass als Reaktionsfunktion das Masterprogramm (16) eine Fehlernachricht an eine
weitere Recheneinheit (11) sendet, die an die Recheneinheit (2) angeschlossen ist.
15. Verfahren nach einem der Ansprüche 10 bis 14,
dadurch gekennzeichnet,
dass als Reaktionsfunktion das Masterprogramm (16) ein Hinweisfenster auf einem
Bildschirm (6) erzeugt, wobei in dem Hinweisfenster ein Fehlerhinweis enthalten
ist.
16. Verfahren nach einem der Ansprüche 1 bis 15,
dadurch gekennzeichnet,
dass als Programm Anwendungsprogramme verwendet werden.
17. Druckmaschine (1) mit einer Recheneinheit (2) mit einem Speicher (3), wobei in
dem Speicher (3) Programme abgespeichert sind, die von der Recheneinheit (2)
abarbeitbar sind, und die ein Verfahren nach einem der Ansprüche 1 bis 19
darstellen.
18. Speichermedium (3) mit einem Programm, das von einer Recheneinheit (2) lesbar
und abarbeitbar ist, wobei das Programm ein Verfahren nach einem der
Ansprüche 1 bis 19 darstellt.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10211110A DE10211110A1 (de) | 2001-03-29 | 2002-03-14 | Verfahren zum Steuern eines Programmablaufs einer Recheneinheit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10115494 | 2001-03-29 | ||
DE10211110A DE10211110A1 (de) | 2001-03-29 | 2002-03-14 | Verfahren zum Steuern eines Programmablaufs einer Recheneinheit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10211110A1 true DE10211110A1 (de) | 2002-10-02 |
Family
ID=7679509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10211110A Ceased DE10211110A1 (de) | 2001-03-29 | 2002-03-14 | Verfahren zum Steuern eines Programmablaufs einer Recheneinheit |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10211110A1 (de) |
-
2002
- 2002-03-14 DE DE10211110A patent/DE10211110A1/de not_active Ceased
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2325708B1 (de) | Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem | |
DE69121937T2 (de) | Verfahren und Gerät zum teilweisen Lauf eines Sequenzprogramms zwecks Fehlersuche | |
EP3709166B1 (de) | Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten | |
DE102016204713A1 (de) | Ansteuervorrichtung | |
EP1479003A2 (de) | Verfahren und vorrichtung zur steuerung einer funktionseinheit eines kraftfahrzeugs | |
EP1400877A2 (de) | Regler und Verfahren zum Betreiben eines Reglers | |
EP2083339A1 (de) | Verfahren und Vorrichtung zur Ausführung von Tests mittels funktional kaskadierten Test- und Experimentiervorrichtungen | |
WO2021001376A1 (de) | Laufzeitserver zum gleichzeitigen ausführen mehrerer laufzeitsysteme einer automatisierungsanlage | |
WO2015124320A1 (de) | Dynamisches speicherprogrammierbares steuergerät zum emulieren eines steuergerätes | |
DE10211110A1 (de) | Verfahren zum Steuern eines Programmablaufs einer Recheneinheit | |
DE10039766B4 (de) | Verfahren zum Steuern von Betriebsparametern eines Fahrzeugs | |
EP1649373A2 (de) | Verfahren und vorrichtung zur berwachung eines verteilten s ystems | |
EP1179428B1 (de) | Verfahren und Vorrichtung zum Abarbeiten von Verfahrensschritten | |
WO2008064616A1 (de) | Verfahren und diagnosesystem zur diagnose eines technischen systems | |
EP1461701B1 (de) | Programmgesteuerte einheit mit überwachungseinrichtung | |
DE3853129T2 (de) | Direkte Kontrolleinrichtung für Multiprozessornetzwerk. | |
DE19946096A1 (de) | Steuergerät, insbesondere für ein Kraftfahrzeug | |
EP3430771A1 (de) | Maskierung des einflusses nichtunterstützter feldbuskommandos | |
WO2023135004A1 (de) | Verfahren zum überwachen eines elektronischen systems | |
DE112021007562T5 (de) | Steuervorrichtung und Steuerverfahren | |
EP4204969A1 (de) | Verfahren zur validierung eines neuen software-standes in einem redundanten system | |
WO2002003193A2 (de) | Elektronisches system zur entwicklung von software und ein verfahren zum zugriff auf interne daten der software | |
DE102019006412A1 (de) | Numerische steuerung | |
DE102017202199A1 (de) | Gerät und verfahren zur inbetriebnahme und/oder wartung einer gesteuerten maschine | |
EP1095321A2 (de) | Verfahren und anordnung zum entwurf einer steuerung für einen gesamtprozess |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R003 | Refusal decision now final | ||
R011 | All appeals rejected, refused or otherwise settled |