bigrala Geschrieben 11. Februar 2024 Geschrieben 11. Februar 2024 Hallo zusammen, ich bin gerade mal dabei einen kleinen Betriebshof als Modul aufzubauen. Darin enthalten ist u.a. eine Drehscheibe und eine Bekohlungsanlage. VorwĂ€rts Einfahrt auf Drehscheibe und rĂŒckwĂ€rts Parken in Ringschuppen lĂ€uft gut. - In den Schuppen habe ich ein Sperrsignal verwendet, beim verlassen in Richtung -1 wird die Fahrtrichtung umgekehrt und die Lok hĂ€lt am Signal und schaltet den Antrieb aus. wenn ich eine Lok haben wilk, brauche ich somit nur das Signal auf Fahrt setzen. Jetzt stehe ich jedoch vor zwei kleineren Problemen...... 1) Die Gleise in den Schuppen haben den Namen RS GL 0 - RS GL 14 und RS GL 43, 45. Die Signale haben den Namen RS Sig 0 - 14 und RS Sig 43, 45. Die Loks haben ein Schlagwort Diesel oder Dampf. Im Moment habe ich zum Abrufen zwei Taster (Taster Diesel oder Taster Dampf). Wenn ich einen (z.B. Taster Diesel) auslöse, solll geschaut werden auf welchem Gleis eine Lok mit Schlagwort Diesel steht und das entsprechende Signal auf fahrt gesetzt werden. (NatĂŒrlich wird zuvor auch die im Signal hinterlegte Variable (Zahl) fĂŒr die Weichenstellung der Drehscheibe abgerufen und die Drehscheibe entsprechend positioniert - das ist jedoch kein Problem). Ich wollte jetzt per Bedingung abfregen ob auf GL 0 - GL 14 eine Lok mit dem Schlagwort Diesel steht und dann das Signal auf Fahrt schalten. Am besten dĂŒrfte das vermutlich mit einer Liste der Gleise zu lösen sein - oder ? Habe mal in den Variablen eine Liste mit den entsprechenden Gleisen als Objekte angelegt. Das Signal wollte ich dann als Objekt im Gleis hinterlegen. Also die Gleise der Liste der Reihe nach abfragen und bei einem Treffer das Signal im Gleis auf Fahrt schalten - Gedanklich recht einfach ...... aber wie setzte ich das in der EV um, dass die Liste abgefragt und dann das entsprechende Signal umgeschaltet wird. Allerdings komme ich da nicht weiter und brĂ€uchte da mal eure Hilfe. Also ich löse das Tasterereignis aus und ........... 2) Wie stoppt man eine Dampflok so, dass der Kohle-Tender/BehĂ€lter unter der BefĂŒllung zum stehen kommt ? Mit einem Geschwindigkeit = 0 beim betreten (Fahrzeuganfang oder Fahrzeugmitte) eines Kontaktes ist das nicht wirklich möglich, da die Loks unterschiedliche LĂ€ngen haben. Danke euch schon mal GruĂ Ralf
Goetz Geschrieben 11. Februar 2024 Geschrieben 11. Februar 2024 Am 11.2.2024 um 12:05 schrieb bigrala: Mit einem Geschwindigkeit = 0 beim betreten (Fahrzeuganfang oder Fahrzeugmitte) eines Kontaktes ist das nicht wirklich möglich, da die Loks unterschiedliche LĂ€ngen haben. Erweitern Aber mit Geschwindigkeit = 0 bei Verlassen des Kontakts hast du vielleicht mehr GlĂŒck.
bigrala Geschrieben 11. Februar 2024 Autor Geschrieben 11. Februar 2024 (bearbeitet) Ist eine Idee, probiere ich gleich mal aus Ja super klappt- Danke Was sagst Du zu meinem Problem 1 - hast Du da auch einen Hinweis wie das mit Liste etc klappen wĂŒrde ? Bearbeitet 11. Februar 2024 von bigrala
prinz Geschrieben 11. Februar 2024 Geschrieben 11. Februar 2024 Hallo bigrala, Hier ein Lösungsvorschlag zu 1. : Meine Annahme (und Voraussetzung) fĂŒr das folgende (muss an Deine Gegebenheiten angepasst werden): - Die Gleisliste ist im Objekt "Drehscheibe" angelegt. - Bei Einfahrt auf ein Ringlokgleis wird die Lok als Variable "Triebfahrzeug" beim Gleis gespeichert - Das zum Ringlokgleis gehörende Signal ist als Variable "Signal" beim Gleis gespeichert - Die Weichenstellung fĂŒr die Drehscheibe ist als Variable "Gleisnummer" beim Gleis gespeichert. Wenn der Taster betĂ€tigt wird ... - wird fĂŒr die Drehscheibe die Variable "gefunden" auf ein leeres Objekt gesetzt - Dann werden alle EintrĂ€ge der Gleisliste durchgegangen - - Sofern die Variable "gefunden" noch ein leeres Objekt beinhaltet - - - Steht ein Fahrzeug auf dem aktuellen Gleis (Variable "Triebfahrzeug" kein leeres Objekt - - - - Hat dieses Fahrzeug eine Variable "Diesel" - - - - - Fahrzeug bei der Drehscheibe unter "gefunden" eintragen - Ist die Variable "gefunden" kein leeres Objekt, sondern beinhaltet ein Gleis - - Drehscheibe drehen auf Variable "Gleisnummer" des Gleises - - Verzögerung fĂŒr das Drehen der Drehscheibe - - Das Signal (Variable "Signal" des Gleises) auf Fahrt schalten. Viele GrĂŒĂe, Wolfgang
bigrala Geschrieben 11. Februar 2024 Autor Geschrieben 11. Februar 2024 Vielen Dank Wolfgang, hast Du toll erklÀrt das sogar ich es verstehe. Probiere ich mal aus. Gruà Ralf
bigrala Geschrieben 11. Februar 2024 Autor Geschrieben 11. Februar 2024 Hallo Prinz, irgendwas scheint da faul zu sein oder ich habe einen Fehler gemacht. Bin das mehrmals durchgegangen und finde keinen Eintragungsfehler. Im Anhang mal die jeweiligen EintrĂ€ge fĂŒr Gleise, Drehscheibe und Taster. Beim Screenshot Taster siehst Du auch die Protokollierung. Bleibt direkt beim setzen der ersten Variable stehen. GruĂ Ralf
prinz Geschrieben 11. Februar 2024 Geschrieben 11. Februar 2024 Hat die Lok BR 78 012 auf dem Gleis RS GL 8 das Schlagwort âDieselâ oder auf einem anderen Gleis im RS?
bigrala Geschrieben 12. Februar 2024 Autor Geschrieben 12. Februar 2024 Auf Gleis 0 steht eine DR-102.1 - Gartenlaube mit dem Schlagwort "Diesel", auf RS GL 2, 8, 43 und 45 stehen Loks mit Schlagwort "Dampf".
prinz Geschrieben 12. Februar 2024 Geschrieben 12. Februar 2024 So sieht alles richtig aus. Ich habe das Szenario gerade nochmal aufgebaut und mit deiner EV getestet. Leider kein Problem aufgetreten. In solchen FĂ€llen kannst Du nur folgendes machen (auĂer einen Export der Anlage hier zu posten): FĂŒge in das Skript an relevanten Stellen jeweils ein Skript mit einem print-Statement ein, z.B. Nach "FĂŒr alle Elemente" print(Wdh.name) Nach ..RS Gleis gefunden = [Leer] print("- noch nicht gefunden" Nach ...Lok Name nicht [Leer] print("- - ", Wdh.variables["Lok Name"].name) Nach Eigenschaft/Variable existiert print("- - - Lok gefunden") Dann mĂŒsstes Du eigentlich erkennen, wo etwas hakt. P.S. Hast Du evtl. zwei Objekte auf der Anlage, die beide "Drehscheibe" heiĂen und irgendwo das falsche ausgewĂ€hlt? Probier das mal oder poste Deine Anlage hier und ich schaue mir die mal an.
bigrala Geschrieben 12. Februar 2024 Autor Geschrieben 12. Februar 2024 Hallo Wolfgang, ich habe es gefunden ...... waren zwei kleine Fehler bei mir..... 1 das Schlagwort in den Loks heist bei mir nicht "Diesel" sondern "Lok Diesel" 2 bei Weiche schalten, ist der Name der Weichenstellung nicht "RS Gleise" sondern "Drehscheibe Pos" Dann fehlte bei Signal einstellen auch noch der Signalname "RS Signal" Super, jetzt lĂ€uft es. Danke Dir vielmals. GruĂ Ralf Zu ErklĂ€rung der Benennung meiner Variable etc., bei allem was mit dem Ringschuppen und Drehscheibe zu tun hat, habe ich ein "RS" und bei allem in Bezug auf die normalen Lokschuppen habe ich ein "LS" vorangestellt. Ich habe mir gedacht, dass es vielleicht ĂŒbersichtlicher und sicherer ist, wenn ich das BBW zum Beispiel als Modul in eine andere Anlage einfĂŒgen möchte. So sieht mein Modul im Moment aus......
prinz Geschrieben 12. Februar 2024 Geschrieben 12. Februar 2024 Ja super. Die Aktionen am Ende (Weiche stellen, Signal schalten) habe ich nicht mehr richtig gelesen, da ja schon vorher beim PrĂŒfen der Gleise nichts gefunden wurde. Klasse und viel SpaĂ GrĂŒĂe, Wolfgang
bigrala Geschrieben 13. Februar 2024 Autor Geschrieben 13. Februar 2024 Eine Drehscheibe arbeitet zwar wie Weichen, aber in eine Fahrstrasse lĂ€Ăt sie sich nicht einbinden - oder ? Ich habe mal versuchsweise probiert eine FS einzurichten, von einem Signal - ĂŒber die Drehscheibe zu einem anderen Signal. Bekomme dann die Meldung "keine gĂŒltige Route". Ist auch in sofern nachvollziehbar, da im Moment ja das BrĂŒckenglies weggedreht ist und somit keine Verbindung zwischen den anschluĂgleisen besteht. Gibt es da einen Trick oder muss man sich da was mit Variablen (DS frei/besetzt) einfallen lassen. Habe das Problem, dass wenn z.B. eine Lok gerade bei der Ausfahrt Ringschuppen-Drehscheibe-Ausfahrtsgleis ist und eine andere das Einfahrsignal betritt, dann gibts ein wildes Durcheinander mit Drehungen der Drehscheibe. MĂŒsste ich die Routen per Variable blocken und freigeben ? V8 - Modul Drehscheibe.mbpFetching info...
prinz Geschrieben 13. Februar 2024 Geschrieben 13. Februar 2024 Die einfachste Möglichkeit wĂ€re, bei der Drehscheibe eine Variable "belegt" mit Wahr/Falsch-Wert einzurichten. Bei Tastern und Signalen muss dann berĂŒcksichtigt werden, das nur Aktionen erfolgen, wenn diese Variable auf Falsch steht. Bei Start einer Aktion wird diese Variable sofort auf Wahr gesetzt und bei Beendigung wieder auf Falsch. Hierzu wĂ€r notwendig, beim Setzen der Variable auf Wahr die Anforderungsschalter auf "unsichtbar" zu setzen und bei Falsch wieder "sichtbar". Weiterhin wĂ€re notwendig, die Sperrsignale an der Einfahrt nicht einfach zu passieren, sondern bei Stellung Sh0 die Lok anzuhalten. Wird das Signal auf Sh1 geschaltet und die belegt-Variable steht auf Wahr, so wird das Signal wieder auf Sh0 zurĂŒckgesetzt, ansonsten wird die belegt-Variable auf "Wahr" gesetzt und die Lok am Signal gestartet. Alternativ wĂ€re eine Warteliste fĂŒr die Drehscheibe denkbar, die aber etwas aufwĂ€ndiger einzurichten ist. Viele GrĂŒĂe, Wolfgang
EASY Geschrieben 13. Februar 2024 Geschrieben 13. Februar 2024 (bearbeitet) Hallo, Am 13.2.2024 um 15:32 schrieb bigrala: Eine Drehscheibe arbeitet zwar wie Weichen, aber in eine Fahrstrasse lĂ€Ăt sie sich nicht einbinden - oder ? Erweitern das geht schon, du muĂt nur die Drehscheibe vor dem Einrichten der FahrstraĂe auf die jeweils gĂŒltige Stellung setzen. (Achtung beim Gleiskontakt auf der Drehscheibe: auf aktivierte Pfeilrichtung des Gleiskontaktes achten. FahrstraĂen sind richtungsbezogen.) GruĂ EASY Bearbeitet 13. Februar 2024 von EASY
prinz Geschrieben 14. Februar 2024 Geschrieben 14. Februar 2024 Hallo bigrala, ich habe mir Dein BW nochmal vorgenommen, um Deine Anforderung bzgl. der Absicherung gegen Mehrfachanforderung der Drehscheibe anzugehen. Dabei sind einige Ănderungen notwendig geworden (keine Kritik, nur VorschlĂ€ge): Vorab: In deiner Liste RS Gleise der Drehscheibe war bei Gleis45 das Signal statt des Gleises eingetragen und bei den Gleisen 43+45 war die Variable "Lok Name" leer. Das habe ich geĂ€ndert. Weiterhin sind die beiden Loks (+Tender) auf den Gleisen 43+45 so lang, dass sie nicht den Haltekontakt auf der Drehscheibe erreichen. Sie stoppen mit einigem Abstand zum Gleisende, da auf der Gegenseite keine Gleise angeschlossen sind. Deshalb habe ich das ĂŒberarbeitet. AuĂerdem wird jetzt zufĂ€llig eine Diesel- bzw. Dampflok ausgewĂ€hlt, statt der ersten gefundenen. Das Signal am Ausfahrgleis habe ich entfernt, da es (theoretisch) nicht benötigt wird und auĂerdem die falschen Variablen hatte. Wie ich vorgeschlagen hatte, hat die Drehscheibe Gleis jetzt eine Variable "belegt". Sobald ĂŒber einen Taster oder ein Anforderungssignal eine Lok gestartet werden soll, wird diese Variable auf True gesetzt. Damit werden die beiden Anforderungstaster unsichtbar und die beiden Signale können nicht mehr auf Fahrt geschaltet werden. VerlĂ€sst eine Lok die Drehscheibe werden die Taster wieder eingeblendet und die Signale können wieder geschaltet werden. Damit bei der Einfahrt die Lok nicht unnötig hĂ€lt, obwohl die Drehscheibe frei ist, sind vor den Signalen Gleiskontakte, die die Lok beim Signal anmelden und diese auf Fahrt schalten, wenn die Drehscheibe frei ist. Falls nicht, bleibt das Signal auf Halt und muss dann spĂ€ter manuell auf Fahrt geschaltet werden. Damit auch die langen Loks bedient werden können, habe ich das ĂŒberarbeitet: Wird der Haltekontakt in der Mitte erreicht, erhĂ€lt die Lok ein Schlagwort "Lok auf Drehscheibe". Erreicht die Lok mit ihrer Mitte den Haltekontakt, so wird sie gestoppt. Stoppt eine Lok mit diesem Schlagwort (wegen Haltekontakt oder Gleisende), wird die Verarbeitung wie vorher bei Haltekontakt Mitte erreicht. VerlĂ€sst eine Lok das "Drehscheibe Gleis", so wird sicherheitshalber nochmal das Schlagwort "Lok auf Drehscheibe" gelöscht und die "belegt"-Variable wieder auf False gesetzt. Ich habe die geĂ€nderten Ereignisse im Namen mit ...(mod) und die neuen mit ...(neu) gekennzeichnet und mit einem Kommentar versehen. Ach ja: Da ich berufsbedingt (frĂŒher mal) immer noch ein Gegner von doppeltem Code bin, habe ich die Suche einer Dampf- und einer Diesellok zusammengefasst in einem Benutzerdefiniertem Ereignis, das von den beiden Tasten-Ereignissen mit den Parametern Drehscheibe und Schlagwort aufgerufen wird. So war auch die Umstellung beider Tastenevents auf eine zufĂ€llig gewĂ€hlte Lok nur einmal durchzufĂŒhren. Hier als Vorschlag die geĂ€nderte Anlage: V8 - Modul Drehscheibe 2.mbpFetching info... Viele GrĂŒĂe, Wolfgang
prinz Geschrieben 17. Februar 2024 Geschrieben 17. Februar 2024 Hallo bigrala, In einem anderen Thread (von EASY zu Lua in Tutorials) kam das Thema zum Anhalten der langen Loks (ursprĂŒnglich Gleis 43+45) nochmal zur Sprache. Darin gab Roter Brummer einen Tip mit der automatischen Verzögerung, die dafĂŒr sorgt, dass die Lok zu frĂŒh stehen bleibt. Damit lĂ€sst sich das Problem einfach lösen: Die Zeilen zum Setzen/Löschen des Schlagwortes "Lok auf Drehscheibe" können gelöscht werden. Beim Betreten des GK DS: Eigenschaft automatische Verzögerung der Lok auf False setzen Beim Verlassen des GK DS: Eigenschaft automatische Verzögerung der Lok wieder auf True setzen Gleiskontakt GK DS mit Fahrzeugmitte betreten: Wie ursprĂŒnglich. Du kannst das Ereignis "Lok auf Drehscheibe hĂ€lt" Ă€ndern in Gleiskontakt GK DS mit Fahrzeugmitte betreten, musst nur als erste MaĂnahme die Geschwindigkeit der Lok auf 0 setzen, gefolgt von einem Delay von 1 Sekunde. Damit halten auch die beiden langen Loks mittig auf der Drehscheibe. Viele GrĂŒĂe, Wolfgang
bigrala Geschrieben 19. Februar 2024 Autor Geschrieben 19. Februar 2024 Hallo Prinz, Ich war jetzt einige Tage nicht hier online (beruflich auswĂ€rts). Kein Thema, nehme auch sehr gerne Kritik an - kann man nur von lernen Da hast Du Dir ja mĂ€chtig Arbeit gemacht. Werde ich mit heute Abend mal eingehend zu GemĂŒte fĂŒhren. Die Idee mit "DS belegt/frei" hatte ich auch schon und nach meinem Posting auch schon in Angriff genommen. Mein Gedanke war also gar nicht falsch ;-) Die langen Loks auf 43/45 hatte ich erstmal als FĂŒller hingestellt, aber noch nicht mit einbezogen. Aber Danke fĂŒr die Lösungen. Doppelte Codes mag ich auch nicht, erstelle normalerweise erstmal alles soweit das es lauffĂ€hig ist und fasse dann zusammen. Nochmals vielen Dank Viele GrĂŒĂe Ralf Ein Gedanke; So Dinge wie Drehscheiben, BahnĂŒbergĂ€nge, einfache Bahnhöfe oder auch Lösungen zu StraĂenverkehr etc. könnte man ja allgemeingĂŒltig erstellen und im Katralog als Modul zum Einbau in eigene Anlagen stellen. Neulinge könnten sie dann einfach einbauen und lernen, wenn Sie sich die EV zu GemĂŒte fĂŒhren.
bigrala Geschrieben 19. Februar 2024 Autor Geschrieben 19. Februar 2024 Hallo Easy, Danke fĂŒr Deinen Tipp, aber FahrstraĂen dĂŒrfeten generell doch nicht DIE Lösung fĂŒr den Drehscheibenbetrieb sein. GruĂ Ralf
bigrala Geschrieben 19. Februar 2024 Autor Geschrieben 19. Februar 2024 (bearbeitet) Hallo Wolfgang, habe mir das mal alles angesehen und werde es gemÀà Deinem letzten Post abĂ€ndern. ZusĂ€tzlich werde ich beim verlassen des DS Gleises abfragen ob an einem der Einfahrsignale eine Lok steht und wartet ... dann Drehscheibe einstellen und das entsprechene Signal auf Fahrt stellen. Habe beim Testen gesehen, dass eine Lok den GK ĂŒberfĂ€hrt und am Signal stehen bleibt, wenn DS noch belegt ist. Habe es umgebaut, es funktioniert mit allen Loks (auch BR 05-003), nur nicht mit der BR 53 001. Die fĂ€hrt auf die Drehscheibe, stoppt und ...... DS dreht nicht. Ist die Lok einfach trotz allem zu groĂ ? Bearbeitet 19. Februar 2024 von bigrala
Empfohlene BeitrÀge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto fĂŒr unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden