Beschreibung
Verfahren zum Betrieb eines Energieautomatisierungssystems und EnergieautomatisierungsSystem
Die Erfindung betrifft ein Verfahren zum Betrieb eines Ener¬ gieautomatisierungssystems, das zur Steuerung und/oder Über¬ wachung eines elektrischen Energieversorgungsnetzes einge¬ richtet ist, wobei das Energieautomatisierungssystem eine lo- kale Datenverarbeitungseinrichtung aufweist, die zumindest ein Programm umfasst, das bei seiner Ausführung Funktionen zur Steuerung und/oder Überwachung des Energieversorgungsnet¬ zes bereitstellt, die lokale Datenverarbeitungseinrichtung über erste Kommunikationsmittel mit einer Mehrzahl von Auto- matisierungsgeräten in Verbindung steht, die zur Erfassung von einen Betriebszustand des Energieversorgungsnetzes be¬ schreibenden Betriebsdaten und/oder zur Erzeugung bzw. Übermittlung von zur Steuerung des Energieversorgungsnetzes ge¬ eigneten Steuerdaten eingerichtet sind, und die lokale Daten- Verarbeitungseinrichtung über zweite Kommunikationsmittel mit zumindest einem entfernten Datenspeicher in Verbindung steht, auf dem zumindest eine Programmkomponente gespeichert ist, die zur Ausführung des zumindest einen Programms benötigt wird .
Entsprechende Energieautomatisierungssysteme werden von der Anmelderin beispielsweise unter dem Produktnamen „Spectrum Power CC" angeboten. Hierbei handelt es sich um Software- und Hardwarekomponenten für den Einsatz in Netzleitstellen zum Steuern und/oder Überwachen elektrischer Energieversorgungs¬ netze. Ein bekanntes Energieautomatisierungssystem weist zu¬ mindest eine lokale Datenverarbeitungseinrichtung auf, die einem Benutzer unter Ausführung eines oder mehrerer Datenver¬ arbeitungsprogramme (im Folgenden „Programme") Funktionen zur
Steuerung und/oder Überwachung des elektrischen Energieversorgungsnetzes bereitstellt. Dazu können über die lokale Da¬ tenverarbeitungseinrichtung Benutzereingaben über entspre¬ chende Eingabemittel (z. B. Maus, Tastatur, berührungsemp- findliche Bildschirme) empfangen werden, während über geeig¬ nete Ausgabemittel, wie beispielsweise Displays, Monitore oder Projektionsflächen, Informationen über den Zustand des elektrischen Energieversorgungsnetzes an den Benutzer vermit¬ telt werden. Die fraglichen von der lokalen Datenverarbei- tungseinrichtung ausgeführten Programme dienen hierbei beispielsweise dazu, Einstellungen und Konfigurationen vorzuneh¬ men, Simulationen und/oder Prognosen durchzuführen sowie Auswertungen momentaner oder vergangener Betriebszustände des elektrischen Energieversorgungsnetzes vorzunehmen. Außerdem werden zur Betriebsführung aktuelle den Betriebszustand des elektrischen Energieversorgungsnetzes charakterisierende Grö¬ ßen (z.B. Strom- und Spannungsverläufe) angezeigt. Der Benut¬ zer kann zudem Steuerhandlungen zur Beeinflussung von Primärkomponenten des elektrischen Energieversorgungsnetzes vorneh- men. Neben diesen lediglich beispielhaft aufgeführten Funkti¬ onen können von den Programmen auch beliebige weitere Steuer- und/oder Überwachungsfunktionen bereitgestellt werden.
Üblicherweise besteht ein Energieautomatisierungssystem nicht aus einer einzelnen Datenverarbeitungseinrichtung, sondern aus mehreren miteinander verbundenen Komponenten, bei denen es sich beispielsweise um lokal und entfernt angeordnete Da¬ tenverarbeitungseinrichtungen sowie Datenspeicher handeln kann. Während die lokalen Datenverarbeitungseinrichtungen bzw. Datenspeicher in unmittelbarer Nähe zueinander - biswei¬ len sogar in ein- und demselben Gehäuse - angeordnet sind, können zwischen lokalen und entfernten Datenverarbeitungseinrichtungen bzw. Datenspeichern oft größere räumliche Entfernungen liegen; dies trifft beispielsweise dann zu, wenn die
entfernten Datenverarbeitungseinrichtungen bzw. Datenspeicher in räumlich entfernten Leitstellen, Schaltstationen oder Re¬ chenzentren angeordnet sind. Oftmals kann es vorkommen, dass zur Ausführung eines Pro¬ gramms auf einer lokalen Datenverarbeitungseinrichtung des Energieautomatisierungssystems Programmkomponenten benötigt werden, die auf räumlich entfernten Datenspeichern gespei¬ chert sind. Bei solchen Programmkomponenten kann es sich bei- spielsweise um Bibliotheksdateien, momentane und abgespei¬ cherte Messwertverläufe, Datenarchive von Messwerten, Steuer¬ eingaben und/oder ergangene Meldungen handeln, die bisweilen große Datenmengen umfassen. Zum Start eines Programms auf der lokalen Datenverarbeitungseinrichtung mussten bisher zunächst alle in den entfernten Datenspeichern vorgehaltenen Programmkomponenten über die zweiten Kommunikationsmittel von den entfernten Datenspeichern an die lokale Datenverarbeitungs¬ einrichtung übertragen und dort während der Startphase des Programms z.B. in einen Arbeitsspeicher der lokalen Datenver- arbeitungseinrichtung geladen werden, um das Programm unter Verwendung der Programmkomponenten auszuführen. Insbesondere der Übertragungsvorgang der einzelnen Programmkomponenten zur lokalen Datenverarbeitungseinrichtung kann hierbei eine vergleichsweise lange Zeit in Anspruch nehmen und so den Start- Vorgang des Programms deutlich verzögern.
Der Erfindung liegt daher die Aufgabe zu Grunde, ein Verfah¬ ren zum Betrieb eines Energieautomatisierungssystems der ein¬ gangs genannten Art anzugeben, bei dem die Zeitdauer der Startphase eines Programms auf der lokalen Datenverarbei¬ tungseinrichtung verkürzt werden kann. Ebenso soll ein ent¬ sprechendes Energieautomatisierungssystem angegeben werden.
Zur Lösung der Aufgabe hinsichtlich des Verfahrens wird ein Verfahren der oben angegebenen Art vorgeschlagen, bei dem in einem der lokalen Datenverarbeitungseinrichtung zugeordneten lokalen Datenspeicher eine Kopie der zur Ausführung des zu¬ mindest einen Programms benötigten zumindest einen Programmkomponente vorgehalten wird, die lokale Datenverarbeitungs¬ einrichtung beim Starten der Ausführung des zumindest einen Programms überprüft, ob die in dem lokalen Datenspeicher vorhandene Kopie der zumindest einen Programmkomponente mit der auf dem entfernten Datenspeicher gespeicherten Programmkompo¬ nente übereinstimmt, wobei die Datenverarbeitungseinrichtung bei Übereinstimmung das zumindest eine Programm unter Verwen¬ dung der zumindest einen Kopie der Programmkomponente aus¬ führt und bei fehlender Übereinstimmung die zumindest eine Programmkomponente von dem zumindest einen entfernten Datenspeicher abruft und das zumindest eine Programm unter Verwendung der abgerufenen zumindest einen Programmkomponente ausführt .
Der Erfindung liegt zunächst die Erkenntnis zu Grunde, dass eine deutliche Verkürzung der Startphase eines Programms auf der lokalen Datenverarbeitungseinrichtung erreicht werden kann, wenn die jeweilige benötigte Programmkomponente auf ei¬ nem der lokalen Datenverarbeitungseinrichtung zugeordneten lokalen Datenspeicher vorliegt, der sich in räumlicher Nähe zu der lokalen Datenverarbeitungseinrichtung befindet oder sogar in deren Gehäuse integriert ist. Hierdurch kann nämlich die für die Verlängerung der Startphase insbesondere verantwortliche Übertragung der zumindest einen Programmkomponente an die lokale Datenverarbeitungseinrichtung entfallen. Hierzu werden von dem lokalen Datenspeicher Kopien der jeweiligen benötigten Programmkomponenten vorgehalten, die in vergleichsweise kurzer Zeit zum Starten der Ausführung eines
Programms für die lokale Datenverarbeitungseinrichtung ver¬ fügbar sind.
Die lokale Vorhaltung von Kopien aller benötigten Programm- komponenten allein genügt jedoch nicht, um einen ordnungsge¬ mäßen Betrieb des Energieautomatisierungssystems zu gewähr¬ leisten. Vielmehr muss sichergestellt werden, dass die lokalen Kopien der einzelnen Programmkomponenten zum Zeitpunkt des Starts des Programms auch mit ihren Originalen, das heißt den fraglichen Programmkomponenten auf den entfernten Datenspeichern, übereinstimmen. Hierfür überprüft die lokale Da¬ tenverarbeitungseinrichtung, ob die lokal vorliegende Kopie der jeweiligen benötigten Programmkomponente mit der entspre¬ chenden Programmkomponente übereinstimmt, und führt das Pro- gramm unter Verwendung der lokalen Kopie der mindestens einen Programmkomponente aus, wenn Übereinstimmung festgestellt worden ist. In diesem Fall kann also ein entsprechend be¬ schleunigter Programmstart stattfinden. Bei fehlender Übereinstimmung muss zur Gewährleistung eines ordnungsgemäßen Be- triebs die zumindest eine originale Programmkomponente von dem zumindest einen entfernten Datenspeicher heruntergeladen werden. Im letztgenannten Fall muss daher zugunsten einer ordnungsgemäßen Ausführung des Programms eine entsprechend verlängerte Startphase in Kauf genommen werden.
Gemäß einer vorteilhaften Ausführung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die lokale Datenverarbei¬ tungseinrichtung zur Überprüfung, ob die in dem lokalen Datenspeicher vorhandene Kopie der zumindest einen Programmkom- ponente mit der auf dem entfernten Datenspeicher gespeicherten zumindest einen Programmkomponente übereinstimmt, einen ersten Kennzeichnungsparameter ermittelt, der zur Identifizierung der in dem lokalen Datenspeicher vorhandenen Kopie der zumindest einen Programmkomponente geeignet ist, und von
dem zumindest einen entfernten Datenspeicher einen zweiten Kennzeichnungsparameter abruft, der zur Identifizierung der auf dem zumindest einen entfernten Datenspeicher gespeicher¬ ten zumindest einen Programmkomponente geeignet ist, und die lokale Datenverarbeitungseinrichtung die beiden Kennzeichnungsparameter miteinander vergleicht.
Auf diese Weise kann die Überprüfung auf Übereinstimmung ver¬ gleichsweise einfach und mit einem geringen zu übertragenden Datenvolumen stattfinden, da zwischen dem zumindest einen entfernten Datenspeicher und der lokalen Datenverarbeitungs¬ einrichtung lediglich der jeweilige zweite Kennzeichnungspa¬ rameter für die zumindest eine Programmkomponente übertragen werden muss.
Konkret kann in diesem Zusammenhang beispielsweise vorgesehen sein, dass als erste und zweite Kennzeichnungsparameter Zeit¬ stempel verwendet werden, die den Zeitpunkt der jeweils letz¬ ten Änderung der betreffenden zumindest einen Programmkompo- nente angeben.
Alternativ dazu kann auch vorgesehen sein, dass als erste und zweite Kennzeichnungsparameter Hash-Werte verwendet werden, die unter Anwendung einer Hash-Funktion aus der betreffenden Kopie der zumindest einen Programmkomponente bzw. aus der betreffenden zumindest einen Programmkomponente erzeugt wor¬ den sind.
Durch die Verwendung von Zeitstempeln oder Hash-Werten kann vergleichsweise einfach ein Kennzeichnungsparameter für die jeweilige Kopie der Programmkomponente bzw. die jeweilige Programmkomponente gebildet werden. Ein solcher Kennzeich¬ nungsparameter ermöglicht einerseits eine gute Identifizie¬ rung der jeweiligen Programmkomponente bzw. der jeweiligen
Kopie der Programmkomponente und umfasst andererseits zum Zwecke einer schnellen Datenübertragung ein geringes Datenvolumen .
Gemäß einer weiteren vorteilhaften Ausführungsform des erfindungsgemäßen Verfahren ist vorgesehen, dass die lokale Datenverarbeitungseinrichtung bei fehlender Übereinstimmung die in dem lokalen Datenspeicher vorhandene Kopie der zumindest ei¬ nen Programmkomponente durch die abgerufene zumindest eine Programmkomponente unter Bildung einer neuen Kopie der zumin¬ dest einen Programmkomponente ersetzt.
Hierbei wird bei einer erkannten Abweichung zwischen der jeweiligen Kopie der Programmkomponente und der entsprechenden Programmkomponente in effizienter Weise die abgerufene Programmkomponente gleich als neue Kopie der Programmkomponente in dem lokalen Datenspeicher abgelegt, so dass beim nächsten Start der Ausführung des Programms auf der lokalen Datenverarbeitungseinrichtung unmittelbar auf die aktualisierte Kopie der Programmkomponente zurückgegriffen werden kann. Die lokale Kopie stimmt aufgrund der auf diese Weise durchgeführten Aktualisierung mit einer vergleichsweise hohen Wahrschein¬ lichkeit mit der originalen Programmkomponente auf dem entfernten Datenspeicher überein.
Eine weitere vorteilhafte Ausführungsform des erfindungsgemä¬ ßen Verfahrens sieht außerdem vor, dass die lokale Datenverarbeitungseinrichtung beim Starten der Ausführung des zumindest einen Programms zunächst prüft, ob in dem lokalen Daten¬ speicher überhaupt eine Kopie der zumindest einen Programmkomponente vorliegt, und die lokale Datenverarbeitungsein¬ richtung für den Fall, dass keine Kopie der zumindest einen Programmkomponente vorliegt, sofort die zumindest eine Pro-
grammkomponente von dem zumindest einen entfernten Datenspeicher abruft.
Durch diese Überprüfung kann quasi vorausschauend ermittelt werden, ob es überhaupt sinnvoll ist, eine Prüfung der loka¬ len Kopie der zumindest einen auf Aktualität durchzuführen, da sich diese Überprüfung für den Fall, dass überhaupt keine Kopie der Programmkomponente im lokalen Datenspeicher vor¬ liegt (beispielsweise beim erstmaligen Start des Programms) selbstverständlich erübrigt. In einem solchen Fall kann dann auf eine Überprüfung der Übereinstimmung verzichtet und die betreffende Programmkomponente sofort von dem entfernten Da¬ tenspeicher heruntergeladen werden.
Gemäß einer weiteren vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens ist vorgesehen, dass während der Aus¬ führung des Programms die lokale Datenverarbeitungseinrichtung zumindest einmal eine Überprüfung durchführt, ob die in dem lokalen Datenspeicher vorhandene Kopie der zumindest ei¬ nen Programmkomponente noch mit der auf dem zumindest einen entfernten Datenspeicher gespeicherten zumindest einen Programmkomponente übereinstimmt, bei fehlender Übereinstimmung die zumindest eine Programmkomponente von dem zumindest einen entfernten Datenspeicher abruft und die in dem lokalen Datenspeicher vorhandene Kopie der zumindest einen Programmkomponente durch die abgerufene zumindest eine Programmkomponente unter Bildung einer neuen Kopie der zumindest einen Programmkomponente ersetzt.
Hierdurch kann insbesondere während einer länger andauernden Ausführung des Programms oder bei sich häufig ändernden Programmkomponenten sichergestellt werden, dass beim nächsten Start des Programms mit vergleichsweise hoher Wahrscheinlich¬ keit eine aktuelle Kopie der betreffenden Programmkomponente
in dem lokalen Datenspeicher vorliegt. Auf diese Weise kann nämlich vorausschauend für die nächste Startphase bereits im Hintergrund während des Ausführens des Programms die Kopie der Programmkomponente auf dem lokalen Datenspeicher aktualisiert werden. Beispielsweise kann eine Aktualisierung der lokalen Kopie der zumindest einen Programmkomponente während des Ausführens des Programms in regelmäßigen Abständen ausge¬ führt werden oder beim Beenden des Programms erfolgen.
Gemäß einer weiteren vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens ist vorgesehen, dass zur Ausführung des zumindest einen Programms eine Mehrzahl von Programmkomponenten benötigt werden, die auf dem zumindest einen ent¬ fernten Datenspeicher gespeichert sind, und der lokale Datenspeicher eine entsprechende Anzahl von Kopien der Mehrzahl von Programmkomponenten umfasst, die lokale Datenverarbei¬ tungseinrichtung hinsichtlich aller Kopien der Programmkomponenten und aller Programmkomponenten die Überprüfung auf Übereinstimmung durchführt und bei fehlender Übereinstimmung hinsichtlich zumindest einer Programmkomponente alle Pro¬ grammkomponenten von dem zumindest einen entfernten Daten¬ speicher abruft.
Hierdurch wird sichergestellt, dass bei Abweichen auch nur einer einzigen Programmkomponente immer jeweils alle benötig¬ ten Programmkomponenten von dem zumindest einen entfernten Datenspeicher nachgeladen werden. In diesem Fall verringert sich insbesondere der Aufwand zur Überprüfung auf Überein¬ stimmung zwischen der jeweiligen Programmkomponente und der vorliegenden Kopie der Programmkomponente, da bei der ersten erkannten Abweichung bereits die Überprüfung abgebrochen werden kann und alle Programmkomponenten von dem zumindest einen entfernten Datenspeicher nachgeladen werden.
Alternativ dazu kann auch vorgesehen sein, dass zur Ausfüh¬ rung des zumindest einen Programms eine Mehrzahl von Pro¬ grammkomponenten benötigt werden, die auf dem zumindest einen entfernten Datenspeicher gespeichert sind, und der lokale Da¬ tenspeicher eine entsprechende Anzahl von Kopien der Mehrzahl von Programmkomponenten umfasst, die lokale Datenverarbei¬ tungseinrichtung hinsichtlich aller Kopien der Programmkompo¬ nenten und aller Programmkomponenten die Überprüfung auf Übereinstimmung durchführt und bei fehlender Übereinstimmung die jeweils betreffende Programmkomponente von dem zumindest einen entfernten Datenspeicher abruft.
Bei dieser Ausführungsform wird nur jeweils diejenige Pro- grammkomponente von dem zumindest einen entfernten Datenspei¬ cher nachgeladen, zu der eine Abweichung von der Kopie der fraglichen Programmkomponente in dem lokalen Datenspeicher festgestellt worden ist. Mit anderen Worten werden nur die tatsächlich nicht mehr aktuellen lokalen Kopien der Programm- komponenten durch die aktuellen Programmkomponenten ersetzt. Die jeweiligen aktuellen Kopien der Programmkomponenten wer¬ den dann für die Ausführung des Programms herangezogen, wäh¬ rend anstelle der nicht mehr aktuellen Kopien die originalen Programmkomponenten nachgeladen werden.
Die Verwendung des letztgenannten Ausführungsbeispiels eignet sich insbesondere bei Programmkomponenten mit vergleichsweise großem Datenvolumen, da hierbei tatsächlich nur die wirklich benötigten Programmkomponenten über die zweiten Kommunikati- onsmittel übertragen werden müssen.
Hinsichtlich des Energieautomatisierungssystems wird die oben genannte Aufgabe auch durch ein Energieautomatisierungssystem zur Steuerung und/oder Überwachung eines elektrischen Ener-
gieversorgungsnetzes gelöst mit einer lokalen Datenverarbei¬ tungseinrichtung, die zumindest ein Programm umfasst, das bei seiner Ausführung Funktionen zur Steuerung und/oder Überwa¬ chung des Energieversorgungsnetzes bereitstellt, ersten Kom- munikationsmitteln, über die die lokale Datenverarbeitungs¬ einrichtung mit einer Mehrzahl von Automatisierungsgeräten in Verbindung steht, die zur Erfassung von einen Betriebszustand des Energieversorgungsnetzes beschreibenden Betriebsdaten und/oder zur Erzeugung bzw. Übermittlung von zur Steuerung des Energieversorgungsnetzes geeigneten Steuerdaten einge¬ richtet sind, und zweiten Kommunikationsmitteln, über die die lokale Datenverarbeitungseinrichtung mit zumindest einem ent¬ fernten Datenspeicher in Verbindung steht, auf dem zumindest eine Programmkomponente gespeichert ist, die zur Ausführung des zumindest einen Programms benötigt wird.
Erfindungsgemäß ist vorgesehen, dass das Energieautomatisie¬ rungssystem zur Durchführung eines Verfahrens gemäß einem der Ansprüche 1 bis 9 eingerichtet ist.
Gemäß einer vorteilhaften Ausführungsform des erfindungsgemä¬ ßen Energieautomatisierungssystems ist vorgesehen, dass die ersten und die zweiten Kommunikationsmittel physikalisch von¬ einander verschiedene Kommunikationsmittel sind.
Hierbei können beispielsweise die ersten Kommunikationsmittel in Form eines Datenübertragungsbusses für die Stationsleit¬ technik oder die Netzleittechnik ausgeführt und die zweiten Kommunikationsmittel durch ein Kommunikationsnetzwerk gebil- det sein, das einzelne Schaltstationen oder Netzleitwarten untereinander verbindet.
Alternativ dazu kann auch vorgesehen sein, dass die ersten und die zweiten Kommunikationsmittel durch ein gemeinsames physikalisches Kommunikationsmittel gebildet sind.
In diesem Fall findet eine Kommunikation einerseits zwischen der lokalen Datenverarbeitungseinrichtung und den Automati¬ sierungsgeräten und andererseits zwischen der lokalen Datenverarbeitungseinrichtung und dem zumindest einen entfernten Datenspeicher über dieselbe physikalische Kommunikationseinrichtung statt.
Das Energieautomatisierungssystem kann konkret beispielsweise in einer Schaltstation oder einer Netzleitstelle des Energie¬ versorgungsnetzes angeordnet sein.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispie¬ len näher erläutert. Hierzu zeigen
Figur 1 ein schematisches Blockschaltbild eines Energieau¬ tomatisierungssystems; und
Figur 2 ein schematisches Verfahrensfließbild zur Erläute¬ rung der Vorgehensweise beim Starten der Ausführung eines Programms auf der lokalen Datenverarbeitungs¬ einrichtung .
Figur 1 zeigt ein Energieautomatisierungssystem 10 zur Steuerung und/oder Überwachung eines in Figur 1 nicht gezeigten elektrischen Energieversorgungsnetzes. Das Energieautomatisierungssystem weist eine lokale Datenverarbeitungseinrichtung 11 auf, bei der es sich z.B. um einen üblichen Personalcomputer oder um eine speziell an die Belange einer Schaltstation oder einer Netzleitstation angepasste Datenverarbeitungseinrichtung handeln kann. Die lokale Datenverarbeitungs-
einrichtung 11 ist einerseits über erste Kommunikationsmittel 12 mit Automatisierungsgeräten 13 verbunden und steht ande¬ rerseits über zweite Kommunikationsmittel 14 mit entfernten Datenspeichern 15a, 15b, 15c in Verbindung.
Wie in Figur 1 mit gestrichelten Linien angedeutet ist, stehen die Automatisierungsgeräte 13 mittelbar oder unmittelbar mit Primärkomponenten des elektrischen Energieversorgungsnet¬ zes in Verbindung, bei denen es sich z.B. um Leitungen, Ka- bei, Transformatoren, Schalter, Generatoren, Motoren oder Umrichter des Energieversorgungsnetzes handeln kann. Die ein¬ zelnen Automatisierungsgeräte 13 sind zur Erfassung von einen Betriebszustand des Energieversorgungsnetzes beschreiben¬ den Betriebsdaten (beispielsweise Messwerten von Strom, Span- nung, Frequenz, Temperatur und/oder davon abgeleiteten Werten sowie automatisch generierten Meldungen oder Alarmen)
und/oder zur Erzeugung bzw. Übermittlung von zur Steuerung des Energieversorgungsnetzes geeigneten Steuerdaten (bei¬ spielsweise automatisch oder durch Benutzereingabe erzeugte Steuerbefehle, Kommandos und Parametrierungsdaten) eingerichtet. Konkret kann es sich bei den Automatisierungsgeräten 13 beispielsweise um leittechnische Geräte zur Steuerung von Primärkomponenten des Energieversorgungsnetzes, um „Remote Terminal Units" (RTUs) zur Erfassung von Messwerten, um Mess- geräte, um „Merging Units" zur Zusammenfassung von Messwerten einzelner Messgeräte oder RTUs, um Phasorenmessgeräte („Pha- sor Measurement Units" - PMUs) oder um Schutzgeräte handeln. Die Automatisierungsgeräte 13 sind entweder innerhalb einer Leitwarte oder Schaltstation oder unmittelbar an den Primär- komponenten des elektrischen Energieversorgungsnetzes ange¬ ordnet .
Bei den ersten Kommunikationsmitteln 12, die zur datentechnischen Verbindung zwischen der lokalen Datenverarbeitungsein-
richtung 11 und den Automatisierungsgeräten 13 dienen, und bei den zweiten Kommunikationsmitteln 14, die zur Datenübertragung zwischen der lokalen Datenverarbeitungseinrichtung 11 und den entfernten Datenspeichern 15a, 15b, 15c vorgesehen sind, kann es sich beispielsweise um fest verdrahtete Punkt- zu-Punkt-Verbindungen, um einen Kommunikationsbus oder ein Kommunikationsnetzwerk handeln, auf dem Daten gemäß beliebi¬ ger Kommunikationsprotokolle und Kommunikationstechniken übertragen werden. Die Kommunikationsverbindungen können z.B. in Form von Glasfaserkabeln oder Kupferleitungen ausgeführt sein. Die Datenübertragung kann z.B. über ein IP-Netzwerk, eine Telekommunikationsverbindung oder eine sogenannte Power- Line-Kommunikationsverbindung stattfinden. Hierbei sind drahtgebundene oder drahtlose Datenübertragungstechniken mög- lieh. Beispielsweise kann die Übertragung von Betriebs- und Steuerdaten über die ersten Kommunikationsmittel 12 in Form von Datentelegrammen erfolgen, die gemäß der Norm IEC 61850, die sich auf Kommunikation in Schaltanlagen bezieht, gebildet sind .
Die entfernten Datenspeicher 15a, 15b, 15c können beispiels¬ weise in entfernten Schaltanlagen, Netzleitwarten oder Re¬ chenzentren angeordnet sein. Bei den entfernten Datenspei¬ chern 15 kann es sich um beliebige Datenspeichereinrichtungen handeln. Lediglich beispielhaft sind in Figur 1 der entfernte Datenspeicher 15a als fernauslesbarer und Datenspeicher (bei¬ spielsweise in Form einer sogenannten „Netzwerkfestplatte", die auch als „Network Attached Storage" (NAS) bezeichnet wird) , der entfernte Datenspeicher 15b als Servereinrichtung und der entfernte Datenspeicher 15c als in eine entfernte Da¬ tenverarbeitungseinrichtung integrierter Datenspeicher (z.B. eine Festplatte) dargestellt.
Die lokale Datenverarbeitungseinrichtung 11 steht außerdem mit einem lokalen Datenspeicher 16 in Verbindung, der entwe¬ der in dem Gehäuse der lokalen Datenverarbeitungseinrichtung 11 (beispielsweise als interne Festplatte) angeordnet sein kann oder sich zumindest in unmittelbarer Nähe zu der lokalen Datenverarbeitungseinrichtung 11 befindet und über eine Datenverbindung mit hoher Datenübertragungskapazität mit dieser verbunden ist. Die lokale Datenverarbeitungseinrichtung 11 stellt zumindest ein Programm bereit, das bei seiner Ausführung Funktionen zur Steuerung und/oder Überwachung des Energieversorgungsnetzes durchführt. Diese Funktionen können automatisch oder durch einen Benutzer gesteuert ausgeführt werden.
Bei dem von der lokalen Datenverarbeitungseinrichtung 11 bereit gestellten Programm kann es sich beispielsweise um sol¬ che Programme handeln, die dazu geeignet sind, einem Benutzer zur Betriebsführung aktuelle, den Betriebszustand des elekt- rischen Energieversorgungsnetzes charakterisierende Größen (z.B. Strom- und Spannungsverläufe) anzuzeigen und/oder von dem Benutzer oder automatisch ausgelöste Steuerhandlungen zur Beeinflussung von Primärkomponenten des elektrischen Energieversorgungsnetzes umzusetzen. Ferner können solche Programme beispielsweise einen Benutzer in die Lage versetzen, Einstel¬ lungen und Konfigurationen z.B. hinsichtlich der Primärkompo¬ nenten des Energieversorgungsnetzes oder der Automatisie¬ rungsgeräte 13 vorzunehmen, Simulationen fiktiver Betriebszu¬ stände und/oder Prognosen zukünftiger Betriebszustände des Energieversorgungsnetzes durchzuführen sowie Auswertungen mo¬ mentaner oder vergangener Betriebszustände des Energieversor¬ gungsnetzes vorzunehmen. Neben diesen lediglich beispielhaft aufgeführten Funktionen können von den Programmen auch belie-
bige weitere Steuer- und/oder Überwachungsfunktionen bereitgestellt werden.
Zur Durchführung des Programms benötigt die lokale Datenver- arbeitungseinrichtung einzelne Programmkomponenten, von denen zumindest eine auf einem der entfernten Datenspeicher 15a, 15b, 15c gespeichert ist. In einem verteilten Computernetz¬ werk, wie es häufig für Energieautomatisierungssysteme einge¬ setzt wird, stellt es nämlich keine Seltenheit dar, dass ein- zelne benötigte Programmkomponenten auf entfernten Datenspeichern bereitgehalten werden. Bei solchen Programmkomponenten kann es sich beispielsweise um Bibliotheksdateien, Verläufe momentaner und vergangener Messwerte, Dateien einer Wetterda¬ tenbank, Dateien von Expertendatenbanken sowie Datenarchive mit Messwerten, Steuereingaben und/oder ergangenen Meldungen handeln, die bisweilen große Datenmengen umfassen.
Unter Hinzunahme der Figur 2 soll im Folgenden ein Verfahren beschrieben werden, mit dem trotz des Vorhandenseins einzel- ner Programmkomponenten auf den entfernten Datenspeichern
15a, 15b, 15c der Start der Ausführung des Programms auf der lokalen Datenverarbeitungseinrichtung 11 wesentlich beschleunigt werden kann. Figur 2 zeigt hierzu in einem schematischen Verfahrensfliesbild die einzelnen Schritte, die beim Start der Ausführung eines Programms auf der lokalen Datenverarbeitungseinrichtung 11 durchgeführt werden. Zur Vereinfachung soll zunächst ange¬ nommen werden, dass zum Start des fraglichen Programms ledig- lieh eine Programmkomponente benötigt wird, die beispielhaft auf dem entfernten Datenspeicher 15b vorliegt. Die im Folgen¬ den beschriebene Vorgehensweise ist jedoch auch auf mehrere Programmkomponenten anwendbar, die auf einem oder mehreren entfernten Datenspeichern abgespeichert ist.
Zunächst wird in einem Schritt 20 der Start des fraglichen Programms auf der lokalen Datenverarbeitungseinrichtung 11 ausgelöst. Dies kann beispielsweise durch eine Benutzereinga- be erfolgen oder durch einen automatischen Programmaufruf aus einem bereits von der lokalen Datenverarbeitungseinrichtung 11 ausgeführten weiteren Programm ausgelöst werden. Für die Ausführung des Programms ist die Programmkomponente notwen¬ dig, die auf dem entfernten Datenspeicher 15b gespeichert ist.
In einem ersten Prüfschritt 21 führt die lokale Datenverarbeitungseinrichtung 11 eine Überprüfung aus, ob eine Kopie der fraglichen Programmkomponente auf dem lokalen Datenspeicher 16 vorgehalten wird. Ist dies der Fall, so folgt ein weiterer Prüfschritt 22, gemäß dem die lokale Datenverarbeitungseinrichtung 11 überprüft, ob es sich bei der Kopie der fraglichen Programmkomponente um eine aktuelle Version handelt, oder ob die Kopie mittlerweile durch Änderungen an der originalen Programmkomponente auf dem externen Datenspeicher 15b veraltet ist. Zur Durchführung der Überprüfung gemäß Schritt 22 vergleicht die lokale Datenverarbeitungseinrichtung 11 die in dem lokalen Datenspeicher 16 vorhandene Kopie der fraglichen Programmkomponente anhand geeigneter Kriterien mit der originalen Programmkomponente auf dem externen Daten¬ speicher 15b.
Konkret kann zum Zwecke dieser Überprüfung beispielsweise vorgesehen sein, dass durch die lokale Datenverarbeitungsein- richtung 11 ein erster Kennzeichnungsparameter gebildet wird, der zur Identifizierung der in dem lokalen Datenspeicher 16 vorhandenen Kopie der fraglichen Programmkomponente geeignet ist. In entsprechender Weise wird ein zweiter Kennzeich¬ nungsparameter ermittelt, der zur Identifizierung der betref-
fenden Programmkomponente, die in dem entfernten Datenspei¬ cher 15b gespeichert ist, geeignet ist. Der zweite Kennzeich¬ nungsparameter wird an die lokale Datenverarbeitungseinrich¬ tung 11 übertragen.
Hierbei kann der zweite Kennzeichnungsparameter für die frag¬ liche Programmkomponente beispielsweise während der Abspei¬ cherung der Programmkomponente auf dem entfernten Datenspei¬ cher 15b gebildet und zusätzlich auf dem entfernten Daten- Speicher 15b gespeichert werden, um der lokalen Datenverar¬ beitungseinrichtung 11 zum Abruf bereit zu stehen. Wenn der entfernte Datenspeicher 15b selbst über eine Recheneinheit (wie beispielsweise einen Mikroprozessor) verfügt ist es al¬ ternativ auch möglich, dass der Kennzeichnungsparameter für die Programmkomponente von dem entfernten Datenspeicher 15 selbst als Reaktion auf eine von der lokalen Datenverarbei¬ tungseinrichtung 11 ausgelöste Anfrage ermittelt und an die lokale Datenverarbeitungseinrichtung 11 über die zweiten Kommunikationsmittel 14 übertragen wird.
Als erste und zweite Kennzeichnungsparameter, die zur Identi¬ fizierung der Programmkomponente bzw. der Kopie der Programm¬ komponente geeignet sind, können beispielsweise Zeitstempel verwendet werden, die den Zeitpunkt der letzten Änderung der Programmkomponente angeben. Wesentlich für die Vergleichbar¬ keit ist hierbei, dass auch im Zusammenhang mit der Kopie der Programmkomponente der Zeitstempel bezüglich der letzten Än¬ derung der Programmkomponente (und nicht der Kopie) abgelegt wird. Durch Vergleich des Zeitstempels der Kopie der Pro- grammkomponente (erster Kennzeichnungsparameter) mit dem
Zeitstempel der Programmkomponente (zweiter Kennzeichnungspa¬ rameter) kann überprüft werden, ob beide Zeitstempel überein¬ stimmen .
Wird eine Übereinstimmung erkannt, so kann daraus geschlossen werden, dass die originale Programmkomponente auf dem ent¬ fernten Datenspeicher 15b seit dem Anlegen der Kopie der Pro¬ grammkomponente in dem lokalen Datenspeicher 16 nicht mehr verändert worden ist und die Kopie der Programmkomponente so¬ mit auf dem aktuellen Stand ist.
Wird keine Übereinstimmung erkannt, d.h. der Zeitstempel der originalen Programmkomponente auf dem entfernten Datenspei- eher 15b gibt einen anderen - üblicherweise einen jüngeren - Zeitpunkt an als der Zeitstempel der auf dem lokalen Daten¬ speicher 16 vorgehaltenen Kopie der Programmkomponente, kann auf eine mittlerweile veraltete Kopie der Programmkomponente in dem lokalen Datenspeicher 16 geschlossen werden.
Eine weitere geeignete Möglichkeit zur Ermittlung eines Kenn¬ zeichnungsparameters besteht darin, über eine sogenannte „Hash-Funktion" als ersten Kennzeichnungsparameter einen „Hash-Wert" (alternativ auch als „Hash-Code" bezeichnet) der Kopie der Programmkomponente zu bilden und als zweiten Kenn¬ zeichnungsparameter einen Hash-Wert der Programmkomponente zu bilden. Bei der Anwendung einer Hash-Funktion wird üblicher¬ weise eine vergleichsweise große Datenmenge durch den Hash- Wert abgebildet, der eine deutlich geringere Datenmenge um- fasst. Beide Hash-Werte werden von der lokalen Datenverarbei¬ tungseinrichtung 11 miteinander verglichen. Ergibt die Über¬ prüfung durch die lokale Datenverarbeitungseinrichtung 11, dass die Hash-Werte der Programmkomponente und der Kopie der Programmkomponente übereinstimmen, so ist die Kopie der Pro- grammkomponente auf dem aktuellen Stand. Bei fehlender Über¬ einstimmung ist die Kopie der Programmkomponente entsprechend veraltet .
Die Verwendung der Kennzeichnungsparameter - beispielsweise in Form eines Zeitstempels oder eines Hash- ertes - bringt insbesondere den Vorteil mit sich, dass zur Überprüfung, ob die Kopie der Programmkomponente in dem lokalen Datenspeicher 16 auf dem aktuellen Stand ist, nur die Übertragung ver¬ gleichsweise geringer Datenmengen zwischen der lokalen Daten¬ verarbeitungseinrichtung 11 und dem entfernten Datenspeicher 15b notwendig ist. Dadurch kann die Überprüfung vergleichs¬ weise schnell erfolgen.
Ergibt die im Prüfschritt 22 durchgeführte Überprüfung, dass die lokal vorhandene Kopie der Programmkomponente auf dem ak¬ tuellen Stand ist (Ausgang „ja"), so wird gemäß einem folgen¬ den Schritt 23 der weitere Start der Ausführung des Programms auf der lokalen Datenverarbeitungseinrichtung 11 unter Verwendung der lokal vorhandenen Kopie der Programmkomponente durchgeführt. Durch die Verwendung der in dem lokalen Daten¬ speicher 16 vorhandenen Kopie der Programmkomponente kann die Startphase zwischen der Auslösung des Programmstarts bis zu dessen ordnungsgemäßer Ausführung deutlich verkürzt werden, weil die benötigte Programmkomponente nicht erst von dem ent¬ fernten Datenspeicher 15b abgerufen werden muss. Insbesondere wenn über die zweiten Kommunikationsmitteln 14 nur eine vergleichsweise langsame Kommunikationsverbindung möglich ist oder die fragliche Programmkomponente ein großes Datenvolumen umfasst, wie dies beispielsweise im Fall abgespeicherter Messwertverläufe auftreten kann, wird durch die Verwendung der lokal vorhandenen Kopie der Programmkomponente die Start¬ phase deutlich verkürzt.
Schließlich wird in Schritt 24 das aufgerufene Programm von der lokalen Datenverarbeitungseinrichtung 11 ordnungsgemäß ausgeführt .
Ergibt die Überprüfung im Prüfschritt 22 hingegen, dass die in dem lokalen Datenspeicher 16 vorhandene Kopie der Pro¬ grammkomponente nicht aktuell ist, beispielsweise, weil die jeweiligen Kennzeichnungsparameter der Programmkomponente und der Kopie der Programmkomponente nicht übereinstimmen, so ruft die lokale Datenverarbeitungseinrichtung 11 in einem Nachladeschritt 25 die benötigte Programmkomponente von dem entfernten Datenspeicher 15b ab. Hierfür muss die fragliche Programmkomponente zwischen dem entfernten Datenspeicher 15b und der lokalen Datenverarbeitungseinrichtung 11 über die zweiten Kommunikationsmittel 14 übertragen werden.
In einem folgenden Schritt 26 wird die von dem entfernten Datenspeicher 15b abgerufene Programmkomponente anstelle der (veralteten) Kopie der Programmkomponente unter Bildung einer entsprechend aktualisierten neuen Kopie der Programmkomponente auf dem lokalen Datenspeicher 16 abgelegt.
Gemäß einem folgenden Schritt 27 wird von der lokalen Daten- Verarbeitungseinrichtung 11 das angeforderte Programm unter
Verwendung der von dem entfernten Datenspeicher 15b abgerufenen Programmkomponente gestartet und schließlich in Schritt 24 ordnungsgemäß ausgeführt. Ergibt die im Prüfschritt 21 durchgeführte Überprüfung, dass in dem lokalen Datenspeicher 16 überhaupt keine Kopie der fraglichen Programmkomponente vorliegt - beispielsweise weil das gewünschte Programm erstmalig von der lokalen Datenverarbeitungseinrichtung 11 ausgeführt wird und daher noch nie die benötigte Programmkomponente an die lokale Datenverarbei¬ tungseinrichtung 11 übertragen worden ist - so wird der folgende Prüfschritt 22 übersprungen und es wird in Schritt 25 sofort mit dem Abrufen der fraglichen Programmkomponente von dem entfernten Datenspeicher 15b begonnen. Hierdurch kann ei-
ne in dem Fall unnötige Überprüfung im Prüfschritt 22 umgangen werden.
Die in Figur 2 dargestellten Schritte 21 (Überprüfung, ob überhaupt eine lokale Kopie der Programmkomponente vorhanden ist) und 26 (Ersetzen der lokal vorhandenen Kopie durch die abgerufene Programmkomponente) sind zur Durchführung des be¬ schriebenen Verfahrens nicht zwingend notwendig und können daher optional auch fortgelassen werden. Sie tragen jedoch zu einer weiteren Beschleunigung des beschriebenen Verfahrens bei .
Weiterhin kann optional vorgesehen sein, dass auch während der ordnungsgemäßen Ausführung des Programms auf der lokalen Datenverarbeitungseinrichtung 11 zumindest einmal überprüft wird, ob die in dem lokalen Datenspeicher 16 vorliegende Ko¬ pie der Programmkomponente noch mit der auf dem entfernten Datenspeicher 15b vorliegenden originalen Programmkomponente übereinstimmt und bei einer erkannten Abweichung die origina- le Programmkomponente im Hintergrund von dem entfernten Datenspeicher 15b abgerufen und die (veraltete) Kopie der Pro¬ grammkomponente in dem lokalen Datenspeicher 16 durch die abgerufene Programmkomponente ersetzt wird. Durch diese optio¬ nale Ausführungsform wird die Wahrscheinlichkeit deutlich er- höht, dass beim nächsten Start des Programms auf der lokalen Datenverarbeitungseinrichtung 11 eine aktuelle Kopie der Programmkomponente in dem lokalen Datenspeicher 16 vorliegt und die Startphase des Programms durch Verwendung dieser aktuel¬ len Kopie der Programmkomponente in verkürzter Form ausge- führt werden kann. Diese zuletzt beschriebene optionale Vor¬ gehensweise ist in Figur 2 der Übersichtlichkeit halber nicht dargestellt. Die Überprüfung kann jedoch entsprechend der im Prüfschritt 22 durchgeführten Überprüfung stattfinden, so
dass zur näheren Erläuterung auf die zum Prüfschritt 22 gemachten Ausführungen verwiesen wird.
Die bisherigen Ausführungen beschränkten sich der Einfachheit halber darauf, dass zum Start der Ausführung des Programms lediglich eine einzige auf dem entfernten Datenspeicher 15b vorhandene Programmkomponente benötigt wird. Üblicherweise werden zur Ausführung eines Programms jedoch mehrere Pro¬ grammkomponenten benötigt, von denen zumindest einige auf ei- nem oder mehreren der entfernten Datenspeicher 15a, 15b, 15c vorgehalten werden.
In diesem Fall kann gemäß einer ersten Ausführungsform vorgesehen sein, dass für jede benötigte Programmkomponente das in Figur 2 beschriebene Verfahren durchgeführt wird und, sofern eine Abweichung bezüglich nur einer einzigen Programmkomponente festgestellt wird, sämtliche Programmkomponenten - un¬ abhängig davon, ob die weiteren vorhandenen Kopien in aktueller Form vorliegen oder nicht - von dem jeweiligen entfern- ten Datenspeicher 15a, 15b, 15c abgerufen werden. Mit anderen Worten werd, sobald auch nur eine einzige Kopie einer Programmkomponente als nicht aktuell erkannt wird, weil sie von der originalen auf dem entsprechenden entfernten Datenspeicher 15a, 15b, 15c vorhandenen Programmkomponente abweicht, alle benötigten Programmkomponenten von ihren entsprechenden entfernten Datenspeichern 15a, 15b, 15c nachgeladen. Diese Variante eignet sich insbesondere dann, wenn eine sehr viele kleinere Programmkomponenten zur Ausführung des Programms benötigt werden und folglich die Überprüfung gemäß Prüfschritt 22 einen vergleichsweise großen zeitlichen Anteil an der
Startphase des Programms ausmachen würde, während die Über¬ tragung der benötigten Programmkomponenten von dem jeweiligen entfernten Datenspeicher 15a, 15b, 15c an die lokale Daten¬ verarbeitungseinrichtung 11 auf Grund der geringen Datenvolu-
mina vergleichsweise wenig Zeit beanspruchen würde. Durch die in dieser Ausführungsform vorzeitig abgebrochene Überprüfung gemäß Schritt 22 kann eine zeitaufwändige Prüfung auf Aktua¬ lität somit umgangen werden.
Alternativ hierzu kann gemäß einer zweiten Variante jedoch auch vorgesehen sein, dass für jede Programmkomponente ein¬ zeln geprüft wird, ob die in dem lokalen Datenspeicher 16 vorhandene Kopie der Programmkomponente aktuell ist, und nur diejenigen Programmkomponenten tatsächlich nachgeladen wer¬ den, bei denen die Überprüfung eine Abweichung ergeben hat. Diese Ausführungsform eignet sich insbesondere bei wenigen benötigten Programmkomponenten mit vergleichsweise großen Da¬ tenvolumina, da hierbei die Zeitdauer für die Überprüfung ge- mäß Prüfschritt 22 nur einen vergleichsweise geringen Anteil der Startphase ausmachen würde, während die Übertragung jeder einzelnen Programmkomponente von dem jeweiligen entfernten Datenspeicher 15a, 15b, 15c an die lokale Datenverarbeitungs¬ einrichtung 11 einen vergleichsweise hohen zeitlichen Anteil an der Startphase hätte. Durch die Übertragung nur der tat¬ sächlich benötigten Programmkomponenten von dem jeweiligen entfernten Datenspeicher 15a, 15b, 15c an die lokale Daten¬ verarbeitungseinrichtung 11 und die zusätzliche Verwendung der in dem lokalen Datenspeicher 16 in aktuellem Zustand vor- liegenden Kopien von Programmkomponenten kann die Startphase in diesem Fall vergleichsweise kurz gehalten werden.
Durch das beschriebene Verfahren in all seinen Ausführungs¬ formen wird sichergestellt, dass einerseits bei einer vorhan- denen aktuellen Kopie der Programmkomponente in dem lokalen Datenspeicher 16 zum schnelleren Start der Ausführung des Programms diese lokal vorhandene Kopie der Programmkomponente herangezogen wird. Andererseits wird gewährleistet, dass zur Ausführung des Programms immer die aktuelle Programmkomponen-
te verwendet wird, da bei einer erkannten Abweichung der Ko¬ pie der Programmkomponente von der Programmkomponente auf die in dem entfernten Datenspeicher 15a, 15b, 15c vorliegende originale Programmkomponente zurückgegriffen wird. Es ist al- so in jedem Fall ein ordnungsgemäßes Ausführen des gewünsch¬ ten Programms unter Verwendung der jeweils aktuellen Pro¬ grammkomponente gewährleistet.