Mit Bahn „kommunizieren“
-
- Beiträge: 340
- Registriert: Samstag 10. Dezember 2016, 16:01
- Wohnort: Dresden (ehemals Salzburg + Stuttgart)
- Kontaktdaten:
Mit Bahn „kommunizieren“
Guten Abend,
Ich bin gerade dabei, ein Programm zu schreiben, das für mein Netz die Verspätungsmeldungen und die Zugpositionen aufnehmen und in einem Diagramm ausgeben soll (Vorbild http://s-bahn-chaos.de/monitor/ Im ersten Fall als Übersicht, im zweiten als Liste...)
Dabei ist mir die Frage gekommen, ob man mit dem Programm Bahn direkt (ohne Log-Dateien) kommunizieren kann, das heißt, ob ich die Zugpositionen und die Taktpunktdaten auslesen kann.
Dadurch sollen z.B. Verspätungsdiagramme generiert werden und in einer weiteren Stufe eine Fahrplanauskunft möglich sein.
Vielen Dank für eine Rückmeldung!
Schönen Sommerabend noch,
S-Bahn-Freund
Ich bin gerade dabei, ein Programm zu schreiben, das für mein Netz die Verspätungsmeldungen und die Zugpositionen aufnehmen und in einem Diagramm ausgeben soll (Vorbild http://s-bahn-chaos.de/monitor/ Im ersten Fall als Übersicht, im zweiten als Liste...)
Dabei ist mir die Frage gekommen, ob man mit dem Programm Bahn direkt (ohne Log-Dateien) kommunizieren kann, das heißt, ob ich die Zugpositionen und die Taktpunktdaten auslesen kann.
Dadurch sollen z.B. Verspätungsdiagramme generiert werden und in einer weiteren Stufe eine Fahrplanauskunft möglich sein.
Vielen Dank für eine Rückmeldung!
Schönen Sommerabend noch,
S-Bahn-Freund
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Re: Mit Bahn „kommunizieren“
Moin,
eine direkte Schnittstelle wäre mir nicht bekannt. Ich habe eine BAHN-PHP-Schnittstelle entwickelt, die den Abgriff ähnlich zu LEIDIS-N der DB Netz erledigt: anhand von Signalabgriffen feststellen, wann welcher Zug wo ist (war). Dazu benötigst du aber wie in jeder Simulationssoftware ein Datenmodell mit Grunddaten (z.B. Netzdaten, Fahrplandaten, Umlaufplandaten), damit eine Verspätungsprognose und Fahrplanauskunft erfolgen kann.
Viele Grüße
Johannes
eine direkte Schnittstelle wäre mir nicht bekannt. Ich habe eine BAHN-PHP-Schnittstelle entwickelt, die den Abgriff ähnlich zu LEIDIS-N der DB Netz erledigt: anhand von Signalabgriffen feststellen, wann welcher Zug wo ist (war). Dazu benötigst du aber wie in jeder Simulationssoftware ein Datenmodell mit Grunddaten (z.B. Netzdaten, Fahrplandaten, Umlaufplandaten), damit eine Verspätungsprognose und Fahrplanauskunft erfolgen kann.
Viele Grüße
Johannes
-
- Beiträge: 340
- Registriert: Samstag 10. Dezember 2016, 16:01
- Wohnort: Dresden (ehemals Salzburg + Stuttgart)
- Kontaktdaten:
Re: Mit Bahn „kommunizieren“
Hallo jf007,
danke für Deine Antwort! Deine Bahn-PHP-Schnittstelle interessiert mich ... kannst du mir grob sagen, wie sie funktioniert?
Ich habe auch bereits ein Programm geschrieben, das Fahrpläne aus der .nt3-Datei ausliest. Eine Idee wäre ja beispielsweise, diese Signalpassierungen der Züge mit den entsprechenden Fahrplandaten zu verknüpfen, das wäre ja theoretisch machbar.
Nochmals danke und viele Grüße
S-Bahn-Freund
danke für Deine Antwort! Deine Bahn-PHP-Schnittstelle interessiert mich ... kannst du mir grob sagen, wie sie funktioniert?
Ich habe auch bereits ein Programm geschrieben, das Fahrpläne aus der .nt3-Datei ausliest. Eine Idee wäre ja beispielsweise, diese Signalpassierungen der Züge mit den entsprechenden Fahrplandaten zu verknüpfen, das wäre ja theoretisch machbar.
Nochmals danke und viele Grüße
S-Bahn-Freund
Re: Mit Bahn „kommunizieren“
Moin,
naja ich hab zwei Schnittstellen entwickelt: eine, die aus der nt3 ausliest (die ist noch nicht vollständig fertig), und eine, die lediglich die Protokolldateien auswertet.
Die zweite Schnittstelle - Auswerten der Protokolldateien - empfiehlt sich für den Fahrplanabgleich und Regelbetrieb. Die Fahrplandefinition musst du vorher separat vornehmen, dann kannst du den Fahrplanabgleich relativ einfach machen:
Viele Grüße
Johannes
naja ich hab zwei Schnittstellen entwickelt: eine, die aus der nt3 ausliest (die ist noch nicht vollständig fertig), und eine, die lediglich die Protokolldateien auswertet.
Die zweite Schnittstelle - Auswerten der Protokolldateien - empfiehlt sich für den Fahrplanabgleich und Regelbetrieb. Die Fahrplandefinition musst du vorher separat vornehmen, dann kannst du den Fahrplanabgleich relativ einfach machen:
- Fahrplan im Server hinterlegen (ich hab dazu drei Tabellen: Zugstammdaten, Zuglaufdaten und Bahnhofsdaten)
- ggf. Umlaufplandaten hinterlegen (dient der Übertragung von Verspätungen)
- Zuordnung von Protokolleinträgen zu Zuglaufdaten: Dabei ist zu beachten, dass sich die Nummer von Zügen ggf. ändern kann, d.h. die Einbuchung muss auf Basis des zuletzt noch nicht gefahrenen Zugdatensatzes erfolgen. Problematisch ist das dann, wenn ein Zug zum Zeitpunkt der Betriebsaufnahme mehr als einen Takt Verspätung hat und/oder die Liniennummer in einem Bahnhof nicht eindeutig ist.
Viele Grüße
Johannes
-
- Beiträge: 340
- Registriert: Samstag 10. Dezember 2016, 16:01
- Wohnort: Dresden (ehemals Salzburg + Stuttgart)
- Kontaktdaten:
Re: Mit Bahn „kommunizieren“
Hallo Johannes,
Das sieht ja ganz genial aus...
Wie genau machst du die 2. Möglichkeit. Du legst Tabellen mit den Umläufen an und wie weiß das Programm dann, welche Zeit am TP mit welchem Zug verknüpft ist?
Gruß aus Stuttgart,
S-Bahn-Freund
Das sieht ja ganz genial aus...
Wie genau machst du die 2. Möglichkeit. Du legst Tabellen mit den Umläufen an und wie weiß das Programm dann, welche Zeit am TP mit welchem Zug verknüpft ist?
Gruß aus Stuttgart,
S-Bahn-Freund
Re: Mit Bahn „kommunizieren“
Hallo,
die Zuordnung zwischen Umläufen und der Taktpunktzeit ist bei uns im Netz irrelevant. Wir greifen analog zum LEIDIS die Signalabgriffe ab, d.h. ein Zug meldet sich am Signal "MH24" für Marnis Hbf, Gleis 24; dann wissen wir, der verlässt das Gleis gerade (= Ausfahrt). Über die Zuordnung der ersten Fahrplanzeit ist dann klar, welche Zeiten der weiteren Bahnhöfe (wo es in der Ankunft ja auch Verfrühungen geben kann) zu diesem Zug gehören, sodass das Einbuchen der weiteren Zeiten relativ einfach erfolgen kann.
Die Umläufe kommen aus einer Exceltabelle und werden dann über PHP in eine mySQL-Datenbank eingelesen; der entscheidende Punkt ist die Zuordnung über Linien (die auch in BAHN genutzt werden, und über die auch die Zuordnung der späteren Abfahrtsmeldungen erfolgt), sodass immer klar ist, welche Linie an welchem Bahnhof welche Aktionen ausführt (z.B. beginnt/endet). Damit lassen sich dann auch Flügelzüge (wie im Beispiel SE6/SE61) darstellen, weil das System die Doppelmeldung erkennt.
Viele Grüße
Johannes
die Zuordnung zwischen Umläufen und der Taktpunktzeit ist bei uns im Netz irrelevant. Wir greifen analog zum LEIDIS die Signalabgriffe ab, d.h. ein Zug meldet sich am Signal "MH24" für Marnis Hbf, Gleis 24; dann wissen wir, der verlässt das Gleis gerade (= Ausfahrt). Über die Zuordnung der ersten Fahrplanzeit ist dann klar, welche Zeiten der weiteren Bahnhöfe (wo es in der Ankunft ja auch Verfrühungen geben kann) zu diesem Zug gehören, sodass das Einbuchen der weiteren Zeiten relativ einfach erfolgen kann.
Die Umläufe kommen aus einer Exceltabelle und werden dann über PHP in eine mySQL-Datenbank eingelesen; der entscheidende Punkt ist die Zuordnung über Linien (die auch in BAHN genutzt werden, und über die auch die Zuordnung der späteren Abfahrtsmeldungen erfolgt), sodass immer klar ist, welche Linie an welchem Bahnhof welche Aktionen ausführt (z.B. beginnt/endet). Damit lassen sich dann auch Flügelzüge (wie im Beispiel SE6/SE61) darstellen, weil das System die Doppelmeldung erkennt.
Viele Grüße
Johannes
-
- Beiträge: 340
- Registriert: Samstag 10. Dezember 2016, 16:01
- Wohnort: Dresden (ehemals Salzburg + Stuttgart)
- Kontaktdaten:
Re: Mit Bahn „kommunizieren“
Hallo,
Jetzt habe ich das Prinzip verstanden. Danke!
Noch eine Frage: Wie erkennt das System, ob ein Zug ausfällt oder nur viel zu spät ist?
Viele Grüße,
S-Bahn-Freund
Jetzt habe ich das Prinzip verstanden. Danke!
Noch eine Frage: Wie erkennt das System, ob ein Zug ausfällt oder nur viel zu spät ist?
Viele Grüße,
S-Bahn-Freund
Re: Mit Bahn „kommunizieren“
Moin,
im Moment gar nicht Im Moment fallen nur ganze Linien aus, nämlich solche, die noch nicht eingerichtet sind. Züge, die wirklich ausfallen, erfordern auch in BAHN eine Dispo-Entscheidung; die lässt sich tatsächlich auch abfangen, muss dann aber händisch als Ausnahme im LEIDIS hinterlegt werden.
Viele Grüße
Johannes
im Moment gar nicht Im Moment fallen nur ganze Linien aus, nämlich solche, die noch nicht eingerichtet sind. Züge, die wirklich ausfallen, erfordern auch in BAHN eine Dispo-Entscheidung; die lässt sich tatsächlich auch abfangen, muss dann aber händisch als Ausnahme im LEIDIS hinterlegt werden.
Viele Grüße
Johannes