Du bist nicht angemeldet.

1

Donnerstag, 30. Dezember 2010, 23:33

Modellbahnsteuerung

Hallo,

nachdem ich vor einigen Jahren auch vom Digital-Virus befallen wurde, da ich mit dem analogen Fahrbetrieb eigentlich nie richtig zufrieden wurde (Festspannung = unterschiedliche Lokgeschwindigkeiten) und durch einen glücklichen Umstand günstig in den Besitz einer Lenz-Zentrale gekommen war, stellte sich für mich die Frage: "wat nu"?
Nun, bei dieser Frage blieb es neben der Digitalisierung einiger Loks und dem Sammeln einiger Erfahrung erst einmal - erst ein Achillessehenriss gab mir etwas Zeit dieses Projekt wieder aufleben zu lassen.

Unausgesprochene Ziele waren
  • notwendige Updates selbst vornehmen zu können (!)
  • den Gleisplan interaktiv erstellen zu können
  • Züge mit vorbildlichen Geschwindigkeiten fahren zu lassen
  • bei der Streckensuche auch nicht angetriebene oder festgestellte Weichen berücksichtigen zu können, um nicht alle Weichen antreiben zu müssen (die Schattenbahnhöfe haben jeweils nur Betrieb in eine Richtung und an der Ausfahrt nicht angetriebene Weichen)
  • abwechslungsreichen Automatikbetrieb auf der Hauptstrecke zu ermöglichen
  • neben dem Automatikbetrieb auch einen manuellen Betrieb mit Handreglern zu erlauben und dabei die Loks/Züge durch die Steuerung über die Belegtmelder zu verfolgen
  • eine automatische Suche freier Gleise im Schattenbahnhof zu realisieren
  • langsames Halten vor Signalen oder optional zugbezogen auch in der Bahnsteigmitte zu implementieren
  • Fahrstrassen zu verriegeln
  • die Anlage zum Testen auch simulieren zu können

Heute sieht es schon so aus (gefahren wird mit der Lenz-Zentrale, geschaltet/gemeldet mit einer Rautenhaus SLX852 Zentrale):


(orangene Blöcke sind belegt, grüne Blöcke reserviert)

Zum notwendigen automatischen Einmessen der Geschwindigkeitsprofile der Loks wird einfach die rot gezeichnete Strecke genutzt:
  • in Block 1 (gelb) wird zu messende Fahrstufe automatisch eingestellt
  • beim Erreichen des Block 2 (grün) beginnt die Zeiterfassung
  • beim Erreichen des Block 3 (rot) endet die die Zeiterfassung und die Lok wird bis zum Erreichen auf eine höhere Fahrstufe eingestellt - es vergeht halt ein bißchen Zeit, bis sie dann wieder Block 1 erreicht

Das Ganze wiederholt sich im Beispiel unten dann 28x für jede Fahrstufe, am Ende erhält man eine Kennlinie für den gewählten Bereich.


(Optimierungsmöglichkeiten liegen hier noch in der automatischen Wiederholung von Ausreißern)

Zur Zeit funktioniert der Betrieb mit Schattenbahnhof und unterem Bahnhof durchaus zufriedenstellend, der Rest befindet sich im Aufbau (s.a. Bahnhof Wildbad) , aber das ist eine andere - und hoffentlich nicht unendliche - Geschichte...

LG Frank
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1

2

Donnerstag, 30. Dezember 2010, 23:42

Hallo,

es geht weiter:

  1. die Gleisplanerstellung erfolgt mit der Maus durch Auswahl in der linken Symbolleiste (es fehlt noch eine Drehscheibe :) )
    und anschließenden Klick in die Fläche - Symbole können durch Rechtklick rotiert werden


  2. Adresszuweisungen für Magnetartikel durch Doppelklick auf das entsprechende Symbol


  3. Blöcke werden wie die Gleissymbole auf geraden Strecken positioniert, anschließend erfolgt die Verknüpfung mit Meldern und Signalen


  4. Loks werden einfach durch Rechtsklick auf einen Block mit Angabe der Fahrtrichtung bekanntgemacht


  5. die Fahrstraßen werden durch Angaben der Start- und Zielblöcke (optional auch der auszuschließenden) definiert

Dann kann der - hier virtuelle - Fahrbetrieb losgehen...

LG Frank
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1

3

Donnerstag, 30. Dezember 2010, 23:47

Automatikbetrieb

Moin zusammen,
ein regnerischer Tag gibt mir mal wieder Zeit mich ein bißchen mit meiner Steuerung zu beschäftigen. :)
Das Konzept der Anlage beruht auf einer eingleisigen Hauptstrecke an deren beiden Enden sich jeweils sogenannte "Hundeknochen" (in diesem Fall eigentlich mehr Kehrschleifen) befinden, d.h. ein Zug kommt auch aus der Richtung zurück in die er den Bahnhof verlassen hat. An dem Bahnhof ist eine weitere eingleisige Strecke angeschlossen, deren Ende zukünftig der Bahnhof Wildbad sein wird...
Nach der ursprünglichen Idee sollte der eine Hundeknochen der SBf-Nord, der zweite der SBf-Süd sein, die beide nur in einer Richtung befahren werden können. Im Rahmen des ersten Aufbaus wurde dem SBf-Nord noch der SBf-Ost zum Speichern von kurzen Zügen vorgeschaltet, später mußte links noch eine Ergänzung mit dem SBf-West erfolgen - auch zur Aufnahme von ETs und VTs in den Stumpfgleisen.


Durch die Anlage der Schattenbahnhöfe ist auf der Hauptstrecke ist auch Kreisverkehr möglich, z.B. für meinen einzigen Ganzzug..

Der Betrieb auf der Hauptstrecke sollte weitestgehend automatisch möglich sein - dafür genügt die Definition von 4 Zugfahrten:
(1) Ausfahrt aus SBf-Nord nach Bhf.Gleis 2
(2) Ausfahrt aus Bhf.Gleis 2 nach SBf-Süd
(3) Ausfahrt aus SBf-Süd nach Bhf.Gleis 3
(4) Ausfahrt aus Bhf.Gleis 3 nach SBf-Nord

Als Beispiel Fahrt(3) von SBf.Süd zum Bahnhof - es werden 3 Ausfahrtsgleise definiert: für die Folgefahrten wird dann mit den Kriterien "ältester Zug, Zufall, gleicher Zug" ein Zug für die Fahrt ausgewählt:


Für diese Fahrt wird einfach Fahrt(4) als Nachfolger angegeben, entsprechendes gilt für die anderen Fahrten..


Dabei kann eine Wartezeit für z.B. einen Halt im Bahnhof eingestellt werden, nach der die folgende Zugfahrt versucht wird zu starten.


Über die Prioritäten kann die Auswahl der Folgefahrten gesteuert werden
0 - die Fahrt wird in jedem Fall versucht auszuführen, z.B. für Aufrücken im Sbf-Ost
1..9 - die Auswahl erfolgt gemäß der angegebenen Priorität, <9> hat eine höhere Wahrscheinlichkeit als <1>
Hier wird die Fahrt eines VT aus dem SBf-West mit einer Wahrscheinlichkeit von 10% eingestreut..


Eine Fahrt oder Fahrtkette kann einfach durch Doppelklick im Fahrtenfenster gestartet werden (alternativ können auch kleine Buttons für eine einzelne Fahrt definiert werden, z.B. die Buttons "W" und "O" in den Schattenbahnhöfen)

Durch Klick auf "Stopp" wird die Kette nach Erreichen des Ziels ohne Fortsetzung beendet, Klick auf "Pause" wartet nach Erreichen des Ziels auf eine manuelle Fortsetzung der Kette durch Klick auf "Weiter".

So, nun kümmer ich mich mal wieder um meine Grenzzeichen....

LG Frank
»Frank57« hat folgendes Bild angehängt:
  • SBf.S nach Bhf.3.jpg
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1

4

Mittwoch, 18. Mai 2011, 10:38

Hy Frank,
was ist das für ein Programm, oder hast du das alles selbst programmiert?
Die Screenshots zeigen ein sehr professionelles Design.

Ich hab sowas für meine Steuerung selbst programmiert, aber das Gleisbild ist fest programmiert. Mit meinem Programm kann also nur ich selber etwas anfangen. Wenn ich es konfigurierbar für beliebige Gleispläne machen würde, wäre es noch ein riesen Aufwand.


...schaust du hier

Gruß
Bernd.
bei mir fährt alles analog im Blockbetrieb mit Z-Schaltung und selbstgebauter PC Steuerung,
Details auf meiner HP http://www.bernd-koe.de/

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Bernd« (20. März 2016, 12:41)


5

Mittwoch, 18. Mai 2011, 18:30

Hallo Bernd,

danke für die Blumen, die Screenshots zeigen tatsächlich Bilder des von mir unter Delphi (Pascal -> ObjectPascal -> Delphi) selbst erstellten Programms.

Da ich mich auch beruflich mit Echtzeitmesswertverarbeitung und diversen Kommunikationsprotokollen herumschlagen darf, war es nicht sooooo schwierig ;)

Interessant war in jedem Fall die Fahrwegsuche anhand des eingegebenen schematischen Gleisplans unter Berücksichtigung z.B. der Zuglängen zu realisieren. Im Unterschied zu anderen Programmen kann ich hier im Fahrweg auch fest gestellte Weichen oder auch Weichen ohne Antrieb (die natürlich nicht von der Zunge her befahren werden dürfen) einsetzen.

Sicherlich geht natürlich bei einem solchem Projekt einige Zeit ins Land und fertig ist es eigentlich nie - der Hunger wächst bekanntlich beim Essen und die kleinen Erfolge lohnen in jedem Fall den betriebenen Aufwand. :D

Viele Grüße
Frank
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1

6

Mittwoch, 18. Mai 2011, 19:18

Hi Frank,
o la la, alles selbstgemacht :thumbsup: :thumbsup: mein Komplement.
Beruflich hatte ich auch lange mit Software zu tun, aber nur in der Systemdefinition (zB Lastenhefte schreiben) für die Steuerungssoftware an Bord von Satelliten.

Hast du denn mal daran gedacht dein Programm zu vermarkten?
Ich hab meine Steuerung auch mit Turbo-Pascal programmiert. http://www.bernd-koe.de/n-welt/samoba_-_steuerung/index.php
Hab mir aber ein Real-Time Kernel dazugekauft http://www.on-time.com/rtkernel-dos.htm. Damit habe ich ein gut funktionierendes real-Time system, aber leider alles in Turbo-Pascal. Ich würde gerne auf Delphi umschwenken, aber das wäre mir zu viel arbeit.


...zu deiner Steuerung hätte ich Fragen:
1. Wäre dein Programm so modular aufgebaut, dass man auch ein anderes Interface zur MoBa-Anlage verwenden könnte? Wenn du deine Programmierung richtig gut "objekt-orientiert" gemacht hast, dann sollte es einfach möglich sein das Interface zu ändern/anzupassen, oder?

Deshalb die nächsten Fragen
2. Ich nehme mal an, dass du auch Gleisbesetztmeldungen verwendest (muß ja irgendwie), und Gleismeldungen kann man ja unterschiedlich realisieren, mit Digitalsystemen oder wie ich mit Analogschaltung und Parallel-Inputs in den PC.

3. Die Loks bekommen Steuerbefehle (zB. Geschwindigkeit, Richtung). Bei Digitalsystemen schickt man diese Befehle über das Digitalsystem an den Lokdecoder. Bei mir wird über einen D/A Wandler die Fahrspannung im PC rauf/runter gesteuert und geht dann an Fahrpulte (bei mir sind es zZ 4 Stück) über Paralle-Outputs vom PC.

4. Fahrwege werden von der Steuerung geschaltet (=die Weichen werden gestellt). Das kann über ein Digitalsystem an die Weichendecoder geschickt werden oder wie bei mir an eine "Analogschaltung" (bei mir ist es ein Multiplexer angesteuert über ein Parallel-Output mit 8 Leitungen).

5. Bei Analogsystemen (so wie bei mir) müssen die Fahrpulze an die jeweiligen Blöcke/Gleisabschnitte geschaltet werden über eine Z-Schaltung (sind bei mir Transistormitrizen, keine Relais). Bei Digitalsystemen entfällt die Z-Schalterei systembedingt.

so das sollte zunächst reichen. Wenn wir weiter diskutieren kommen sicherlich noch mehr Fragen.

Gruß
Bernd.
bei mir fährt alles analog im Blockbetrieb mit Z-Schaltung und selbstgebauter PC Steuerung,
Details auf meiner HP http://www.bernd-koe.de/

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Bernd« (20. März 2016, 12:42)


7

Mittwoch, 18. Mai 2011, 20:37

Hi Bernd,

nein, an eine Vermarktung habe ich nicht gedacht und denke ich im Moment auch überhaupt nicht - dafür fehlt einfach die Zeit.
Und realistisch betrachtet wäre es dann ja auch kein Hobby mehr.... ;)

Nun kurz zu Deinen Fragen:

  1. Wäre dein Programm so modular aufgebaut, dass man auch ein anderes Interface zur MoBa-Anlage verwenden könnte?

    Glücklicherweise ja: die Lenz- und die Rautenhaus-Interfaces sind 2 äußerlich identische Objekte, die jedoch unterschiedliche Protokolle (DCC und SX) zur Kommunikation mit den betroffenen Zentralen bedienen. Die Kommunikation erfolgt seriell über USB-Konverter.
    So wäre z.B. auch die Kommunikation mittels eines weiteren Interfaces über TCP/IP denkbar......

    Warum bediene ich 2 Interfaces??
    Nun, die Lenz-Zentrale hatte ich bereits seit längerem und auch einige Loks mit DCC-Decodern ausgerüstet, allerdings sagte mir das Rückmeldesystem nicht so zu. Hier hat Rautenhaus mit einem schnellen ereignisorientierten Protokoll (automatische Übertragung einer Änderung z.B. eines Belegtmelders) in meinen Augen einen Standard, der das ständige und lästige Pollen aller Kanäle unnötig macht. Aus diesem Grund habe ich dann fürs Schalten und Melden eine Rautenhaus-Zentrale (SLX852) gewählt.

  2. Gleisbesetztmeldungen
    ..werden Belegtmelder erfasst und über das Rautenhaus-Interface (SX) eingelesen. Im Gegensatz zu Deinem Konzept benötige ich nur einen Abschnitt pro Block, in diesem wird dann gegebenenfalls anhand der aktuellen Geschwindigkeit und des Lok-Geschwindigkeitsprofils gebremst um an einem im Block definierten Haltepunkt, Zug optional (z.B. für VTs) auch in der Mitte des Blocks, zum Stehen zu kommen.

  3. Steuerbefehle an die Loks
    ..gehen über das Lenz-Interface (DCC) raus.

  4. Fahrwege
    ..werden über das Rautenhaus-Interface (SX) gestellt. Weichen und Signale können, sofern sie nicht durch bestehende Fahrstrassen blockiert sind, auch manuell am Rechner gestellt werden.
    Entkuppler sollen allerdings über das Lenz-Interface (DCC) angesteuert werden - hier muss ich mir noch meinen Littfinski-Decoder zusammenlöten...

  5. Z-Schaltung
    ..lasse ich jetzt mal weg :D


Die Ansteuerung einer Drehscheibe ist auch bei mir noch ein offener Punkt...

Gruß
Frank
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1

8

Mittwoch, 18. Mai 2011, 21:15

nein, an eine Vermarktung habe ich nicht gedacht und denke ich im Moment auch überhaupt nicht - dafür fehlt einfach die Zeit.
Und realistisch betrachtet wäre es dann ja auch kein Hobby mehr.... ;)


Frank,
hast recht. wenn's ans Vermarkten geht, hört i.a. der Spass auf und der Stress kommt.

Ich bin bei meiner Programmiererei ein echter Freund der Objekt-Denke geworden. Das war auch der Grund, warum ich ganz schnell die Programmierung in BASIC beiseite gelegt hatte und alles mit Turbo Pascal 6.0 (hat Objekt-Pascal drin) gemacht hatte.
Und für das ganze Timing war das Kernel von On-Time gerade richtig...damals als ich es kaufte war die Firma noch ganz am Anfang und das Programm entsprechend preiswert (so etwa 500 DM). Inzwischen ist die Firma so erfolgreich am Markt für "embedded systems", dass ihre Produkte schon für Hobbyisten unerschwinglich geworden sind.
Weil mein Programm nun sehr stark von diesem Kernel abhängig ist (Tasks, Prioritäten, Semaphoren, Mailboxen usw), ist es fast unmöglich schnell und einfach nach Delphi umzuprogrammieren, ich müßte wohl alles neu schreiben ;( und da hört der Spass auf.

Übrigens, eine Steuerung meiner Drehscheibe steht auch noch aus. Evtl. könnten wir das Thema ja mal gemeinsam Lösen (=Anforderungen definieren, Hardware bauen) und dann baut jeder sein eigenes Interface und programmiert für sich mit seinem System.

Gruß
Bernd.
bei mir fährt alles analog im Blockbetrieb mit Z-Schaltung und selbstgebauter PC Steuerung,
Details auf meiner HP http://www.bernd-koe.de/

9

Freitag, 27. Mai 2011, 12:47

Hmm,

ich habe gerade noch ein Video entdeckt, das den Betrieb auf einer alten Anlage am PC zeigt:



zum Thema Drehscheibe: ich werde mich an der Peco-Drehscheibe versuchen..


Gruß
Frank
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1