Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Für alle Diskussionen rund um digitale Modellbahntechnik und alles zum Thema Software Modellbahnplanung und Modellbahnsteuerung
Antworten
plehmann2005

Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von plehmann2005 » Donnerstag 14. Juli 2016, 13:58

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

Benutzeravatar
günni
Forumane
Beiträge: 21788
Registriert: Sonntag 19. Januar 2003, 11:00
Wohnort: Düsseldorf

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von günni » Donnerstag 14. Juli 2016, 14:48

Moin Peter,
erst mal willkommen hier im Forum.
Hast Du schon mal von WinDigipet gehört?

plehmann2005

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von plehmann2005 » Donnerstag 14. Juli 2016, 15:05

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

wzimmermann
Forumane
Beiträge: 835
Registriert: Freitag 30. März 2007, 22:37
Wohnort: München

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von wzimmermann » Freitag 15. Juli 2016, 20:21

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.

Niklas01
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?

Beitrag von Niklas01 » Mittwoch 20. Juli 2016, 15:18

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!

Benutzeravatar
HDW
Forumsgast
Beiträge: 26
Registriert: Sonntag 6. Dezember 2009, 11:14

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von HDW » Donnerstag 21. Juli 2016, 16:53

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.
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

plehmann2005

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von plehmann2005 » Samstag 23. Juli 2016, 11:40

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

rob

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von rob » Dienstag 2. August 2016, 20:48

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

plehmann2005

Re: Ablaufsteuerung via Python, Java, C++ o. ähnlichem?

Beitrag von plehmann2005 » Donnerstag 4. August 2016, 19:00

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

Antworten