Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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 von prinz
Tippfehler

Geschrieben
  • Autor

Danke Wolfgang,

wenn ich ein beliebiges Fahrzeug auswähle, dann geht es.

Vielen Dank,

Gruß Jürgen

Geschrieben

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 von Phrontistes
typo

Geschrieben
  • Autor

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 

Geschrieben
  • Autor
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 

Geschrieben

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.

Screenshot2023-11-04225927.thumb.jpg.67bdac3bed0b12e7210f087cc3fe423c.jpg

Eine andere Frage ist es dann, wer unter welchen Umständen die Zählvariable im "richtigen" Kontakt wieder vermindert.

Beste Grüße

Phrontistes

Geschrieben
  • Autor

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 

Geschrieben
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

Geschrieben
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:

welcherBlockzhler.jpg.8837c0e12c984ecfe1789790c1608c0d.jpg

geänderte Beispielanlage:  Blockzähler wird von beiden Enden ausgelöst.mbp

Viele Grüße
Götz

Bearbeitet von Goetz
Beispielanlage hinzugefügt

Geschrieben

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

Geschrieben
  • Autor

Guten Morgen, 

Ich danke Euch Allen für die Erklärungen. Wieder etwas für meine Wissenskladde. 

Gruß Jürgen 

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.