Aktuelles aus der Weiterentwicklung
Aktuelles aus der Weiterentwicklung
Hier möchte ich in Zukunft einen Ausblick auf die Weiterentwicklung des Programms geben.
In letzter Zeit gab es wenig neues, das lag zum einen daran, dass das Semester zuende ging, und damit die Prüfungszeit begann, zum anderen daran, dass jetzt einige Hintergrundarbeiten nötig sind. In der Version 0.0.7.3 wurde ja bereits ein elektromechanisches Stellwerk veröffentlicht, das aber noch keinen sehr spannenden Betrieb ermöglicht. Momentan in Arbeit ist daher eine Anlage mit zwei Stellwerken (und damit auch Bahnhofsblock), und zwar konkret der Bahnhof Coburg. Bilder davon sind diesem Beitrag angehängt.
Wie man sieht fehlt aber noch einiges, speziell die diversen Taster/Leuchtmelder im Aufbau auf der Hebelbank, außerdem der Streckenblock. Beides wird noch einiges an Arbeit werden, insbesondere da Anpassungen am Kernprogramm selber notwendig sind, um die Editoren bedienbar zu behalten - schließlich sind die Taster/Leuchtmelder relativ frei verdrahtet, was bei den Editoren bisher noch nicht vorgesehen ist. Außerdem muss jeder Leuchtmelder individuell eine eigene Logik besitzen. Ein Beispiel wären die Leuchtmelder der Bahnhofwiederholersperren - hier haben wir Sammelleuchtmelder von sich ausschließenden Fahrstraßen. Der Leuchtmelder muss also leuchten, wenn in einer dieser Fahrstraßen die Wiederholersperre aktiv ist - momentan müsste man dafür eine eigene Relaisgruppe erstellen, was auf Dauer definitiv zu aufwendig ist.
Das zweite ist der Fahrplaneditor. Die bisher in test_gross und Unterhausen erstellten Fahrpläne habe ich direkt von Hand mit dem Texteditor geschrieben, was relativ aufwendig ist. Coburg soll einen umfangreicheren Fahrplan erhalten, daher wird es langsam Zeit, einen Fahrplaneditor zu entwickeln. Auch das wird eine gewisse Zeit in Anspruch nehmen.
Und das letzte betrifft die Technik, die im Hintergrund läuft. Die Stellwerkslogik ist über Skripte definiert, die jeder ändern kann. Hier stellt sich jetzt ein Problem: Bisher gilt, dass jede Relaisgruppe ein eigenes Skript besitzt. Gerade bei den elektromechanischen Stellwerken haben wir aber eine große Vielfalt an Schaltungen, die sich teilweise nur im Detail unterscheiden. Momentan muss man hier den Quelltext der einen Relaisgruppe kopieren, und entsprechend die Details ändern, die anders sind - das bläht aber den Quelltext stark auf, und würde auf Dauer ein Problem darstellen bei der Wartung des Quelltextet. Eine gute Lösung für das Problem habe ich leider nicht gefunden - mit Vererbung zu arbeiten ist leider mit der konkreten Implementierung der Skript-Engine zu aufwendig und problematisch.
Momentaner Stand meiner Überlegungen ist, dass das Programmieren künftig nicht mit einem Standard-Texteditor erfolgt, sondern über einen speziellen Bibliotheks-Editor, der dann aus einzelnen Code-Schnippseln den endgültigen Quelltext zusammensetzt. Ich denke dieser Ansatz bietet viele Vorteile, auch wenn es für "Hardcore-Programmierer" sicherlich etwas ungewohnt sein dürfte - insbesondere auch, weil momentan die Arbeit direkt am Quelltext der Bibliotheken viel zu unübersichtlich geworden ist.
Das ist aber auch eine Arbeit, die sicherlich viel Zeit in Anspruch nehmen wird, von der man aber dann von außen nichts sehen wird - das Programm wird hinterher genau das selbe machen wie bisher auch, nur dass es eben im Hintergrund viel sinnvoller gelöst ist als bisher.
In letzter Zeit gab es wenig neues, das lag zum einen daran, dass das Semester zuende ging, und damit die Prüfungszeit begann, zum anderen daran, dass jetzt einige Hintergrundarbeiten nötig sind. In der Version 0.0.7.3 wurde ja bereits ein elektromechanisches Stellwerk veröffentlicht, das aber noch keinen sehr spannenden Betrieb ermöglicht. Momentan in Arbeit ist daher eine Anlage mit zwei Stellwerken (und damit auch Bahnhofsblock), und zwar konkret der Bahnhof Coburg. Bilder davon sind diesem Beitrag angehängt.
Wie man sieht fehlt aber noch einiges, speziell die diversen Taster/Leuchtmelder im Aufbau auf der Hebelbank, außerdem der Streckenblock. Beides wird noch einiges an Arbeit werden, insbesondere da Anpassungen am Kernprogramm selber notwendig sind, um die Editoren bedienbar zu behalten - schließlich sind die Taster/Leuchtmelder relativ frei verdrahtet, was bei den Editoren bisher noch nicht vorgesehen ist. Außerdem muss jeder Leuchtmelder individuell eine eigene Logik besitzen. Ein Beispiel wären die Leuchtmelder der Bahnhofwiederholersperren - hier haben wir Sammelleuchtmelder von sich ausschließenden Fahrstraßen. Der Leuchtmelder muss also leuchten, wenn in einer dieser Fahrstraßen die Wiederholersperre aktiv ist - momentan müsste man dafür eine eigene Relaisgruppe erstellen, was auf Dauer definitiv zu aufwendig ist.
Das zweite ist der Fahrplaneditor. Die bisher in test_gross und Unterhausen erstellten Fahrpläne habe ich direkt von Hand mit dem Texteditor geschrieben, was relativ aufwendig ist. Coburg soll einen umfangreicheren Fahrplan erhalten, daher wird es langsam Zeit, einen Fahrplaneditor zu entwickeln. Auch das wird eine gewisse Zeit in Anspruch nehmen.
Und das letzte betrifft die Technik, die im Hintergrund läuft. Die Stellwerkslogik ist über Skripte definiert, die jeder ändern kann. Hier stellt sich jetzt ein Problem: Bisher gilt, dass jede Relaisgruppe ein eigenes Skript besitzt. Gerade bei den elektromechanischen Stellwerken haben wir aber eine große Vielfalt an Schaltungen, die sich teilweise nur im Detail unterscheiden. Momentan muss man hier den Quelltext der einen Relaisgruppe kopieren, und entsprechend die Details ändern, die anders sind - das bläht aber den Quelltext stark auf, und würde auf Dauer ein Problem darstellen bei der Wartung des Quelltextet. Eine gute Lösung für das Problem habe ich leider nicht gefunden - mit Vererbung zu arbeiten ist leider mit der konkreten Implementierung der Skript-Engine zu aufwendig und problematisch.
Momentaner Stand meiner Überlegungen ist, dass das Programmieren künftig nicht mit einem Standard-Texteditor erfolgt, sondern über einen speziellen Bibliotheks-Editor, der dann aus einzelnen Code-Schnippseln den endgültigen Quelltext zusammensetzt. Ich denke dieser Ansatz bietet viele Vorteile, auch wenn es für "Hardcore-Programmierer" sicherlich etwas ungewohnt sein dürfte - insbesondere auch, weil momentan die Arbeit direkt am Quelltext der Bibliotheken viel zu unübersichtlich geworden ist.
Das ist aber auch eine Arbeit, die sicherlich viel Zeit in Anspruch nehmen wird, von der man aber dann von außen nichts sehen wird - das Programm wird hinterher genau das selbe machen wie bisher auch, nur dass es eben im Hintergrund viel sinnvoller gelöst ist als bisher.
- Dateianhänge
-
- Verschlussplan des Weichenwärterstellwerks
- cs_verschlussplan.png (56.42 KiB) 40469 mal betrachtet
-
- Verschlussplan des Fahrdienstleiterstellwerks
- cn_verschlussplan.png (83.21 KiB) 40469 mal betrachtet
-
- Hebelbank des Weichenwärterstellwerks
- cs_stelltisch.png (163.68 KiB) 40469 mal betrachtet
-
- Hebelbank des Fahrdienstleiterstellwerk
- Cn_stelltisch.png (209.55 KiB) 40469 mal betrachtet
Re: Aktuelles aus der Weiterentwicklung
StellSi hat jetzt ein System für die relativ freie Verdrahtung des Hebelbankaufbaus - damit sind jetzt im Projekt "Coburg" einige Taster und Leuchtmelder hinzugekommen. Konkret zu nennen wären:
-Zählwerke
-Vergreifschutz der Tasten
-Verschiedene Tastenfarben
Diese Details kommen erst zu einem späteren Zeitpunkt.
Als nächstes werde ich voraussichtlich mit einem Fahrplaneditor beginnen. Dieser dürfte einige Zeit in Anspruch nehmen - wenn dieser fertig ist, wird eine erste Vorabversion von Coburg veröffentlicht.
- Taster Fahrstraßenhilfsauflösung
- Mitwirktaste für die Fahrstraßenauflösung (in Coburg Personenbahnhof muss der Weichenwärter bei der Auflösung der Einfahrzugstraßen im Fahrdienstleiterstellwerk mitwirken)
- Leuchtmelder Bahnhofswiederholersperre
- Signalfahrt/Haltmelder
-Zählwerke
-Vergreifschutz der Tasten
-Verschiedene Tastenfarben
Diese Details kommen erst zu einem späteren Zeitpunkt.
Als nächstes werde ich voraussichtlich mit einem Fahrplaneditor beginnen. Dieser dürfte einige Zeit in Anspruch nehmen - wenn dieser fertig ist, wird eine erste Vorabversion von Coburg veröffentlicht.
Re: Aktuelles aus der Weiterentwicklung
Seit dem letzten Beitrag ist einige Zeit vergangen ohne Neuigkeiten - und das wird jetzt auch noch etwas so bleiben. Hintergrund ist, dass ich momentan einige Arbeiten im Hintergrund mache, die für die Zukunft wichtig sind, aber nicht wirklich interessant genug für detailliertere Berichte.
Kernstück davon ist der sogenannte "Bibliothekseditor", der das Erstellen von neuen Elementen für die einzelnen Stellwerksbauformen vereinfachen soll - dieser ist aber, wie auch alle anderen Editorfunktionen, vorerst relativ rudimentär zu bedienen.
Kernstück davon ist der sogenannte "Bibliothekseditor", der das Erstellen von neuen Elementen für die einzelnen Stellwerksbauformen vereinfachen soll - dieser ist aber, wie auch alle anderen Editorfunktionen, vorerst relativ rudimentär zu bedienen.
Re: Aktuelles aus der Weiterentwicklung
Momentan stelle ich gerade das graphische System grundlegend um - dafür gibt es dann aber auch einen sinnvollen Tischfeldeditor.
Grund dafür ist folgender: Als neue Anforderung für die Zukunft sind Töne und Animationen dazugekommen. Das bisherige Grafiksystem war dafür vom Grundaufbau her nicht geeignet.
Eine Auswirkung davon ist - die momentane Arbeitsversion von StellSi funktioniert nicht
Ich sehe nur noch leere Fenster vor mir. Das ist natürlich einerseits ein komisches Gefühl, andererseits freue ich mich schon auf den (hoffentlich funktionierenden
) Editor. Töne und Animationen werden aber trotzdem noch etwas auf sich warten lassen, nur die Grundarbeit dafür wird jetzt bereits gelegt.
Ich muss daher auch alle "Tischfelder" neu erstellen - das sollte mit dem neuen Editor aber relativ schnell möglich sein.
Grund dafür ist folgender: Als neue Anforderung für die Zukunft sind Töne und Animationen dazugekommen. Das bisherige Grafiksystem war dafür vom Grundaufbau her nicht geeignet.
Eine Auswirkung davon ist - die momentane Arbeitsversion von StellSi funktioniert nicht
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
![Lächeln :)](./images/smilies/icon_e_smile.gif)
Ich muss daher auch alle "Tischfelder" neu erstellen - das sollte mit dem neuen Editor aber relativ schnell möglich sein.
Re: Aktuelles aus der Weiterentwicklung
Ein kleiner Hinweis für alle, die schon Stelltische erstellen: Es wird voraussichtlich in nächster Zeit eine Änderung geben die es nötig machen wird, alle Tischfeldelemente von Hand zu platzieren. Wahrscheinlich wird es dafür einen Konverter geben der das automatisiert, versprechen kann ich es aber noch nicht.
Re: Aktuelles aus der Weiterentwicklung
Es geht leider nur relativ langsam voran - aber es geht voran. In einigen Wochen dürfte die erste Version herauskommen, die mehrere Stellwerke mit Fahrplan und Streckenblock herausbringt. Zwischenzeitlich sind folgende Neuerungen hinzugekommen:
- Streckenblock (Felderblock und Relaisblock) für elektromechanische Stellwerke - allerdings noch nicht ganz fertig, da fehlen noch Details
- Zählwerke
- Telefonklingel beim Fernsprecher
- Das Außenanlagenfenster hat jetzt einen Zoomregler
Re: Aktuelles aus der Weiterentwicklung
So, was mache ich...
Also erstmal: Leider weniger als ich gerne würde. Grund dafür ist die momentan recht stressige Uni, und das geht halt nun mal vor. Allerdings: Die recht aufwendigen Arbeiten an einem Tischfeldeditor, der es mir deutlich erleichtert, neue "Tischfelder" zu erstellen, sind endlich abgeschlossen. Damit kann ich mich jetzt wieder mehr Themen widmen, die nicht so aufwendig sind.
Konkret bastel ich momentan an einer einfachen Form der Tonausgabe, hier haben sich jetzt allerdings ein paar Probleme gezeigt, die noch behoben werden müssen. Wecker sind mit dem aktuellen System aber noch nicht möglich - hier braucht es noch eine Erweiterung, die ich aber für Relaisstellwerke ebenfalls brauche.
Für die Techniker: Unter bestimmten Bedingungen blockiert die Tonausgabe die Bearbeitung von Ereignissen der Benutzeroberfläche - lustigerweise aber nicht immer. Vermutlich sind das irgendwelche Effekte die durch das Qt-Multimediasystem bedingt sind. Daher werde ich jetzt versuchen, die Tonausgabe in einen eigenen Thread zu verlagern.
Des weiteren spiele ich momentan mit einer Zoom-Funktion, die bei gedrückter Strg-Taste den Zoomwert erhöht. Das soll die Bedienung erleichtern. Ob das Konzept was taugt weiß ich momentan selber noch nicht, aber ein Versuch ist es wert.
Wer Töne beitragen kann - ich könnte welche brauchen![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Konkret halt alles was so ein elektromechanisches Stellwerk so kann an Tönen, nach Möglichkeit getrennt. So hilft mir ein Hebelgeräusch mit Wecker im Hintergrund nicht weiter - ich brauche beide Töne getrennt. Außerdem wäre ein Summer für den Relaisblock sowie der ENTblockungsvorgang eines Felderblockfeldes nicht schlecht. Bevorzugt das ganze fertig geschnitten im wav-Format - wenn das nicht geht kann ichs aber natürlich auch selber schneiden.
Ansonsten werde ich in nächster Zeit den Fokus eher auf das S60-Stellwerk legen, da das als Basis für ein anderes Projekt außerhalb von StellSi benötigt wird. Das soll aber nicht bedeuten, dass sich beim E-Mech nichts mehr tun wird - aber so langsam ist halt doch ein Punkt erreicht, wo zumindest alles wesentliche enthalten ist. An Details werde ich zumindest vorerst nicht arbeiten - wenn aber jemand anderer an Details arbeiten will, kann er das natürlich gerne tun und bekommt da dann auch meine Unterstützung.
Also erstmal: Leider weniger als ich gerne würde. Grund dafür ist die momentan recht stressige Uni, und das geht halt nun mal vor. Allerdings: Die recht aufwendigen Arbeiten an einem Tischfeldeditor, der es mir deutlich erleichtert, neue "Tischfelder" zu erstellen, sind endlich abgeschlossen. Damit kann ich mich jetzt wieder mehr Themen widmen, die nicht so aufwendig sind.
Konkret bastel ich momentan an einer einfachen Form der Tonausgabe, hier haben sich jetzt allerdings ein paar Probleme gezeigt, die noch behoben werden müssen. Wecker sind mit dem aktuellen System aber noch nicht möglich - hier braucht es noch eine Erweiterung, die ich aber für Relaisstellwerke ebenfalls brauche.
Für die Techniker: Unter bestimmten Bedingungen blockiert die Tonausgabe die Bearbeitung von Ereignissen der Benutzeroberfläche - lustigerweise aber nicht immer. Vermutlich sind das irgendwelche Effekte die durch das Qt-Multimediasystem bedingt sind. Daher werde ich jetzt versuchen, die Tonausgabe in einen eigenen Thread zu verlagern.
Des weiteren spiele ich momentan mit einer Zoom-Funktion, die bei gedrückter Strg-Taste den Zoomwert erhöht. Das soll die Bedienung erleichtern. Ob das Konzept was taugt weiß ich momentan selber noch nicht, aber ein Versuch ist es wert.
Wer Töne beitragen kann - ich könnte welche brauchen
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Konkret halt alles was so ein elektromechanisches Stellwerk so kann an Tönen, nach Möglichkeit getrennt. So hilft mir ein Hebelgeräusch mit Wecker im Hintergrund nicht weiter - ich brauche beide Töne getrennt. Außerdem wäre ein Summer für den Relaisblock sowie der ENTblockungsvorgang eines Felderblockfeldes nicht schlecht. Bevorzugt das ganze fertig geschnitten im wav-Format - wenn das nicht geht kann ichs aber natürlich auch selber schneiden.
Ansonsten werde ich in nächster Zeit den Fokus eher auf das S60-Stellwerk legen, da das als Basis für ein anderes Projekt außerhalb von StellSi benötigt wird. Das soll aber nicht bedeuten, dass sich beim E-Mech nichts mehr tun wird - aber so langsam ist halt doch ein Punkt erreicht, wo zumindest alles wesentliche enthalten ist. An Details werde ich zumindest vorerst nicht arbeiten - wenn aber jemand anderer an Details arbeiten will, kann er das natürlich gerne tun und bekommt da dann auch meine Unterstützung.
Re: Aktuelles aus der Weiterentwicklung
Hallo Boris,ich hatte Dir mal eine Sounddatei geschickt,mit Blockgeräusch vom Felderblock.Ist das nicht zu gebrauchen? ![Augen verdrehen :roll:](./images/smilies/icon_rolleyes.gif)
![Augen verdrehen :roll:](./images/smilies/icon_rolleyes.gif)
Re: Aktuelles aus der Weiterentwicklung
Ja, was mach ich so?
Also als erstes - inzwischen nicht mehr nur ich, sondern wir - ich habe einen Mitstreiter bei der Programmierung des Kernprogramms gefunden. Wir arbeiten momentan an verschiedenen Baustellen. Leider noch nicht wirklich viel spruchreifes - es ist viel langweilige Hintergrundarbeit dabei, aber auch einige spannende Sachen, die aber noch weit von der Verwendbarkeit entfernt sind.
Ein völlig unspektakuläres Beispiel habe ich hier im Anhang dabei: Künftig werden Hauptsignale beim elektromechanischen Stellwerk ebenfalls per Mausklick den Fahrstraßen zugeordnet. Das sieht jetzt nicht sonderlich sensationell aus - aber im Hintergrund wurde die komplette Scripting Engine getauscht, und das Verschlußregister weitgehend neu programmiert, so dass dieses jetzt fit ist für weitere Entwicklungen. Dies war notwendig geworden, weil zum einen die bestehende Skriptsprache den künftigen Anforderungen nicht mehr gewachsen war, und zum anderen das Verschlußregister einige Fehler hatte.
Um die Möglichkeiten des neuen Verschlußregisters in der Praxis zu testen, möchte ich eine neue, wenn auch kleine Drucktastenstellwerksbauform innerhalb der nächsten Zeit umsetzen.
Sobald der Verschlußregisterumbau abgeschlossen ist, kann auch an die Umsetzung neuer Bauformen gedacht werden - wer sich hier zutrauen würde mitzuhelfen, kann sich gerne bei mir melden. Wichtig sind gute technische Kenntnisse über das Vorbildstellwerk. Programmierkenntnisse sind von Vorteil, aber nicht unbedingt nötig. Außerdem schadet Geduld nicht, StellSi hat noch einige Macken![Lächeln :-)](./images/smilies/icon_e_smile.gif)
Also als erstes - inzwischen nicht mehr nur ich, sondern wir - ich habe einen Mitstreiter bei der Programmierung des Kernprogramms gefunden. Wir arbeiten momentan an verschiedenen Baustellen. Leider noch nicht wirklich viel spruchreifes - es ist viel langweilige Hintergrundarbeit dabei, aber auch einige spannende Sachen, die aber noch weit von der Verwendbarkeit entfernt sind.
Ein völlig unspektakuläres Beispiel habe ich hier im Anhang dabei: Künftig werden Hauptsignale beim elektromechanischen Stellwerk ebenfalls per Mausklick den Fahrstraßen zugeordnet. Das sieht jetzt nicht sonderlich sensationell aus - aber im Hintergrund wurde die komplette Scripting Engine getauscht, und das Verschlußregister weitgehend neu programmiert, so dass dieses jetzt fit ist für weitere Entwicklungen. Dies war notwendig geworden, weil zum einen die bestehende Skriptsprache den künftigen Anforderungen nicht mehr gewachsen war, und zum anderen das Verschlußregister einige Fehler hatte.
Um die Möglichkeiten des neuen Verschlußregisters in der Praxis zu testen, möchte ich eine neue, wenn auch kleine Drucktastenstellwerksbauform innerhalb der nächsten Zeit umsetzen.
Sobald der Verschlußregisterumbau abgeschlossen ist, kann auch an die Umsetzung neuer Bauformen gedacht werden - wer sich hier zutrauen würde mitzuhelfen, kann sich gerne bei mir melden. Wichtig sind gute technische Kenntnisse über das Vorbildstellwerk. Programmierkenntnisse sind von Vorteil, aber nicht unbedingt nötig. Außerdem schadet Geduld nicht, StellSi hat noch einige Macken
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
- Dateianhänge
-
- stellsi_verschlussregister_signal.png (12.21 KiB) 31670 mal betrachtet
Re: Aktuelles aus der Weiterentwicklung
Hallo Boris,das sieht ja gut aus,damit würde ja der Veschlussplan dem Orginal sehr nahe kommen.
Bin auf das neue Stellwerk schon gespannt.
Ich würde gerne helfen wenn ich kann,keine Programierkenntnisse,aber immer gerne bereit Neues zu testen.
Mit freundlichen Grüßen Detlef
Bin auf das neue Stellwerk schon gespannt.
Ich würde gerne helfen wenn ich kann,keine Programierkenntnisse,aber immer gerne bereit Neues zu testen.
Mit freundlichen Grüßen Detlef