jloos Geschrieben 4. November 2023 Geschrieben 4. November 2023 Hallo, wenn ein Schienenbus den Beiwagen zieht, wird der Gleiskontakt ausgelöst. Wenn er schiebt, dann reagiert der GKT nicht. Der Gleiskontakt soll einen Zähler hochzählen. Wie kann das sein. Im Anhang ein Beispiel Gruß Jürgen GKT wird nicht ausgelöst.mbp
prinz Geschrieben 4. November 2023 Geschrieben 4. November 2023 (bearbeitet) Hallo Jürgen, Das kann so auch nicht funktionieren. Ein Gleiskontakt wird dann ausgelöst, wenn das erste Fahrzeug eines Fahrzeugverbundes den Kontakt betritt. Dies ist in deinem Beispiel bei Vorwärtsfahrt das angetriebene, und bei Rückwärtsfahrt der angehängte Wagen. In deinem Event wird geprüft, ob die Variable Fahrzeug auf dem Gleiskontakt steht. Da als Auslöser Fahrzeug in der EV immer das angetriebene Fahrzeug genommen wird, funktioniert dein Ereignis nur bei Vorwärtsfahrt. Da ich nicht weiß, was du erreichen willst, hier nur zwei Anmerkungen: Wenn ein Gleiskontakt ausgelöst wird, steht genau ein Wagen des Verbundes auf dem Gleiskontakt. Also kann die Bedingung "Fahrzeug steht auf Gleiskontakt" entfallen und der Zähler generell hochgezählt werden. Falls nur ausgewählte Fahrzeuge gezählt werden sollen (z.B. Name, Vorhandensein einer Variablen), so müsstes du mit der Wiederholung "Für alle Fahrzeuge in einem Fahrzeugverbund" arbeiten und darin die Prüfung durchführen. Viele Grüße, Wolfgang Bearbeitet 4. November 2023 von prinz Tippfehler
jloos Geschrieben 4. November 2023 Autor Geschrieben 4. November 2023 Danke Wolfgang, wenn ich ein beliebiges Fahrzeug auswähle, dann geht es. Vielen Dank, Gruß Jürgen
Phrontistes Geschrieben 4. November 2023 Geschrieben 4. November 2023 (bearbeitet) Hallo zusammen, vor 46 Minuten schrieb prinz: In deinem Event wird geprüft, ob die Variable Fahrzeug auf dem Gleiskontakt steht. Da als Auslöser Fahrzeug in der EV immer das angetriebene Fahrzeug genommen wird, funktioniert dein Ereignis nur bei Vorwärtsfahrt. Ich habe das für mich so gelöst, dass ich in jeden angetriebenen vehicle eine Objektvariable "vehicle rear" habe, in welcher das letzte Fahrzeug als Objekt steht. Wenn ich wissen will, ob ein bestimmter Zug - egal wie rum - auf dem Gleiskontakt steht, frage ich an, ob vehicle oder vehicle.vehicle rear auf dem Kontakt steht. Falls ich irgendwann mal ein angetriebenes Fahrzeug in der Mitte haben sollte, müsste man die Logik erweitern und sich auch noch "vehicle front" merken. vor 35 Minuten schrieb jloos: wenn ich ein beliebiges Fahrzeug auswähle, dann geht es. Klar, kann man machen, wenn man sicher ist, dass es sowieso nur der eine Zug ist, den man im Auge hat. In Deinem Fall kann es nicht anders sein, also reicht [Beliebig] - bzw. die Bedingung ist schlicht überflüssig, wie Wolfgang schon sagte. Allerdings fragst Du nicht einen konkreten Kontakt ab, sondern alle Kontakte mit einem Schlagwort. Wohin das im Zusammenhang mit einem Zähler, den Du hochzählts und in einem Modulvariable schreibst, führen soll, ist nicht so ganz nachvollziehbar. Damit Du Dir jetzt nicht mit vielen Modulvariablen einen abbrichst: Du könntest Dir die Anzahl der Züge im Block auch in einer Objektvariablen des Kontakts merken. Wenn Du das machst, kannst Du durchaus mit einem Schlagwort arbeiten, denn der ausgelöste Kontakt steht Dir ja als Auslöser zur Verfügung. Jetzt brauchst Du noch in jedem Zählkontakt seinen Vorgänger als Objekt, damit Du beim Verlassen des Folgekontaktes im Vorkontakt wieder eins abziehst. Beste Grüße Phrontistes Bearbeitet 4. November 2023 von Phrontistes typo
jloos Geschrieben 4. November 2023 Autor Geschrieben 4. November 2023 Hallo @Phrontistes, auf der Anlage habe ich 2 Pufferstrecken, um eine gleichmäßige Zuführung der Züge zu erreichen. Die Züge kommen aus einem Schatten Bahnhof und stehen somit in einer Reihe im Puffer. Da eine Pufferstrecken länger ist, zähle ich die eingefahrenden und ausfahrenden Züge. Das mache ich mit einem einzigen Ereigniseintrag. Da ich in dem GKT keinen Link auf die Zählervariable unterbringen kann, muss ich wissen, welcher GKT betätigt wurde. Es gibt sicherlich auch andere Lösungen. Gruß Jürgen
jloos Geschrieben 4. November 2023 Autor Geschrieben 4. November 2023 vor 3 Stunden schrieb prinz: Da als Auslöser Fahrzeug in der EV immer das angetriebene Fahrzeug genommen wird, funktioniert dein Ereignis nur bei Vorwärtsfahrt. Nur noch mal zu meinem Verständnis: Vor Signalen oder an GKT, die Variablen aus der Lok auslesen, spielt es keine Rolle ob der Fahrzeugverbund gezogen oder geschoben wird. Obwohl ich da auch als Auslöser Fahrzeug auswähle. Bei der Bedingung "Fahrzeug steht auf Gleis/Gleiskontakt" gilt das nur für das angetriebene Fahrzeug. Gruß Jürgen
Phrontistes Geschrieben 4. November 2023 Geschrieben 4. November 2023 Hallo Jürgen @jloos, vor 3 Minuten schrieb jloos: Nur noch mal zu meinem Verständnis: Vor Signalen oder an GKT, die Variablen aus der Lok auslesen, spielt es keine Rolle ob der Fahrzeugverbund gezogen oder geschoben wird. Ja, Du bekommst beim Betreten eines (Signal-)Kontaktes immer das angetriebene Fahrzeug als Auslöser (wobei es tunlichst immer nur ein angetriebene Fahrzeug im Verbund geben sollte). vor 4 Minuten schrieb jloos: Obwohl ich da auch als Auslöser Fahrzeug auswähle. Nicht "obwohl", sondern "weil" der Auslöser für das Ereignis "Betreten" das angetriebene Fahrzeug ist (und nicht der geschobene Wagen). vor 3 Minuten schrieb jloos: Bei der Bedingung "Fahrzeug steht auf Gleis/Gleiskontakt" gilt das nur für das angetriebene Fahrzeug. Das würde ich etwas anders formulieren: Bei der Bedingung "Fahrzeug steht auf Gleis/Gleiskontakt" prüfst Du auf das Fahrzeug, welches tatsächlich auf dem Gleiskontakt steht. Das ist nicht zwingend das angetriebene Fahrzeug sondern ggf. der geschobenen Wagen. Deshalb prüfe ich, wie oben beschrieben, auf immer auf vehicle oder vehicle.vehicle rear, dann ist es egal wie rum der Zug fährt. Das setzt voraus, dass man händisch in jedem Fahrzeug eine Variable vom Typ Objekt anlegt und in diese händisch das Fahrzeugobjekt des Fahrzeugen am anderen Ende (Triebkopf, Steuerwagen oder was auch immer) einträgt. Je nachdem reicht es aber auch, zu prüfen, ob irgendein Fahrzeug auf dem Kontakt steht ([Any] in der deutschen Version [Beliebig] wenn ich mich recht erinnere). vor 2 Stunden schrieb jloos: Da ich in dem GKT keinen Link auf die Zählervariable unterbringen kann, muss ich wissen, welcher GKT betätigt wurde Das verstehe ich nicht ganz. Du kannst die Zählvariable im Kontakt "unterbringen" (Objektvariable vom Typ numerisch) und Du weißt auch, welcher Kontakt gerade betätigt wurde, denn dieser steht Dir im Ereignis als Auslöser zur Verfügung. Das ist nur eine Zeile in der EV. Diese Lösung funktioniert auch mit dem Schlagwort, weil jeder Kontakt seine eigene Variable "Anz. Züge im Block" hat. Eine andere Frage ist es dann, wer unter welchen Umständen die Zählvariable im "richtigen" Kontakt wieder vermindert. Beste Grüße Phrontistes
jloos Geschrieben 4. November 2023 Autor Geschrieben 4. November 2023 Die Zählvariable im Kontakt geht natürlich. Wenn 4 Stellen auf den Zähler zugreifen, find ich es praktischer, wenn es eine Modul Variable ist. Gruß Jürgen
Phrontistes Geschrieben 4. November 2023 Geschrieben 4. November 2023 vor 5 Minuten schrieb jloos: Wenn 4 Stellen auf den Zähler zugreifen, find ich es praktischer, wenn es eine Modul Variable ist. Das ist klar. Nur hatte ich aus dem Schlagwort "Blockzähler" geschlossen, dass es Blöcke gibt mit Anfang und Ende und es zwei Stellen gibt, die auf den Zähler zugreifen (Anfang und Ende). Beste Grüße Phrontistes
Goetz Geschrieben 4. November 2023 Geschrieben 4. November 2023 (bearbeitet) vor 12 Stunden schrieb jloos: Da ich in dem GKT keinen Link auf die Zählervariable unterbringen kann, muss ich wissen, welcher GKT betätigt wurde. Dafür ist aber vollkommen unerheblich, welches Fahrzeug den Kontakt betreten hat. Du brauchst die Bedingung "Eigenschaft besitzt den Wert" um zu prüfen, welcher Kontakt betreten wurde: geänderte Beispielanlage: Blockzähler wird von beiden Enden ausgelöst.mbp Viele Grüße Götz Bearbeitet 5. November 2023 von Goetz Beispielanlage hinzugefügt
prinz Geschrieben 4. November 2023 Geschrieben 4. November 2023 Wie Götz es gerade geschrieben hat und ich es vielleicht etwas grob umschrieben hab: Sobald ein Gleiskontakt ausgelöst wird kannst du sicher sein, dass auch ein Fahrzeug auf diesem steht. Deshalb mein Hinweis, dass du die Bedingung weglassen kannst. Wo du den Zähler unterbringst hängt von der Situation ab. Alles Gute Wolfgang
jloos Geschrieben 5. November 2023 Autor Geschrieben 5. November 2023 Guten Morgen, Ich danke Euch Allen für die Erklärungen. Wieder etwas für meine Wissenskladde. Gruß Jürgen
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