Anlage von egos

  • Hoi Oski

    Siehst Du wenn Trasse und Lok in einem einwandfreien Zustand sind, ist es ganz einfach Digital zu fahren. :) Es freut mich das bei dir wieder, wie heiss es Freude herrscht!

    En Gruess Kurt

  • Hoi Kurt

    Da kann ich dir beipflichten. Ich habe richtig Freude am digitalen Fahren bekommen. Es ist super, deine Unterstützung aber auch!

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Hoi Oski


    Auch mich freut es sehr, wenn Deine grüne "St.Gallen" zu Deiner vollen Zufriedenheit über die Weichenstrasse fährt.


    Gruess Chlauspi

  • Heute wurden die letzten 4 Drähte an die Schienen vor der Brücke verlegt:

    Damit ist die Zufahrt Nord installiert. Morgen können die Drähte angelötet werden.

    Dann fehlt noch die Zufahrt Süd:

    Selbstverständlich fehlen auch noch die Signale. Da ich diese im Programm noch nicht ansteuern kann, muss ich zuerst untersuchen, wie das programmiert werden muss. Ich werde den von Röbi übernommenen Code für die Weichen im Detail ansehen und dann die Signale analog ansteuern.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Ich werde den von Röbi übernommenen Code für die Weichen im Detail ansehen und dann die Signale analog ansteuern.

    Oski, warum willst du für die Ansteuerung der Signale meinen Weichen-Code als Basis nehmen und nicht meinen Signal-Code?

  • Hoi Röbi

    Das habe ich vielleicht etwas unglücklich beschrieben. Ich habe deinen Signal-Code schon, aber beim Weichen-Code habe ich erst kürzlich verstanden, warum die Zentrale von jeder Weiche den Zustand 13 x pro Sekunde wiederholen kann und wie eine Änderung einer Stellung erfasst wird. Genau dieses Prozedere muss ich noch im Detail untersuchen, damit ich die Signalansteuerung verstehe. Bisher ist es mir jedenfalls nicht gelungen, ein einzelnes Signal an einem Decoder auf der Anlage auf "rot" zu schalten. Da muss ich mich selber durchkämpfen, sonst begreife ich das nicht. Wenn es nicht "Klick" machen sollte, melde ich mich zur Schulung bei dir. Es dauert aber noch etwas.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Oski, das ist schon OK so.


    Nur um Missverständnissen vorzubeugen: Du erwähnst die Zustands-Wiederholung 13 x pro Sekunde. Das ist aber eine Angelegenheit zwischen Rautenhaus-Zentrale und Weichen-, bzw. Lichtsignal-Decoder. In der Java-Programmierung (MoBaSteu) musst du das überhaupt nicht berücksichtigen und hast damit absolut nichts zu tun. Wenn du in der Rolle des Java-Programmierers bist, der über das Rautenhaus-Interface Weichen stellen und Signal-Lämpchen leuchten lassen will, solltest du von diesem Wiederhol-Intervall gar nichts wissen. In der Rolle des System-Sachverständigen ist es natürlich von Vorteil, wenn du solche Zusammenhänge kennst und verstehst.

  • Hoi Röbi

    Ja, ich weiss es schon, dass im Javaprogramm nichts von den Aktivitäten der Selectrix-Zentrale und den Decodern gesagt werden kann. Es ist schon spannend, ein von mir verunstaltetes Programm zu untersuchen (nur für mich, nicht für dich). Mittlerweile habe ich die Methode zum Lichtpunkte zu schalten an 3 Stellen im Programm gefunden. An zwei davon ist der Code aus kommentiert, die dritte Stelle wird von nirgends her aufgerufen. Klar kann ich so ein Lichtsignal nicht auf Rot stellen. Aber ich komme der Sache näher.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Vielleicht muss ich noch präzisieren: Ich habe sehr viele Signale, die einmal ihren Dienst leisten sollen. Wenn jede Lampe eine eigene Id haben soll, gibt es 369 Lampen-Id's. Und darum habe ich das funktionierende Programm von Röbi etwas abgeändert. Ich gebe zu, es ist nicht wirklich gelungen. Aber schlussendlich ist das egal. Ich verbrate einfach mehr Zeit, bis es wie gewünscht funktioniert.

    Heute habe ich endlich einmal gelötet. Es waren etwa 10 Anschlüsse. Morgen werden wieder einige Drähte eingezogen. Wenn die Zeit reicht, werden auch die Lötarbeiten erledigt.

    Leider kam ich nicht sehr weit heute. Ein Nachbar läutete an der Haustüre und bot an, mir in meinem fortgeschrittenem Alter die Schneemade vor der Garage wegzuschaufeln. Einerseits hat mich diese nachbarschaftliche Offerte sehr gefreut. Andererseits war die Bemerkung des fortgeschrittenen Alters wie ein Schuss vor den Bug. Ich konnte das nicht einfach so annehmen und habe mich sofort in Arbeitskleidung gestürzt. Gemeinsam haben wir die Garage freigeschaufelt.

    Morgen geht es hoffentlich im Keller weiter.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

    Einmal editiert, zuletzt von egos () aus folgendem Grund: fehlendes Wort eingefügt

  • Heute ging es weiter. Zuerst habe ich den Signal-Code von Röbi ausführlich untersucht. Gesucht habe ich den Grund, warum das Programm bei einer Signaländerung alle andern Signale und deren Stellung kennt. Das ist gleich organisiert, wie bei den Weichen. Ein Zahlenarray enthält von jeder Lampe den Zustand (ON oder OFF). Das habe ich also gefunden, auch wie die Schaltung einer bestimmten Stellung aufgerufen werden muss. Zwei Fehlstellen in meinem Programm habe ich ebenfalls gefunden: 1. Es "ruft" niemand, 2. Der Send-Befehl, der die geänderten Daten zur Selectrix-Zentrale senden sollte, ist auskommentiert. Da glaube ich wohl, konnte ich bisher kein Signal schalten, nicht einmal eine Lampe leuchtet so auf.

    Dann musste auch die Kellerarbeit weiter geführt werden. Heute wurden zwei Weichen angeschlossen.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Langsam aber sicher werden die letzten Strecken mit 6 mm Kork durch solche mit 3 mm ersetzt. Bevor ich alle zu dicken Korkstreifen entsorge, muss im Bahnhof noch eine Lücke geschlossen werden:

    Die Streifen bis zu den Prellböcken wird einmal als Perron gestaltet. Provisorisch ist das mit dem dickeren Kork angedeutet.

    Die Lücke ist geschlossen:

    Der störende Draht wird noch umgelegt.

    Der erste Zug seit langem steht mal da:

    Nun geht es bei den Signalen weiter.

    Zuerst müssen zusätzliche Decoder montiert werden:

           

    Die abgeschirmten Buskabel sind sehr störrisch im Verhalten. Erschwerend kommt hinzu, dass die Stecker gegen Verdrehen durch eine Kerbe geschützt sind. Gleichzeitig sind die Stecker um 90 Grad abgewinkelt. Wegen der Kerbe sind alle Stecker horizontal gerichtet. Jeder Decoder hat zwei Buchsen nahe beieinander. Somit entsteht ein topologisches Problem, das nur mit Schlaufenbildung gelöst werden kann.

    Als Signale verwende ich die Modelle von Mafen 9136.xx. Im Streckenblock haben diese Signale 6 Lichtpunkte und können sowohl Zustände eines Hauptsignales wie auch eines Vorsignales anzeigen.

    Diese Signale haben einen Signalfuss 8 x 4 mm ohne Befestigungsmöglichkeit. Unter dem Fuss ist ein hohler Dorn von 4,5 mm Durchmesser vorhanden. Dieser Dorn steht nach unten 4 mm vor und führt alle Lampenanschlüsse nach unten weg. Nun beginnt bald die Serienproduktion der zusätzlichen Signalfüsse. Die müssen angeschraubt werden können. damit die Signale auf dem Kork überhaupt sicher stehen.

    Von der alten Anlage habe ich noch eine 4 mm PVC-Platte:

    Statt nur im Kehricht zu verbrennen, bastle ich daraus diese Sockel:

          

    Die Sockel sind 25 mm lang und 10 mm breit. Das mittlere Loch ist 4,5 mm im Durchmesser für den Signaldorn. Die beiden andern Löcher sind 3 mm gross mit eine Ansenkung für die Schrauben.

    Als nächste Arbeit steht die Verlängerung der Signaldrähte an. Die sind hauchdünn, sieben an der Zahl für 6 Lichtpunkte. Wegen den notwendigen Schrumpfschläuchen müssen die Signalsockel bereits lose am Signal sein, bevor die Verlängerung beginnen kann.

    Aber dazu eignet sich der spätere Nachmittag nicht mehr.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

    Einmal editiert, zuletzt von egos () aus folgendem Grund: Typo

  • Heute wurde es spannend. Beim Programmstart gab es einen Absturz mit der Fehlermeldung StackOverflowError. Das hatte ich noch nie! Jetzt muss ich herausfinden, warum so etwas entstehen kann. Wenigstens gibt das Programm an, wo die Sache entsteht. Wenn man die Fehlermeldung googelt, gibt es Hinweise auf die mögliche Ursache.

    Ich suche das mal!

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Beim Programmstart gab es einen Absturz mit der Fehlermeldung StackOverflowError.

    Oski, ich vermute mal, du hast (wahrscheinlich ohne es zu beabsichtigen) auf inkorrekte Art rekursiv programmiert. D.h. eine Methode ruft (unter Umständen auf wirren Umwegen) sich selber wieder auf ... und dann wieder und wieder, ... unendlich. Jedesmal werden die Rücksprung-Adresse und die Übergabe-Parameter im Stack gespeichert. Dieser baut sich dann sehr schnell auf, bis er eben überläuft (= Overflow).


    Rekursive Programmierung (korrekt angewendet) ist ein sehr mächtiges, aber nicht triviales Mittel, Algorithmen mit Iterationen zu implementieren. Die Kunst dabei ist, die Rekursion per Programm-Code rechtzeitig abzubrechen. Ich gehe mal davon aus, dass du das nicht wolltest. Also vermutlich hast du eine versehentliche Rekursion produziert.

  • Danke Röbi. Auch im Internet habe ich diesen Hinweis gefunden. Die Stelle im Programm, die den Fehler erzeugt, wird gottlob genau bezeichnet. Das müsste schnell behoben sein.

    Gruss Oski


    Edit: Der Fehler ist behoben. Ich hatte eine Variable mit einem Getter aufrufen wollen. Da sie in einer andern Klasse geschrieben war, musste zuerst die Klasse mit einem Getter aufgerufen werden. Dabei hatte ich die eigene Klasse gerade auch noch aufgerufen. Jetzt klappt es wie gewünscht, die Fehlermeldung kommt nicht mehr. Nochmals besten Dank für den zielsicheren Hinweis.

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

    Einmal editiert, zuletzt von egos () aus folgendem Grund: Fehler erklärt.

  • Heute ist der berühmt berüchtigte Zwanziger gefallen. Jetzt kann ich ein Signal ansteuern und die Lampen entsprechend der gewünschten Stellung ein- oder ausschalten. Das Programm stürzt zwar immer noch ab, aber die Absturzstelle ist planbar geworden. Die Eingabedaten sind noch nicht in Ordnung. Das ist eine Heidenarbeit, aber es lohnt sich. Dann muss das erste Signal auf der Anlage korrekt angeschlossen werden, damit das Programm geprüft werden kann.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Nun sind alle Daten der Signale eingepflegt. Das Programm läuft ohne Absturz. Nun kommt der Test mit dem ersten physischen Signal auf der Anlage. Es ist auch schon aufgestellt, funktionierte aber bisher nicht wegen dem ungenügenden Programm. Ansteuern ging nicht, weil eben der Zwanziger noch klemmte.

    Der nächste Beweis braucht ein Foto. Mal sehen, wann ich dazu komme.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Fast eine Woche war ich nun krank. Heute bin ich wieder in den Keller gestiegen.

    Das Programm läuft ohne Absturz, macht aber nicht, was es soll.

    Hier das Testsignal:

    Es ist ein Signal der Firma MAFEN. Ein einziges Mal nicht aufgepasst, schon war der Signalmast geknickt. Das kriege ich kaum mehr hin.

    Das Ziel wäre es, nach dem Einschalten der Selectrix-Steuerung alle Signale zuerst auf Rot geschaltet zu haben:

    Das Programm meldet, die rote LED sei eingeschaltet. Das sagt es schon beim oberen Bild, bei dem alles dunkel blieb. Das untere Bild entstand nach dem Ausschalten der Steuerung. Also ist es klar, ich verstehe weder den Signaldecoder noch das Signal.

    Die Firma Mafen liefert Signale mit integrierten Vorwiderständen bei einer zugelassenen Versorgungsspannung von 12 bis 16 Volt (AC oder DC). Alle Schaltpläne, die ich bisher sah, zeigen immer einen einzigen Anschluss pro LED. Am Signal hat es aber zwei pro LED.

    EYRO hat mir erklärt, dass die Signale eine gemeinsame Anode haben. Geschaltet wird mit der Masse an den Kontakten des Decoders. Da bin der Meinung, es sei so installiert. Die gemeinsame Anode geht auf einen Anschluss 0 des Decoders, der dies als Rückstrom vom Verbraucher angibt. Der Decoder schaltet den richtigen Anschluss ein, das wird bestätigt.

    Trotzdem klemmt es irgendwo!


    Da muss ich nochmals über die Bücher...

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Schließe doch zum Testen eine einfache LED an den Decoder an (mit Vorwiderstand) und schau, ob das funktioniert. Da kannst du auch mal die Polung vertauschen. Sollte was in Rauch aufgehen, ist der Schaden nicht so groß.

    Parallel dazu würde ich auch mal das Signal einfach am Trafo anschließen um zu sehen, ob und wie es funktioniert.


    Gruß

    Robert

  • Hallo Robert

    Danke für die Ratschläge. Das Signal funktioniert an einem Märklin Trafo einwandfrei. Jede LED bringe ich so zum Leuchten.

    Aber aus dem Arduino-Set wären noch einzelne LED vorhanden, die man so testen könnte. Der notwendige Vorwiderstand ist im Set auch vorhanden. Dann wüsste ich, ob der Decoder umschaltet auf einer gewählten Adresse.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!