Jump to content

Timer mehrmals gleichzeitig verwenden


Atrus

Empfohlene Beiträge

Hallo Kollegen, kann man ein und den selben Timer mit verschiedenen Laufzeiten, natürlich vorausgesetzt das die maximale Laufzeit dabei nicht überschritten wird, wieder starten obwohl er mit einer anderen Laufzeit schon läuft, also parallel zum ersten Start?

Danke für die Info falls das jemand weiß!  LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Atrus,

vor 40 Minuten schrieb Atrus:

kann man ein und den selben Timer mit verschiedenen Laufzeiten, natürlich vorausgesetzt das die maximale Laufzeit dabei nicht überschritten wird, wieder starten obwohl er mit einer anderen Laufzeit schon läuft

Du kannst einen Timer jedes Mal, wenn du ihn startest, mit einer anderen Laufzeit verwenden.
Du kannst ihn auch vor Ablauf der Zeit (mit einer anderen Laufzeit) neu starten.
Aber ein einzelner Timer kann nicht parallel mehrere Laufzeiten haben. (Stell ihn dir wie eine Eieruhr vor.)

Was möchtest du erreichen?

Lieben Gruß
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

OK vielen Dank, ich möchte einfach nur die Timer Anzahl reduzieren und sie nach Möglichkeit öfter und wenn geht parallel verwenden können! Aber sowie ich dich verstehe würde ein dann ein bereits laufender Timer einfach eine Laufzeitveränderung bekommen, oder verstehe ich da was falsch?

LG  Atrus

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 9 Minuten schrieb Atrus:

so, wie ich dich verstehe ...

verstehst du es richtig. ;)

vor 9 Minuten schrieb Atrus:

ich möchte einfach nur die Timer Anzahl reduzieren

Dann benutze die Verzögerung in Ereignissen, wenn Aktionen eine gewisse Zeit nach Eintreten des Ereignisses ausgeführt werden sollen.
Timer sind für zyklisch wiederkehrende Aktionen. Ampelzyklen zum Beispiel. Und da benötigst du für jeden Zyklus einen Timer.

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja ist klar, nur die Verzögerung kann ich nicht als Referenz verwenden darum meine Frage. Konkret geht es darum, dass mehrere Züge gleichzeitig aus einem Bhf ausfahren und da suche ich gerade dem möglichen Auslöser dafür. Die sollen natürlich nicht unter einander kollidieren. So wollte ich jeweils den selben Timer als Startpunkt festlegen. Eben nur zeitverzögert und mit anderen Zeiten. Dann muss wohl doch mehrere Timer einsetzen um nicht die Übersicht zu verlieren. Die Verzögerung würde meiner Meinung nach die Steuerung von ca. 10 möglichen betroffenen Zügen zu sehr verschachteln. Grundsätzlich ist die Verzögerung schon ein cooles Werkzeug so man sie auch im Protokoll einblenden kann. Eigentlich baue ich gerade mal die Blockstrecken und versuche dabei schon etwaige Ereignisse wie Querverkehr und ähnliche zu berücksichtigen. Vielleicht eh noch ein bisschen verfrüht. Aber danke dir für deine Untestütztung!

LG  Atrus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Atrus,

vor 28 Minuten schrieb Atrus:

Konkret geht es darum, dass mehrere Züge gleichzeitig aus einem Bhf ausfahren und da suche ich gerade dem möglichen Auslöser dafür. Die sollen natürlich nicht unter einander kollidieren.

Dann solltest du dich bei mehreren möglichen Kandidaten für die nächste Ausfahrt für einen Zug entscheiden. (Per Zufall oder nach anderen Kriterien, je nach Geschmack und Bedarf.) Wenn dieser Zug alle Konfliktpunkte hinter sich hat, kannst du den nächsten Zug in Bewegung setzen. Und musst wieder entscheiden, welcher der Züge es als nächstes sein soll.

Damit Züge eine Mindestzeit im Bahnhof warten, nutzt du bei Ankunft des Zuges die Verzögerung (keinen Timer), bevor du den Zug für eine Ausfahrt anmeldest.

Timer sind in diesem Zusammenhang das falsche Werkzeug.

LG Götz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja ja, sehr schlau, genau nach so was habe ich gesucht. Hast schon recht aber die muss ich alle einzeln auf einander abstimmen. Oder ein mögliches Zeitfenster einplanen. Sofern die Reihenfolge immer die selbe ist. Muss mich halt spielen damit. Im übrigen lösche ich die wartenden Züge zwar sofort aus dem Signal sobald es verlassen wird aber ich setze parallel noch eine SignalVariable 0 oder 1 für den Fall, dass es im betroffenen Signal gar keinen wartenden Zug gibt. Vielleicht ist das etwas übertrieben aber so bekomme ich noch eine weitere Abfragemöglichkeit. Geht mit sonst auf Nil, wenn kein wartender Zug vorhanden ist, eh logisch!  Aber so viele Parameter muss man erst auf die Reihe kriegen... LG  Atrus    

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb Atrus:

die muss ich alle einzeln auf einander abstimmen. Oder ein mögliches Zeitfenster einplanen.

Nein - weder, noch.

  • Ein Zug trifft ein
  • warte 20 Sekunden
  • Schau, ob der Weg frei ist. Wenn ja, dann lass den Zug ausfahren.
  • Wenn der Weg nicht frei ist, dann trage den Zug an geeigneter Stelle (Signal, Liste, etc.) als "für Ausfahrt bereit" ein.
  • Wenn der Ausfahrbereich frei wird (= der letzte Konfliktpunkt verlassen wurde) nimm einen der wartenden Züge, stell den Weg für ihn und gib die Fahrt frei.

So musst du keine Zeiten aufeinander abstimmen.
Zug kommt, hat Aufenthalt und nutzt dann die nächste Gelegenheit zur Weiterfahrt. Bei vielen Zügen wird schlimmstenfalls die Warteliste länger. Aber zu Konflikten kann es nicht kommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Noch einmal Danke, klingt alles sehr logisch, werde mein bestes versuchen. Mein Problem ist nur, dass es sich in diesem Fall um einen Verzweigungsbhf. handelt, der quasi von drei Seiten mit Gegenverkehr bedient werden kann bzw. muss. Wird mir noch ein bisschen Kopfarbeit bereiten aber wird schon werden. Werde alles mit Video aufnehmen, zwecks der Kontrolle, könnte schon funktionieren. Werde alle von dir gelernten Trick's zur Anwendung bringen, so gut ich kann. Bin schon gespannt.

Vielen Dank   

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Götz, also nach einigen Tagen und nach 99 Versuchen, weiß ich allmählich was du mir da eigentlich gerade gelernt hast. Wie du ja mittlerweile weißt, bin ich des Öfteren etwas schwer von Begriff und interpretiere Dinge oft falsch aber das war jetzt wirklich der Augenöffner! Erst mal war mir nicht klar, was du mit Ausfahrlisten und deren Abarbeitung meintest, weil es bei mir noch keine Listen und Tabellen gibt. Aber dafür habe ich ja vor und nach jedem Bahnhof ein Blocksignal welches mir das alles regeln kann. Genau wie du sagst. Den Auslöser habe ich die ganze Zeit gesucht. Block frei und alle anderen Konflikte beseitigt. Und schon fährt der Zug mit der obersten Priorität ab. In meinem Fall dann auch mehrere gleichzeitig aber das spielt ja keine Rolle. Und ich komme komplett ohne Timer und mit nur wenigen Verzögerungen aus. Nur die wartenden Züge in den Signalen haben mir am Anfang ein bisschen Probleme bereitet. Weil ja einmal das Signal der Auslöser ist und dann wieder ein Objekt das im Signal als wartender Zug hinterlegt ist einfach wegfahren soll usw. Aber jetzt bin ich schon voll entspannt, kann ja immer nur eins nach dem anderen passieren. Habe mir auch für jedes Stopp Signal noch eine Variable angelegt, welche mir sagt ob überhaupt ein wartender Zug vorhanden ist. Ich weiß, dass könnte ich auch anders abfragen aber das geht für mich momentan noch viel einfacher und die EV ist nicht so kompliziert mit Variable erweitert usw., wenn du weißt was ich meine. Obwohl das schon voll spannend ist. Habe schon so einige Experimente angestellt. Nur an der Logik fehlt es mir halt manchmal. Umso logischer desto einfacher für die EV, ich arbeite intensiv daran. Wäre schön wenn ich mich in Lua schon besser auskennen würde aber das wird wohl noch ein bisschen dauern. Vielen Dank, dass du dir so viel Mühe mit mir gibst and sorry, if i'm boring you sometimes.

Frohe Ostern und GLG Atrus

Bearbeitet von Atrus
Schreibfehler
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...