-
Die
Erfindung betrifft ein Verfahren und eine Einrichtung zur Überwachung
des Ablaufs eines Anwendungsprogramms auf einer Recheneinheit, insbesondere
eines Steuerprogramms auf einer Recheneinheit einer automatisierungstechnischen
Anlage.
-
Als
automatisierungstechnische Anlage werden zusammenfassend alle Komponenten
bezeichnet, die dazu dienen, den Ablauf beispielsweise eines Herstellungsprozesses
eines Produktes zu automatisieren. Mit Hilfe von Messumformern werden
Informationen über
den Prozess erfasst, die beispielsweise in einem Regler verarbeitet
werden, um ein Stellsignal zu erzeugen, mit welchem in den Prozessablauf
mit Hilfe eines Aktuators eingegriffen wird, um ein gewünschtes
Prozessverhalten zu erreichen. Die verschiedenen Komponenten der
automatisierungstechnischen Anlage, zum Beispiel Messumformer, Aktuatoren,
Automatisierungsgeräte,
Programmiergeräte,
Bedien- und Beobachtungsgeräte
und/oder Server, werden über
ein Netzwerk miteinander verbunden, das drahtgebundene und drahtlose
Datenübertragungsstrecken
enthalten kann. Weiter voneinander entfernte Einheiten können beispielsweise über das
Internet miteinander kommunizieren. Programme, welche in der Anlage
Steuerungs- und/oder Regelungsaufgaben übernehmen, laufen häufig auf den
Automatisierungsgeräten
ab. Mit der zunehmenden Verbreitung der so genannten PC-based Automation
wird die Steuer- und Regelungsaufgabe in automatisierungstechnischen
Anlagen auf Industrie-PCs verlagert. Beispielsweise ein Regler wird dann
durch ein Anwendungsprogramm, das auf der Recheneinheit des Industrie-PCs
abläuft,
realisiert. Zum sicheren Betrieb der automatisierungstechnischen
Anlage muss die Ablauffähigkeit
des Anwendungsprogramms gewährleistet
werden, denn eine hohe Verfügbarkeit
von Anwendungsprogrammen auf Industrie-PCs, das heißt eine
geringe Wahrscheinlichkeit eines ungewollten Programmstillstands,
ist eine wesentliche Forderung der Betreiber von automatisierungstechnischen
Anlagen. Jeder Stillstand eines Anwendungsprogramms auf einem Industrie-PC
könnte
nämlich
im schlimmsten Fall zu einem Stillstand des automatisierten Prozesses
führen,
der mit erheblichen Kosten verbunden wäre.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Einrichtung
zur Überwachung des
Ablaufs eines Anwendungsprogramms auf einer Recheneinheit zu schaffen,
das eine frühzeitige
Bereitstellung von Informationen über den Qualitätszustand
des ablaufenden Anwendungsprogramms ermöglicht.
-
Zur
Lösung
dieser Aufgabe weisen das neue Verfahren und die neue Einrichtung
der eingangs genannten Art die im kennzeichnenden Teil des Anspruchs
1 bzw. des Anspruchs 6 angegebenen Merkmale auf. In den abhängigen Ansprüchen sind
vorteilhafte Weiterbildungen beschrieben.
-
Die
Erfindung hat den Vorteil, dass eine prädiktive Instandhaltung von
Anwendungsprogrammen, die beispielsweise auf einem Personal Computer
ablaufen, und des Personal Computers selbst ermöglicht wird. Diese können gewartet
werden, bevor es zu einem Stillstand kommt. Dadurch werden erhebliche
Kosten, die beispielsweise in einer automatisierungstechnischen
Anlage mit einem Anlagenstillstand verbunden wären, vermieden. Ein Stillstand
eines Anwendungsprogramms wird angenommen, wenn dieses auf eine
Testnachricht nicht innerhalb einer vorgegebenen maximalen Zeitdauer
reagiert. Er kann beispielsweise eintreten, wenn das Anwendungsprogramm
bei seinem Ablauf auf irgendwelche Ereignisse wartet, die nicht
innerhalb der maximal zulässigen
Reaktionszeit eintreten oder wenn sich ein Anwendungsprogramm in
einer Schleife mit Berechnungen befindet, diese Schleife jedoch
nicht rechtzeitig verlässt.
Die Erfindung beruht auf der Erkenntnis, dass die Reaktionszeit
des überwachten
Anwendungsprogramms als wichtige Größe zur Beurteilung seines Qualitätszustands
herangezogen werden kann. Ursachen für ein nicht oder träge reagierendes Anwendungsprogramm
können
beispielsweise sein:
Hardwarefehler,
eine Ergänzung von
Prozessen mit hohem Bedarf an Rechenleistung auf derselben Recheneinheit,
eine
schlechte Verteilung der CPU-Zeit auf die einzelnen, ablaufenden
Prozesse, zum Beispiel wenn ein Prozess die CPU zu fast 100% beansprucht,
ein
gestörtes
Netzwerk oder Bussystem oder zu viele Busteilnehmer, da das Anwendungsprogramm
in diesem Fall lange bis zu einem möglichen Buszugriff warten muss,
eine
zu geringe, verfügbare
Rechenleistung, da zum Beispiel die Auslastung der CPU zu hoch,
die Idle-Time zu gering oder die Befehlsausführungszeit zu hoch ist,
ein
zu geringer verfügbarer
Hauptspeicher, da in diesem Fall die so genannte Swap-Datei, in
welche Programmteile oder Daten beim Umschalten der CPU auf eine
andere Anwendung ausgelagert werden, zu groß wird, und/oder
Datensatzreste,
die beim Gebrauch von Datenbanken beim Lesen und Schreiben der Datensätze entstehen.
-
Vielfältige Ursachen
können
somit zu einer Veränderung
der Reaktionszeit eines Anwendungsprogramms führen. Durch die Messung der
Reaktionszeit kann in vorteilhafter Weise eine Information über den
Qualitätszustand
eines ablaufenden Anwendungsprogramms frühzeitig vor einem möglichen Ausfall
gewonnen werden. In einer prädiktiven
Instandhaltung kann dann eine genauere Diagnose der Fehlerursache
vorgenommen werden. Zur Diagnose kann beispielsweise ein Hardwaretest
mit einem Speichertest durchgeführt
werden. Weiterhin kann die Zahl der ablaufenden Programme und/oder
die prozentuale Nutzung der Auslagerungsdatei, der so genannten
Swap-Datei, überprüft werden.
Bei einer nahezu 100%igen Nutzung der Swap-Datei ist von einer Überlastung der Recheneinheit,
auf welcher das Anwendungsprogramm abläuft, auszugehen. Je nach Ergebnis
der Fehlerursachenbestimmung können
die Fehler beispielsweise dadurch behoben werden, dass der Speicher
der Recheneinheit erweitert, eine schnellere CPU eingebaut und/oder
ein neuer, schnellerer Server eingesetzt wird. Zur leichten Durchführbarkeit
der Diagnose können
die ermittelten, gesammelten und evtl. aufbereiteten Messdaten dem
Anwender in einem Anwenderprogramm der Recheneinheit, einem Programmiergerät, einem
Diagnosegerät
und/oder einem Anzeigegerät
ausgegeben werden. Damit stehen dem Anwender auf einfache Art und
Weise und gegebenenfalls ohne zusätzliche Anzeigemittel detaillierte
Informationen über den
Qualitätszustand
des überwachten
Anwenderprogramms zur Verfügung.
Von einem Anwenderprogramm können
die Informationen über
den Qualitätszustand
des überwachten
Anwenderprogramms zusätzlich
an vorkonfigurierte Ziele, wie beispielsweise eine zentrale Überwachungsstelle
oder eine Service-Hotline, weitergeleitet werden. Im Service-Fall können die
detaillierten Informationen zudem direkt als Systemzustandsdaten
an ein Diagnosegerät
weitergereicht und dem Anwender, in diesem Fall dem Service-Personal, auf dem
Diagnosegerät
gemeldet und graphisch dargestellt werden.
-
Als
eine besonders erprobte und betriebssichere Windows-Betriebssystemfunktion
kann in vorteilhafter Weise die Testnachricht durch die Überwachungseinrichtung
als eine so genannte Null-Message an das zu überwachende Anwendungsprogramm
gesendet werden. Dieser Nachrichtentyp löst im Anwendungsprogramm neben
der Rücksendung einer
Quittungsnachricht keine zusätzlichen
Funktionen aus. Als eine erprobte Betriebssystemfunktion hat die
Null-Message den Vorteil, dass durch eine derart durchgeführte Reaktionszeitmessung
keinerlei Gefährdung
des Betriebs der Recheneinheit, auf welcher das Anwen dungsprogramm
abläuft,
insbesondere des Betriebs einer automatisierungstechnischen Anlage,
in welcher die Recheneinheit mit dem Anwendungsprogramm eingesetzt
wird, entsteht. Eine Null-Message ist den Nachrichten ähnlich,
die durch das Betriebssystem zur Weiterleitung von Bedieneingaben,
die beispielsweise über
eine Tastatur erfolgen können,
an das Anwendungsprogramm gesendet werden.
-
Eine
Trendanalyse anhand mehrerer, zeitlich aufeinander folgend gemessener
Reaktionszeiten hat den Vorteil, dass bei Erkennen von Veränderungen
frühzeitige
Abhilfemaßnahmen
ergriffen werden können,
bevor diese zu einem Stillstand eines Anwendungsprogramms und damit
evtl. zu einem Anlagenstillstand führen.
-
Die Überwachungseinrichtung
kann durch ein Softwarewerkzeug realisiert werden, das auf derselben
Recheneinheit installiert ist, auf welcher das zu überwachende
Programm abläuft.
Das hat den Vorteil, dass die Überwachungseinrichtung
eine unabhängige
Instanz darstellt und keine Eingriffe in das zu überwachende Anwendungsprogramm
notwendig sind. Ein weiterer Vorteil besteht darin, dass keine zusätzliche
Kommunikationsverbindung, beispielsweise über ein Netzwerk, im Weg der
Testnachricht liegt und dass somit die Messung der Reaktionszeit
nicht durch Übertragungszeiten,
die durch diese Kommunikationsverbindung entstehen könnten, verfälscht wird.
Die Reaktionszeit wird in vorteilhafter Weise wesentlich durch das
zu überwachende
Anwendungsprogramm verursacht.
-
Eine
bessere manuelle Beurteilung von Fehlern durch einen Bediener wird
in vorteilhafter Weise ermöglicht,
wenn die Ausgabe von Messwerten der Reaktionszeit durch eine Anzeigeeinheit
erfolgt, auf welcher Zeitverläufe
der Messwerte graphisch visualisiert werden. Beispielsweise bei
wiederkehrenden Erhöhungen
der Reaktionszeiten können
leichter Zusammenhänge
mit anderen wiederkehrenden Ereignissen im Betriebsumfeld erkannt
werden. Zum Beispiel eine gesteigerte Netzauslastung in einer automatisierungstechnischen
Anlage zu bestimmten Tageszeiten, insbesondere wenn am Morgen viele
Benutzer ihren Personal Computer einschalten und sich im Netz anmelden,
kann zu einer zyklischen Erhöhung
der Reaktionszeit führen.
-
Die
ermittelten Messwerte der Reaktionszeiten auf einem von der Recheneinheit
mit dem zu überwachenden
Anwendungsprogramm entfernten Personal Computer zur Verfügung zu
stellen hat den Vorteil, dass das Anwendungsprogramm im Netzwerk
von der Ferne aus überwacht
werden kann. Beispielsweise können
von Clients aus, die in einer Leitwarte angeordnet sind, prozessnahe
Daten-Server überwacht
werden.
-
Anhand
der Zeichnungen, in denen ein Ausführungsbeispiel der Erfindung
dargestellt ist, werden im Folgenden die Erfindung sowie Ausgestaltungen und
Vorteile näher
erläutert.
-
Es
zeigen:
-
1 eine
Struktur einer automatisierungstechnischen Anlage,
-
2 ein
Blockschaltbild zusammenwirkender Programme auf einer Recheneinheit
und
-
3 ein
Blockschaltbild mit zwei Recheneinheiten.
-
In
den Zeichnungen sind gleiche Teile mit gleichen Bezugszeichen versehen.
-
Gemäß der in 1 beispielhaft
dargestellten Struktur einer automatisierungstechnischen Anlage 1 sind
in einer obersten Hierarchieebene zwei Bedien- und Beobachtungsstationen 100 und 101 angeordnet,
die häufig
auch als Operator-Stationen bezeichnet werden. In derselben Ebene
befindet sich eine Station 102 für höhere Regelungsverfahren, die auch
Advanced-Process-Control-Station genannt und als Personal Com puter
ausgeführt
werden kann. Algorithmen für
höhere
Regelungsverfahren laufen häufig
als spezielle Anwendungsprogramme, beispielsweise als ein Anwendungsprogramm 122,
unter dem Betriebssystem eines Personal Computers. Die Stationen 100, 101 und 102 sind über einen
Terminalbus 10 mit einer Ebene von Servern 200, 201 und 202 verbunden.
Aufgabe der Server 200...202 ist das Sammeln, Verfügbarmachen
und Archivieren der Prozessdaten für die darüber liegende Ebene der Bedien- und Beobachtungsstationen 100 und 101,
die hier um die Station 102 für höhere Regelungsverfahren ergänzt ist.
Dazu sind die Server 200...202 über einen Anlagenbus 20 mit
einer Ebene von Automatisierungsgeräten 300, 301 und 302 verbunden.
Auf den Automatisierungsgeräten 300...302 laufen
die Programme, welche über
in 1 nicht näher
dargestellte Sensoren und Aktuatoren einen mit der automatisierungstechnischen
Anlage 1 automatisierten, ebenfalls der Übersichtlichkeit
wegen in der 1 nicht dargestellten Prozess
steuern und/oder regeln. Für
eine so genannte PC-based Automation, das heißt einer Automatisierung, bei
welcher die Programme zur Steuerung und/oder Regelung unter einem
Betriebssystem eines Personal Computers ablaufen, wird ein Industrie-PC 303,
das heißt
ein Personal Computer, der für
raue Industrieumgebung ausgelegt ist, für Steuer- und Regelungsaufgaben eingesetzt.
Dieser Industrie-PC 303 ist ebenfalls an den Anlagenbus 20 angeschlossen.
Für die
Steuer- und Regelungsaufgaben läuft
beispielsweise unter dem Betriebssystem Windows auf dem Personal Computer 303 ein
Anwendungsprogramm 323 ab. Eine Überwachungseinrichtung 313,
welche den Ablauf des Anwendungsprogramms 323 überwacht, wird
durch ein gesondertes Programm realisiert, welches ebenfalls unter
dem Betriebssystem des Industrie-PCs 303 abläuft. Entsprechende Überwachungseinrichtungen 110, 111, 112, 210, 211 und 212 sind auf
der Station 100, der Station 101, der Station 102, dem
Server 200, dem Server 201 bzw. dem Server 202 zur Überwachung
dort ablaufender Anwendungsprogramme installiert. Auf der Station 102 für Advanced-Process-Control
läuft beispielsweise
ein Anwendungsprogramm 122 zur Mehrgrößenregelung ab, das durch die Über wachungseinrichtung 112 überwacht
wird. Ergebnisse der Überwachungen können auf
einer Anzeigeeinheit 130 ausgegeben werden.
-
Anhand 2 wird
die Funktionsweise der Überwachung
am Beispiel des Anwendungsprogramms 323 und der Überwachungseinrichtung 313 des
Industrie-PC 303 näher
erläutert.
Auf ähnliche Weise
wie Benutzereingaben durch Nachrichten an das Anwendungsprogramm 323 geleitet
werden, sendet die Überwachungseinrichtung 313 zu
Beginn einer Messung einer Reaktionszeit eine Null-Message 30 als
Testnachricht an das zu überwachende Anwendungsprogramm 323.
Diese Null-Message 30 ist im Betriebssystem Windows als
eine Nachricht vorgesehen, welche in dem Empfangsprogramm außer einer
Quittungsnachricht keinerlei weitere Aktionen hervorruft. Entsprechend
wird der Empfang der Null-Message 30 durch das zu überwachende
Anwendungsprogramm 323 mit einer Quittungsnachricht 40 beantwortet,
welche diese an die Überwachungseinrichtung 313 sendet.
Durch eine Zeitmesseinheit 363 wird die Zeitdifferenz zwischen
Senden der Null-Message 30 und Empfang der Quittungsnachricht 40 gemessen.
Die Zeitdifferenz entspricht der durch die Überwachungseinrichtung 313 gemessenen
Reaktionszeit des zu überwachenden
Anwendungsprogramms 323. Zur ständigen Überwachung des Anwendungsprogramms
wird seine Reaktionszeit zyklisch in vorgegebenen Abständen wiederholt gemessen.
Nach einiger Zeit liegt somit eine Reihe von Messwerten vor, die
einer weiteren Verarbeitung, insbesondere einer Trendanalyse, unterzogen
wird. Anhand der Trendanalyse kann beispielsweise bestimmt werden,
wann erwartungsgemäß ein vorgegebener
Grenzwert durch die dann gemessene Reaktionszeit überschritten
werden wird. Bereits ein langsames Ansteigen der Reaktionszeit deutet
auf einen Fehlerzustand beim Ablauf des Anwendungsprogramms 323 hin,
dessen Ursache gegebenenfalls durch eine genauere Diagnose festgestellt
werden kann. Auf einer Anzeigeeinheit 373 des Industrie-PC 303 werden
Zeitverläufe
von gemessenen Reaktionszeiten zur Ermöglichung einer manuellen, visuellen
Beurteilung durch einen Benutzer graphisch dargestellt. Dadurch
können
beispielsweise wiederkehrende Überhöhungen der
Reaktionszeit in einfacher Weise erkannt und mit ähnlich wiederkehrenden
Ereignissen im Umfeld des Anwendungsprogramms 323 in Verbindung
gebracht werden, um die Fehlerursache zu diagnostizieren.
-
In
einer Weiterbildung gemäß 3 werden durch
die Überwachungseinrichtung 313 neben
dem Anwendungsprogramm 323 noch drei weitere Anwendungsprogramme 333, 343 und 353 auf
analoge Weise durch Messen der Reaktionszeit auf eine Null-Message überwacht.
Dadurch ist ein Vergleich der Reaktionszeiten gleichartiger Anwendungsprogramme
möglich,
der weitere Rückschlüsse auf
die Fehlerursache zulässt.
Wenn sich beispielsweise die Reaktionszeiten aller Anwendungsprogramme
in ähnlicher
Weise verändern,
lässt dies
darauf schließen,
dass die Fehlerursache im Umfeld der Anwendungsprogramme zu vermuten
ist. Eine individuelle Veränderung
der Reaktionszeit lediglich eines Anwendungsprogramms wird mit großer Wahrscheinlichkeit
durch das betroffene Anwendungsprogramm selbst verursacht.
-
Als
weitere Ausgestaltung des Verfahrens werden die Ergebniswerte der
Reaktionszeitmessungen, die durch die Überwachungseinrichtung 313 durchgeführt werden, über eine
Netzwerkverbindung 50, die über die hier nicht mehr dargestellten
Server 200...202 führt,
an die Bedien- und Beobachtungsstation 100 weitergereicht.
Die ermittelten Reaktionszeiten, die Qualitätsmerkmale der überwachten
Anwendungsprogramme 323, 333, 343 und 353 darstellen,
bieten einem Benutzer die Möglichkeit,
Informationen über
die Qualität
der automatisierungstechnischen Anlage 1 und insbesondere
der überwachten Anwendungsprogramme
zu erhalten. Diese Informationen können dem Benutzer durch ein
Auswerte- und Anzeigeprogramm auf einer Anzeigeeinheit 130 der
Station 100, die entfernt vom Industrie-PC 303 angeordnet
ist, zur Verfügung
gestellt werden. Wird ein Fehlerzustand auf diese Weise einem Benutzer gemeldet,
können
im Sinne einer prädiktiven
Instandhaltung früh zeitig
geeignete Maßnahmen
zur Fehlerbehebung eingeleitet werden. Damit kann eine hohe Verfügbarkeit
der Anwendungsprogramme 323, 333, 343 und 353 auf
dem Industrie-PC 303 erreicht werden.
-
In
derselben Weise, wie es anhand des in 3 dargestellten
Beispiels mit der Netzwerkverbindung 50 beschrieben wurde,
können
selbstverständlich
auch die übrigen Überwachungseinrichtungen 111, 112, 210, 211 und/oder 212 mit
der Anzeigeeinheit 130 der Station 100 in Verbindung
stehen. Auf diese Weise können
von der Station 100 als Client, der in einer Leitwarte
angeordnet ist, Datenserver, beispielsweise einer oder mehrere der
Server 200, 201 und 202, die sich nahe
bei einem Prozess befinden, überwacht
werden.