Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
hallo in die Runde,
bin Wiedereinsteiger und Informatiker. Würde gerne einen Rangierbetrieb über einen PC erst berechnen und dann steuern lassen. Beispiel: In einer Datenbank steht die (G)leisbelegung mit den (W)agen (G1: W1-W9-W7 / G2: W2-W6-W3 / G3: W4-W6-W8). Ich würde in den PC beispielsweise eintippen wollen: "Stelle die Wagen W1-W2-W3 auf Gleis G4 zusammen". Dann eine Taste drücken und los geht's.
Den Algorithmus und die Datenbank kriege ich hin. Mit welcher Software kann man jetzt die Objekte (Weiche, Lok, Signal, Entkoppler, etc.) ansteuern, so daß der Rangierbetrieb automatisch abläuft?
Wer hätte mir einen Tipp?
Vielen Dank aus Stuttgart,
Peter
bin Wiedereinsteiger und Informatiker. Würde gerne einen Rangierbetrieb über einen PC erst berechnen und dann steuern lassen. Beispiel: In einer Datenbank steht die (G)leisbelegung mit den (W)agen (G1: W1-W9-W7 / G2: W2-W6-W3 / G3: W4-W6-W8). Ich würde in den PC beispielsweise eintippen wollen: "Stelle die Wagen W1-W2-W3 auf Gleis G4 zusammen". Dann eine Taste drücken und los geht's.
Den Algorithmus und die Datenbank kriege ich hin. Mit welcher Software kann man jetzt die Objekte (Weiche, Lok, Signal, Entkoppler, etc.) ansteuern, so daß der Rangierbetrieb automatisch abläuft?
Wer hätte mir einen Tipp?
Vielen Dank aus Stuttgart,
Peter
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Gruß vom N-Bahner GüNNi
Surftipps: Polizeimuseum
Pressemitteilungen von Polizei, Feuerwehr und Zoll.
Surftipps: Polizeimuseum
Pressemitteilungen von Polizei, Feuerwehr und Zoll.
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
hallo Günni,
danke für den Hinweis. Ich habe mir schon einige Steuerungen angeschaut, finde aber keine Schnittstellen, um Gleisbelegungen aus einer Datenbank auszulesen und den Ablauf einer Steuerung dann dynamisch zu gestalten.
Ziel ist, eine Aufgabe zu stellen "hole W1, W6, W7", dann soll ein Computer die notwendigen Weichen und Signale stellen und dann die Lok losschicken und auf ein Gleis mit den gewünschten Wagen zurückfahren.
Ich bräuchte dazu vermutlich die Steuerung der Bahn über eine Programmiersprache.
Oder liege ich total falsch?
VG
Peter
danke für den Hinweis. Ich habe mir schon einige Steuerungen angeschaut, finde aber keine Schnittstellen, um Gleisbelegungen aus einer Datenbank auszulesen und den Ablauf einer Steuerung dann dynamisch zu gestalten.
Ziel ist, eine Aufgabe zu stellen "hole W1, W6, W7", dann soll ein Computer die notwendigen Weichen und Signale stellen und dann die Lok losschicken und auf ein Gleis mit den gewünschten Wagen zurückfahren.
Ich bräuchte dazu vermutlich die Steuerung der Bahn über eine Programmiersprache.
Oder liege ich total falsch?
VG
Peter
-
- Forumane
- Beiträge: 835
- Registriert: Freitag 30. März 2007, 22:37
- Wohnort: München
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Hallo Peter,
ich weiß nur von der Intellibox, dass da das Protokoll zur Anstuerung über die serielle bzw. USB-Schnittstelle offen liegt. Du musst also "nur" einen kleinen Treiber in der Programmiersprache schreiben die Dir am meisten liegt,
der dann über diese Zentrale die Befehle an die Weichen und Loks rausschickt.
Oder Du schaust Dir Rocrail an, das ist opensource. Da fängst Du nicht bei Adam und Eva an.
Der Rutger Friberg hat in den 90ern auch mit so einem DOS-PC und der alten Märklin-Digitalsteuerung sowas realisiert. Das ist ein alter Schwede (!), der das Hobby von der elektronischen Seite betreibt.
Die Obenfläche kann man dann heutzutage mit Tkinter oder auch Qt erstellen. Wenn man den Aufwand nicht scheut und vom Fach ist, dann ist man da sehr flexibel.
Bei Elektor hat es vor Kurzem ein Buch gegeben, das die Realisierung eines Gleisbildstellwerks mit einem Raspberry zeigt. Da könnte man auch viele Infos daraus ableiten.
Gruß
Wolfgang Z.
ich weiß nur von der Intellibox, dass da das Protokoll zur Anstuerung über die serielle bzw. USB-Schnittstelle offen liegt. Du musst also "nur" einen kleinen Treiber in der Programmiersprache schreiben die Dir am meisten liegt,
der dann über diese Zentrale die Befehle an die Weichen und Loks rausschickt.
Oder Du schaust Dir Rocrail an, das ist opensource. Da fängst Du nicht bei Adam und Eva an.
Der Rutger Friberg hat in den 90ern auch mit so einem DOS-PC und der alten Märklin-Digitalsteuerung sowas realisiert. Das ist ein alter Schwede (!), der das Hobby von der elektronischen Seite betreibt.
Die Obenfläche kann man dann heutzutage mit Tkinter oder auch Qt erstellen. Wenn man den Aufwand nicht scheut und vom Fach ist, dann ist man da sehr flexibel.
Bei Elektor hat es vor Kurzem ein Buch gegeben, das die Realisierung eines Gleisbildstellwerks mit einem Raspberry zeigt. Da könnte man auch viele Infos daraus ableiten.
Gruß
Wolfgang Z.
-
- Forumsgast
- Beiträge: 33
- Registriert: Samstag 3. Juli 2010, 18:17
- Wohnort: ca. 1km Luflinie von Gleisen entfernt
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Hallo Peter,
in deinem Beitrag hört sich das alles ziemlich einfach an. Wenn du das wirklich voll funktionsfähig umsetzten möchtest, musst du dir über sehr viel Gedanken machen. Die eigentliche Ablaufsteuerung wird dann wohl das einfachste sein. Hier mal ein paar Gedanken von mir:
- Sind die Wagen auf den Abstellgleisen entkuppelt / wo werden Wagen entkuppelt
- Position der Wagen muss hinreichen exakt bekannt sein, damit die Lokomotive zum richtigen Zeitpunkt stehen bleibt (Belegtmelder, reed-Kontakte)
- Beim Zusammenhängen: Die Kupplungen müssen sehr leichtgängig sein
Weitere Fragen: Wenn noch keine Erfahrungen mit PC-Steuerungen vorhanden sind, dann erst mal hier erste Erfahrungen machen. Eventuell Interface zu anderem PC-Programm nicht verwenden, wenn nur die Züge zusammengestellt werden müssen. Dann am Besten die Kommunikation komplett selbst herstellen (Die CS2 / ECOS z.B. kommuniziert mit einfachen UDP Befehlen, für vermutlich jede PC-Zentrale gibt es eine geeignete Doku)
Ich weiß, dass Rocrail das Zusammenstellen von Zügen anhand von Wagen unterstützt.
Dieser Beitrag geht auch in die Richtung:
https://forum.rocrail.net/viewtopic.php?f=45&t=9965
Allerdings wird hier der Eigentlich Ablauf von Hand vorgenommen, RR stellt dann nur automatisch den Zug zusammen.
Solltest du Erfolgreich sein, ist die Modellbahnwelt bestimmt am Ergebnis interessiert.
Viel Glück!
in deinem Beitrag hört sich das alles ziemlich einfach an. Wenn du das wirklich voll funktionsfähig umsetzten möchtest, musst du dir über sehr viel Gedanken machen. Die eigentliche Ablaufsteuerung wird dann wohl das einfachste sein. Hier mal ein paar Gedanken von mir:
- Sind die Wagen auf den Abstellgleisen entkuppelt / wo werden Wagen entkuppelt
- Position der Wagen muss hinreichen exakt bekannt sein, damit die Lokomotive zum richtigen Zeitpunkt stehen bleibt (Belegtmelder, reed-Kontakte)
- Beim Zusammenhängen: Die Kupplungen müssen sehr leichtgängig sein
Weitere Fragen: Wenn noch keine Erfahrungen mit PC-Steuerungen vorhanden sind, dann erst mal hier erste Erfahrungen machen. Eventuell Interface zu anderem PC-Programm nicht verwenden, wenn nur die Züge zusammengestellt werden müssen. Dann am Besten die Kommunikation komplett selbst herstellen (Die CS2 / ECOS z.B. kommuniziert mit einfachen UDP Befehlen, für vermutlich jede PC-Zentrale gibt es eine geeignete Doku)
Ich weiß, dass Rocrail das Zusammenstellen von Zügen anhand von Wagen unterstützt.
Dieser Beitrag geht auch in die Richtung:
https://forum.rocrail.net/viewtopic.php?f=45&t=9965
Allerdings wird hier der Eigentlich Ablauf von Hand vorgenommen, RR stellt dann nur automatisch den Zug zusammen.
Solltest du Erfolgreich sein, ist die Modellbahnwelt bestimmt am Ergebnis interessiert.
Viel Glück!
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Hallo Peter,
schau mal hier:
http://wiki.rocrail.net/doku.php?id=srcp-de
Damit kannst du Rocrail von "außen" steuern durch das SRCP-Protokoll.
Weitere Fragen dazu kann ich Dir aber leider nicht beantworten, es gibt aber im Rocrail-Forum einen Admin (LDG), der ist dort ein absoluter Spezialist.
Also am Besten im Rocrail-Forum anmelden, dann bekommst Du deine Fragen sicher beantwortet.
schau mal hier:
http://wiki.rocrail.net/doku.php?id=srcp-de
Damit kannst du Rocrail von "außen" steuern durch das SRCP-Protokoll.
Weitere Fragen dazu kann ich Dir aber leider nicht beantworten, es gibt aber im Rocrail-Forum einen Admin (LDG), der ist dort ein absoluter Spezialist.
Also am Besten im Rocrail-Forum anmelden, dann bekommst Du deine Fragen sicher beantwortet.
Gruß aus Bensheim
Holger
M-Gleis / Delta Control 4F / Win XP SP3 / DDX / Rocrail mit IRoc und padRoc
LENZ / ESU (3.0, 3.5 und 4.0 mit und ohne Sound) / fx (nur noch 2!) / ESU Switch Piloten und ESU LokProgrammer
Holger
M-Gleis / Delta Control 4F / Win XP SP3 / DDX / Rocrail mit IRoc und padRoc
LENZ / ESU (3.0, 3.5 und 4.0 mit und ohne Sound) / fx (nur noch 2!) / ESU Switch Piloten und ESU LokProgrammer
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
hallo in die Runde,
vielen Dank für die vielen Tipps und Hinweise.
Ich habe eine Website für meinen Weg hin zum Verschiebebahnhof aufgemacht, da ich vermutlich nicht der einzige Wiedereinsteiger bin. Auf diesem Wiki werde ich meinen Weg zum Verschiebebahnhof über die nächsten Monate dokumentieren.
http://webserver.bi-academy.eu/bia-doku ... p?id=start
Über Unterstützung aus der Community freue ich mich sehr.
Los geht's!
VG
Peter
vielen Dank für die vielen Tipps und Hinweise.
Ich habe eine Website für meinen Weg hin zum Verschiebebahnhof aufgemacht, da ich vermutlich nicht der einzige Wiedereinsteiger bin. Auf diesem Wiki werde ich meinen Weg zum Verschiebebahnhof über die nächsten Monate dokumentieren.
http://webserver.bi-academy.eu/bia-doku ... p?id=start
Über Unterstützung aus der Community freue ich mich sehr.
Los geht's!
VG
Peter
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Hallo Peter !
Die erste Frage ist welche Steuerung verwendest du . Wenn du Lenz nimmst sind die Befehle alle public .Wie willst du die Wagen identifizieren ? In jeden Wagen einen Attiny einbauen der dan Seriell die Adresse sendet , über RFID oder einfach über Gleisbestztmelder , da muss der Pc wissen welcher Wagen wo ist und in den Achsen ein widerstand sein .
Mein System besteht aus einen Chatserver auf den PC . Die Daten sammeln Arduino Mega als Clienten . Jetzt mußt du noch eine Software schreiben die die entsprechenden Daten auswertet und anzeigt .
MfG
rob
Die erste Frage ist welche Steuerung verwendest du . Wenn du Lenz nimmst sind die Befehle alle public .Wie willst du die Wagen identifizieren ? In jeden Wagen einen Attiny einbauen der dan Seriell die Adresse sendet , über RFID oder einfach über Gleisbestztmelder , da muss der Pc wissen welcher Wagen wo ist und in den Achsen ein widerstand sein .
Mein System besteht aus einen Chatserver auf den PC . Die Daten sammeln Arduino Mega als Clienten . Jetzt mußt du noch eine Software schreiben die die entsprechenden Daten auswertet und anzeigt .
MfG
rob
Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?
Hallo in die Runde,
nach nunmehr fast 8 Wochen im Forum und nach (gefühlt) 1000 Videos in Youtube schaut es nach einer Lösung Datenbank <-> Python -> XML -> Rocrail aus. Die Gleisbelegung liegt in einer Datenbank (SQL Server), Python erzeugt eine XML-Datei, die ich via App im Smartphone (Win10) erzeuge und Rocail steuert (hoffentlich dann) die Modelbahn an.
Soweit die Theorie.
Ich hoffe, ich bin nicht auf dem Holzweg.
VG
Peter
http://webserver.bi-academy.eu/bia-dokuwiki6/doku.php
nach nunmehr fast 8 Wochen im Forum und nach (gefühlt) 1000 Videos in Youtube schaut es nach einer Lösung Datenbank <-> Python -> XML -> Rocrail aus. Die Gleisbelegung liegt in einer Datenbank (SQL Server), Python erzeugt eine XML-Datei, die ich via App im Smartphone (Win10) erzeuge und Rocail steuert (hoffentlich dann) die Modelbahn an.
Soweit die Theorie.
Ich hoffe, ich bin nicht auf dem Holzweg.
VG
Peter
http://webserver.bi-academy.eu/bia-dokuwiki6/doku.php