DE10211110A1 - Verfahren zum Steuern eines Programmablaufs einer Recheneinheit - Google Patents

Verfahren zum Steuern eines Programmablaufs einer Recheneinheit

Info

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
Application number
DE10211110A
Other languages
English (en)
Inventor
Thomas Schilf
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.)
Heidelberger Druckmaschinen AG
Original Assignee
Heidelberger Druckmaschinen AG
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 Heidelberger Druckmaschinen AG filed Critical Heidelberger Druckmaschinen AG
Priority to DE10211110A priority Critical patent/DE10211110A1/de
Publication of DE10211110A1 publication Critical patent/DE10211110A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error 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.
Bezugszeichenliste
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.
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.
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.
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.
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.
DE10211110A 2001-03-29 2002-03-14 Verfahren zum Steuern eines Programmablaufs einer Recheneinheit Ceased DE10211110A1 (de)

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)

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