Jump to content

Alternative Ampelsteuerung


Empfohlene Beiträge

vor einer Stunde schrieb EASY:

und bei "Skript" -> "Bearbeiten" folgendes eingeben:

error("Deine Wunschmeldung")

wie bei jeden Fehler, wird die Verarbeitung dann an dieser Stelle angehalten (-> pausiert und kann dann auch wieder weitergeführt werden).

Hallo @EASY, super Tipp, Danke! (y)(y) (y) 

Habe es gleich mal ausprobiert. Funktioniert Klasse. :)

Screenshot2023-06-27121425.thumb.jpg.635678c7176ed697fc11d1e3670c9115.jpg

Mit einer informativen print(..) -Anweisung weiß man auch gleich wer wo die Anlage pausiert hat. 

vor 11 Minuten schrieb Neo:

aber irgendwie gefällt mir der Zustand trotzdem

Ja, mir auch, da man dann durch Abschalten des Ereignisprotokolls wieder den flüssigen Ablauf erhält. 

Danke, 

Hawkeye 

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo,

mehr oder weniger kommentarlos zu ignorieren. würde ich belassen wie es ist, schon in Deinem eigenen Interesse, da könnte sonst einiges Gejammer kommen. Ich denke z.B. an Endlosrekursionen, die Du kommentarlos noch 25 Versuchen ins Leere laufen lässt.

Aber der Vorschlag von @Hawkeye 

vor 2 Stunden schrieb Hawkeye:

Wäre es nicht sinnvoll und möglich, ein EV-Ereignis "Anlage pausieren" zu kreieren?

wäre eine echte Bereicherung.

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gerade eben schrieb Neo:

das gibt es schon!

Genau, wenn man weiß wie. 9_9 Und damit kann man jetzt endlich auch Situationen oder unerwünschte Effekte dokumentieren. :)  

z.B. ist in der EV eingestellt, das LKW nur auf eine Geschwindigkeit von 40- 60 km/h beschleunigen sollen.  

Screenshot2023-06-27133510.thumb.jpg.ffb9428f778bbdd403f40432c3a34155.jpg

Bei eingeschalteter "automatischer Beschleunigung" wird diese Vorgabe aber ignoriert, denn die LKW heften sich hinter die schnelleren vorausfahrenden PKW. Sie fahren also im Endeffekt schneller als es eigentlich gewünscht ist. 

Screenshot2023-06-27133544.thumb.jpg.fcb88b4dc264a9804bdb998d34848140.jpg

Dies führt aber zu nicht gewollten Effekten bei der Steuerung, die man dann nicht mehr beeinflussen kann. 

Der LKW fährt mit einer größeren Geschwindigkeit als er soll auf den Kontakt und fährt somit weiter, obwohl er eigentlich (bei Soll-V <=60 km/h) an dieser Stelle abbremsen sollte.  

Screenshot2023-06-27133715.thumb.jpg.d388468cc5ef230766aa015c4f8fe036.jpg

Das nur zur Erläuterung, damit sich darüber keiner wundert, warum der LKW nicht anhält. 

VG,

Hawkweye

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo,

vor 46 Minuten schrieb Neo:

EASY hat doch bereits die Lösung genannt, das gibt es schon.

hast ja recht. Das mit der offenen Ereignisprotokollierung und dem Anhalten bei Fehlern wusste ich und nutze es auch immer, wenn ich neue Sachen programmiere, die ja immer einen Fehler haben könnten, den ich sonst ja gar nicht sehe. Nur deshalb weiß ich ja auch von

vor einer Stunde schrieb Phrontistes:

Endlosrekursionen, die Du kommentarlos nach 25 Versuchen ins Leere laufen lässt.

Schöner als ein Stack overflow und einem kalten Abschied ist das allemal :).

Beste Grüße

Michael

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Hawkeye,

es gibt als Fehler auch noch "assert(v,[message]" (erspart eine if-Abfrage)

local v=$("LKW").currentSpeedAbs
assert(v>=40 and v<=60,"Geschwindigkeit außehalb Bereich "..v)

solange der Ausdruck...

v>=40 and v<=60

... wahr ist, gibt es keine Fehlermeldung.

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Hawkeye,

vor 6 Stunden schrieb Hawkeye:

Mach einer versucht zusätzlich noch sein Glück, wenn die Ampel auf "Gelb" steht

... und die ganz wagemutigen fahren - trotz Blitzer - sogar noch bei "rot" drüber.

Screenshot2023-06-27173306.jpg.77d92b07349224a9ee774aeebc239416.jpg

Geblitzt hat es aber nicht:P. Die Animation des Blitzers wäre aber auch kaum zu sehen und sowieso nur, wenn man halbwegs von vorne auf ihn draufschaut. Den ganzen Bildschirm mal kurz aufblitzen lassen kann man ja nicht - oder etwa doch und ich weiß es nicht?

Beste Grüße

Phrontistes

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Minuten schrieb Phrontistes:

... und die ganz wagemutigen fahren - trotz Blitzer - sogar noch bei "rot" drüber.

Klar, ist doch auch logisch, das das passieren kann. Die „Gelb“-Phase dauert genau 2s. Wer sich erst bei „Dunkelgelb“ also nach 1,9s noch entscheidet Gas zu geben, den erwischt es auch.😆
Tja, ist halt wie im richtigen Leben. 🤪

vor 11 Minuten schrieb Phrontistes:

Geblitzt hat es aber nicht:P

Der Blitzer ist ja auch nicht über die EV gesteuert. Da das „Blitzen“ auch nur zu sehen wäre, wenn man in genau diesem Moment auch im Auto mitfährt, habe ich darauf verzichtet.

VG, Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Minuten schrieb Goetz:

das nennt man dann "kirschgelb" ... :D

HAHA! (y) Kannte ich auch noch nicht. :D

vor 50 Minuten schrieb Phrontistes:

Die Animation des Blitzers wäre aber auch kaum zu sehen

Man @Phrontistes >:( Sei doch mal etwas erfinderisch. 9_9

Kann man doch alles mal versuchen. Hier mal ein erster Entwurf für einen "Blitzer", den man auch im MBS wahrnimmt. 

Blitzer.mbp

VG, Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 3 Stunden schrieb Hawkeye:

Hier mal ein erster Entwurf für einen "Blitzer", den man auch im MBS wahrnimmt.

passt!(y)...
(... da krame ich doch sofort in meinem Gedächtnis und frage mich wo ich das Schild für die Geschwindigkeitsbegrenzung übersehen haben könnte)

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Goetz,

ich habe diese Steuerung über den Bremsweg mal auf einen T-Abzweig erweitert. Für die reine Ampelschaltung habe ich dein schönes Beispiel unter Tutorials adaptiert.

Ist das o.k. für dich, wenn ich das verwende?

VG, Hawkeye

Bearbeitet von Hawkeye
Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke @Goetz (y) :)

Hier mal die Erweiterung der Steuerung auf einen T-Abzweig. 

Ampelsteuerung über Bremsweg 01.mbp

Da denkt man endlich einen flüssigen Ablauf erreicht zu haben, da tauchen wieder andere neue Probleme auf. :P  Shit happens! :/

Das neue Problem offenbart sich in der Tatsache, das durch die jetzt unterschiedlichen Richtungen, in die die Fahrzeuge zufällig fahren können, die "automatische Beschleunigung" gerade beim Anfahren recht wirkungslos ist. Der Kontakt zum Vordermann reißt sofort ab, wenn zwei Fahrzeuge, die hintereinander fahren unterschiedliche Richtungen einschlagen.   

Screenshot2023-06-28145734.thumb.jpg.faa4aa80c96a2be15b7b29a86349f249.jpg

Screenshot2023-06-28145749.thumb.jpg.9c02bc9b36dca608eece411737859abc.jpg

Hier schön zu sehen, das der dunkelgraue Käfer gerade mal auf 10 km/h beschleunigt hat und dann der Beschleunigungsvorgang unterbrochen wird, da der dunkelblaue Käfer geradeaus fährt. 

Screenshot2023-06-28145836.thumb.jpg.4e398ada78486e4a8165c76c0e0bc0d8.jpg

Da muss man schon tief in die Trickkiste greifen, um einen einigermaßen flüssigen Ablauf beim Anfahren an der Ampel hinzubekommen. Ganz lässt sich das aber wohl nicht abstellen. Auch nicht mit vielen Gleiskontakten. Mein Ziel ist ja auch, Gleiskontakte auf ein Minimum zu reduzieren, damit es übersichtlich bleibt. 

VG, 

Hawkeye 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Hawkeye,

vielleicht hilft es Dir weiter, wenn Du rechtzeitig weißt, wo das Fahrzeug hinwill. Das kann man in Grenzen (isHeadingToward prüft lt. Neo ca. 150m [im Maßstab 1:1] entlang des Fahrwegs) mit Kontakten vor und nach der Kreuzung feststellen und zwar so:

Screenshot2023-06-28164154.thumb.jpg.6833949564bcf0b105d4c066bfa81d0a.jpg

Hier werden nur Anzeigen gesetzt weil ich das mal ausprobieren wollte und für einen Kreisverkehr, den ich gelegentlich mal machen will, auch wirklich brauche.

Die Anzeigen kannst Du in FBAD92BF-D0D5-48E4-9B4D-A412437C4417 beobachten.

Beste Grüße

Phrontistes

Bearbeitet von Phrontistes
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 19 Minuten schrieb Phrontistes:

vielleicht hilft es Dir weiter, wenn Du rechtzeitig weißt, wo das Fahrzeug hinwill.

Hallo @Phrontistes, danke für die Idee, sie hilft aber nicht. Die Richtung, wo die Fahrzeuge hinmöchten ist doch schon an der „roten“ Ampel bekannt und löst das beschriebene Problem nicht.

vor einer Stunde schrieb Hawkeye:

Der Kontakt zum Vordermann reißt sofort ab, wenn zwei Fahrzeuge, die hintereinander fahren unterschiedliche Richtungen einschlagen.

Ich habe aber schon einen Verdacht, woran das „zu frühe“ Abreißen des Kontaktes zum Vordermann liegen kann. 😉

VG, Hawkeye

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 30 Minuten schrieb Hawkeye:

Ich habe aber schon einen Verdacht, woran das „zu frühe“ Abreißen des Kontaktes zum Vordermann liegen kann.

Jupp, gefunden! :D Es liegt an der Definition der Spuren des Abzweigs. 

Das ist der Abzweig, so wie er im Katalog definiert ist.  Die geraden Spuren sind über die Länge durchgezogen.  

Screenshot2023-06-28174811.thumb.jpg.7c3224aa194664aed89df686cb5ccf7b.jpg

Und die abzweigende Strecke beginnt ebenfalls am Straßenende. 

Screenshot2023-06-28175649.thumb.jpg.e179ef1893a913056850930fd1cce74f.jpg

Ich habe das mal auf eine 3-teilung geändert : 

 Screenshot2023-06-28174936.thumb.jpg.ec83b4c9306a17af1a975ddf46d4245a.jpg  

Dadurch bricht der Kontakt zum Vordermann beim Beschleunigen aus dem Stand auch um die grüne Strecke später ab. Das ergibt einen wesentlich flüssigeres "Anfahren" der Fahrzeuge aus dem Stand. (Kleine Ursache, aber große Wirkung! 9_9)   

VG, 

Hawkeye 

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...