-
Die Erfindung betrifft ein Verfahren zur Simulation eines Kraftwerksprozesses sowie einer zu dessen Automatisierung vorgesehenen Automatisierungslösung (Kraftwerkssimulation) mittels einer verteilten Simulationshardware, und zwar speziell – aber nicht notwendig ausschließlich – ein Verfahren zur Kraftwerkssimulation für Testzwecke. Das Verfahren kommt zum Beispiel auch für Schulungszwecke in Betracht.
-
Eine exakte und den besonderen zeitlichen Anforderungen eines Kraftwerksprozesses entsprechende Nachbildung ist das Ziel einer jeden Kraftwerkssimulation. Dieses Ziel ist nur mittels komplexer Softwarefunktionen zu erreichen, welche wiederum leistungsstarke Computer voraussetzen. Typischerweise werden diese Funktionen, welche einerseits die prozesstechnische Simulation des Kraftwerksprozesses und andererseits die Emulation der leittechnischen Anlage/Hardware beinhalten, auf einem (einzelnen) Computer ausgeführt. Beide Funktionen (Simulation und Emulation) sind eng gekoppelt und tauschen innerhalb eines solchen einzelnen Computers untereinander Daten aus. Simulation, Emulation, Datenaustausch und Kopplung sind dabei jeweils proprietär. Jede Kraftwerkssimulation ist damit gegenwärtig ein Unikat. Dies resultiert unter anderem auch daraus, dass die jeweils verwendeten Betriebssysteme und/oder die verwendeten Programmiersprachen abhängig von den Lieferanten der prozesstechnischen Simulation von Projekt zu Projekt wechseln.
-
Die bei einer Kraftwerkssimulation für die Emulation der leittechnischen Anlage erforderliche Software ist an die Simulation des Kraftwerksprozesses jeweils projektspezifisch anzupassen. Dies betrifft neben dem jeweils verwendeten Betriebssystem auch den Austausch der Daten sowie die Integration in die Softwarefunktionen der prozesstechnischen Simulation, also die Nachbildung des jeweiligen physikalischen Prozesses mithilfe eines Prozessmodells. Diese enge Kopplung hat für den Hersteller der leittechnischen Emulation erhebliche Nachteile.
-
Eine Aufgabe der vorliegenden Erfindung besteht daher darin, ein Verfahren zur Kraftwerkssimulation vorzuschlagen, das auf einer leittechnischen Emulation basiert, welche unabhängig von den speziellen Eigenschaften der jeweiligen Simulation ist. Eine Emulation, die über einen standardisierten Datenaustausch mit den prozesstechnischen Simulationen der Prozessmodellhersteller kommuniziert und unabhängig von den verschiedenen Betriebssystemen ist, wird dieser Zielvorstellung gerecht.
-
Die oben genannte Aufgabe wird entsprechend mit einem Simulationsverfahren mit den Merkmalen des Anspruchs 1 gelöst. Dabei ist bei einem insbesondere für Testzwecke bestimmten Verfahren zur Kraftwerkssimulation Folgendes vorgesehen: Die Kraftwerkssimulation erfolgt mittels einer verteilten Simulations-/Emulationshardware – im Folgenden kurz zusammenfassend als Simulationshardware oder Simulationssystem bezeichnet –, welche zumindest eine Emulationseinheit sowie zumindest eine Simulationseinheit, also einen Computer oder dergleichen, umfasst. Auf der zumindest einen Simulationseinheit ist das jeweilige Prozessmodell instanziiert. Auf der oder jeder Emulationseinheit ist zumindest eine Emulationskomponente instanziiert. Jede Emulationskomponente emuliert bei der Ausführung des Verfahrens ein Gerät, zum Beispiel ein Automatisierungssystem in Form einer speicherprogrammierbaren Steuerung (SPS), oder eine Funktion der leittechnischen Anlage. Jede Emulationskomponente wird zyklisch mit einer allen Emulationskomponenten gemeinsamen Zykluszeit sowie einer gemeinsamen Zeitbasis ausgeführt. Anhand eines jeweiligen Zyklus wird automatisch durch die jeweilige Emulationskomponente ein Wert für einen Zeitstempel gebildet. Der Zeitstempel kodiert eine Zeitinformation. Bei einer solchen Zeitinformation handelt es sich zum Beispiel um einen Momentanwert eines Zählers, der mit jedem neuen Zyklus inkrementiert oder dekrementiert wird. Ein auf ein entsprechendes Kommando im laufenden Simulationsbetrieb von jeder Emulationskomponente gesichertes Datenpaket wird automatisch mit dem jeweiligen Zeitstempel versehen und die von dem Datenpaket umfassten Daten sind gemäß einem vorgegebenen Format organisiert und umfassen ein Signalabbild, nämlich die Gesamtheit aller vom Prozessmodell für die jeweilige Emulationskomponente generierten Daten, sowie die Gesamtheit aller von der jeweiligen Emulationskomponente an das Prozessmodell ausgegebenen Daten. Das Signalabbild umfasst dabei analoge und/oder digitale Daten, wobei im Falle von analogen Daten eine digitale Entsprechung des jeweiligen Datums gespeichert wird.
-
Der Vorteil der Erfindung besteht zunächst in der Verwendung einer verteilten Simulationshardware, wobei die einzelnen Hardwareeinheiten, also zumindest die erste und die zweite Emulationseinheit sowie die zumindest eine Simulationseinheit mit dem Prozessmodell, in grundsätzlich an sich bekannter Art und Weise untereinander kommunikativ verbunden sind und über die jeweilige kommunikative Verbindung Daten austauschen. Die bisherige starre Kopplung von Simulation (Prozessmodell) und Emulation (leittechnische Anlage; Automatisierungshardware) ist damit aufgehoben und ein Hersteller einer leittechnischen Emulation kann sich auf die jeweiligen Emulationseinheiten konzentrieren und dabei die jeweils verwendete Computerhardware auch kurzfristig festlegen, so dass eine kontinuierliche Anpassung an Entwicklungsfortschritte im Hardwarebereich möglich ist. Zudem können bei der Emulation Betriebssysteme und Programmiersprachen/-umgebungen verwendet werden, die nicht notwendig mit den für die Abarbeitung des Prozessmodells vorgesehenen Betriebssystemen oder Programmiersprachen/-umgebungen identisch sein müssen. Diese Entkopplung erlaubt damit eine Möglichkeit zur kontinuierlichen Anpassung an Entwicklungsfortschritte im Softwarebereich.
-
Die verteilte Simulationshardware ermöglicht auch die Ausführung der Kraftwerkssimulation unter vergleichsweise rigiden zeitlichen Randbedingungen, nämlich zum Beispiel einer Zykluszeit von 100 ms. Eine Kraftwerkssimulation muss in Echtzeit und mit einer ausreichend geringen Zykluszeit ablaufen.
-
Diese Zykluszeit muss sowohl vom Prozessmodell wie auch von der Emulation eingehalten werden. Nur wenn dies gegeben ist, ist eine Konsistenz der von den einzelnen Emulationskomponenten auf einen speziellen Befehl gespeicherten Datenpakete überhaupt zu gewährleisten. Indem jedes gespeicherte Datenpaket mit einem automatisch von der jeweiligen Emulationskomponente generierten Zeitstempel versehen und zusammen mit diesem Zeitstempel abgespeichert wird, lässt sich eine Zusammengehörigkeit einzelner Datenpakete automatisch ermitteln. Auf Basis einer solchen automatisch ermittelbaren Zusammengehörigkeit der gespeicherten Datenpakete, nämlich der von den von dem Simulationssystem umfassten Emulationskomponenten gespeicherten Datenpakete, kann gewissermaßen ein eingefrorener Zustand der Simulation zu einem späteren Zeitpunkt zyklusgenau (konsistent) wiederhergestellt werden. Dafür werden automatisch anhand des Zeitstempels zusammengehörige Datenpakete ermittelt und die davon umfassten Daten wieder der jeweiligen Emulationskomponente sowie dem Prozessmodell zugeführt.
-
Aufgrund der Komplexität heutiger Kraftwerksanlagen resultiert notwendig eine entsprechende Komplexität des Simulationssystems. Ein Aspekt der Komplexität ist dabei bereits die reine Anzahl der Geräte der Automatisierungshardware, die auch in dem Simulationssystem abgebildet wird. Analog zur realen Hardware oder zur projektierten Hardware (Originalsystem) bildet die Emulation die von dem Originalsystem umfassten Geräte und Einheiten – zum Beispiel speicherprogrammierbare Steuerungen, dezentrale Feldgeräte und dergleichen – nach, nämlich in Form jeweils einer Emulationskomponente. Die Emulation der Automatisierungsebene verwendet dabei die von einem Engineeringsystem erzeugte Automatisierungssoftware unverändert und bearbeitet diese im Kontext der nachgebildeten Automatisierungsebene. Jede Emulationskomponente führt also die für ihr reales oder projektiertes Pendant vorgesehene Automatisierungssoftware aus. Dabei erfolgt analog zum Originalsystem eine zyklische Bearbeitung der Automatisierungssoftware innerhalb des Simulationssystems durch die jeweilige Emulationskomponente, die dafür zum Beispiel als sogenannte SoftPLC fungiert, also zumindest eine Softwarefunktionalität in Form eines Interpreters (SPS-Interpreter) umfasst, die dafür bestimmt und eingerichtet ist, um Programmcodeanweisungen eines SPS-Programms in durch die jeweilige Zielhardware der Emulationskomponente und den dortigen Mikroprozessor ausführbare Programmcodeanweisungen umzusetzen. Hierbei erfolgt die Programmbearbeitung entsprechend der Projektierung entweder in einem Grundzyklus oder einem Vielfachen des Grundzyklus.
-
Um einen Zustand des Simulationssystems zum Zwecke einer späteren Wiederherstellung dieses Zustands zu konservieren, ist ein Erfassen und ein wiederabrufbares Abspeichern der dafür relevanten Daten erforderlich. Grundsätzlich erfordert die Identifikation von charakteristischen Zuständen eines Systems und damit auch eines Simulationssystems einen erheblichen Aufwand und vor allem ist eine Identifikation der jeweiligen Zustände für jedes System individuell vorzunehmen. Bei dem hier vorgeschlagenen Ansatz wird daher ein anderer Weg beschritten und es ist vorgesehen, dass jeweils ein Signalabbild gespeichert wird. Jedes Signalabbild umfasst die Gesamtheit aller vom Prozessmodell für die jeweilige Emulationskomponente generierten Daten sowie die Gesamtheit aller von der jeweiligen Emulationskomponente an das Prozessmodell auszugebenden oder ausgegebenen Daten. Indem jeder Emulationskomponente die für diese bestimmten Daten aus dem jeweiligen Signalabbild zugeführt und dem Prozessmodell die Daten der Signalabbilder der Emulationskomponenten zugeführt werden, ist ein durch die Gesamtheit der Signalabbilder spezifizierter Signalzustand (Systemzustand) wiederhergestellt.
-
Weil zum Konservieren und zum späteren Wiederaufrufen eines Systemzustands eine nicht unerhebliche Datenmenge abgespeichert werden muss, nämlich zyklusgenau das Systemabbild jeder Emulationskomponente, ist des Weiteren vorgesehen, dass jedes jeweils ein Systemabbild umfassendes Datenpaket nur die eigentlichen Nutzdaten umfasst, also nur die vom Prozessmodell an die jeweilige Emulationskomponente ausgegebenen Daten und nur die für das Prozessmodell vorgesehenen Daten der Emulationskomponente. Optional können vom Systemabbild weitere Nutzdaten umfasst sein. Das Format/Layout eines Datenpakets ist dabei spezifisch für die jeweilige Emulationskomponente, denn jede Emulationskomponente verarbeitet und erzeugt jeweils individuelle Daten. Ein solches Layout eines Datenpakets einer Emulationskomponente ist aber während der Simulation konstant. Aus diesem Grunde kann – zum Beispiel anhand von Projektierungsdaten des Engineeringsystems – ein konstantes Layout für jedes Datenpaket verwendet werden, wobei das jeweilige Layout für jedes Datum konkret dessen Position innerhalb des Datenpakets und dessen Datentyps spezifiziert. Beim Laden eines Datenpakets wird dasselbe Layout verwendet, so dass die zuvor abgespeicherten Daten wieder innerhalb der Simulation zur Verfügung stehen.
-
Die Reduktion der abzuspeichernden Daten, nämlich der Daten des Signalabbilds, auf die reinen Nutzdaten ermöglicht das zyklusgenaue Konservieren eines Zustands der Simulation und damit das spätere Wiederherstellen eines solchen Zustands. Das Abspeichern erfolgt als Reaktion auf ein entsprechendes Signal, also zum Beispiel ein Kommando einer Leitstation. Dabei ist zu berücksichtigen, dass aufgrund einer üblichen Anzahl von zu emulierenden Automatisierungssystemen (mehrere Dutzend Geräte, im Einzelfall 200 Geräte und mehr) und einer entsprechenden Anzahl von Emulationskomponenten sowie einer üblichen Anzahl von zu verarbeitenden Signalen (üblicherweise mehrere Tausend Signale, im Einzelfall 25.000 Signale und mehr) ein erhebliches Datenaufkommen resultiert, das zyklusgenau zu bewältigen ist. Erst die Reduktion der abzuspeichernden Daten auf die reinen Nutzdaten ermöglicht dies bei den geforderten Zykluszeiten von zum Beispiel 100 ms.
-
Vorteilhafte Ausgestaltungen des Simulationsverfahrens sind Gegenstand der Unteransprüche. Dabei verwendete Rückbeziehungen weisen auf die weitere Ausbildung des Gegenstandes des Hauptanspruches durch die Merkmale des jeweiligen Unteranspruches hin. Sie sind nicht als ein Verzicht auf die Erzielung eines selbständigen, gegenständlichen Schutzes für die Merkmalskombinationen der rückbezogenen Unteransprüche zu verstehen. Des Weiteren ist im Hinblick auf eine Auslegung der Ansprüche bei einer näheren Konkretisierung eines Merkmals in einem nachgeordneten Anspruch davon auszugehen, dass eine derartige Beschränkung in den jeweils vorangehenden Ansprüchen nicht vorhanden ist.
-
Bei einer Ausführungsform des Verfahrens werden zum Wiederherstellen eines zurückliegenden Zustands der Kraftwerkssimulation automatisch anhand des Zeitstempels zusammengehörige Datenpakete ermittelt und die davon umfassten Daten den jeweiligen Emulationskomponenten sowie dem Prozessmodell zugeführt. Weil die von den Datenpaketen umfassten Daten zum Zeitpunkt der Aufzeichnung, also zum Zeitpunkt des Abspeicherns des Datenpakets, einen Teilzustand des Simulationssystems, nämlich im Umfang des Einflusses der jeweiligen Emulationskomponente auf den Gesamtzustand, repräsentieren, führt eine Wiederherstellung sämtlicher zusammengehöriger Datenpakete zu einer Wiederherstellung des Zustand des gesamten Simulationssystems zum Zeitpunkt der Aufzeichnung der einzelnen Datenpakete. Die zeitliche Konsistenz ist dabei gewährleistet, weil nur zusammengehörige Datenpakete zum Wiederherstellen eines zurückliegenden Systemzustands verwendet werden. Die Zusammengehörigkeit ergibt sich dabei anhand des von jedem Datenpaket umfassten Zeitstempels.
-
Sollte sich die Situation ergeben, dass für zumindest eine Emulationskomponente kein Datenpaket mit einem passenden Zeitstempel ermittelt werden kann, ist eine Wiederherstellung des Systemzustands nicht möglich und es wird automatisch eine entsprechende Fehlermeldung erzeugt und zur Information des Benutzers ausgegeben. Dann kann der Benutzer versuchen, einen zu einem anderen Zeitpunkt gehörigen Systemzustand wiederherzustellen. Bei einer besonderen Ausführungsform des Verfahrens wird automatisch überwacht, welche Systemzustände automatisch wiederhergestellt werden können, also für welche Zeitstempel-Werte tatsächlich für jede Emulationskomponente ein passendes Datenpaket zur Verfügung steht und es werden dem Benutzer nur diese Systemzustände zur Auswahl angeboten.
-
Bei einer weiteren oder alternativen Ausführungsform des Verfahrens resultiert ein jeweiliges Format eines von einer Emulationskomponente abgespeicherten Datenpakets automatisch aufgrund einer Interpretation von Projektierungsdaten eines jeweils emulierten Originalsystems. Auf diese Weise ergibt sich ein zumindest für die Dauer der Simulation konstantes Format für alle Datenpakete, wobei jede Emulationskomponente ein Datenpaket in einem für die Emulationskomponente spezifischen Format erzeugt. Aufgrund der automatischen Gewinnung des jeweiligen Formats im Wege einer automatischen Interpretation der Projektierungsdaten muss das jeweilige Format nicht aufwendig und in zudem bekanntermaßen ausgesprochen fehleranfälliger Art und Weise im Rahmen einer manuellen Programmierung vorgegeben werden.
-
Bei einer nochmals weiteren oder alternativen Ausführungsform des Verfahrens ist den Emulationseinheiten und den Emulationskomponenten eine Kommunikationskomponente zugeordnet, welche anhand von Zuordnungsdaten automatisch einerseits eine Weiterleitung von vom Prozessmodell generierten Daten an genau diejenige Emulationskomponente bewirkt, für die die Daten bestimmt sind, und dabei andererseits auch diejenige Emulationseinheit auswählt, auf der die jeweilige Emulationskomponente abläuft. Aufgrund einer solchen Zuordnung und Weiterleitung der vom Prozessmodell generierten Daten resultiert eine Optimierung der Menge der innerhalb des Simulationssystems zu übertragenen Daten. Tatsächlich werden nur genau diejenigen Daten übertragen, die eine Übertragung erfordern, während ohne eine solche Zuordnung und Weiterleitung alternativ eine Weiterleitung aller vom Prozessmodell generierten Daten an alle Emulationskomponenten erfolgen müsste.
-
Bei einer vorteilhaften Ergänzung dieser Ausführungsform des Verfahrens resultieren die Zuordnungsdaten (ebenfalls) aufgrund einer automatischen Interpretation von Projektierungsdaten eines jeweils simulierten Originalsystems. Aufgrund der automatischen Gewinnung der Zuordnungsdaten im Wege einer automatischen Interpretation der Projektierungsdaten müssen die Zuordnungsdaten nicht aufwendig und in zudem bekanntermaßen ausgesprochen fehleranfälliger Art und Weise im Rahmen einer manuellen Programmierung vorgegeben werden.
-
Die oben genannte Aufgabe wird auch mit einem verteilten Simulationssystem zur Kraftwerkssimulation gelöst, das nach dem Verfahren wie hier und im Folgenden beschrieben arbeitet und dazu Mittel zur Durchführung des Verfahrens umfasst. Die Erfindung ist dabei in Software implementiert. Die Erfindung ist damit einerseits auch ein Computerprogramm mit durch einen Computer ausführbaren Programmcodeanweisungen und andererseits ein Speichermedium mit einem derartigen Computerprogramm, also ein Computerprogrammprodukt mit Programmcodemitteln, sowie schließlich einerseits auch ein Computer oder dergleichen, der mit anderen gleichen oder gleichartigen Geräten in einem Netzwerk zusammengefasst ist und in dessen Speicher als Mittel zur Durchführung des Verfahrens und seiner Ausgestaltungen ein solches Computerprogramm geladen oder ladbar ist, und andererseits das als Simulationssystem fungierende Computernetzwerk insgesamt.
-
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.
-
Das Ausführungsbeispiel ist nicht als Einschränkung der Erfindung zu verstehen. Vielmehr sind im Rahmen der vorliegenden Offenbarung durchaus auch Ergänzungen und Modifikationen möglich, insbesondere solche, die zum Beispiel durch Kombination oder Abwandlung von einzelnen in Verbindung mit den im allgemeinen oder speziellen Beschreibungsteil beschriebenen sowie in den Ansprüchen und/oder der Zeichnung enthaltenen Merkmalen oder Verfahrensschritten für den Fachmann im Hinblick auf die Lösung der Aufgabe entnehmbar sind und durch kombinierbare Merkmale zu einem neuen Gegenstand oder zu neuen Verfahrensschritten oder Verfahrensschrittfolgen führen.
-
Es zeigen
-
1 ein Simulationssystem mit einer verteilten Simulationshardware und
-
2 ein von einer auf der Simulationshardware ablaufenden Emulationskomponente als Signalabbild erzeugtes Datenpaket zum Konservieren und eventuellen späteren Wiederherstellen eines durch das Signalabbild definierten Zustands des Simulationssystems oder eines Teilsystems innerhalb des Simulationssystems.
-
Die Darstellung in 1 zeigt in schematisch vereinfachter Form ein zur Kraftwerkssimulation bestimmtes Simulationssystem 10. Dieses umfasst in Form einer verteilten Simulationshardware zumindest eine Emulationseinheit 12, 14, hier eine erste und eine zweite Emulationseinheit 12, 14, sowie gegebenenfalls weitere Emulationseinheiten 16. Bei der oder jeder Emulationseinheit 12–16 handelt es sich um ein eigenes Gerät, zum Beispiel einen Computer. Zu dem Simulationssystem 10 gehört des Weiteren zumindest ein Gerät, auf dem zur Simulation des jeweiligen Kraftwerksprozesses ein Prozessmodell 18 instanziiert ist. Auf der oder jeder Emulationseinheit 12–16 ist zumindest eine Emulationskomponente 20, 22, 24, 26, 28 instanziiert und jede Emulationskomponente 20–28 repräsentiert ein Gerät des Originalsystems, also der jeweiligen realen Automatisierungshardware oder der projektierten Automatisierungshardware. Den Emulationseinheiten 12–16 und den dort geladenen Emulationskomponente 20–28 ist einerseits ein im Folgenden kurz als Synchronisationsmechanismus 30 bezeichneter Steuerungs- und Synchronisationsmechanismus 30 sowie andererseits eine Kommunikationskomponente 32 zugeordnet. Das Simulationssystem 10 kann dabei einen allen Emulationseinheiten 12–16 gemeinsamen Synchronisationsmechanismus 30 sowie eine allen Emulationseinheiten 12–16 gemeinsame Kommunikationskomponente 32 oder eine Mehrzahl solcher, jeweils einer Emulationseinheit 12–16 zugeordneter Funktionseinheiten umfassen. Über die Kommunikationskomponente 32 ist die Anbindung an das Prozessmodell 18 gewährleistet, so dass vom Prozessmodell 18 generierte Daten zu den einzelnen Emulationseinheiten 12–16 sowie den jeweiligen Emulationskomponenten 20–28 und umgekehrt von den Emulationskomponenten 20–28 zum Prozessmodell 18 gelangen können. Die Kommunikationskomponente 32 umfasst dafür Zuordnungsdaten 34 oder hat Zugriff auf solche Zuordnungsdaten 34, anhand derer sich ergibt, welches vom Prozessmodell 18 erzeugte Datum – zum Beispiel ein eine Kühlwassertemperatur repräsentierendes Datum – für welche Emulationskomponente 20–28 oder welche Emulationskomponenten 20–28 bestimmt ist. Zu den Zuordnungsdaten 34 gehört darüber hinaus eine Information, auf welche Emulationseinheit 12–16 eine als Empfänger eines jeweiligen Datums identifizierte Emulationskomponente 20–28 geladen ist.
-
Zum Konservieren eines Zustands der Simulation wird zum Beispiel an einer dem Simulationssystem 10 zugeordneten und mit diesem in geeigneter, an sich bekannter Art und Weise kommunikativ verbundenen Leitstation (instructor station) 36 ein im Folgenden nur kurz als Kommando 38 bezeichnetes sogenanntes SaveSnapshot-Kommando ausgelöst, das mittels des Steuerungs-/Synchronisationsmechanismus 30 gleichzeitig oder zumindest ausreichend gleichzeitig zu allen Emulationskomponenten 20–28 gelangt. Auf den Empfang dieses Kommandos 38 wird im laufenden Simulationsbetrieb von jeder Emulationskomponente 20–28 ein für den Zustand der Simulation repräsentatives oder teilrepräsentatives Datenpaket 40 gespeichert. Als Speicherort für diese Datenpakete 40 kommen der Hauptspeicher der jeweiligen Emulationseinheit 12–16 oder ein von der jeweiligen Emulationseinheit 12–16 umfasster oder dieser zugeordneter Massenspeicher 42, also zum Beispiel ein Festplattenlaufwerk oder dergleichen, in Betracht. Einzelne Emulationseinheiten 12–16 können dabei gemeinsam auf ein und denselben Massenspeicher 42 zugreifen. Ein solcher Massenspeicher 42 kommt auch als Speicherort der Zuordnungsdaten 34 in Betracht. Das Verfahren ermöglicht damit die zyklusgenaue Erzeugung solcher Datenpakete 40, die wiederum sogenannte Initial Conditions (ICs) der Simulation darstellen.
-
Die Darstellung in 2 soll den Aspekt des Signalabbilds und das auf dessen Basis im Zusammenhang mit dem Empfang eines Kommandos 38 von jeder Emulationskomponente 20–28 abgespeicherte Datenpaket 40 illustrieren. Jede Emulationskomponente 20–28 interagiert zumindest mit dem Prozessmodell 18. Die Emulationskomponente 20–28 empfängt dabei vom Prozessmodell 18 für die jeweilige Emulationskomponente 20–28 generierte Signale (linke Seite der Darstellung in 2). Diese Signale entsprechen denjenigen Signalen, die bei einem realen Kraftwerksprozess mittels einer entsprechenden Sensorik im Kraftwerksprozess aufgenommen werden, also zum Beispiel ein Signal, das einen mittels eines Temperatursensors aufgenommenen Temperaturmesswert kodiert. Auf Basis solcher Signale sowie auf Basis der von der Emulationskomponente 20–28 ausgeführten Automatisierungssoftware generiert die Emulationskomponente 20–28 Signale, die an das Prozessmodell 18 ausgegeben werden (rechte Seite der Darstellung in 2). Diese Signale entsprechen denjenigen Signalen, die bei einem realen Kraftwerksprozess an einzelne Aktoren der vom Kraftwerksprozess umfassten Aktorik ausgegeben werden. Beispiele sind ein Signal, das einen Steuerbefehl zum Öffnen oder Schließen eines Ventils darstellt, oder ein eine Sollwertvorgabe für eine Drehzahlregelung eines Antriebs darstellendes Signal.
-
Beim Abspeichern eines Datenpakets 40 werden auf Basis der jeweiligen Signale (analoge oder digitale Signale) entsprechende Daten generiert, zum Beispiel ein ein Byte breites Datum zur Repräsentation eines digitalen Signals oder eines digitalen Signals zusammen mit einer damit verbundenen Größe, zum Beispiel ein Blinktakt, und ein vier Byte breites Datum zur Repräsentation eines analogen Signals. Dies ist in der Darstellung in 2 durch die beiden zum Datenpaket 40 weisenden Blockpfeile verdeutlicht.
-
Die Daten sind innerhalb des Datenpakets 40 entsprechend einem vorgegebenen Format/Layout organisiert. Dieses ergibt sich zum Beispiel anhand der Projektierungsdaten des Engineeringsystems. Dort ist in an sich bekannter Art und Weise spezifiziert, welche Daten im Rahmen der Automatisierungslösung durch welches Gerät oder welche Geräte verarbeitet werden und welcher Datentyp dem jeweiligen Datum zugrunde liegt. Damit ergibt sich für die Simulation, dass aus den Projektierungsdaten zum Beispiel unmittelbar folgt, auf welchem Teil des Originalsystems (und damit der korrespondierenden Emulationskomponente 20–28) ein zum Beispiel einen Temperaturmesswert repräsentierendes Datum verarbeitet wird und dass es sich bei diesem Datum um die Repräsentation eines analogen Messwerts handelt. Aus der Summe dieser Informationen ergibt sich konkret, welche Daten jede Emulationskomponente 20–28 verarbeitet und welcher Datentyp jedem Datum zugrunde liegt. Dies bestimmt das Format/Layout des Datenpakets 40, das während der Simulation konstant ist, aber im Falle einer Änderung der Automatisierungssoftware auch jederzeit automatisch neu generiert werden kann. In diesem Format/Layout speichert jede Emulationskomponente 20–28 beim Erhalt eines entsprechenden Kommandos 38 jeweils ein Datenpaket 40 ab. Beim späteren Laden des Datenpakets 40 erfolgt die Interpretation der davon umfassten Daten entsprechend dem beim Abspeichern zugrunde gelegten Format/Layout.
-
Die zum Konservieren eines Zustands der Kraftwerkssimulation abgespeicherten Datenpakete 40 werden kurz auch als Initial Conditions (IC) bezeichnet, denn beim späteren konsistenten Laden zusammengehöriger Datenpakete 40, also beim Wiederherstellen der sich mittels der von den Datenpaketen 40 umfassten Daten ergebenden Anfangsbedingungen, kann genau mit diesen zuvor erfassten Anfangsbedingungen die Kraftwerkssimulation (erneut) fortgesetzt werden und zwar gegebenenfalls auch mehrfach hintereinander, wenn zum Beispiel ausgehend von jeweils gleichen Anfangsbedingungen unterschiedliche Szenarien getestet oder geschult werden sollen. Bei den unterschiedlichen Szenarien kann es sich dabei um unterschiedliche Bedienhandlungen und/oder unterschiedliche Vorgänge im Kraftwerksprozess im Anschluss an den durch die Anfangsbedingungen bestimmten Zustand handeln.
-
In der Darstellung in 2 ist darüber hinaus – ebenfalls nur schematisch stark vereinfacht – nochmals die Kommunikationskomponente 32 gezeigt, die anhand der Zuordnungsdaten 34 (1) eine Zuordnung – genauer eine Zuordnung und Weiterleitung – der vom Prozessmodell 18 ausgegebenen Signale an die jeweilige Emulationskomponente 20–28 sowie der von einer Emulationskomponente 20–28 ausgegebenen Daten an das Prozessmodell 18 übernimmt. Vereinfacht kommt als gedankliches Modell für die Zuordnungs- und Weiterleitungsfunktionalität der Kommunikationskomponente 32 ein Multiplexer in Betracht, dessen „Schaltstellung“ sich anhand des jeweils eingehenden Signals sowie eines in den Zuordnungsdaten 34 kodierten Ziels des jeweiligen Signals, nämlich einerseits der Emulationskomponente 20–28, für die das Signal bestimmt ist, und andererseits der Emulationseinheit 12–16, auf der die jeweilige Emulationskomponente 20–28 instanziiert ist, ergibt.
-
Die Darstellung in 2 zeigt schließlich auch, dass jedes von einer Emulationskomponente 20–28 abgespeicherte Datenpaket 40 einen im Zusammenhang mit dem Abspeichern von der Emulationskomponente 20–28 automatisch generierten Zeitstempel 44 aufweist. Der Zeitstempel 44 kodiert eine eindeutige Information bezüglich desjenigen Zyklus, in dem das Datenpaket 40 abgespeichert wurde und die davon umfassten Daten sowie die zugrunde liegenden Signale gültig waren. Zur automatischen Bildung des Zeitstempels 44 kommt die Auswertung eines in jeder Emulationskomponente 20–28 mitlaufenden Zählers in Betracht, der bei jedem neuen Zyklus inkrementiert oder dekrementiert wird. Weil alle Emulationskomponenten 20–28 zyklisch mit einer gemeinsamen Zykluszeit sowie einer gemeinsamen Zeitbasis arbeiten, kann anhand des Zeitstempels 44 auch bei einer Vielzahl abgespeicherter Datenpakete 40 jederzeit automatisch eine Zusammengehörigkeit einzelner Datenpakete 40 erkannt werden, denn es gehören alle diejenigen Datenpakete 40 zusammen, die jeweils einen identischen Zeitstempel 44 aufweisen.
-
Ein derartiges Abspeichern von Datenpaketen 40 und die Möglichkeit, die Datenpakete 40 und ihren Inhalt zu einem späteren Zeitpunkt wieder aufzurufen, macht das Verfahren zur Kraftwerkssimulation für Testzwecke und Schulungszwecke geeignet. Ein bestimmter Zustand der Simulation kann zum Beispiel durch Absetzen des Kommandos 38 eingefroren und damit gleichsam konserviert werden. Dieser Zustand kann durch das Laden der zusammengehörigen Datenpakete 40 jederzeit konsistent wiederhergestellt werden und ausgehend von einem solchen jederzeit wiederherstellbaren Zustand können unterschiedliche Szenarien bei der Ausführung des jeweiligen Kraftwerksprozesses durchgespielt werden.
-
Ein Zeitstempel 44 oder eine einem Zeitstempel funktional entsprechende Signatur wird auch beim Transfer der von der jeweiligen Emulationskomponente 20–28 an das Prozessmodell 18 ausgegebenen Daten und/oder der vom Prozessmodell 18 für die Emulationskomponenten 20–28 generierten Daten verwendet. Auf Seiten des Prozessmodells 18 wird diese Signatur ausgewertet, um zeitlich zusammengehörige Signale der Emulationskomponenten 20–28 zeitlich konsistent (synchron) im Prozessmodel 18 anzuwenden. Als Signatur kommt zum Beispiel der Wert eines mit jedem Zyklus inkrementierten oder dekrementierten Zählers in Betracht. Dann kann auf Seiten des Prozessmodells 18 eine zeitliche und vor allem zyklusgenaue Zusammengehörigkeit der jeweils von einzelnen Emulationskomponenten 20–28 empfangenen Daten erkannt werden. Eine auf jeder Emulationseinheit 14–16 und der oder jeder Simulationseinheit 18 zum Beispiel als Teil der Kommunikationskomponente 32 installierte Softwarefunktionalität fungiert dabei als Synchronisationsmechanismus für das verteilte Simulationssystem 10. Ein solcher Synchronisationsmechanismus kann zum Beispiel überwachen, ob von allen innerhalb des Simulationssystems 10 miteinander kommunizierenden Einheiten, nämlich den Emulationskomponenten 20–28 einerseits und dem Prozessmodell 18 andererseits, innerhalb einer vorgegebenen Zeitspanne die jeweils erwarteten Daten eintreffen. Die Dauer der vorgegebenen Zeitspanne entspricht dabei der jeweiligen Zykluszeit. Während eines Zyklus werden also zum Beispiel auf Seiten des Prozessmodells 18 von allen Emulationskomponenten 20–28 Daten mit einer identischen Signatur erwartet. Treffen von mindestens einer Emulationskomponente 20–28 keine Daten oder keine Daten mit der erwarteten Signatur ein, liegt eine Echtzeitverletzung vor, die dem Benutzer signalisiert wird. Der Synchronisationsmechanismus gewährleistet also den zyklusgenauen Betrieb der Simulations- und Emulationskomponenten 20–28.
-
Obwohl die Erfindung im Detail durch das Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch das oder die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
-
Einzelne im Vordergrund stehende Aspekte der hier eingereichten Beschreibung lassen sich damit kurz wie folgt zusammenfassen: Angegeben wird ein Verfahren zur Kraftwerkssimulation, insbesondere für Test- und Schulungszwecke, mittels einer verteilten Simulationshardware, welche zumindest zwei Emulationseinheiten 12–16 mit zumindest einer auf jeder Emulationseinheit 12–16 ablaufenden Emulationskomponente 20–28 sowie eine Simulationseinheit mit einem Prozessmodell 18 umfasst, wobei die Emulationskomponenten 20–28 zyklisch mit einer gemeinsamen Zykluszeit von zum Beispiel 100 ms sowie einer gemeinsamen Zeitbasis arbeiten, wobei anhand eines jeweiligen Zyklus ein Wert für einen Zeitstempel 44 gebildet wird sowie ein auf ein entsprechendes Kommando 38 von jeder Emulationskomponente 20–28 gesichertes Datenpaket 40 automatisch mit dem jeweiligen Zeitstempel 44 versehen wird und wobei die von dem Datenpaket 40 umfassten Daten entsprechend einem vorgegebenen Format organisiert sind und ein Signalabbild, nämlich die Summe aller vom Prozessmodell 18 für die jeweilige Emulationskomponente 20–28 generierten Daten sowie der von der jeweiligen Emulationskomponente 20–28 an das Prozessmodell 18 ausgegebenen Daten, umfassen.
-
Bezugszeichenliste
-
- 10
- Simulationssystem
- 12
- Emulationseinheit
- 14
- Emulationseinheit
- 16
- Emulationseinheit
- 18
- Prozessmodell
- 20
- Emulationskomponente
- 22
- Emulationskomponente
- 24
- Emulationskomponente
- 26
- Emulationskomponente
- 28
- Emulationskomponente
- 30
- Steuerungs- und Synchronisationsmechanismus
- 32
- Kommunikationskomponente
- 34
- Zuordnungsdaten
- 36
- Leitstation
- 38
- Kommando
- 40
- Datenpaket
- 42
- Massenspeicher
- 44
- Zeitstempel