[0001] Die Erfindung betrifft ein Verfahren zur sicheren Anzeige des Zustandes einer signal-technischen
Anlage auf einem Bildschirm und einen Bedienplatzrechner zur Ausführung des Verfahrens.
Einführung
[0002] In Stellwerken und Betriebsleitstellen wird der aktuelle Zustand signaltechnischer
Anlagen auf Bildschirmen angezeigt. Visualisiert werden beispielsweise Besetztzustände
von Gleisabschnitten, die Lage von Weichen und Signalbegriffe. Das Bedienpersonal,
z. B. ein Fahrdienstleiter, trifft auf der Grundlage des angezeigten Zustandes Entscheidungen
und greift gezielt in das Betriebsgeschehen der Anlage ein. Kommt es bei der Anzeige
des Zustandes zu einer für das Bedienpersonal nicht erkennbaren Verfälschung von visuellen
Informationen, so können solche Eingriffe zu einer Gefährdung des Betriebes führen.
[0003] Es sind daher verschiedene Verfahren entwickelt worden, wie Verfälschungen von Bildschirmanzeigen
zuverlässig erkannt werden können. So ist beispielsweise aus der DE-C2-43 06 470 ein
Verfahren bekannt, bei dem zugeführte Zustandsdaten in zwei unabhängigen logischen
Kanälen aufbereitet und miteinander verglichen werden. Die graphische Benutzeroberfläche
wird dabei vorzugsweise von einem X-Windows-System zur Verfügung gestellt.
[0004] Fig. 1 zeigt den Grundaufbau eines X-Windows-Systems. Wesentliche Komponenten sind
ein X-Server XSERV und eine oder mehrere Client-Applikationen CLAPP1 und CLAPP2. Die
Client-Applikationen setzen gewöhnlich auf eine X-Bibliothek XLIB auf, die den Client-Applikationen
einen vereinbarten Befehlssatz zur Verfügung stellt. Aufrufe REQU von den Client-Applikationen
an den X-Server XSERV werden von der X Bibliothek XLIB in das X-Protokoll übersetzt
und über ein Netzwerk NETW übermittelt. Der X-Server XSERV erstellt daraus ein unmittelbar
auf dem Bildschirm BS darstellbares Bild. Neben dem Bildschirm sind an den X-Server
in der Regel Eingabegeräte wie Tastatur TAS und Maus MAUS angeschlossen. Der X-Server
sorgt u. a. dafür, daß verschiedene Fenster über die Eingabegeräte aufrufbar und in
Größe und Position veränderbar sind. Zwischen dem X-Server und dem Bildschirm ist
lediglich eine Graphikkarte geschaltet, die u. a. einen Bildwiederholspeicher enthält.
[0005] Durch die Eingabegeräte erzeugte Signale werden in Form von besonderen Nachrichten
EVTS vom X-Server XSERV an die Client-Applikationen CLAPP1 und CLAPP2 über das Netzwerk
NETW übermittelt. Außerdem gibt es Nachrichten REPL, mit denen der X-Server den Client-Applikationen
bestimmte Aufrufe quittiert oder Fehlermeldungen übermittelt.
[0006] Aus der DE-A1-43 32 143 ist ein Verfahren zur Anzeige von Betriebszuständen bekannt,
bei dem die Zustandsdaten zwar zweikanalig zugeführt werden, aber in einem Rechner
nur teilweise zweikanalig aufbereitet werden. In einem Graphiksystem sind dort Bildsymbole
hinterlegt, die in Abhängigkeit vom darzustellendem Zustand farbig ausgelegt werden.
Das dort beschriebene Verfahren stößt jedoch auf ernste Sicherheitsbedenken, da das
Graphiksystem selbst nur einfach vorhanden ist. Es ist beispielsweise nicht erkennbar,
wenn ein Bildsymbol im Graphiksystem verfälscht aus dem Speicher geladen und in das
Gesamtbild integriert wird.
Aufgabe
[0007] Es ist daher Aufgabe der Erfindung, ein Verfahren zur sicheren Anzeige des Zustandes
einer signaltechnischen Anlage auf einem Bildschirm anzugeben. Das Verfahren soll
bei möglichst geringem Hard- und Softwareaufwand eine hohe Sicherheit beim Erkennen
von Fehlern und Verfälschungen bieten.
Zusammenfassung der Erfindung
[0008] Diese Aufgabe wird gelöst von einem Verfahren mit den Merkmalen gemäß Anspruch 1.
Erfindungsgemäß erstellen zwei Bildaufbaumodule unter Verwendung zugeführter Zustandsdaten
unabhängig voneinander aus Bildpunkten zusammengesetzte Bildsymbole (SYMB 1, SYMB2).
Wenigstens ein Bildaufbaumodul übermittelt die erstellten Bildsymbole an ein Anzeigemodul.
Die Farbwerte der Bildpunkte für die Bildsymbole werden dabei explizit angegeben.
Das Anzeigemodul setzt anschließend die übermittelten Bildsymbole zu einem unmittelbar
auf dem Bildschirm anzeigbaren Zustandsbild zusammen.
[0009] Nach dem erfindungsgemäße Verfahren werden also auch die Bildsymbole unabhängig voneinander
in zwei unterschiedlichen logischen Kanälen erzeugt. Das Anzeigemodul, welches nur
einfach vorhanden ist, erhält von den Bildaufbaumodulen die vollständigen Bildpunktinformationen
(d. h. die Farbwerte) für die Bildsymbole. Die Funktionalität des Anzeigemoduls ist
somit beschränkt auf das Zusammensetzen der übermittelten Bildsymbole zu einem vollständigen
Bild. Aufgrund dieser reduzierten Funktionalität ist auch die Wahrscheinlichkeit geringer,
daß zur Verfälschung der Anzeige führende Fehler unerkannt bleiben.
[0010] Bei einem vorteilhaften Ausführungsbeispiel der Erfindung greift jedes Bildaufbaumodul
beim Erstellen der Bildsymbole auf einen eigenen geschützten Speicherbereich zu. In
diesem Speicherbereich sind Vorlagen für Bildsymbole bildpunktweise gespeichert. Es
wird somit verhindert, daß die Bildaufbaumodule gemeinsam auf einen fehlerhaften Speicher
zugreifen und daraus parallel verfälschte Bildsymbole erstellen.
[0011] Bei einem anderen vorteilhaften Ausführungsbeispiel handelt es sich bei den Bildaufbaumodulen
um X-Clients und bei dem Anzeigemodul um einen X-Server. Da die erforderliche Sicherheit
mit nur einem X-Server anstelle von sonst bei zweikanaligen Systemen üblichen zwei
X-Servern erzielt wird, benötigt man bei der Realisierung nur eine X-Server-Lizenz.
[0012] Die Erfindung ist jedoch keineswegs auf die Verwendung eines X-Windows-Systems beschränkt.
Bei Einsatz bestimmter Client-Server-Betriebssysteme wie beispielsweise Windows NT®
können die Bildaufbaumodule als Client-Prozesse realisiert werden. Das Anzeigemodul
ist dann ein geschütztes Subsystem des Betriebssystems. Die Übermittlung von Bildsymbolen
erfolgt dann über Schnittstellen für lokale oder entfernte Prozeduraufrufe.
[0013] Die Erfindung wird nachfolgend anhand der Ausführungsbeispiele und der Zeichnungen
eingehend erläutert. Es zeigen:
Fig. 1: Prinzipskizze zur Erläuterung eines X-Windows-Systems;
Fig. 2: Schematische Darstellung eines erfindungsgemäßen Bedienplatzrechners;
Fig. 3: Flußdiagramm zur Erläuterung des erfindungsgemäßen Verfahrens;
Fig. 4: Visuelle Darstellung von besetzten und unbesetzten Gleisabschnitten.
[0014] Fig. 2 zeigt schematisch einen Bedienplatzrechner, dem über zwei unabhängige Eingabekanäle
Zustandsdaten i1 und i2 zugeführt werden. Die Zustandsdaten stammen beispielsweise
von einem signaltechnisch sicheren Stellwerksrechner. Die Zustandsdaten sind inhaltlich
identisch und werden nur aus Sicherheitsgründen zweifach in unterschiedlichen Formaten
übertragen (z. B. normal und invertiert). Denkbar ist jedoch auch, daß die Zustandsdaten
nur einfach dem Bedienplatzrechner zugeführt und dort intern an beide Eingabekanäle
verteilt werden.
[0015] Jeder Eingabekanal steht mit einem Bildaufbaumodul BAM1 bzw. BAM2 in Verbindung.
Die Bildaufbaumodule BAM1 und BAM2 erstellen aus den zugeführten Zustandsdaten i1
und i2 Bildsymbole für die von den Zustandsdaten betroffenen Teile der signaltechnischen
Anlage. Sie greifen dabei auf Projektdaten zurück, die u. a. Angaben enthalten, welches
Bildsymbol für welche Art von Gleis- oder Feldelement zu verwenden ist. Komplexere
Feldelemente, z. B. Hauptsignale, müssen ggf. aus mehreren Bildsymbolen zusammengesetzt
werden. Die Regeln, welche Bildsymbole zu verwenden und wie diese anzuordnen sind,
werden üblicherweise vom Anlagenbetreiber festgelegt. Sie sind vorzugsweise in beiden
Bildaufbaumodulen BAM1 und BAM2 unabhängig voneinander abgelegt.
[0016] Anhand des in den Fig. 3 und Fig. 4 dargestellten Beispiels soll die Erstellung der
Bildsymbole näher erläutert werden. Es sei angenommen, daß in einem Schritt 31 die
Bildaufbaumodule BAM1 und BAM2 als Zustandsdatum von einem sicheren Stellwerksrechner
die Meldung

Gleisabschnitt G3 besetzt" zugeführt bekommen. Mit diesem Zustandsdatum meldet der
Stellwerksrechner die Besetzung des Gleisabschnitts G3 durch einen Zug.
[0017] Das Bildaufbaumodul BAM1 ermittelt nun in einem Schritt 32, welches Bildsymbol für
die Darstellung eines Gleisabschnitts zu verwenden ist. Es greift dazu auf Projektdaten
zu, denen in diesem Beispiel zu entnehmen ist, daß der betreffende Gleisabschnitt
durch einen horizontalen Balken darzustellen ist. Aus einer Datei, in denen alle überhaupt
möglichen Bildsymbole als Vorlagen gespeichert sind, ruft das Bildaufbaumodul BAM1
die Vorlage für das entsprechende Bildsymbol ab. Anschließend ordnet das Bildaufbaumodul
BAM1 in einem Schritt 33 der Vorlage eine Vorder- und eine Hintergrundfarbe zu. Welche
Farben dabei auszuwählen sind, richtet sich nach den oben bereits angesprochenen Regeln.
Durch die Zuordnung der Farbwerte zu den einzelnen Bildpunkten der Vorlage entsteht
das fertige Bildsymbol.
[0018] Im folgenden Schritt 34 übermittelt erfindungsgemäß das Bildaufbaumodul BAM1 das
vollständige Bildsymbol einem Anzeigemodul AZM. Vollständig heißt in diesem Zusammenhang,
daß für alle Bildpunkte explizit die Farbwerte angegeben werden. Wenn das Symbol beispielsweise
13 mal 17 Bildpunkte groß ist und die Farbtiefe 8 Bit beträgt, so müssen zur Übermittlung
des Bildsymbols mindestens (13x17x8)/8 = 221 Byte übermittelt werden. Zusätzlich zu
den Farbwerten der Bildpunkte muß zumindest übermittelt werden, an welcher Stelle
des anzuzeigenden Bildes das Symbol erscheinen soll. Die Koordinaten hierfür entnimmt
das Bildaufbaumodul BAM1 den Projektdaten.
[0019] Das Anzeigemodul empfängt das Bildsymbol und überschreibt das angezeigte Bild mit
dem Bildsymbol. Fig. 4 zeigt exemplarisch vier Gleisabschnitte G1...G4. Der Gleisabschnitt
G3 ist zunächst bei dem auf dem Bildschirm angezeigten Zustandsbild durch ein Bildsymbol
dargestellt, dessen Farbgestaltung den Zustand

Frei" symbolisiert. Nach der Besetztmeldung überschreibt das Anzeigemodul AZM dieses
Bildsymbol durch das neu vom Bildaufbaumodul BAM1 übermittelte Bildsymbol. Das neue
Bildsymbol hat in diesem Fall die gleiche Geometrie, aber eine andere Farbgebung als
das ursprünglich vorhandene Bildsymbol. Durch die veränderte Farbe wird dem Bedienpersonal
der Zustand

besetzt" angezeigt.
[0020] Das Anzeigemodul hat also, wie oben bereits erwähnt, hier lediglich die Aufgabe,
das bestehende Zustandsbild mit einem Bildsymbol zu überschreiben, welches von einem
Bildaufbaumodul erzeugt worden ist. Wenn z. B. nach einem Wechsel des anzuzeigenden
Ausschnitts ein Zustandsbild komplett neu aufgebaut werden soll, so wird es vom Anzeigemodul
vollständig aus einzelnen übermittelten Bildsymbolen zusammengesetzt.
[0021] Bedienerspezifische Symbole (

Pushbuttons") werden ebenso als Bildsymbole behandelt. Sie werden also ebenfalls von
den Bildaufbaumodulen in der geschilderten Weise unter Verwendung von Vorlagen erstellt
und an das Anzeigemodul übermittelt.
[0022] Das andere Bildaufbaumodul BAM2 führt die soeben für das Bildaufbaumodul BAM1 erläuterten
Schritte in gleicher Weise, aber unabhängig davon aus. Bei einwandfreier Funktion
der Bildaufbaumodule BAM1 und BAM2 müssen die unabhängig erstellten Bildsymbole Bildpunkt
für Bildpunkt in ihren Farbwerten übereinstimmen. Um dies zu überprüfen, können die
unabhängig voneinander erstellten Bildsymbole miteinander verglichen werden. Außerdem
kann vorgesehen werden, daß Bildsymbole vom Bildschirm zurückgelesen und mit den vom
Bildaufbaumodul BAM2 erstellten Bildsymbolen verglichen werden. Derartige Überprüfungen
sind jedoch nicht Gegenstand der Erfindung, weswegen an dieser Stelle auf die eingangs
zitierten Veröffentlichungen verwiesen wird. Welches der beiden Bildaufbaumodule BAM1
oder BAM2 dem Anzeigemodul AZM im konkreten Einzelfall Bildsymbole übermittelt, ist
hier nicht von Bedeutung. In Fig. 2 sind daher die Verbindungen der beiden Bildaufbaumodule
BAM1 und BAM2 zum Anzeigemodul AZM gleich dargestellt.
[0023] Bei einem vorteilhaften Ausführungsbeispiel nach Anspruch 2 sind die Projektdaten
und auch die Vorlagen für die Bildsymbole in zwei unabhängigen geschützten Speicherbereichen
abgelegt, zu denen jeweils nur eines der beiden Bildaufbaumodule Zugriff hat. In Fig.
2 sind diese Speicherbereiche durch die Bezugszeichen SPC1 und SPC2 gekennzeichnet.
Bei den geschützten Speicherbereichen kann es sich beispielsweise um Bereiche eines
Hauptspeichers handeln, der von einem Betriebssystem verwaltet wird, welches eine
strikte Trennung von Rechnerresourcen sicherstellt (z. B. Windows NT®). In diesem
Hauptspeicher kann, wie in Fig. 2 dargestellt, auch dem Anzeigemodul AZM ein geschützter
Speicherbereich SPAZM zugewiesen sein.
[0024] Kommt es in einem der Speicherbereichen SPC1 oder SPC2 zu einer Verfälschung von
gespeicherten Informationen, so ist auf diese Weise sichergestellt, daß sich von den
Bildaufbaumodulen BAM1 und BAM2 erstellte Bildsymbole unterscheiden. Bei einem Vergleich
der Bildsymbole wird die somit Verfälschung zuverlässig erkannt.
[0025] Das erfindungsgemäße Verfahren ist erfolgreich implementiert worden auf einem X-Windows-System.
Die Bildaufbaumodule BAM1 und BAM2 sind in diesem Fall X-Client-Anwendungen, während
das Anzeigemodul ein X-Server ist. Die Übermittlung der Bildsymbole von den Bildaufbaumodulen
zum X-Server erfolgt gemäß dem X-Protokoll. Der X-Server hat erfindungsgemäß eine
- im Vergleich zur sonst gängigen Verwendung - sehr eingeschränkte Funktionalität.
Üblicherweise werden dem X-Server nur die nötigsten Angaben zur Erstellung von graphischen
Darstellungen übermittelt, um das Datenaufkommen im verbindenden Netzwerk zu minimieren.
Aus diesen Angaben (z. B. Koordinaten eines Polygonzuges) ermittelt der X-Server selbständig
die Farbwerte der anzuzeigenden Bildpunkte.
[0026] Erfindungsgemäß wird hingegen das anzuzeigende Bild vollständig, wenn auch in einzelnen
Teilen (= Bildsymbole), dem X-Servern von den X-Client-Anwendungen übermittelt. Dies
hat zur Folge, daß der Umfang der Datenübermittlung zwischen den X-Client-Anwendungen
einerseits und dem X-Server andererseits nicht unerheblich ist. Wenn die X-Client-Anwendungen
räumlich entfernt vom X-Server angeordnet ist, so ist folglich für eine ausreichende
Übertragungskapazität auf dem verbindenden Netzwerk zu sorgen. Vorzugsweise jedoch
befinden sich sind die X-Client-Anwendungen zusammen mit dem X-Server auf einem Rechner,
so daß dessen leistungsfähiges internes Bussystem für die Übertragung genutzt werden
kann.
[0027] Der X-Server ist an eine oder mehrere Graphikkarten GK angeschlossen, die mit einer
entsprechenden Zahl von Bildschirmen BS verbunden sind. Das Gesamtsystem kann somit
mit Standard-Hardware aufgebaut werden und benötigt kein besonders zu entwickelndes
Betriebssystem.
[0028] Die Erfindung ist freilich nicht auf die Verwendung eines X-Windows-Systems beschränkt.
Aufgrund der geringen Funktionalität, die vom Anzeigemodul verlangt wird, kommt auch
ein Einsatz bestimmter Client-Server-Betriebssysteme wie beispielsweise Windows NT®
in Frage. Die Bildaufbaumodule sind dann als normale Client-Anwendungen zu realisieren.
Die Rolle des Anzeigemoduls übernimmt ein geschütztes Subsystem des Betriebssystems.
Die Übermittlung von Bildsymbolen erfolgt in diesem Fall über Schnittstellen für lokale
Prozeduraufrufe. Wenn die Bildaufbaumodule und das Anzeigemodul räumlich über ein
Netzwerk verteilt sind, so erfolgt die Übermittlung entsprechend über Schnittstellen
für entfernte Prozeduraufrufe.
1. Verfahren zur sicheren Anzeige des Zustandes einer signaltechnischen Anlage auf einem
Bildschirm (BS) mit Hilfe eines Bedienplatzrechners (BPR), umfassend die folgenden
Schritte:
a) wenigstens zwei Bildaufbaumodule (BAM1, BAM2) erstellen unter Verwendung zugeführter
Zustandsdaten (i1, i2) unabhängig voneinander aus Bildpunkten zusammengesetzte Bildsymbole,
b) wenigstens ein Bildaufbaumodul übermittelt die von ihm erstellten Bildsymbole an
genau ein Anzeigemodul (AZM), wobei der Farbwert für jeden einzelnen Bildpunkt der
Bildsymbole explizit angegeben wird,
c) das Anzeigemodul setzt die übermittelten Bildsymbole zu einem unmittelbar auf dem
Bildschirm anzeigbaren Zustandsbild zusammen.
2. Verfahren nach Anspruch 1, bei dem jedes Bildaufbaumodul (BAM1, BAM2) beim Erstellen
der Bildsymbole auf einen eigenen geschützten Speicherbereich (SPC1, SPC2) zugreift,
in dem Vorlagen für Bildsymbole gespeichert sind.
3. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Bildaufbaumodule X-Client-Anwendungen
sind, das Anzeigemodul ein X-Server ist und die Übermittlung von Bildsymbolen gemäß
dem X-Protokoll erfolgt.
4. Verfahren nach einem der Ansprüche 1 oder 2, bei dem die Bildaufbaumodule geschützte
Client-Prozesse eines Client-Server-Betriebssystems sind, das Anzeigemodul ein geschütztes
Subsystem des Client-Server-Betriebssystems ist und die Übermittlung von Bildsymbolen
entweder über eine Nachrichtenschnittstelle für lokale Prozeduraufrufe oder über eine
Nachrichtenschnittstelle für entfernte Prozeduraufrufe erfolgt.
5. Bedienplatzrechner (BPR) zur sicheren Anzeige des Zustandes einer signaltechnischen
Anlage auf einem Bildschirm (BS) mit:
a) wenigstens zwei Bildaufbaumodulen (BAM1, BAM2), die unabhängig voneinander unter
Verwendung zugeführter Zustandsdaten (i1, i2) aus Bildpunkten zusammengesetzte Bildsymbole
erstellen und dabei die Farbwerte der einzelnen Bildpunkte explizit angeben, und einem
b) Anzeigemodul, welches von wenigstens einem Bildaufbaumodul Bildsymbole übermittelt
bekommt und die übermittelten Bildsymbole zu einem unmittelbar auf dem Bildschirm
anzeigbaren Zustandsbild zusammensetzt.
6. Bedienplatzrecher nach Anspruch 5, bei dem die Bildaufbaumodule X-Client-Anwendungen
sind, das Anzeigemodul ein X-Server ist und die Übermittlung von Bildsymbolen gemäß
dem X-Protokoll erfolgt.
7. Bedienplatzrechner nach Anspruch 5, bei dem die Bildaufbaumodule geschützte Client-Prozesse
eines Client-Server-Betriebssystems sind, das Anzeigemodul ein geschütztes Subsystem
des Client-Server-Betriebssystems ist und die Übermittlung von Bildsymbolen entweder
über eine Nachrichtenschnittstelle für lokale Prozeduraufrufe oder über eine Nachrichtenschnittstelle
für entfernte Prozeduraufrufe erfolgt.