elefant65 Geschrieben 23. Januar 2021 Geschrieben 23. Januar 2021 Hallo zusammen, ich habe ein Frage zur Ereignisverwaltung. Meinen Loks habe ich eine Objektvariable vmax zugewiesen, mit der ihre jeweilge Höchstgeschwindigkeit definiert ist. Damit kann ich bspw. einer Lok beim Passieren eines Gleiskontaktes als Aulöser des Ereignisses ihre vmax zuweisen. Wie mache ich das, wenn eine Lok auf einem Gleiskontakt steht und durch eine Signalöffnung die vmax erhalten soll? Dann ist die Lok ja nicht Auslöser und ich kann als Fahrzeugobjekt nur eine konkrete Lok auswählen. Wie kann ich der EV sagen, dass die gerade auf dem Gleiskontakt stehende Lok die in ihrer Variable vmax hinterlegte Geschwindigkeit erhalten soll? Vielen Dank und beste Grüße vom Elefanten
Andy Geschrieben 23. Januar 2021 Geschrieben 23. Januar 2021 Hallo Elefant, auf die Schnelle überlegt würde ich mir beim Betreten des Gleiskontakts die Lok in dessen Objektvariablen merken (als Extra-Ereignis!). Vielleicht sogar die vmax mit hierhin übernehmen um aufwändigere Indirektionen beim Setzen der Geschwindigkeit zu vermeiden. Jedenfalls solltest Du dann über die erweiterten Variablen des Gleiskontakts drankommen. Oder Du könntest auch im Gleiskontakt einen Verweis auf das Signal hinterlegen und die Daten dann indirekt zum Signal transferieren. Mal sehen, ob noch eine direktere Lösung kommt. Gruß Andy
elefant65 Geschrieben 23. Januar 2021 Autor Geschrieben 23. Januar 2021 (bearbeitet) Hallo Andy, Danke für deine Antwort. In dieser Art löse ich es im Moment. Ich übertrage beim Betreten des Gleiskontaktes den vmax-Wert der Auslöserlok aus der Objektvarianble in eine Modulvariable und nutze diese dann später wieder zum Setzen der Geschwindigkeit. Aber vielleicht gibt es ja eine direkte, elegantere Möglichkeit. Grüße vom Elefanten Bearbeitet 23. Januar 2021 von elefant65
Andy Geschrieben 23. Januar 2021 Geschrieben 23. Januar 2021 Hallo Elefant, es ist nur immer so doof für eine Lösung mit 'Fotos' das Szenario aufzubauen. Da ist eine Content-ID einer als Entwurf gespeicherten Anlage mit Hinweis auf die Problemstelle eleganter. Da sind dann die betroffenen Objekte schon vorhanden. Modulvariablen, naja, wenn einem sonst wirklich nichts anderes einfällt, dann in Gottes Namen. Möglicherweise geht da was mit Eigenschaften. Gruß Andy
Neo Geschrieben 23. Januar 2021 Geschrieben 23. Januar 2021 Hallo, vor 2 Stunden schrieb elefant65: Wie mache ich das, wenn eine Lok auf einem Gleiskontakt steht und durch eine Signalöffnung die vmax erhalten soll? Dann ist die Lok ja nicht Auslöser und ich kann als Fahrzeugobjekt nur eine konkrete Lok auswählen. in diesem Fall kommen Wiederholungen ins Spiel, konkret Für alle Fahrzeuge auf einem Gleis/Gleiskontakt. Innerhalb der Wiederholung hast du analog zu den Auslösern direkten Zugriff auf das Fahrzeug. Viele Grüße, Neo
Goetz Geschrieben 23. Januar 2021 Geschrieben 23. Januar 2021 (bearbeitet) In der EV sieht Neos Vorschlag dann so aus: Wichtig: Im Signal ist der zugehörige Kontakt in einer Objektvariablen hinterlegt. Unter der folgenden ID findest du die Beispielanlage mit dieser EV (als Entwurf) EE443BD6-5EE7-4873-B483-0FDAF780752C Lieben Gruß Götz Nachtrag: Das Beispiel enthält noch einen Schönheitsfehler. Angetriebene Fahrzeuge ohne Vmax Variable verursachen eine Fehlermeldung. Eigentlich müsste man noch innerhalb der Schleife in einer zweiten Bedingung prüfen, ob die Variable Vmax existiert. Bearbeitet 23. Januar 2021 von Goetz
elefant65 Geschrieben 23. Januar 2021 Autor Geschrieben 23. Januar 2021 Vielen Dank Neo und Götz! Genau das habe ich gesucht. Mit der Wiederholungsfunktion habe ich bisher noch nichts anzufangen gewusst. Darauf gekommen wäre ich von allein nie, denn so ganz ist mir auch immer noch nicht klar, was da eigentlich genau abläuft - muss ich mal in Ruhe durchdenken. Aber die Übertragung des Beispiels von Götz auf meinen Fall funktioniert schon mal Die erste Lösung von Andy mit Objektvariablen an Gleiskontakten und Signalen finde ich übrigens (für andere Fälle) auch sehr interessant. Damit kann man manches vereinfachen. Ein schönes Wochenede wünscht Elefant
Goetz Geschrieben 23. Januar 2021 Geschrieben 23. Januar 2021 vor 3 Minuten schrieb elefant65: so ganz ist mir auch immer noch nicht klar, was da eigentlich genau abläuft Du hast eine Liste von Objekten - in diesem Fall alle Fahrzeuge in einem Zugverband. Die Wiederholung nimmt nacheinander jedes Objekt aus dieser Liste, gibt ihm temporär einen Namen (default: Wdh / in meinem Beispiel: Element) und führt dann die Aktionen in der Klammer für das Objekt mit diesem Namen durch. Der temporäre Name ist ein Hilfsmittel, damit man das Element im folgenden Schritt ansprechen kann.
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