Anlage von egos

  • Hoi Oski

    Das ist klar sie hat ganz einfach noch den Befehl zu fahren. Mach s wieder wie letztes mal besprochen. Vorderteil auf Programmiergleis Hinterteil auf Gummi.

    Lokprogramer einschalten, Lok mit Adr. ansprechen, und stoppen.

    En Gruess Kurt

  • Hoi Kurt

    Danke für den Rat. Ich bin manchmal etwas langsam. Zudem ist die Anlage im Keller, das Programmiergleis ist im Büro. Aber das soll mich nicht hindern.

    Gruss Oski

    signatur_egos.jpg

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

  • Hoi Oski

    Die neuen Decoder vergessen einen Befehl eigentlich nicht mehr wenn die Spannung unterbrochen wird, das waren die alten billigen. Wenn Du die Lok einfach vom Gleis nimmst ist der Befehl fahren noch gespeichert. Du solltest versuchen den Stopp Befehl noch zu geben bevor die Spannung unterbrochen wird. Dein Decoder hat keine Dip Schalter. Bei meinem Programm wird wenn ein Unterbruch der Spannung kommt an alle Lok den Befehl Halt gesendet. Wirksam wird das aber erst beim wieder einschalten. Die Loks machen also noch einen kleinen Ruck und halten dann an.

    Versuch doch mal deinem Programm beizubringen auch ein Halte Befehl auszuführen.

    Viel Geduld und Erfolg!

    Kurt

  • Oski, ich würde bei deinem MoBaSteu-Programm unmittelbar nach dem Initialisieren des SerialCommSelectrix (nach turnSelectrixOn und turnRautenhausFormatOn) an jede Lok die Fahrstufe 0 senden. Dann macht eine Lok, die noch einen Fahrbefehl hat im schlimmsten Fall eine schwache Zuckung und steht dann still.

  • Für den aktuellen Fall würde ich den Strom über Nothalt unterbrechen, die Nummer der Lok aufrufen und Fahrstufe Null eingeben, dann Lok aufgleisen und die Stromversorgung wieder einschalten. Als Märklinist hebe ich, sofern es eine Lok mit Drehgestellen ist, das Motordrehgestell leicht an, dass es nicht auf den Schienen steht, dann kann nichts mehr schiefgehen.


    Gruß

    Robert

  • Bei meinem Programm wird wenn ein Unterbruch der Spannung kommt an alle Lok den Befehl Halt gesendet.

    Hoi Kurt

    Danke für den Tipp. Ich kann noch nicht lange mit dem PC fahren, kann aber das Selectrix ausschalten. Dann hält die Lok jedenfalls an. Beim Wiedereinschalten muss ich den send-Befehl offensichtlich auch einfügen.


    bei deinem MoBaSteu-Programm unmittelbar nach dem Initialisieren des SerialCommSelectrix (nach turnSelectrixOn und turnRautenhausFormatOn) an jede Lok die Fahrstufe 0 senden.

    Hoi Röbi

    Danke auch dir für den Tipp. Beim Initialisieren braucht es den Send-Befehl für den allgemeinen Fahrbetrieb, falls nach einem Nothalt die Anlage wieder eingeschaltet wird. Beim Kalibrieren braucht es zusätzlich diesen Befehl auch. Weiter kann ich auf dem Display Selectrix zusätzlich ein- und ausschalten. Da muss der send-Befehl auch noch hin.

    Für den aktuellen Fall würde ich den Strom über Nothalt unterbrechen

    Hoi Robert

    Danke auch dir für den Rat. Die Sache mit dem Nothalt ist erst in Entwicklung. Festgestellt habe ich, dass der Fahrbetrieb unterbrochen wird, sobald Selectrix ausgeschaltet wird. Mindestens halten die Loks an. Weichen können aber immer noch geschaltet werden. Offensichtlich kann ich den Bus 0 (Lokdecoder) abschalten und der Bus 1 (schalten) funktioniert immer noch.


    Es ist sehr spannend, was die Decoder alles können. Aber manchmal machen sie halt nicht das, was ich gerade erwarte. Ich arbeite dran...


    Nochmals herzlichen Dank an alle drei Ratgeber!

    Gruss Oski

    signatur_egos.jpg

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

  • Heute habe ich das Programm untersucht. Direkt nach dem Initialisieren der Klasse SerialCommSelectrix kann ich keine Engines ansprechen, da diese dann noch gar nicht existieren. Nun habe ich die Initialisierung der Engines im Ablauf verschoben. Dann kann ich den Vector AvailableEngines bereits einlesen und in einem For Loop den Send-Befehl durchexerzieren. Die zwei andern Ereignisse, in denen der Send-Befehl allenfalls auch noch nötig ist, lasse ich mal aussen vor. Die Testläufe waren ohne NullpointerException und auch ohne Abstürze. Das klappt mal. Morgen teste ich das im Keller.

    Gruss Oski

    signatur_egos.jpg

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

  • Nun war das Experiment im Keller an der Reihe. Beim Start des Hauptprogrammes werden die Loks eingerichtet. Sobald die Kommunikation mit Selectrix erfolgreich quittiert, werden alle dem Programm bekannten Loks mit einem send-Befehl beliefert, der die Geschwindigkeit auf null setzt. Das funktioniert im Programm, aber die Lok Nr. 3 fährt sofort los mit der früher gewählten Geschwindigkeit. Stoppen kann ich nur, wenn Selectrix ausgeschaltet wird. Schalte ich dieses wieder ein, saust die Lok weiter. Die Programmänderung war also für diesen Fall wirkungslos. Allerdings war das vor der Änderung auch so. Die Lok hätte beim Einschalten sofort fahren sollen. Das tat sie aber nicht. Vielleicht wird das Zusammenspiel zwischen Rautenhaus-Zentrale und Decoder nur unterbrochen, wenn die Anlage spannungsfrei gemacht wird. Ich suche mal in den Betriebsanleitungen.

    Gruss Oski


    Die LokPilot V4 und neuer kennen den letzten Fahrbefehl gemäss ESU Anleitung Kap. 5.2.6. Das ist nun klar. Einmal hob ich die Lok in der Fahrstufe 5 vom Gleis, dann fuhr sie beim Einschalten ebenfalls nur langsam los. Warum dieser gespeicherte Befehl nicht geändert werden kann, ist mir nun unklar. Irgendwie erreicht das Selectrix den Decoder nicht. Ich suche weiter.


    Mittlerweile habe ich im Gespräch mit Röbi die Sache eingegrenzt. Mit dem Handregler funktionieren alle Loks. Mit meinem Programm kann ich nur starten, aber nicht mehr anhalten. Also ist ein Bock in meinem Programm vorhanden. Zudem ist festzustellen, dass alle Schaltfunktionen in Ordnung sind. Es ist also nicht die Zentrale. Mein Programm leitet die Steuerbefehle nicht zum Decoder. Da muss ich suchen...

    signatur_egos.jpg

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

    2 Mal editiert, zuletzt von egos ()

  • Nach einer weiteren halben Woche suchen habe ich den Handregler von der Anlage entfernt. Wie durch ein Wunder ist die Lok beim Einschalten stehen geblieben. Nun glaubte ich also, "den Bock" gefunden zu haben. Nach dem Einschalten der Kalibrierung und dem Start der Messung schnurrte die Lok los. Eingestellt war die Fahrstufe 20, gefahren ist sie mit der Fahrstufe 31. Diesen Widerspruch habe ich gefunden: leider war bei der Aufwärmfunktion die Fahrstufe "hard codiert". Aber anhalten konnte ich sie wiederum nicht mehr. Es hilft nichts, ich muss zurück auf Feld 1 oder 2, wie man so schön sagt. Damit der Abend trotzdem heiter wird, holte ich eine Bassgeige aus der Besenkammer. Morgen wird es wieder Tag!

    Gruss Oski

    signatur_egos.jpg

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

  • Bald ist Wochenende. Erste Erfolge stellen sich ein, jetzt kann ich zwar anhalten, aber ich weiss noch nicht, warum es jetzt funktioniert. Es ist reproduzierbar, verlangt aber immer einen Unterbruch im Selectrix. Ich wollte ja zurück auf Feld 1 und bin wahrscheinlich erst bei Feld 3 angelangt. Einige unkontrollierte Abstürze werden gratis mitgeliefert. Da habe ich die Stelle im Programm wenigstens gefunden. Als wesentlichste Verbesserung hat sich das Ausschalten aller Wait() und Thread.sleep() Befehle ergeben. Dann habe ich noch versucht, die Eingabemaske für die Eichung modal zu schalten. Das war aber ein grober Missgriff und darum ist das wieder gelöscht. Weiter glaubte ich, eine logische Ablaufsteuerung mit enable-Eigenschaften der diversen Button machen zu können oder müssen. Das ist bei objektorientierter Programmierung offensichtlich nicht schlau oder mindestens nicht einfach zu lösen.

    Es geht wenigstens vorwärts!

    Gruss Oski

    signatur_egos.jpg

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

  • Lieber Oski,

    mit großem Interesse und ebensolcher Anteilnahme verfolge ich Dein Wirken in Sachen Moba-Steuerung. Ich weiss nicht, ob es hilft (solange nicht alle Programmfehler ausgemerzt sind): den Boden unter Deiner tollen Anlage weich auspolstern. Dann scheppert es zwar bei Abstürzen nicht mehr so laut, spart aber mächtig Entnahmen aus der Moba-Kriegskasse (im Fällen von Neukauf) und/oder manches verbogene oder abgebrochene Teil.

    Liebe Grüße in die Besenkammer (leider derzeit ohne Bassgeige)! ;) :) :)

    Gruss Günther

  • Lieber Günther

    Es tönt schlimmer, als es tatsächlich ist. Java ist nicht wirklich meine Welt, meine Erfahrung im Programmieren beschränkt sich auf Basic, Visual Basic, etwas Assembler und Fortran 2 sowie Fortran 77. Alle meine bekannten Programmiersprachen betreffen "Ablaufprogramme", also solche, die einen Einstiegspunkt und einen Endpunkt haben. Was ich jetzt beherrschen müsste, wäre eben objektorientiert. Das Programm "weiss" nicht, wo der User als Nächstes klickt und muss trotzdem fehlerfrei reagieren. Viele der angebotenen Methoden setzen voraus, dass man die Abläufe kennt. Weil das bei mir nur beschränkt vorhanden ist, werde ich immer wieder etwas überrascht, wie das Programm reagiert oder eben auch nicht.

    Aber vielen Dank für die Anteilnahme!

    Herzliche Grüsse

    Oski

    signatur_egos.jpg

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

  • Heute konnte ich wieder einmal im Keller eine neue Variante testen. Es gibt nun keine Fehlermeldungen mehr. Man könnte jetzt meinen, endlich hätte ich es im Griff, aber es immer noch umgekehrt. Starten kann ich mit dem Programm auf einer beliebigen Fahrstufe. Nachher kann ich weder die Fahrstufe ändern noch die Richtung wechseln, auch anhalten geht nicht mehr. Die Lok stoppt nur, wenn ich das Selectrix ausschalte. Beim Wiedereinschalten sind alle vorherigen Einstellungen noch bekannt und die Lok düst los. Die Einstellungen gehen nur dann vergessen, wenn auch die Stromversorgung der Zentrale ausgeschaltet wird. Es muss ein kleiner, gemeiner und saudummer Fehler vorhanden sein.

    Gruss Oski

    signatur_egos.jpg

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

  • Nachdem ich letzte Woche einen Erholungsurlaub in Interlaken verbrachte, ging es heute ausgeruht und munter weiter. Wenigstens einen kleinen Schritt. Die Re 6/6 Aarberg musste nochmals auf das Programmiergleis. Alle CV habe ich nochmals überprüft. Ganz am Schluss der Sonderoptionen war eine Speicherfunktion aktiviert, die dem Decoder erlaubte, die letzten Einstellungen beizubehalten. Nun habe ich diese beiden Haken gelöscht und die ganze Sache in die Lok (den Decoder) zurück gespeichert. Es hat sich damit etwas im Verhalten geändert. Ich kann auf der Anlage jede Fahrstufe einstellen, die Fahrrichtung wählen, kann Anhalten, wieder starten und sogar wenden, sofern die Lok während der Änderung steht. Allerdings funktionieren alle aufgezählten Aktivitäten nur dann, wenn ich zusätzlich den Bus 0 in Selectrix ausschalte, dann das Gewünschte wähle und wieder das Selectrix einschalte. Dabei wird manchmal auch der Bus 1 korrumpiert und ändert dann die Belegtanzeigen nicht mehr. Arduino arbeitet aber korrekt und über mittelt seine Werte sauber zum Javaprogramm. Die Werte sind nur etwa zwanzig Prozent neben der realen Geschwindigkeit.

    Es bleibt also weiterhin spannend!

    Gruss Oski

    signatur_egos.jpg

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

  • Arduino arbeitet aber korrekt und über mittelt seine Werte sauber zum Javaprogramm. Die Werte sind nur etwa zwanzig Prozent neben der realen Geschwindigkeit.

    Oski, das ist aber sehr komisch. Das Arduino Speed-o-Meter erreicht - wenn alles sauber eingestellt ist - eine Genauigkeit von 1% oder besser.

  • Hoi Röbi

    Du hast sicher recht, es muss ein Fehler vorhanden sein. Ich habe ja dein ausführlich illustriertes Programm selber auf vier Lichtschranken erweitert. Da könnte ein Problem "eingebaut" worden sein, das ich noch suchen muss. Allerdings muss ich vorher kontrolliert fahren können. Zuerst versuche ich darum das Hauptproblem zu lösen.

    Gruss Oski

    signatur_egos.jpg

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

  • Nun habe ich die Lok nochmals aufs Programmiergleis gestellt. In den Sondereinstellungen habe ich das DCC-Protokoll ausgeschaltet. Nun kann der Lokprogrammer die Lok nicht mehr ansteuern. Sind dagegen DCC und Selectrix angewählt, kann die Lok im Führerstands Modus betrieben werden. Damit ist klar, der Lokprogrammer sendet seine Datenpakete als DCC und dieses Protokoll muss eingeschaltet sein.

    Nun steht aber in der Betriebsanleitung der LokPilot V4 Decoder folgendes:


    ".... Sobald der Decoder mit Motorola® oder DCC adressiert wird (also ein für Ihn bestimmtes Paket erhält), schaltet sich der Selectrix®-Empfänger automatisch ab. Dadurch ist ein problemloser Mischbetrieb Selectrix® / DCC / Motorola® gewährleistet. Der Selectrix®-Empfänger schaltet sich wieder ein, sobald der Decoder kurzzeitig stromlos gemacht wurde."


    Genau das erlebe ich zurzeit. Die Befehle aus dem Programm erreichen den Decoder nicht. Wenn ich aber Selectrix ausschalte, jetzt die Befehle sende und anschliessend Selectrix wieder einschalte, werden die Befehle korrekt ausgeführt.

    Das scheint etwas verhext zu sein. Das Programm verarbeitet die Informationen so, dass sie direkt als Selectrix-Befehle einfliessen können. DCC-Befehle kann ich auf der Anlage gar nicht erzeugen, darum sollte der in der BA beschriebene Effekt nicht eintreten.

    Gruss Oski

    signatur_egos.jpg

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

  • ".... Sobald der Decoder mit Motorola® oder DCC adressiert wird (also ein für Ihn bestimmtes Paket erhält), schaltet sich der Selectrix®-Empfänger automatisch ab. Dadurch ist ein problemloser Mischbetrieb Selectrix® / DCC / Motorola® gewährleistet. Der Selectrix®-Empfänger schaltet sich wieder ein, sobald der Decoder kurzzeitig stromlos gemacht wurde."

    Ich habe bei mir auch merkwürdige Verhalten von Decodern, allerdings sind nur die Lokpilot v5 davon betroffen. Wenn so eine Lok fährt und gleichzieitig eine andere Lok zum ersten mal angewählt wird, bleibt die v5 Lok kurz stehen. Wenn ich im v5 Decoder alle Protokolle ausser DCC auschalte, passiert das nicht. Bei älteren Lokpiloten hab ich dieses Verhalten nicht.

  • Das was Oski so erlebt und beschreibt hat mit meinem Modelleisenbahn-Hobby rein gar nichts mehr zu tun. Probleme mit Computern kann ich gratis und franco bei der Arbeit haben :D

    Aber es zeigt natürlich ebenfalls auf, wie facettenreich unser Hobby ist. Gut so.

    Gruss Roger


    95 von 121 grünen Ae 6/6


    Die Katze schläft im Lärm; nur die Stille weckt sie, wenn die Mäuse rascheln.

  • Tja - und dann gibt es noch Leute (wie z.B. mich) die gehen, wenn sie Lust haben, eine Etage tiefer zur nicht allzu großen Modellbahn, schalten den Strom ein und drehen den Regler am Trafo auf. Die Anlage läuft per Schaltgleise "automatisch" und wenn mal "spielen" angesagt ist und der Zug von der Hauptstrecke abbiegen soll, drücken sie am Schaltpult einen oder mehrere Knöpfe und im Normalfall funktioniert das auch. Mal einen anderen Zug aus dem Abstellbahnhof holen, im Güterbahnhof lädt der elektrische Kran ab, Wagen werden rangiert. Und wenn es langweilig wird oder die Ehefrau ruft, wird angehalten, auf den Strecken aufgeräumt und der Strom abgeschalten. So schön einfach kann Modellbahn sein. Spielerische Steinzeit zwar, aber solange es noch Spaß macht . . . ;) :)

    Gruss Günther