-
Die
Erfindung betrifft ein Datenverarbeitungssystem mit einer Anzahl
von Modulen.
-
In
großen
Industrieanlagen wie Kraftwerken oder anderen technischen Anlagen
mit einem hohen Grad der Automatisierung werden heute üblicherweise
Leittechniksysteme eingesetzt. Sie dienen dazu, den überwiegend
automatisch ablaufenden Prozess zu überwachen, auf verschiedene
Art und Weise darzustellen, zu steuern und zu regeln und bilden
somit die Schnittstelle zwischen Mensch und Industrieprozess.
-
In
der Regel besteht ein Leittechniksystem aus Software und Hardware
auf unterschiedlichen Prozessebenen. Auf der Feldebene werden Messwerte
mittels Sensoren der Feldgeräte
aufgenommen. Die Messwerte werden anschließend in der Automatisierungsebene
in Signalverarbeitungsanlagen weiterverarbeitet und diese üblicherweise über ein Bussystem
am Großrechner
wie beispielsweise einen Applikationsserver und Automatisierungsserver weitergegeben,
wo die derart anfallenden Daten für die oberste Ebene mit ihren
Bedien- und Benutzerapplikationen aufbereitet werden.
-
Insbesondere
auf der Applikationsebene kommen dabei komplexe Softwaresysteme
zum Einsatz, welche sich aus einer Vielzahl von verschiedenen Komponenten
oder Diensten zusammensetzen, die über definierte Schnittstellen
miteinander per Nachrichtenaustausch kommunizieren. Um eine hohe
Skalierbarkeit des Gesamtsystems zu erreichen, können die Komponenten transparent
auf verschiedene Rechner verteilt werden. Hierbei kommen heute in
zunehmendem Maße
auch kommerziell verfügbare
Softwarekomponenten zum Einsatz oder die Entwicklung einer Komponente
wird nicht vom Anlagenbetreiber selbst, sondern extern durchgeführt.
-
Bei
der Integration der verschiedenen Softwarekomponenten oder Module
werden dann so genannte Compliance-Tests durchgeführt, die
die Funktionalität
und Stabilität
der einzelnen modularen Komponenten und des Gesamtsystems gewährleisten
sollen. Hierbei wird die Reaktion des Systems bzw. der einzelnen
Komponenten basierend auf spezifischen Testfällen geprüft.
-
Problematisch
hierbei ist, dass zum einen keine komplette Abdeckung aller möglichen
Szenarien möglich
ist, zum anderen ein etwaiges Fehlverhalten der beteiligten Komponenten
unter realen Bedingungen nie vollständig vorhersagbar ist. Daher
kann es durch die Fehlfunktion einer Komponente trotz umfangreicher
Tests im Vorfeld im Betrieb zu Instabilitäten des Gesamtsystems kommen.
Derartige Störungen
können
dann eventuell auch Teile des Systems beeinträchtigen, die nicht direkt mit
der fehlerhaften Komponente in Verbindung stehen oder von deren
korrekten Funktionalität
abhängen.
So könnte beispielsweise
eine Komponente bedingt durch einen Softwarefehler eine andere zentrale
Serverkomponente durch zu viele Serviceaufrufe und damit einer zu
hohen Last blockieren. Dies könnte
schlimmstenfalls einen Ausfall der gesamten Industrieanlage zur
Folge haben.
-
Der
Erfindung liegt daher die Aufgabe zugrunde, ein Datenverarbeitungssystem
anzugeben, welches bei einem Einsatz in einem Leittechniksystem
einen besonders sicheren und zuverlässigen Betrieb einer technischen
Anlage wie beispielsweise eines Kraftwerks gewährleistet.
-
Diese
Aufgabe wird erfindungsgemäß gelöst, indem
einer Datenschnittstelle eines Moduls datenseitig ein dem Modul
zugeordnetes Kontrollmodul vorgeschaltet ist, wobei das Kontrollmodul
für eine Prüfung einer
Anzahl von Parametern der ein- und/oder
ausgehenden Daten des Moduls auf Erfüllung vorgegebener Kriterien
ausgelegt ist.
-
Die
Erfindung geht dabei von der Überlegung aus,
dass ein besonders sicherer und zuverlässiger Betrieb einer Industrieanlage
möglich
wäre, wenn
die Funktionalität
und Stabilität
des dem Leittechniksystem zugrunde liegenden Datenverarbeitungssystems gewährleistet
werden könnte.
Dies wäre
durch eine permanente Überprüfung der
zwischen den Softwaremodulen ausgetauschten Daten im laufenden Betrieb
des Datenverarbeitungssystems möglich. Dabei
sollte dies jedoch auch bei extern entwickelten oder zugekauften
Softwarekomponenten möglich sein,
d. h. ohne Modifizierung der vorhandenen Softwaremodule durchgeführt werden
können.
Dies ist erreichbar, indem einem oder jedem Modul ein Kontrollmodul
zugeordnet wird, das sämtliche
Aufrufe an das Modul entgegennimmt. Das Kontrollmodul prüft, ob der
Zugriff den zugesicherten Kriterien entspricht. Analog kann das
vom Modul zurückgelieferte
Ergebnis auf bestimmte Kriterien hin überprüft werden.
-
In
vorteilhafter Ausgestaltung ist eine Anzahl von Modulen und/oder
Kontrollmodulen als Softwaremodule ausgelegt. Dies bedeutet, dass
der Einsatz der Kontrollmodule auf Applikationsebene erfolgt. Eine
derartige Konfiguration kann in einem Java-basierten System effizient
implementiert werden. Hierzu ist insbesondere keine Änderung
der zugrunde liegenden Softwarekomponenten erforderlich, die komplette
Managementfunktionalität
wird in einer universellen Proxyklasse hinterlegt. Ein Clientmodul
erhält anstatt
einer Referenz auf das ursprüngliche
Servicemodul eine Referenz auf das dem Servicemodul zugeordnete
Kontrollmodul.
-
In
weiterer vorteilhafter Ausgestaltung ist das jeweilige Kontrollmodul
für die
Ausführung
einer anhand des Ergebnisses der Prüfung ausgewählten Reaktion ausgelegt. Durch
eine derartige vorgegebene ausgewählte Reaktion je nach Ergebnis
der Prüfung
der verschiedenen Kriterien ist eine spezifische Anpassung exakt
an die Erfordernisse des jeweils erkannten Fehlers möglich.
-
Vorteilhafterweise
entsprechen die Betriebsparameter einer Datenschnittstelle des Kontrollmoduls
denen der Datenschnittstelle des ihm zugeordneten Moduls. In einer
derartigen Konfiguration wird das Kontrollmodul vollkommen transparent
für das aufrufende
Clientmodul. Das Kontrollmodul stellt dann nämlich nach außen dieselbe
Schnittstelle zur Verfügung
wie das ihm zugeordnete Servicemodul selbst. Für das Clientmodul ist also
nicht mehr erkennbar, dass es in Wirklichkeit mit dem Kontrollmodul
kommuniziert und nicht mit dem angesprochenen Servicemodul selbst.
Dadurch wird eine Modifikation oder Anpassung des Clientmoduls in
Folge der neuen Architektur unnötig
und der Einsatz eines Kontrollmoduls wird erheblich vereinfacht.
-
Das
Kontrollmodul kann eine Vielzahl von Parametern der ein- und ausgehenden
Daten des ihm zugeordneten Moduls prüfen: Vorteilhafterweise umfassen
die Parameter der Prüfung
die Anzahl der Datenaufrufe in einem vorgegebenen Zeitintervall. Dabei
wird als Kriterium eine maximale Anzahl von Datenaufrufen vorgegeben,
um eine übermäßige Belastung
des dem Kontrollmodul zugeordneten Moduls durch zu viele Datenaufrufe
zu vermeiden.
-
In
weiterer vorteilhafter Ausgestaltung umfassen die Parameter der
Prüfung
die Größe der übergebenen
Datenobjekte mit einer maximalen Größe als zu erfüllendem
Kriterium. Auf diese Weise kann eine Überlastung des Speichers des
zugeordneten Moduls durch eine zu große Datenmenge erkannt werden.
-
Sollten
bei der Prüfung
der Parameter durch das Kontrollmodul sämtliche Kriterien erfüllt sein,
leitet das jeweilige Kontrollmodul in vorteilhafter Weise die ein-
und/oder ausgehenden Daten unverändert weiter.
Somit bleibt bei einer Erfüllung
der Kriterien das Kontrollmodul vollkommen durchgängig und
behindert in keiner Weise den Datenverkehr im Datenverarbeitungssystem.
-
Insbesondere
bei einer Nichterfüllung
von Kriterien kann eine Vielzahl von Reaktionen des Kontrollmoduls
erfolgen: Vorteilhafterweise erfolgt eine Protokollierung, so dass
eine spätere
Auswertung der aufgetretenen Nichterfüllung möglich wird und eine entsprechende
Anpassung und Verbesserung des Datenverarbeitungssystems durchgeführt werden
kann.
-
Vorteilhafterweise
kann auch eine Verzögerung
der ein- und/oder ausgehenden Daten um eine vorgegebene Zeit durch
das jeweilige Kontrollmodul erfolgen. Insbesondere bei einer Überlastung
des dem Kontrollmodul zugeordneten Moduls durch eine zu große Anzahl
von Datenaufrufen in einem vorgegebenen Zeitintervall kann durch
eine derartige Verzögerung
ohne Datenverlust eine Überbeanspruchung
des zugeordneten Moduls vermieden werden. Trotz einer zu großen Anzahl
von Datenaufrufen wird ein sicherer Betrieb des Datenverarbeitungssystems durch
die Verzögerung
durch das Kontrollmodul gewährleistet.
-
In
weiterer vorteilhafter Ausgestaltung kann als Reaktion auch eine
Fehlermeldung an das die Daten sendende und/oder empfangende Modul
erfolgen. Dadurch können
die betreffenden Module erkennen, dass ein Fehler bei der Datenübertragung aufgetreten
ist und ihrerseits entsprechende Reaktionen durchführen, wie
beispielsweise ein erneutes Senden der Daten. Auch hierdurch kann
die Betriebssicherheit des Datenverarbeitungssystems und des jeweils
gesteuerten Prozesses gewährleistet
werden.
-
Vorteilhafterweise
umfassen die ein- oder ausgehenden Daten jeweils eine Prioritätsinformation
und das Kontrollmodul steuert die Weiterleitung der Daten anhand
der Prioritätsinformation.
Dies bedeutet, dass nicht nur Clientmodul-spezifische Überprüfungen durchgeführt werden,
sondern auch komplexere, übergreifende
Kriterien für
die Verwaltung der Datenzugriffe in Betracht gezogen werden. So können die
Aufrufe verschiedener Module an ein bestimmtes Servicemodul bzgl.
vorgegebener Prioritäten
entsprechend behandelt werden. In einem Leittechniksystem können hiermit
Aufrufe, die für
das Bedienen und Beobachten erforderlich sind, mit einer höheren Priorität abgearbeitet
werden als Aufrufe, die der Projektierung zugeordnet sind. Hiermit
kann eine Beeinträchtigung
des Betriebes der technischen Anlage durch Projektierungsaktionen
minimiert werden. Aufrufe von Clientmodulen mit gleichen Prioritäten können mit
dem beschriebenen Mechanismus gleichmäßiger verteilt werden. Für hochkomplexe Anwendungen
kann darüber
hinaus das Zugriffsmanagement adaptiv aufgrund des aktuellen Gesamtsystemzustandes
angepasst werden.
-
Die
mit der Erfindung verbundenen Vorteile bestehen insbesondere darin,
dass durch die datenseitige Vorschaltung eines dem Modul zugeordneten Kontrollmoduls,
wobei das Kontrollmodul für
eine Prüfung
eine Anzahl von Parametern der ein- und/oder ausgehenden Daten des Moduls
auf Erfüllung
vorgegebener Kriterien ausgelegt ist, die Stabilität eines
Datenverarbeitungssystems drastisch gesteigert werden kann. So kann
beispielsweise eine durch die Fehlfunktion einer bestimmten Komponente
ausgelöste Überlast
lokalisiert und isoliert werden, ohne dass auch andere Systemkomponenten
in Mitleidenschaft gezogen werden. Ferner können durch die Prioritätenvergabe
vorrangige Aufgaben bevorzugt im System bearbeitet werden. Darüber hinaus kann
in Langzeittests und unter realen Bedingungen die Konformität von einzelnen
Komponenten validiert werden, ohne dass hierfür manuelle Tests im Vorfeld erforderlich
sind.
-
Ein
Ausführungsbeispiel
der Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigt die Figur
ein Datenverarbeitungssystem mit einer Anzahl von Modulen.
-
Das
Datenverarbeitungssystem 1 gemäß der FIG umfasst ein Clientmodul 2,
welches beispielsweise eine Applikation sein kann, sowie ein auf
einem Server 4 befindliches Servicemodul 6. Das
Clientmodul 2 sendet nun entweder direkt oder über ein
Servicefactorymodul 8 Datenanfragen an das Servicemodul 6.
-
Um
die Daten auf Erfüllung
vorgegebener Kriterien überprüfen zu können und
um einen störungsfreien
Betrieb des Datenverarbeitungssystems 1 zu gewährleisten,
ist dem Servicemodul 6 ein Kontrollmodul 10 datenseitig
vorgeschaltet. Das Kontrollmodul 10 kann während des
Betriebs der Datenverarbeitungseinrichtung 1 die ein- und
ausgehenden Daten hinsichtlich ihrer Parameter auf Erfüllung vorgegebener
Kriterien überprüfen.
-
Dabei
kann abhängig
vom Ergebnis der Prüfung
eine entsprechend ausgewählte
Reaktion erfolgen. Entsprechen die Parameter der ein- und ausgehenden
Daten den Kriterien, so wird der Datenfluss ungehindert weitergeleitet.
Dabei ist dieser Vorgang für
das Clientmodul 2 und das Servicemodul 6 vollkommen
transparent, da das Kontrollmodul 10 dieselbe Schnittstelle
zur Verfügung
stellt wie das Servicemodul 6. Es findet also durch die
Prüfung
keine Beeinträchtigung
des laufenden Betriebs der Datenverarbeitungseinrichtung 1 statt.
-
Sollten
die überprüften Parameter
nicht den vorgegebenen Kriterien entsprechen, kann beispielsweise
eine Protokollierung dieser Tatsache erfolgen, um bei einer späteren Analyse
entsprechende Daten zur Verfügung
zu stellen. Sollte eine zu große
Anzahl von Datenaufrufen in einem vorgegebenen Zeitintervall vom
Clientmodul 2 oder weiteren ähnlichen Clientmodulen 2 an
das Servicemodul 6 erfolgen, kann eine Verzögerung der
ein- und/oder ausgehenden Daten um eine vorgegebene Zeit erfolgen.
Somit wird trotz der zu hohen Anzahl von Datenaufrufen ein sicherer
Betrieb der Datenverarbeitungsanlage 1 gewährleistet.
-
Sollten
die übergebenen
Datenobjekte beispielsweise zu groß sein, so dass der Speicher
des Servicemoduls 6 überlastet
wird, kann eine Fehlermeldung an das datensendende Clientmodul 2 ausgegeben
werden. Dort kann eine entsprechende Reaktion erfolgen, beispielsweise
könnte
eine entsprechende Fehlermeldung an den Benutzer des Clientmoduls 2 erfolgen.
-
Weiterhin
kann das Kontrollmodul 10 die eingehenden Daten von einer
nicht näher
gezeigten Vielzahl von Clientmodulen 2 nach ihrer Priorität sortieren.
So können
beispielsweise Aufrufe, die für
das Bedienen und Beobachten des durch das Datenverarbeitungssystem 1 gesteuerten
Prozesses unabdingbar sind, mit einer höheren Priorität behandelt werden,
als Aufrufe, die der Projektierung und Datenerfassung zugeordnet
sind. Somit können
die letztgenannte Aufrufe den Betrieb der Datenverarbeitungseinrichtung 1 nicht
behindern.
-
Insgesamt
ermöglicht
die mit einem Kontrollmodul 10 ausgestattete Datenverarbeitungsanlage 1 einen
wesentlich sichereren und zuverlässigeren
Betrieb der durch die Datenverarbeitungsanlage 1 gesteuerten
technischen Anlage.