Jump to content

Bereich aus mehreren Schienen und EVs ?


 Share

Recommended Posts

Hallo,

zur Ausleuchtung der Blöcke im GBS möchte ich jeweils alle Schienen der jeweiligen Blöcke zu einer Einheit zusammenfassen. Also wenn ein Zug den Block betritt, soll er im GBS ausgeleuchtet werden. Verläßt der Zug den Block, dann eben wieder "Lichter aus".
(Wie ich Blöcke ausleuchte ist mir klar - funktioniert)
Auf der anderen Seite habe ich gelernt, daß EVs in diesem Zusammenhang nur auf einzelne Schienen gelegt werden können. Obwohl: Wenn ich die Schienen gruppiere, wird mir immer noch das Erstellen von EVs für diese Gruppe angeboten; nur die funktionieren (natürlich) nicht. - werden nicht ausgelöst

OK, es gäbe natürlich einen aufwändigen Workaround mit Spiegeln der Auslöser auf die jeweiligen End-Schienen jedes Blocks. Dann muß man noch auf die jeweilige Richtung aufpassen, damit der eingefahrene Zug, der die Auslöser-Schiene verlassen hat und jetzt im Block ist, nicht den Block gleich wieder frei gibt.
Problem: Die Richtung der Schienen kann man nicht erkennen - nur experimentell.

Gibt es bereits eine Lösung für diese Aufgabenstellung?
Ist das vielleicht eine Option für ein Update?

Gruß
Andreas

Link to comment
Share on other sites

Hallo Andreas

Also ich mache mir da 2 Listen:
Eine Liste mit den Gleisen, die zu einem Block gehören. (Auf der Anlage alle auswählen und kopieren und in der EV in die Liste einfügen)
und
eine Liste mit den GBS Symbolen, die zum Block gehören. (Auf der Anlage alle auswählen und kopieren und in der EV in die Liste einfügen)

Über einen Gleiskontakt an jeder Seite des Block frage ich dann in einer Wiederholung ab, ob ein Fahrzeug auf einem Gleis der ersten Liste steht.
Wenn ja, setze ich alle Objekte der zweiten Liste auf belegt. Wenn nein, setze ich alle Objekte der 2. Liste auf unbelegt.

Kannst Du auch in meiner Anlage : 8F9840BA-5010-4911-AC11-FBC2C40FEE8F sehen

Gruß
Thomas
 

Link to comment
Share on other sites

vor 56 Minuten schrieb AndreasWB:

Meine Idee war ja, daß das Betreten des Blocks (Liste von Schienen) das auslösende Ereignis ist.

Dafür genügt das erste bzw. letzte Gleis des Blocks. Nirgendwo sonst kann ein Zug ihn betreten.
Gib beiden ein Schlagwort, definiere, was beim Betreten passieren soll und ...

Die Gleise dazwischen sind doch nicht relevant. Die benötigst du nur dann, wenn du "ertasten" willst, ob ein Zug im Block ist. Das kannst du beispielsweise beim Start machen oder mit einem Tastendruck auslösen, um neu eingesetzte Züge zu erkennen.

Das Problem bei Gleisstücken als Auslöser ist, dass du nur schwer die Fahrtrichtung unterscheiden kannst. Deshalb sind Kontakte die bessere Wahl. Und Gleislisten eine gute Unterstützung zur gelegentlichen Synchronisation.. 

 

Wenn es Gleise sein müssen: Zu jedem Gleis als Auslöser gibt es zwei Adressen:

  1. altes Gleis
  2. neues Gleis

Damit kannst du bei Bedarf erkennen, von wo nach wo das Gleis betreten/verlassen wird.

Edited by Goetz
Ergänzungen
Link to comment
Share on other sites

Hallo Goetz,

vor 1 Stunde schrieb Goetz:

Dafür genügt das erste bzw. letzte Gleis des Blocks. Nirgendwo sonst kann ein Zug ihn betreten.
Gib beiden ein Schlagwort, definiere, was beim Betreten passieren soll und ...

Da war doch mein Argument:

vor 3 Stunden schrieb AndreasWB:

... Dann muß man noch auf die jeweilige Richtung aufpassen, damit der eingefahrene Zug, der die Auslöser-Schiene verlassen hat und jetzt im Block ist, nicht den Block gleich wieder frei gibt.

Mal das Extrem: Der Zug ist nur eine Lok. Beim Betreten der Auslöser-Schiene wird der Block "besetzt", jedoch fährt die Lok ja dann in den Block und verläßt die Auslöser-Schiene. Damit dann schon "frei", obwohl die Lok sich noch im Block befindet.
Klar: Jetzt muß wieder ein Auswerte-Moloch her (vergleichbar dem, was Thomas macht), um zu merken, daß Zug/Lok noch im Block ist.
Genau das wollte ich aber vermeiden. B|

Daher mein Vorschlag, die Sammlung der Schienen, die den Block bilden, als neues "Gleis"-Objekt im Sinne der EVs deklarieren zu können.

Gruß

Andreas

Link to comment
Share on other sites

Hallo Andreas,

die Idee mit den Kontakten ist gut. Du brauchst dafür am Beginn des Block den Einfahrkontakt, welcher beim Betreten ausgelöst wird und am Ende des Blocks einen Ausfahrkontakt, welcher logischerweise beim Verlassen ausgelöst wird. Beiden schalten ein Element  im GBS. Alle anderen Elemente die zu dem Gleis gehören, verknüpfst Du mit dem ersten Element.

Die Kontakte dürfen nur in Fahrtrichtung ausgelöst werden. sollte das Gleis in beiden Richtungen befahren werden, brauchst Du jeweils einen Einfahr- und Ausfahrkontakt. Es geht natürlich auch in beiden Richtungen nur mit zwei Kontakten, die müssen dann aber über die EV beim Betreten des ersten Kontakts entsprechend konfiguriert werden.

Gruß Old Grey

Link to comment
Share on other sites

vor 4 Stunden schrieb AndreasWB:

Daher mein Vorschlag, die Sammlung der Schienen, die den Block bilden, als neues "Gleis"-Objekt im Sinne der EVs deklarieren zu können.

Schon klar.
Aber da das leider nicht funktioniert, (weil das System anders ausgelegt ist), zeige ich dir, welche Wege funktionieren und dich weiterführen.

Bitte, erlaube mir dass ich dir genauer erläutere, was die EV im Kern ist:
Auch ohne diese EV finden ständig Ereignisse statt. Der Wechsel von einem Gleis zum nächsten ist solch ein Ereignis, weil die Software jedes Fahrzeug relativ zum Gleis positioniert und diese Relation an jeder Nahtstelle neu erstellt werden muss, damit das Studio einen Zug über die Gleise bewegen kann..

Mit der EV hängst du dich an Ereignisse dran, die sowieso stattfinden.
Du klinkst dich dort ein und sagst: Wenn du das gerade machst, dann erledige doch bitte dieses und jenes für mich gleich mit.

Das Betreten oder Verlassen einer Gruppe von Gleisen oder eines Blocks ist für das Modellbahnstudio kein eigenständiges Ereignis.

Edited by Goetz
Link to comment
Share on other sites

Dieses "neue Gleisobjekt" mußt Du immer definieren. Wie eben auch eine Liste.
Bleibt noch die Abfrage. Dafür kannst Du aber eine EV Benutzerdefinierte Funktion nutzen.
Der einzige Mehraufwand ist in meinen Augen, die Liste als Variable zu definieren.
Für das MBS ist der Rechenaufwand immer der gleiche.

Gruß
Thomas

Link to comment
Share on other sites

Naja,
die Idee war ja, mögliche Inkonsistenzen zu vermeiden.
Wenn man bei "Eintritts-Gleis" die Liste der zum Block gehörigen und zu beleuchtenden Symbole hinterlegt, muß man das für die Gegenrichtung beim anderen Eintritts-(/Austritts-)Gleis auch machen. Wie Datenbank-Fachleute wissen, können sich eben da Fehler einschleichen.

So, nun bin ich folgendermaßen vorgegangen:
Ich habe eine Liste aller Blöcke als globale Modulvariable angelegt. Jeder Block-Eintrag wiederum enthält die Liste aller zu betätigender GBS-Symbole. Wird nun ein entsprechendes Ereignis (reservieren/belegen/freigeben) ausgelöst, muß nur eine benutzdefinierte Prozedur mit Name des Blocks und Status aufgerufen werden.
-> Blockliste[Block-Name]

Somit ist die Gefahr von Inkonsistenzen auf ein Minimum reduziert.

Gruß

Andreas

Link to comment
Share on other sites

Hallo Geotz,

vor 21 Stunden schrieb Goetz:

Das Betreten oder Verlassen einer Gruppe von Gleisen oder eines Blocks ist für das Modellbahnstudio kein eigenständiges Ereignis.

Daß da ständig ereignisse ablaufen ist mir schon klar. Sieht man ja auch bei der Protokollierung, wenn man einen Ablauf genauer untersuchen will. Ebenso irgndwo in den Videos gut gezeigt.

Mein Vorschlag war, zukünftig(e Version) einen Abschnitt aus mehreren (zusammenhängenden) Einzelschienen wieder als "Gleis"-Objekt definieren zu können - für die Ereignisverwaltung - , um eben solche Workarounds zu vermeiden.

Gruß

Andreas

Link to comment
Share on other sites

vor 36 Minuten schrieb AndreasWB:

Wenn man bei "Eintritts-Gleis" die Liste der zum Block gehörigen und zu beleuchtenden Symbole hinterlegt, muß man das für die Gegenrichtung beim anderen Eintritts-(/Austritts-)Gleis auch machen.

Nein. Die hinterlegst du nur einmal zentral. Beiden Eintrittsgleisen gibst du dasselbe Schlagwort und sorgst so dafür, dass beim Betreten des einen oder anderen Gleises ein Mechanismus in Gang gesetzt wird, der diese eine Liste verwendet.

Edited by Goetz
Link to comment
Share on other sites

Hallo Andreas,

wenn Dein Gleisplan feststeht, weißt Du ja, welche Gleisabschnitte jeweils zu einem GBS-Abschnitt gehören. Dann kannst Du mit dem 3D-Modelleditor alle diese Gleise wie nachfolgend gezeigt zu einem Gleis zusammenfassen:

Konfigurationsbeispiel.thumb.jpg.aaba84a107f07413af732cd8fb28d926.jpg

Das obere Beispiel zeigt 5 Märklin-Metallgleise (3 Geraden mit 180 mm Länge und 2 30°-Bögen mit 360 mm Radius). Darunter ist ein einzelnes Gleisstück abgebildet, das dieselbe Geometrie wie die 5 oberen Gleise aufweist.

3D-Modelleditor.thumb.jpg.f626608bc5bf865649b3c4340ecb0bac.jpg

Das untere Gleis wurde mit dem 3D-Modelleditor erzeugt, der über den Bearbeiten-Button im EIgenschaftsfenster des zu bearbeitenden Gleises augerufen wird. Dort werden dann als Folge einfach die Gleisgeometrien der zusammenzufassenden Einzelgleise hintereinander eingetragen. Dies funktioniert natürlich nur, wenn die zusammenzufassenden Gleise alle in derselben Ebene ohne Steigungsänderung verlegt sind.

Fragen an @Neo:
Wenn man bei einer fertigen Anlage doppelt auf ein einzelnes Gleis klickt, werden automatisch beidseitig alle anschließenden "einfachen" Gleise mit ausgewählt. Man bekommt also auf diese Weise einen kompletten Gleisstrang zwischen zwei Weichen oder Kreuzungen markiert. Damit hat das Modellbahn-Studio diese Gleise intern irgendwo als Liste gespeichert. Wäre es eventuell möglich, eine Funktion anzubieten, mit welcher man diese markierten Gleise wie im obigen 3D-Modelleditor-Bild gezeigt zu einem einzigen Gleis mit der Geometrie der markierten Gleisliste zusammenfassen kann? Wäre dies eventuell auch über Steigungen hinweg möglich? Das wäre dann genau der Vorschlag von Andreas.

Wäre es eventuell auch möglich, die Definition von Schlagwörtern und Objektvariablen (letztere möglicherweise mit optionaler Wertzuweisung) auch für ausgewählte (markierte) Objektgruppen zuzulassen?

Viele Grüße
BahnLand

 

Edited by BahnLand
Link to comment
Share on other sites

Hallo,

vor einer Stunde schrieb HaNNoveraNer:

Dann wäre mein Vorschlag für die Zukunft, Fahrstrassen, statt solcher Monstergleise zu definieren und den GBS Symbolen die jeweilige Fahrstraße zuzuweisen.

das wäre auch mein Fokus. Sehr wahrscheinlich werden die Themen Fahrstraßen, Blöcke, Signalautomatisierungen etc. bereits in V7 eine große Rolle spielen, denn hier wiederholen sich aktuell die Herausforderungen der Nutzer, obwohl das Studio viel automatisieren kann.

Viele Grüße,

Neo

Link to comment
Share on other sites

vor 3 Stunden schrieb Neo:

das wäre auch mein Fokus.

Halte ich auch für sinnvoller.
Denn den Fall, dass

vor 6 Stunden schrieb BahnLand:

ein Gleisplan feststeht

gibt es meines Wissens nicht.    :D
Nur Provisorien halten manchmal ewig. Alles andere ändert sich.

Link to comment
Share on other sites

Hallo Neo,

vor 11 Stunden schrieb Neo:

Hallo,

das wäre auch mein Fokus. Sehr wahrscheinlich werden die Themen Fahrstraßen, Blöcke, Signalautomatisierungen etc. bereits in V7 eine große Rolle spielen, denn hier wiederholen sich aktuell die Herausforderungen der Nutzer, obwohl das Studio viel automatisieren kann.

Viele Grüße,

Neo

na das klingt doch sehr vielversprechend.
Also warten wir mal ab.

Ich knabbere gerade daran, wie auf Basis der Weichenstellungen Folge-Blöcke zwecks Reservierungs-Status über EV-Prozedur identifiziert werden können. Gar nicht so einfach. :$

Gruß

Andreas

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...