Jump to content

Straßenverkehr


fzonk

Empfohlene Beiträge

Hallo Andy,

 

schon wie ich deine Nachricht gelesen habe ahnte ich was passiert ist und genau dies hat sich bestätigt. Ein Auto was den anliegenden Parkplatz verlies hat die Straße gesperrt (Variable „PP3 ausfahrt“ wird auf 1 gesetzt) dies verursacht den Stopp auf „B3 links 03“. In der Theorie wird die Variable nach verlassen wieder auf 0 gesetzt (in dem Fall nicht geschehen) und der Verkehr wieder freigegeben (Fahrzeug auf „B3 links 03“ beschleunigt). Bei dem gespeicherten Stand von dir ist es mir leider nicht mehr möglich nachzuvollziehen was der Grund war, dass die Variable nicht wieder auf 0 gesetzt wurde. Theoretisch hilft es (bei rechtzeitigen entdecken, in dem Fall zu spät) die Variable „PP3 ausfahrt“ auf 0 zu setzten und das Fahrzeug an zu schubsen (manuell 100 km/h). In dem Fall ist aber alles zu spät, wenn ich den beschrieben Vorgang durchführe verursacht der komplett zum erliegen gekommene Verkehr dann Folgefehler.

Den bei dir aufgetreten Fehler hatte ich schon ewig nicht mehr, ich befürchte es gab ein Zuordnungsfehler bei den Variablen (warum auch immer???) denn es hätte eigentlich die Variable „PP3 sperren“ den Wert 1 haben müssen, dieser ist aber 0.

Ich habe in ganz seltenen Fällen das Problem dass Variablen falsch zugeordnet werden, warum dies so ist und was ich dagegen machen könnte weiß ich leider nicht. Da hilft meist nur Anlage neu starten oder die Variablen überprüfen und den Fehler finden.

 

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,
nachdem BahnLand dankbarerweise das Format des XML-Exporters erweitert hat, komme ich schneller voran.
Ich gehe beim Check jetzt wie folgt vor:
  Ich habe Deine Variablennamen aufgesplittet, als wären sie ein parametrisierter Funktionsaufruf.
  Dann markiere ich z.B. die Gruppe Kreuzung A1 und ersetze alle 'A1' in arg0.
  In der Gruppe Kreuzung A2 wird das 'A2' zum arg0, und somit praktisch der Hauptparameter.
  Ähnlich funktioniert das in Untergruppen wie 'von links' etc.
  Danach sind sich alle Blöcke viel ähnlicher und man sieht sofort, wenn da ein falscher Variablenname auftaucht. Aber noch sehe ich direkt nichts.
Es ist halt doch sehr viel, und es wird ein wenig dauern. Wenn Du jetzt noch Änderungen vornimmst, macht das nix, denn ich habe mit WinMerge auch noch ein Tool,
dass ganz genau die Unterschiede zwischen Versionen findet. Und dann läuft außerdem meine Schnittstelle jetzt wie ein Lottchen, und ich kann den Logger fertigstellen.
Damit können wir alle Fahrzeugbewegungen aufzeichnen. Ich weiß schon, warum ich den schreibe! Wir werden dem Schwein schon kriegen, und wenn ihm quiekt. :D

Grüße
  Andy
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Andy,

da bin ich ja mal gespannt was deine Programme dann so herausfinden. Aktuell sehe ich persönlich in der EV keine Punkte mehr wo ich was ändern könnte, außer vielleicht die Anzahl der aktiven Fahrzeuge zu ändern (zu beschränken), wenn ich die noch auftretenden Fehler mir anschaue haben sie größtenteils damit zu tun dass eine Variable falsch gesetzt wir, wie bei deiner Fehlersituation und habe die Vermutung dass dies meist passiert wenn nahezu alle Fahrzeuge aktiv sind.

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo fzonk,

hier die versprochenen Dateien, einmal die MBP, in der Problemsituation gerade noch rechtzeitig gestoppt, bevor der "209 Kompaktwagen" an Kreuzung A2 seinen eigenen Weg findet, die Situation aufzulösen, (lohnt sich wirklich, sich das anzusehen!) und die Log-Datei, die die letzten 200 Sekunden drin hat. Die Codes habe ich schon so gewandelt, dass man es etwas besser lesen kann.
Die Schnittstelle sendet allerdings nicht alle Aktionen. So sendet sie zwar, wenn der Countdown abgelaufen ist, aber nicht, wenn er gestartet wird. Man muß es also im Wesentlichen aus den Bewegungen der Fahrzeuge herausklamüsern. Das Problem ist der 403 Robbin, der aus dem Parkplatz an C2 nicht rauskommt, der Bulli ist unschuldig.

An alle Anderen: Habe fzonk vorgeschlagen, dass selbst, wenn wir den Fehler finden, wir ihn drin lassen sollten, das macht die Anlage spannender, wie in einem echten Flugsimulator, bei dem auch 'ne Panne gelöst werden muß :D

Grüße
  Andy

 

fehl2.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also, da ich noch ein weiteres Beispiel eingefangen habe, bei dem der Tankstellenwert auf -1 gefallen ist (und PP3 auch), habe ich alle Tankstellenereignisse mal isoliert und genau untersucht. Es ist definitiv so, dass die EV das Betreten von sehr kurzen Gleisstücken (in diesem Fall die beiden(!) bunten an der Tankstellenausfahrt) gelegentlich einfach nicht erkennt und dann gibt's Probleme, da diese ja meistens als Schaltgleise gedacht sind. Es ist nicht mal so, dass der Käfer hier übermäßig schnell wäre, oder die EV an dieser Stelle sehr viele Ereignisse gleichzeitig behandelt (jedenfalls nicht im Log), diese fehlen einfach. Es fehlt interessanterweise auch das Verlassen des Gleises davor. Ich denke, wir brauchen da gar nicht lange weiter zu suchen, denn der Rest ist schon sehr ordentlich programmiert, und es dauert auch über 5 Minuten, bis der Zirkus anfängt. Es liegt jetzt an uns, irgendwelche Tests aufzusetzen, um nachzuweisen, wann genau die EV in Probleme gerät, damit diese umgangen werden können.

Zeit 480.922: betritt 303 VW 1200 Käfer dunkelblau Tank betritt Tank ausfahrt 03;0 von Tank ausfahrt 02;0
nächstes Ereignis mit dem Käfer:
Zeit 486.859: verläßt 303 VW 1200 Käfer dunkelblau Tank verläßt Kreutzung B2XT sortieren links;0 nach Kreutzung B2 links 01;1

dazwischen fehlt ein wenig, und dass es nicht nur bei mir im Log fehlt, zeigt die Tankstellenvariable

Grüße
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da ist nur noch die Frage aller Fragen:

 

Warum werden Schritte übersprungen???

 

Ich vermute schon seit längerem das genau dieses Phänomen Ursache für auftretende Fehler ist. Denn es ist keine Konstante (Zeit, Ort, bestimmtes Fahrzeug…) auszumachen. Die einzige Konstante ist: irgendwann gibt es einen Fehler

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 39 Minuten schrieb fzonk:

Warum werden Schritte übersprungen???

Zig Möglichkeiten. Alles was wir tun können, ist, zu versuchen, das Problem zu isolieren und es Neo mit einem Schleifchen zu präsentieren, sodaß er da nicht zu lange suchen muß. Ob er es dann überhaupt verbessern kann, ist nicht unbedingt gesagt.
Das MBS hat unabhängig von der Grafik noch einiges zu tun. In dem Fall war es ca. Ereignis 38000 nach 470 Sekunden, d.h. alle 12 ms geschieht eines dieser Ereignisse, und das sind da nicht alle. Und er muß für jedes Fahrzeug eine 3d-collision-detection machen, ist ja nicht so, dass da einer den Finger hebt und sagt, eben überschreitet etwas eine Linie, und - das ist räumlich! Und es muß alles gut vorsortiert sein, nutzt ja nix wenn er alle möglichen Gleise für ein Fahrzeug durchcheckt. Dann hätte man Standbild!
Ich werde einfach mal einen Kreis bauen, bei dem die Reihenfolge der Überschreitungen fest vorgegeben ist, und dann im Logger abfangen, ob diese Reihenfolge auch erhalten bleibt. Dann Lok schneller, Gleise kürzer, noch ein Kreis. Irgendwann wird's passieren..

Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo an alle,

ich habe mich dann doch noch mal an die EV gesetzt und ein paar Kleinigkeiten überarbeitet. Unter anderem habe ich mich dazu entschlossen die aktiven Fahrzeuge zu reduzieren, da die Masse wohl zu viel „Stress“ für die EV ist, seit dem konnte ich bei NORMALER GESCHWINDIGKEIT keine Fehler feststellen. Auch der Feuerwehreinsatz hat keine Fehler mehr verursacht und läuft bei mir fehlerfrei.

Schaut euch die Anlage doch einfach noch mal an und berichtet mir wie es bei euch läuft. Ich hänge die überarbeitete Anlage mit an, im Online Kataloge habe ich sie auch unter der ID 525A0E0E-F465-4065-893C-CB06B7DBCF16 aktualisiert.

An der Stelle ein dickes Dankeschön an @Andy, der sich viel Zeit um die Ohren geschlagen hat um Fehlerquellen zu finden und zu definieren und ein ganz großes Dankeschön an alle Modellbauer, die die super Modelle „basteln“ und bereitstellen.

 

Gruß Frank

Straßenverkehr2.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

so sieht das Ganze schon viel besser aus bzw. ist genügend Straßenverkehr vorhanden und es scheint alles reibungslos zu funktionieren. Ohne mich mit der Verwendung von Variablen großartig auszukennen, erschien mir allein vom Gefühl her die generelle Geschwindigkeit von 100 km/h bei allen Fahrzeugen zu hoch, da subjektiv ein Rutschen der Fahrzeuge beim Anhalten zu beobachten war und man daher zumindestens annehmen konnte, dass dabei auch ungewollt von einzelnen Fahrzeugen relevante Schaltgleise unbeabsichtigt betreten wurden. Allerdings fahren auch in der von Dir nun überarbeiteten Version immer noch Fahrzeuge zeitweise mit 100 km/h, was in der Realität ein klarer Verstoß gegen die STVO wäre. Innerorts gilt nunmal 50 und vielleicht liesse sich dann sogar wieder die Anzahl der Fahrzeuge vermehren. Kannst ja mal nachdenken, ob es Dir den Aufwand wert ist. Ansonsten möchte ich noch meine Anerkennung für Deine Puzzlearbeit mit der EV zum Ausdruck bringen.

Gruß

Streitross

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Frank,
sieht super aus jetzt. Eine halbe Stunde ist rum, Feuerwehreinsatz absolviert, Parkplätze jetzt zugemacht. Alles hat eingeparkt, außer dem PPP04 VW T1 Bus (Bulli), der dreht mit dem Stadtrundfahrtbus gemütlich seine Runden. Variablen sind nur noch zwei ungleich 0:
Bushofausfahrt sperren -1
PP1 Ausfahrten zählen 1;
und natürlich ggf. mal ein Straßenzähler.
Ereignisse: 66590 in 2592 Sekunden = 39 ms.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @streit_ross,

 

danke für die schönen Worte :), ja in der EV stecken inzwischen sehr viele Stunden. Zu der Geschwindigkeit, die Anlage stammt noch aus V3 wo diese noch in m/s angegeben war. Ich hatte mir nie die Mühe gemacht dies umzurechnen:/, nach der Umstellung auf V4 und auf km/h waren die 100 da. Ja es mag gegen die STVO verstoßen, aber nicht in dieser Stadt;). Die „Straßengleise“ sind so ausgelegt dass sie lang genug sind für die Bremswege. Anfänglich gab es tatsächlich noch Probleme, aber diese konnte ich meines Erachtens alle ausmerzen. Ein weiterer Grund warum ich die Geschwindigkeiten nicht auf 50 km/h geändert habe ist dass ich gefühlte 10.000 Befehle in der EV umschreiben müsste und mir gerade das „rutschen“ und auch im Gegenzug das beschleunigen gefällt und so ein noch realistischeren Eindruck macht (könnte man auch für jedes Fahrzeug einzeln hinterlegen, macht dann aber noch mehr Arbeit).

 

@Andy bei mir lief die Anlage im Hintergrund inzwischen über 2 Stunden ohne einen Fehler. Die zwei Fahrzeuge werden wohl einfach noch nicht ihren Parkplatz gefunden haben (die letzten verbleibenden brauchen gefühlt eine Ewigkeit, als Tipp: wenn nur noch eine Handvoll Fahrzeuge übrig ist auf 4 fache Geschwindigkeit gehen, dies sollte die EV hinbekommen), zumindest stehen die beiden Fehler der Variablen nicht im Zusammenhang mit der Parkplatzsuche. Der „PP1 Ausfahrten zählen 1“ Fehler ist nicht mal einer, dieser beschreibt nur das noch ein Fahrzeug von Parkplatz 1 unterwegs ist, der Stadtrundfahrtbus. Diese Variable ist eine Neuerung zum zählen und begrenzen der ausfahrenden Fahrzeuge von diesem Parkplatz:D.

 

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo an Alle,

ich habe noch einmal ein paar Kleinigkeiten überarbeitet. Dieses Mal ging es jedoch weniger um die EV sondern um ein paar optische Sachen. @Holzwurm hatte die Idee dass Gelenkbusse zum Einsatz kommen könnten, damit Die Busse nicht immer die Häuser streifen bei den Haltestellen (und andere Verkehrsteilnehmer).

image.thumb.jpeg.b85e5fdef0f40e490f9f1fc94e2d6ca0.jpeg

Da ich den Vorschlag nach etwas Überlegung gar nicht so schlecht fand habe ich dies nun doch umgesetzt und bis auf die Spiegel funktioniert dies in der Tat sehr gut und sieht auch besser aus. Die überarbeitete Anlage habe ich im Online Katalog aktualisiert.

 

Gruß Frank

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