Jump to content

Gleiskontakte umpolen


pfjoh

Empfohlene Beiträge

Hallo Hans,
du hast dich mit den Gleiskontakten aber noch nicht näher beschäftigt, oder?
Du hast doch Richtung A und Richtung B in den Eigenschaften. Und in der EV findest Du beim Ereignis Gleiskontakt bei den Bedingungen unter Auslöser das Feld Richtung, das auf 0, 1 oder -1 befragt werden kann.
Wie soll er sich für deinen Fall denn genau verhalten?

(schau mal auf die Uhr ;))

Gruß
  Andy

Bearbeitet von Andy
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 9 Minuten schrieb Timba:

Sorry, ist Quatsch, natürlich nicht "Eigenschaften/Variable existiert", sondern "Eigenschaften/Variable besitzt den Wert".

Und so sieht's aus:

GK2.thumb.JPG.5cddfbfababf9f2ef6b654cb407dfed8.JPG

Falls du (Hans) die richtungen im gleiskontakt noch nicht gefunden hast......

GK1.thumb.JPG.61922ad07b07384575cfec7e60622b62.JPG

Fuer die festlegung der zahl in der EV

 0 = A+B

 1 = A

-1 = B

Wenn ein haeckchen bei den richtungen entfernt wird ist die richtung inaktiv. Am GK veraendert sich die farbe dieser inaktiven richtung zu grau.

Cheers

Tom

Bearbeitet von metallix
Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit diesem Thema befasse ich auch gerade. Nur dass ich möchte, dass der Gleiskontakt nur drau reagiert, wenn die Lock rückwärts drüber fährt. Obige einstellungen habe ich einmal versucht, klappt aber im Fall einer Rückwärtsfahrt nicht.

Gibt es für Rückwärtsfahrten auch eine Lösung?

Grüße Hans-Jürgen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ergänzung:

Falls du zusätzlich zur Richtung, in welcher der Gleiskontakt ausgelöst wird, auch noch unterscheiden möchtest, ob das Fahrzeug dabei vorwärts oder rückwärts fährt, dann musst du eine zusätzliche Bedingung einfügen, bei der du prüfst, ob die Ist-Geschwindigkeit negativ ist.

Gruß Timba

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Timba,

bei einem Gleiskontakt möchte ich, dass es nur ausgelöst wird, wenn die Lock Rückwärts drüber fährt. Die Richtung ist mir klar und nur eine von der AB-Richtung des Gleiskontakts wird aktiviert. Soweit habe ich alles verstanden. Wenn die Lock bei der Rückwärtsfahrt das Gleiskontakt überfährt, soll dadurch die zuvor beim rückwärts verlassene Weiche umgestellt werden und die Lock soll ihre Fahrtrichtung ändern. Das seltsame ist, darum auch meine Frage, die Weiche wird zwar umgestellt, nur die Lok ändert ihre Fahrtrichtung nicht, obwohl ich die Bedingungen gesetzt habe.

Im Bild habe ich das mal dargestellt. Die Diesel-Lock fährt (gelbe Pfeilrichtung) rückwärts aus dem Abstellbahnhof raus bis zum Gleiskontakt, die aquamarine Pfeilrichtung soll dann den Richtungswechsel über die geschaltete Weiche in den Güterbahnhof darstellen.

Wie gesagt, die Weichenstellung funktioniert beim Gleiskontakt, nur der Fahrtrichtungswechsel nicht. Habe ich beim setzten der Fahrzeuggeschwindikeit einen Denkfehler drin?

Grüße Hans-Jürgen

rückwärtsfahrt.JPG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hans-Jürgen,

betritt die Lok denn den Gleiskontakt mit einer negativen Geschwindigkeit (kleiner 0)? Denn wenn sie eine positive Geschwindigkeit (größer 0) kann sich mit dem Eintrag in der EV auch nichts ändern.

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe den Fehler gefunden. Kann es sein, dass es sich um einen Software Bug handelt? Bei der Diesel-Lock ohne Anhänger funktioniert der Richtungswechsel. Wenn ich aber Wagongs rückwärts über den Gleiskontakt schiebe, dann fährt die Lock einfach rückwärts weiter, ohne einen Richtungswechsel durchzuführen.

 

Grüße Hans-Jürgen

Bearbeitet von BR45
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hans-Jürgen,

was Frank gerade schrieb war auch mein erster Gedanke. Es kann im Bild täuschen, aber sieht so aus, als würde die Lok vorwärts auf den Gleiskontakt fahren. Dann kann eine positive Geschwindigkeit keine Umkehr bewirken. Bitte prüfen!

Zweite Möglichkeit: Du hast in der EV für die neue Geschwindigkeit ein Gleis angegeben. Sollte die Lok (noch) nicht auf dem Gleis stehen, bewirkt der Befehl nichts. Es wäre besser, du löscht den Eintrag Gleis. Stattdessen gibst du bei Fahrzeug "Auslöser" ein. Das ist zuverlässiger, weil dann die Lok in jedem Fall erfasst wird.

Gruß Timba

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Minuten schrieb BR45:

Wenn ich aber Wagongs rückwärts über den Gleiskontakt schiebe, dann fährt die Lock einfach rückwärts weiter, ohne einen Richtungswechsel durchzuführen.

Bestätigt meine Vermutung. Die Waggons lösen den Gleiskontakt schon aus bevor die Lok auf dem Gleis steht, das du angegeben hast.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Minuten schrieb BR45:

Ich habe den Fehler gefunden. Kann es sein, dass es sich um einen Software Bug handelt? Bei der Diesel-Lock ohne Anhänger funktioniert der Richtungswechsel. Wenn ich aber Wagongs rückwärts über den Gleiskontakt schiebe, dann fährt die Lock einfach rückwärts weiter, ohne einen Richtungswechsel durchzuführen.

Nein, dein Fehler ist, dass du das Gleis hinterlgt hast beim Geschwindigkeit setzten und nicht die Lok. Wenn du mit Waggon das Ereignis auslöst wird auf dem Gleis die Geschwindigkeit gesetzt wo nur der Waggon steht, die Lok aber nicht, daher bekommt sie keine Geschwindigkeit. Lösche das Gleis und hinterlege die Lok in der EV.

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb Timba:

Bestätigt meine Vermutung. Die Waggons lösen den Gleiskontakt schon aus bevor die Lok auf dem Gleis steht, das du angegeben hast.

Hallo Timba,

in der EV ist das richtige Gleis angegeben. Funktioniert ja auch bei der Lock ohne Wagongs. Jetzt frage ich mich, wie ich das in der EV regele, dass die Wagongs den Gleiskontakt nicht auslösen?
Ich habe mal eben einen Versuch gemacht. Die Lock hat nun die Variable Zahl "Typ = 3". In der EV des Gleiskontakts soll auch nur die Lock das auslösen, da die Wagongs keine Typbezeichnung haben, sollte es eigentlich funktionieren. Tut es aber leider nicht. Wieder nur, wenn die Lock alleine rückwärts den Kontakt auslöst.

Grüße Hans-Jürgen

rückwärtsfahrt2.JPG

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Minuten schrieb fzonk:

Nein, dein Fehler ist, dass du das Gleis hinterlgt hast beim Geschwindigkeit setzten und nicht die Lok. Wenn du mit Waggon das Ereignis auslöst wird auf dem Gleis die Geschwindigkeit gesetzt wo nur der Waggon steht, die Lok aber nicht, daher bekommt sie keine Geschwindigkeit. Lösche das Gleis und hinterlege die Lok in der EV.

 

Gruß Frank

 

Hallo Frank,

das ist aber nicht die einzige Lock bei der das so funktionieren soll, sondern bei jeder ;-)
Grüße Hans-Jürgen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hans-Jürgen,

der Typ unter Bedingung ist falsch. Unter Bedingung sollst du lediglich abfragen, ob die Lok rückwärts fährt (= negative Geschwindigkeit).

Darunter der zweite Eintrag, wo die Geschwindigkeit gesetzt wird, da soll statt "Fahrzeug [Alle Fahrzeuge]" "Auslöser[Fahrzeug]" hin. Dann wird immer und zuverlässig die Lok, bzw. der Zug angesprochen, der den Gleiskontakt ausgelöst hat. Im selben Eintrag bei Gleis änderst du auf "alle Gleise". Wenn du damit nicht klar kommst stell die Anlage mal hier ein, dann ändere ich das für dich.

Gruß Timba

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 15 Minuten schrieb BR45:

In der EV des Gleiskontakts soll auch nur die Lock das auslösen, da die Wagongs keine Typbezeichnung haben, sollte es eigentlich funktionieren.

Nein, das funktioniert so nicht! Der Gleiskontakt wird immer vom gesamten Zug ausgelöst, bzw. von dem Teil des Zuges, der den Gleiskontakt zuerst berührt. Es ist nicht so, dass ein Zug aus 5 Elementen den Gleiskontakt 5 mal auslöst, sondern nur ein einziges Mal.

Wenn dann eine Bedingung im Ereignis steht, die nicht zutrifft, dann verfällt die ganze Befehlsfolge und es passiert nichts.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Timba,

der betreffende Gleiskontakt (Gleiskontakt Richtungswechsel nach Rückwärtsfahrt) ist beschriftet, die Lok fährt bei Play aus dem Abstellbereich rückwärts raus.

Mit der Software bin ich zwar vertraut, aber noch weiß ich nicht alles ;-) Ich rätselte noch, wie ich eine negative Geschwindigkeit abfragen kann und den Richtungswechsel druchführe, ohne dass die Wagongs hier auslösen.

Grüße Hans-Jürgen

Richtungswechsel nach Rückwärtsfahrt.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Hans-Jürgen,

das Problem liegt nicht in Deiner Ereignisdefinition des Gleiskontakts, sondern an dessen Abstand zur Weiche, die beim Eintreffen des Zugs am Gleiskontakt umgeschaltet wird.

1162305293_01AbstandGleiskontaktzurWeiche.thumb.jpg.8f88e95ade790180bcda7c0ec98e3221.jpg

Denn durch die Kürze deses Abstands oder die Länge des Zuges hat dieser die Weiche noch nicht passiert, wenn der letzte Wagen des Zuges auf den Gleiskontakt trifft (wie oben bereits erwähnt, wird der Gleiskontakt nicht durch das Befahren der Lok selbst, sondern durch das Befahren durch den kompletten Zug ausgelöst - nur der Auslöser selbst ist die Lok).

375806736_02Weichewirdumgeschaltet.thumb.jpg.50a69b8ab91739959832783fac729f1b.jpg

Da die Weiche beim Eintreffen des Zuges am Gleiskontakt umgeschaltet wird, wird dadurch der auf der Weiche befindliche Wagen festgeklemmt.

876998485_03SchwacheVerzgerung.thumb.jpg.f6a885229708b4f7503c92be86353950.jpg

Dadurch fährt die Lok mit dem ersten Wagen in den festgeklemmten Zug hinein, was den Anschein erweckt, dass die Lok nicht angehalten wurde, sondern weiterfährt. Dies liegt aber einfach daran, dass für die Lok ein sehr kleiner Verzögerungswert eingestellt ist, sodass die Lok einen gewissen Auslauf benötigt, bevor sie zum Stehen kommt.

261054273_04Zugabgekuppelt.thumb.jpg.d7e36c433d6b63c9f557b402aa8122a4.jpg

Lässt man die Anlage noch ein Stück weiterlaufen, sieht man, dass die Lok tatsächlich angehalten hat und danach in die entgegengesetzte Richtung wieder losgefahren ist. Aufgrund des festgeklemmten Zustands des zweiten Wagens im Zugverband durch die Weiche bleibt dieser auch stehen, wenn sich die Lok mit dem ersten Wagen wieder entfernt.

Fazit:
Die Ereignisdefinition zum beracheteten Gleiskontakt funktioniert korrekt. Nur sollte die Weiche erst umgeschaltet werden, wenn der Zug sie komplett passiert hat. Als Abhilfe muss man deswegen entweder den Zug entsprechend kürzen oder den Gleiskontakt entsprechend weiter nach hineten schieben.

vor 1 Stunde schrieb BR45:

Ich rätselte noch, wie ich eine negative Geschwindigkeit abfragen kann und den Richtungswechsel durchführen, ohne dass die Wagongs hier auslösen. 

Dass die Waggons hier auslösen kannst Du nur dadurch verhindern, dass Du bei der Ereignisdefinition oben unter der Frage "Wann wird das Ereignis ausgelöst?" als Zeitpunkt nicht "beim Betreten", sondern "beim Verlassen" spezifizierst. Dann fährt der Zug nämlich erst einmal komplett über den Gleiskontakt hinweg, und erst nachdem das letze Fahrzeug des Zugverbands - hier die Lok - den Gleiskontakt verlassen hat, wird das Ereignis aktiviert. Der Rest der Ereignisdefinition bleibt unverändert und funktioniert genauso wie jetzt - mit dem einzigen Unterschied, dass der Zeitpunkt der Auslösung ein anderer ist.

Anstatt den Gleiskontakt weiter nach hinten zu schieben oder den Zug entsprechend zu kürzen, kannst Du bei dieser Variante den Gleiskontakt sogar bis direkt hinter die Weiche vorschieben, da ja hier gewährleistet ist, dass der Zug erst anhält, wenn er den Gleiskontakt komplett passiert hat.

Eine negative Geschwindigkeit der Lok kannst Du wie folgt abfragen:

757662454_05Vorschlag1.thumb.jpg.ce52e80bc3147d9d138357e1639b2b5c.jpg

Du kannst dann für die Geschwindigkeitszuweisung in beiden Zweigen (Bedingung erfüllt / nicht erfüllt) die Geschwuindigkeitszuweisung mit dem jweils korrekten Vorzeichen setzen.

999367982_06Vorschlag2.thumb.jpg.7b6b432b3f336be4398d04ebd6129c14.jpg

Es gibt aber auch die Möglichkeit, das Vorzeichen der aktuellen Geschwindigkeit des Zuges einfach umzukehren. Leider kann man das nicht direkt bei der Geschwindigkeits-Eigenschaft der Lok selbst machen, weshalb Du hierfür eine Zwischenvariable benötigst, die ich hier einfach als Objektvariable der Lok spezifiziert habe. Man speichert also die aktuelle Geschwindigkeit der Lok in einer Zwischenvariable ab, kehrt deren Vorzeichen durch Multiplikation mit (-1) um und weist die gleiche Geschwindigleit -  nun aber mit umgekehrten Vorzeichen wieder zu.

Viele Grüße
BahnLand

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

 

Hallo @BahnLand

Da habe ich ja gerade nochmal Glück gehabt. Hatte mir gerade das Ding runtergeladen und wollte mich reinknien, als dein Beitrag online kam. Da hätte ich mir einen Haufen Arbeit vergebens gemacht.

Mal ein Vorschlag: Ist ja ganz egal, wer von uns einem anderen hilft, Hauptsache es wird geholfen, aber könnte nicht derjenige, der sich einer Problemanalyse annimmt, einen kurzen Hinweis im Faden hinterlassen, dass er sich kümmert. Ist doch irgendwie unwirtschaftlich, wenn sich mehrere Leute gleichzeitig um eine Sache kümmern. Wer es dennoch machen will wird ja nicht davon abgehalten, aber wenn ich gewusst hätte, dass du schon dran bist, hätte ich die Anlage nicht mal mehr runtergeladen. Ist ja jetzt auch kein großer Schaden entstanden. Was hältst du von der Idee?

Gruß Timba

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...