8.3. CRCF-Daten in spdrs60

spdrs60 unterstützt derzeit Standardnachrichten nur in einem sehr beschränkten Umfang. Als Nachrichtentyp findet in spdrs60 nur CRCF Verwendung; dieser wird zum Lesen, Schreiben und Melden von CRCF-Daten genutzt. Bei diesen Daten unterscheidet man prinzipiell zwei verschiedene Varianten, die beide von spdrs60 unterstützt werden.

Statische Daten

Hierbei handelt es sich um Daten, die sich während des laufenden Betriebs typischerweise nicht ändern. In der Regel werden diese vom spdrs60-Benutzer nur einmal beim Entwurf eines Gleisbildes eingestellt und anschließend mit dem Speichern der Konfigurationsdatei für den weiteren Gebrauch festgelegt. Nach jedem Laden der Datei stehen sie also unverändert zur Verfügung. Dennoch unterstützt spdrs60 nicht nur das Lesen, sondern auch das Überschreiben solcher Daten durch CRCF-Nachrichten. Im laufenden Betrieb kann das unter Umständen zu Verwirrungen führen; es ist also mit entsprechender Vorsicht davon Gebrauch zu machen. Standardmäßig sollten statische Daten von externen SRCP-Clients nur gelesen werden. In spdrs60 sind Änderungen von statischen Daten nur dann möglich, wenn sich das Gleisbild im richtigen Bearbeitungsmodus befindet.

Dynamische Daten

Hierbei handelt es sich um Zustandsdaten, die sich im laufenden Betrieb der Anlage ständig ändern; beispielsweise der Status einer Fahrstraße (eingestellt, aufgelöst) oder der Aufenthaltsort eines Zuges. In der Regel werden diese auch beim Speichern eines Gleisbildes gesichert, um den letzten Spielstand der Anlage zu erhalten. Beim nächsten Laden der Datei stehen sie wieder unverändert zur Verfügung. Für Automatisierungsprozesse oder zur Komfortsteigerung kann es sinnvoll sein, diese Einstellungen durch einen anderen SRCP-Client vornehmen zu lassen, oder diesen einfach bei Veränderungen mitlesen zu lassen. spdrs60 unterstützt sowohl das Lesen und Verändern solcher Daten über CRCF-Nachrichten im laufenden Betrieb, als auch das optionale Versenden von Änderungsmeldungen in Form von Rundrufnachrichten.

Das Programm arbeitet mit Konfigurationsdaten sowohl als CRCF-Client, als auch als CRCF-Server. Da dieses Datenformat noch nicht durchgehend genormt ist und auch noch keine größeren Erfahrungen vorliegen, wurde für die Verwendung in spdrs60 das folgende vorläufige CRCF-Nachrichtenformat festgelegt:

<actor> <actor_id> <method> <attribute> [<attribute_value>]

Diese vier bzw. fünf einzelnen Elemente der Nachricht haben folgende Bedeutung:

<actor>

Benennung für den Akteur, dessen Daten geändert werden sollen. Die von spdrs60 unterstützten Akteure sind in Tabelle 8-1 aufgelistet.

<actor_id>

Identifikationsnummer, die zur eindeutigen Adressierung des Akteurs dient. Es handelt sich dabei um einen positiven Ganzzahlwert >= 0.

<method>

Methode, die auf den folgenden Attributwert angewendet werden soll. In Anlehnung an das SRCP-Vokabular sind die folgenden Methoden definiert: SET, GET und INFO.

<attribute>

Attribut des Akteurs, das von der Nachricht betroffen ist. Die Attribut-Kennungen sind je nach Akteur unterschiedlich (siehe Tabelle 8-3 und Tabelle 8-4).

<attribute_value>

Der Wert des Attributs, das von der Nachricht betroffen ist. Die Angabe dieses Wertes ist abhängig von der verwendeten Methode; bei der Methode GET findet er keine Verwendung. Je nach Attribut kann es sich hierbei um einen positiven Ganzzahlwert >= 0 (z.B. Nummer eines Zuges), oder eine alphanumerische Kennung (z.B. Name einer Fahrstraße) handeln. Handelt es sich um einen alphanumerischen Wert, wird dieser URL-kodiert (RFC 2396) über den SRCP-Server versand und empfangen.

Tabelle 8-1. Akteure in spdrs60

BezeichnungKennung  
StellwerkRWCC  
GleisbildLAYOUT  
FahrstraßeROUTE  

8.3.1. Stellwerkattribute

In Tabelle 8-2 sind die Attribute eines Stellwerk-Akteurs (RWCC, Railway Control Center) aufgelistet, soweit sie bisher durch spdrs60 in Form von CRCF-Daten unterstützt werden.

Tabelle 8-2. Attribute von Stellwerken (RWCC)

BezeichnungKennungDatentypVariante
IdentifikationsnummerIDnumerischstatisch
NameNAMEalphanumerischstatisch
ModusMODEnumerischstatisch

Die Bedeutung der einzelnen Stellwerkattribute wird im Folgenden näher erläutert.

Identifikationsnummer (ID)

Mit dieser Nummer lassen sich einzelne Stellwerke voneinander unterscheiden. Bei Anlagen, die auf mehrere Stellwerke (z.B. für verschiedene Bahnhöfe) aufgeteilt sind, sollte jedes Stellwerk eine andere Identifikationsnummer bekommen. Gültig sind ganzzahlige Werte >= 0. Der Wert kann über CRCF-Nachrichten zur Zeit nicht geändert, sondern nur abgefragt werden.

Name (NAME)

Hierbei handelt es sich um eine Namensbezeichnung für das Stellwerk; beispielsweise könnte es sich dabei um eine Bahnhofsbezeichnung handeln. Der Wert kann über CRCF-Nachrichten zur Zeit nicht geändert, sondern nur abgefragt werden.

Modus (MODE)

Dieser Zahlenwert kodiert den Modus in dem sich das Stellwerk und damit die enthaltenen Gleisbilder befinden. Derzeit werden die folgenden drei Modi unterschieden: 0 = Betriebsmodus, 1 = Gleisbildbearbeitungsmodus, 2 = Fahrstraßenbearbeitungsmodus. Das Verändern von statischen CRCF-Daten ist in spdrs60 aus Sicherheitsgründen nur in bestimmten Modi erlaubt.

8.3.2. Gleisbildattribute

In Tabelle 8-3 sind die Attribute eines Gleisbild-Akteurs (LAYOUT) aufgelistet, soweit sie bisher durch spdrs60 in Form von CRCF-Daten unterstützt werden. Diese Daten lassen sich unabhängig vom aktuellen Modus lesen, aber nur im Gleisbildeditiermodus schreibend verändern, da es sich hierbei um statische Daten handelt.

Tabelle 8-3. Attribute von Gleisbildern (LAYOUT)

BezeichnungKennungDatentypVariante
IdentifikationsnummerIDnumerischstatisch
NameNAMEalphanumerischstatisch
ZeilenROWSnumerischstatisch
SpaltenCOLUMNSnumerischstatisch
StelltischausleuchtungTABLELIGHTnumerischdynamisch

Die Bedeutung der einzelnen Gleisbildattribute wird im Folgenden näher erläutert.

Identifikationsnummer (ID)

Mit dieser Nummer lassen sich einzelne Gleisbilder voneinander unterscheiden. Bei Anlagen, die auf mehrere Gleisbilder (z.B. für verschiedene Bahnhöfe) aufgeteilt sind, sollte jedes Gleisbild eine andere Identifikationsnummer bekommen. Gültig sind ganzzahlige Werte >= 0. Der Wert kann über CRCF-Nachrichten nur im Gleisbildbearbeitungsmodus geändert werden.

Name (NAME)

Hierbei handelt es sich um eine Namensbezeichnung für das Gleisbild; beispielsweise könnte es sich dabei um eine Bahnhofsbezeichnung handeln. Er kann nur im Gleisbildbearbeitungsmodus geändert werden.

Zeilen (ROWS)

Dieser Zahlenwert gibt die Anzahl der Zeilen des Gleisbildes wieder. Er kann nur im Gleisbildbearbeitungsmodus geändert werden.

Spalten (COLUMNS)

Dieser Zahlenwert gibt die Anzahl der Spalten des Gleisbildes wieder. Er kann nur im Gleisbildbearbeitungsmodus geändert werden.

Stelltischausleuchtung (TABLELIGHT)

Dieser Zahlenwert repräsentiert den Zustand der Stelltischausleuchtung. Der Wert »0« entspricht dem Zustand »aus«, der Wert »1« dem Zustand »ein«. Er kann im laufenden Betrieb jederzeit geändert werden.

8.3.3. Fahrstraßenattribute

Die Attribute eines Fahrstraßen-Akteurs (ROUTE) sind in Tabelle 8-4 aufgelistet, soweit sie bisher durch spdrs60 als CRCF-Daten unterstützt werden. Diese Daten lassen sich unabhängig vom aktuellen Modus lesen, aber bei statischen Varianten nur im Fahrstraßeneditiermodus schreibend verändern. Die dynamischen Daten können jederzeit geändert werden.

Tabelle 8-4. Attribute von Fahrstraßen (ROUTE)

BezeichnungKennungDatentypVariante
IdentifikationsnummerIDnumerischstatisch
NameNAMEalphanumerischstatisch
TypTYPEnumerischstatisch
StatusSTATEnumerischdynamisch
ZugTRAINnumerischdynamisch
LängeLENGTHnumerischstatisch
GeschwindigkeitsbeschränkungSPEEDLIMITnumerischstatisch
Begriff des ZielsignalsEXITSIGNALASPECTnumerischdynamisch

Die Bedeutung der einzelnen Fahrstraßenattribute und Gültigkeitsbeschränkungen bezüglich der zugeordneten Werte werden im Folgenden näher erläutert.

Identifikationsnummer (ID)

Mit dieser Nummer lassen sich einzelne Fahrstraßen voneinander unterscheiden. Bei Anlagen, die auf mehrere Gleisbilder (z.B. für verschiedene Bahnhöfe) aufgeteilt sind, sollte jedes Gleisbild einen anderen Wertebereich für die Fahrstraßennummerierung nutzen. Beispielsweise könnte der Hauptbahnhof den Bereich 0..99, der Rangierbahnhof den Bereich 100..199 und der Schattenbahnhof den Bereich 200..299 nutzen. Gültig sind ganzzahlige Werte >= 0. Die Identifikationsnummer kann über CRCF-Nachrichten nur im Fahrstraßenbearbeitungsmodus geändert werden. Die Änderung wird außerdem nur akzeptiert, wenn die Nummer noch nicht vergeben wurde, also innerhalb eines Gleisbildes eindeutig ist.

Name (NAME)

Hierbei handelt es sich um eine Namensbezeichnung für die Fahrstraße. Er kann nur im Fahrstraßenbearbeitungsmodus geändert werden.

Typ (TYPE)

Dieser Zahlenwert kodiert den Typ der Fahrstraße. Es gilt folgende Zuordnung: 0 = Regelzugstraße, 1 = Umfahrzugstraße, 2 = Zughilfsstraße, 3 = Regelrangierstraße, 4 = Umfahrrangierstraße. Er kann nur im Fahrstraßenbearbeitungsmodus geändert werden. Möglicherweise wird diese Zahlenkodierung im Laufe der fortschreitenden CRCF-Normierung gegen eine alphanumerische Kennung ersetzt.

Status (STATE)

Dieser Zahlenwert kodiert den aktuellen Status der Fahrstraße (eingestellt, aufgelöst, reserviert, ...). Auch hier ist es denkbar, den Statuswerten im Laufe der weiteren CRCF-Normierung alphanumerische Kennungen zuzuordnen. Gültig sind derzeit nur die beiden Werte 0 = aufgelöst und 1 = eingestellt.

Zug (TRAIN)

Dieser Zahlenwert gibt die Nummer des Zuges wieder, der die Fahrstraße augenblicklich in Benutzung hat. Gültig sind ganzzahlige Werte >= 0.

Länge (LENGTH)

Dieser Zahlenwert gibt die tatsächliche Länge der Fahrstraße in Milimetern (mm) wieder. Sie kann z.B. zur Berechnung des Bremspunktes eines Zuges genutzt werden. Gültig sind ganzzahlige Werte >= 0.

Geschwindigkeitsbeschränkung (SPEEDLIMIT)

Dieser Zahlenwert gibt die maximale Geschwindigkeit in km/h an, die ein Zug beim Passieren der Fahrstraße einhalten muss. Diese Angabe kann z.B. von einer Zugsteuerung entsprechend genutzt werden. Gültig sind ganzzahlige Werte >= 0.

Begriff des Zielsignals (EXITSIGNALASPECT)

Dieser Zahlenwert repräsentiert den aktuell vom Zielsignal angezeigten Begriff (0 = unbestimmt, 1 = Hp0, 2 = Hp1, 3 = Hp2, 4 = Sh1). Eine Zugsteuerung kann diesen nutzen, um Anfahr-, Halt- oder Durchfahrvorgänge eines Zuges zu steuern. Gültig sind ganzzahlige Werte >= 0.