Konzepte in StellSi
Verfasst: So 19. Jan 2014, 15:26:04
Hier möchte ich nach und nach die StellSi zugrunde liegenden (technischen) Ideen und Konzepte vorstellen. Speziell richte ich mich hier an die Personen, die gerne etwas tiefer in das System einsteigen möchten - über Editoren und Skripte lässt sich das Verhalten der Stellwerke nämlich für jeden selbst beeinflussen.
Das ganze wird dann wahrscheinlich auch Grundlage einer noch zu erstellenden Dokumentation sein. Ein kurzer Kommentar, ob Beiträge dieser Art sinnvoll sind, ob sie zu detailliert sind, oder zu unverständlich, wäre nett
##### Grundüberlegungen #####
Reale Stellwerke sind nicht nach einem festen Schema aufgebaut, sondern haben - gerade bei Altbauformen - örtliche Besonderheiten. Außerdem gibt es eine große Zahl Bauformen, die teilweise auch wild miteinander kombiniert werden.
StellSi wurde daher angelegt mit dem Ziel größtmöglicher Flexibilität zu bieten - insbesondere sollen die Bereiche Grafik sowie die dahinterstehende Logik für jeden änderbar und erweiterbar sein.
Dadurch ist StellSi sehr flexibel - diese Flexibilität erkauft man sich aber auch mit Nachteilen: Die Komplexität steigt.
Das merkt man sowohl beim Erstellen der Stellwerke, als auch bei der Entwicklung des Programms. Die Aufteilung der Stellwerke in drei Ebenen, der Außenanlage, der Relaisanlage und des Stelltisches, ermöglicht vieles, was bei einfacheren Strukturen nicht gehen würde - der Aufwand für den, der Stellwerke erstellt, steigt aber. Am meisten merkt man das bei Spurplandrucktastenstellwerken, wo man den Gleisplan effektiv gleich drei mal in drei verschiedenen Varianten zeichnen muss, auf jede der drei Ebenen einmal.
Langfristig wird man hier sicherlich darüber nachdenken müssen, ob man dem Stellwerksbauer (halb)automatische Werkzeuge geben kann, um diese Arbeit zu erleichtern.
Bei der Entwicklung des Programms selber merkt man es aber auch - ein SuH 1912 mit allen wesentlichen Bestandteilen wäre als Stellwerksimulation, die nur das SuH 1912 simulieren kann, vermutlich schon lange fertig. Dass beim SuH 1912 funktionsmäßig nicht viel vorankommt, liegt hier jetzt aber daran, dass wir eben nicht in erster Linie am SuH 1912 arbeiten, sondern an dem Programm StellSi selbst - das neben dem SuH 1912 auch andere E-Mechs, mechanische Stellwerke und verschiedene Drucktastenstellwerke simulieren können soll. Damit müssen alle Funktionen allgemein definiert werden. Das Hauptproblem hier ist aber die Stabilität für die Zukunft: Alle allgemeinen Funktionen müssen so angelegt sein, dass sie später Erweiterungen zulassen, ohne dass alle bereits erstellten Stellwerksbauformen angepasst werden müssen. Ob uns das gelingt, weiß ich nicht - das Thema ist komplex, und ich glaube nicht, dass wir alle Sonderfälle bedacht haben.
##### Weichen #####
Ein aktuelles Beispiel aus unserer (internen) Diskussion sind momentan die Weichen in der Außenanlage. Eine Weiche klingt jetzt erst mal einfach - das Ding hat nen Antrieb, wird umgestellt, und gut ist. Aber so einfach ist es nicht. Hier mal ein Überblick, was so eine Weiche alles für Varianten haben kann:
-Antrieb: Elektrisch, mechanisch oder Ortsgestellt
-Antrieb: Ein Antrieb oder 12 Antriebe?
-Antrieb: Auffahrbar oder nicht auffahrbar?
-Fernriegelung: Ein Riegel pro Lage, oder gibt es Weichen mit mehr als einem Riegel pro Lage?
-Fernriegelung: Elektrisch oder mechanisch
-Rückfallweiche
-Schlüsselabhängig: Schlüssel setzt an:
a) fest montierter Schlüssel abhängig von der Weichenzunge
b) fest montierter Schlüssel an der Stelleinrichtung (Rückfallweiche!)
c) Handverschluss mit folgenden Zuständen:
i) nicht montiert
ii) montiert, ohne Schloss
iii) montiert, mit Schloss, aufgeperrt
iv) montiert, mit Schloss, abgesperrt
Ob das jetzt abschließend ist, ist mir nicht bekannt.
Jetzt ist klar - da sind einige Punkte dabei, die momentan nicht relevant sind. Ob die Weiche einen oder 12 Antriebe hat, ist für die Simulation momentan nicht wichtig, weshalb das ganze jetzt u.U. auch noch nicht implementiert wird. Die Fernriegelung ist schon wesentlicher.
Aber: Wenn wir irgendwann der Meinung sind, doch mal alle 12 Antriebe einer Schnellfahrweiche simulieren zu wollen (z.B. um das reale Vorgehen bei einer Weichenstörung zu simulieren), dann muss das möglich sein, ohne dass die Außenanlagen aller bereits gebauten Stellwerke angepasst werden müssen.
Aber auch die Meldung der Lage der Weiche ist ein Problem. In der Außenanlage ist noch völlig klar, in welche Richtung die Weiche gestellt ist. Momentan meldet die Weiche an die Relaisanlage und damit indirekt an den Stelltisch, ob die Weiche gerade oder abzweigend gestellt ist. Das führt dazu, dass wenn man auf dem Stelltisch (beim Drucktastenstellwerk) den abzweigenden Strang nach rechts hat, auf der Außenanlage aber nach links, die Anzeige auf dem Stelltisch falsch ist.
Jetzt gibt es zwei Möglichkeiten, wie man das Problem lösen kann. Die eine wäre, dass man jeder Weiche eine + Stellung und eine - Stellung zuweist. Für Fahrstraßenstellwerke (mechanisch, elektromechanisch, DrS etc) ist das vermutlich die ideale Lösung, da hier ja jede Weiche eine definierte Grundstellung hat, und auch der Verschlußplan natürlich damit arbeitet.
Probleme gibt es hier dann allerdings mit den Spurplanstellwerken - hier haben wir keine Grundstellung, sondern die Weichen sind entweder nach links oder nach rechts gestellt. Jetzt könnte die Weiche natürlich dem Spurplanstellwerk mitteilen, ob sie links oder rechts steht - das ist auch realisierbar. Nur - momentan weiß die Weichengruppe in der Relaisanlage und auch das Tischfeld auf dem Stelltisch nicht, welcher der beiden Weichenschenkel links und welcher rechts ist. Hintergrund davon ist, dass die Symbole und Tischfelder gespiegelt werden können, und bei einer solchen Spiegelung sich der linke und der rechte Weichenschenkel vertauschen.
Ein weiteres Problem ist die Frage, woher die Weiche eigentlich weiß, ob sie sich mit plus/minus oder mit links/rechts bei der Relaisanlage melden soll. Klar, man könnte es bei jeder Weiche einstellen, aber das ist auch ein gewisser Aufwand...
Das ist momentan eines der ungelösten Probleme - falls hier jemand einen guten Vorschlag hat, nur her damit
Das ganze wird dann wahrscheinlich auch Grundlage einer noch zu erstellenden Dokumentation sein. Ein kurzer Kommentar, ob Beiträge dieser Art sinnvoll sind, ob sie zu detailliert sind, oder zu unverständlich, wäre nett
##### Grundüberlegungen #####
Reale Stellwerke sind nicht nach einem festen Schema aufgebaut, sondern haben - gerade bei Altbauformen - örtliche Besonderheiten. Außerdem gibt es eine große Zahl Bauformen, die teilweise auch wild miteinander kombiniert werden.
StellSi wurde daher angelegt mit dem Ziel größtmöglicher Flexibilität zu bieten - insbesondere sollen die Bereiche Grafik sowie die dahinterstehende Logik für jeden änderbar und erweiterbar sein.
Dadurch ist StellSi sehr flexibel - diese Flexibilität erkauft man sich aber auch mit Nachteilen: Die Komplexität steigt.
Das merkt man sowohl beim Erstellen der Stellwerke, als auch bei der Entwicklung des Programms. Die Aufteilung der Stellwerke in drei Ebenen, der Außenanlage, der Relaisanlage und des Stelltisches, ermöglicht vieles, was bei einfacheren Strukturen nicht gehen würde - der Aufwand für den, der Stellwerke erstellt, steigt aber. Am meisten merkt man das bei Spurplandrucktastenstellwerken, wo man den Gleisplan effektiv gleich drei mal in drei verschiedenen Varianten zeichnen muss, auf jede der drei Ebenen einmal.
Langfristig wird man hier sicherlich darüber nachdenken müssen, ob man dem Stellwerksbauer (halb)automatische Werkzeuge geben kann, um diese Arbeit zu erleichtern.
Bei der Entwicklung des Programms selber merkt man es aber auch - ein SuH 1912 mit allen wesentlichen Bestandteilen wäre als Stellwerksimulation, die nur das SuH 1912 simulieren kann, vermutlich schon lange fertig. Dass beim SuH 1912 funktionsmäßig nicht viel vorankommt, liegt hier jetzt aber daran, dass wir eben nicht in erster Linie am SuH 1912 arbeiten, sondern an dem Programm StellSi selbst - das neben dem SuH 1912 auch andere E-Mechs, mechanische Stellwerke und verschiedene Drucktastenstellwerke simulieren können soll. Damit müssen alle Funktionen allgemein definiert werden. Das Hauptproblem hier ist aber die Stabilität für die Zukunft: Alle allgemeinen Funktionen müssen so angelegt sein, dass sie später Erweiterungen zulassen, ohne dass alle bereits erstellten Stellwerksbauformen angepasst werden müssen. Ob uns das gelingt, weiß ich nicht - das Thema ist komplex, und ich glaube nicht, dass wir alle Sonderfälle bedacht haben.
##### Weichen #####
Ein aktuelles Beispiel aus unserer (internen) Diskussion sind momentan die Weichen in der Außenanlage. Eine Weiche klingt jetzt erst mal einfach - das Ding hat nen Antrieb, wird umgestellt, und gut ist. Aber so einfach ist es nicht. Hier mal ein Überblick, was so eine Weiche alles für Varianten haben kann:
-Antrieb: Elektrisch, mechanisch oder Ortsgestellt
-Antrieb: Ein Antrieb oder 12 Antriebe?
-Antrieb: Auffahrbar oder nicht auffahrbar?
-Fernriegelung: Ein Riegel pro Lage, oder gibt es Weichen mit mehr als einem Riegel pro Lage?
-Fernriegelung: Elektrisch oder mechanisch
-Rückfallweiche
-Schlüsselabhängig: Schlüssel setzt an:
a) fest montierter Schlüssel abhängig von der Weichenzunge
b) fest montierter Schlüssel an der Stelleinrichtung (Rückfallweiche!)
c) Handverschluss mit folgenden Zuständen:
i) nicht montiert
ii) montiert, ohne Schloss
iii) montiert, mit Schloss, aufgeperrt
iv) montiert, mit Schloss, abgesperrt
Ob das jetzt abschließend ist, ist mir nicht bekannt.
Jetzt ist klar - da sind einige Punkte dabei, die momentan nicht relevant sind. Ob die Weiche einen oder 12 Antriebe hat, ist für die Simulation momentan nicht wichtig, weshalb das ganze jetzt u.U. auch noch nicht implementiert wird. Die Fernriegelung ist schon wesentlicher.
Aber: Wenn wir irgendwann der Meinung sind, doch mal alle 12 Antriebe einer Schnellfahrweiche simulieren zu wollen (z.B. um das reale Vorgehen bei einer Weichenstörung zu simulieren), dann muss das möglich sein, ohne dass die Außenanlagen aller bereits gebauten Stellwerke angepasst werden müssen.
Aber auch die Meldung der Lage der Weiche ist ein Problem. In der Außenanlage ist noch völlig klar, in welche Richtung die Weiche gestellt ist. Momentan meldet die Weiche an die Relaisanlage und damit indirekt an den Stelltisch, ob die Weiche gerade oder abzweigend gestellt ist. Das führt dazu, dass wenn man auf dem Stelltisch (beim Drucktastenstellwerk) den abzweigenden Strang nach rechts hat, auf der Außenanlage aber nach links, die Anzeige auf dem Stelltisch falsch ist.
Jetzt gibt es zwei Möglichkeiten, wie man das Problem lösen kann. Die eine wäre, dass man jeder Weiche eine + Stellung und eine - Stellung zuweist. Für Fahrstraßenstellwerke (mechanisch, elektromechanisch, DrS etc) ist das vermutlich die ideale Lösung, da hier ja jede Weiche eine definierte Grundstellung hat, und auch der Verschlußplan natürlich damit arbeitet.
Probleme gibt es hier dann allerdings mit den Spurplanstellwerken - hier haben wir keine Grundstellung, sondern die Weichen sind entweder nach links oder nach rechts gestellt. Jetzt könnte die Weiche natürlich dem Spurplanstellwerk mitteilen, ob sie links oder rechts steht - das ist auch realisierbar. Nur - momentan weiß die Weichengruppe in der Relaisanlage und auch das Tischfeld auf dem Stelltisch nicht, welcher der beiden Weichenschenkel links und welcher rechts ist. Hintergrund davon ist, dass die Symbole und Tischfelder gespiegelt werden können, und bei einer solchen Spiegelung sich der linke und der rechte Weichenschenkel vertauschen.
Ein weiteres Problem ist die Frage, woher die Weiche eigentlich weiß, ob sie sich mit plus/minus oder mit links/rechts bei der Relaisanlage melden soll. Klar, man könnte es bei jeder Weiche einstellen, aber das ist auch ein gewisser Aufwand...
Das ist momentan eines der ungelösten Probleme - falls hier jemand einen guten Vorschlag hat, nur her damit