Jump to content
pfjoh

EV Vereinfachung

Recommended Posts

Guten Morgen Neo und alle anderen EV Spezialisten

Ich hab ne Frage. Und zwar bei meiner neuen Anlage sollen  auf der Nebenstrecke zwei Dampfzüge ( Br86 und BR8601) verkehren und vier Triebwagen ( Triebwagen 1-4) Beim Einfahren in den Bahnhof sollen die Dampfzüge auf Gleis 02, die Triebwagen auf Gleis 01 über Weiche W xx  Das passiert über ein Schalt bzw Ereignisgleis SKxx, welches beim passieren die Weiche stellt.

In der EV muss ich dieses Ereigniss jetzt für jeden Lok bzw Triebwagen einzeln eingeben. Wäre es  möglich in der EV bei Eingabe Ereignis " Lok betritt Gleis"  nicht nur die zwei  Optionen Lok xx oder Alle Fahrzeuge, eine dritte Option zu haben wo ich mehrere Loks definieren könnte?  Zum bessern Verständnis noch ein Foto von der EV dazu

MfG Hans

Screenshot (16).jpg

Edited by pfjoh

Share this post


Link to post
Share on other sites

Hallo @pfjoh

In gewisser Weise kannst du dies jetzt schon in einem „Befehl“ unterbringen.

Bei Ereignis: „Zug betritt Gleis/Straße“ nur das Gleis definieren und bei Fahrzeuge „Alle“ einstellen.

Bei Bedingung: ändern auf „Eine Bedingung muss erfüllt sein (oder)“ dann „Fahrzeug steht auf einem Gleis/ einer Straße“ hinzufügen und dann Gleis (selbiges wie bei Ereignis) und Fahrzeug definieren, diesen Schritt für alle Fahrzeuge wiederholen die diese Aktion auslösen sollen

Bei Aktion: deine Gewünschte Aktion definieren

Ist auch etwas Aufwendig, da du immer wieder bei Bedingung das Gleis und das entsprechende Fahrzeug einfügen musst. Vorteil ist, du hast nur einen Befehl.

Eine weitere Möglichkeit ist du erzeugst dein Ereignis wie gehabt (nur Ereignis (Gleis und Fahrzeug) und Aktion) nach dem du dies einmal erzeugt hast kopierst du dir dieses immer wieder und tauschst in der Kopie nur das Fahrzeug aus. Diese Variante geht sehr schnell, da nur ein Punkt geändert werden muss.

Gruß Frank

Share this post


Link to post
Share on other sites

 

vor 37 Minuten schrieb fzonk:

Hallo @pfjoh

In gewisser Weise kannst du dies jetzt schon in einem „Befehl“ unterbringen.

Bei Ereignis: „Zug betritt Gleis/Straße“ nur das Gleis definieren und bei Fahrzeuge „Alle“ einstellen.

Bei Bedingung: ändern auf „Eine Bedingung muss erfüllt sein (oder)“ dann „Fahrzeug steht auf einem Gleis/ einer Straße“ hinzufügen und dann Gleis (selbiges wie bei Ereignis) und Fahrzeug definieren, diesen Schritt für alle Fahrzeuge wiederholen die diese Aktion auslösen sollen

 

Hallo

Genau das hab ich als erstes versucht und das klappt nicht? Anscheinend kann die EV das nicht gleichzeitig Fahrzeug betritt Gleis und Fahrzeug steht auf Gleis. Zumindest bei mir funkts nicht leider.

MfG Hans

Share this post


Link to post
Share on other sites

Hallo Hans,
siehst Du, da kommen die Objektvariablen ins Spiel, die Dir noch nicht geheuer sind.
Verlegen wir das Problem mal auf die Straße. Ich habe vor einer Bushaltestelle eine Weiche. Davor ist ein Straßenstück, das die Weiche schalten kann.
Da habe ich nun ein Ereignis Fahrzeug betritt Gleis/Straße, und nenne 'alle Fahrzeuge' und die Straße. Die EV wird, wenn das Ereignis ausgelöst wird, in _Trigger1 auch das Fahrzeug erkennen. Um jetzt ein riesiges Bedingungs-ODER-Gatter über mögliche Fahrzeuge zu vermeiden, befrage ich die Variable $_Trigger1.istBus auf Wert 1.
Und alle meine Busse bekommen eine Objektvariable istBus, die ich auf 1 setze. Andere Fahrzeuge brauchen die Variable nicht, wird sie befragt und ist nicht da, hat sie immer den Wert 0. Klappt prima!

Gruß
  Andy

Share this post


Link to post
Share on other sites

Hallo Hans,

Du kannst das Problem auch mit Objektvariablen lösen:
1508363504_01Objektvariableneinrichten.thumb.jpg.40831cc553ad00c3e40727efca03aa9e.jpg

Wähle hintereinander jedes Fahrzeug aus, für welches jeweils die richtige Verzweigung ausgewählt werden soll. Öffne den Bearbeitungsdialog für Objektvariable ...

87360424_02Objektvariabledefinieren.thumb.jpg.0d64a1d0c45d62e2e1702c6ebdb2644c.jpg

... und füge eine neue (Objekt-)Variable hinzu (1), der Du (beispielsweise) die Bezeichnung "Typ" gibst, und welcher Du bei den Dampfloks den Wert "Dampflok" und bei den Triebwagen den Wert "Triebwagen" zuweist (2) (Du könntest anstatt der "Klartext"-Werte natürlich auch Nummern (z.B. 0 und 1) als Werte zuweisen). Die Variable erscheint dann in der Liste der dem Objekt (hier der Lok) zugewiesenen Objektvariablen (3).

872945021_03Variablenanzeige.thumb.jpg.9f417bfbea84087d1cda0c3c20659d6b.jpg

Nachdem Du allen betroffenen Fahrzeugen die Variable "Typ" mit dem entsprechendn Wert (z.B. "Dampflok" und "Triebwagen") zugewiesen hast, kannst Du diese Werte bei der Ereignisverwltung (1) nochmals überprüfen, indem Du dort auf die Anzeige "Aktive Countdowns und Variablen" wechselst (2) und dann die Liste der im Anlagen-Projekt vorhandenen Variablen (insbesondere die Objektvariablen) angezeigt bekommst (3).

1118519891_04Gleisplan.thumb.JPG.d695133cbf21b9757b371eba2bad58fc.JPG

Sei nun beispielsweise dies oben der betroffene Teil Deines Gleisplans mit dem Schaltgleis 01, der Weiche 01 und den Gleisen 01 und 02, welche jeweils bei einer bestimmten Schaltung der Weiche angefahren werden können. Dann kannst Du wie folgt ein einzelnes Ereignis definieren, das Dein Problem für alle betroffenen Dampfloks und Triebwagen - und zwar unabhängig von deren Anzahl - löst:

1313299871_05Steuerung.thumb.jpg.c76b8eab3acddae08688f058ded57fc9.jpg

Nimm das "Zug-betritt-Gleis"-Ereignis und spezifiziere dort "nur" das "Schaltgleis 01" (nicht das Triebfahrzeug). Wechsle dann zu den Bedingungen und setze die Bedingung "Variable besitzt den Wert" ein. Als Name der Variable wählst Du "_Trigger1.Typ". Dabei ist "_Trigger1" eine vordefinierte Variable des Modellbahn-Studios, die beim Auswerten des Ereignisses "Zug betritt Gleis" die Bezeichnung der den einfahrenden Zug antreibenden Lok enthält. Fährt also beispielsweise ein Zug mit der Dampflok "Dampflok BR86" in das "Schaltgleis" ein, repäsentiert der Ausdruck "_Trigger1.Typ" die Objektvariable "Dampflok BR86.Typ" mit dem Inhalt "Dampflok". Fährt dagegen der "Triebwagen 03" ein, referenziert "_Trigger1.Typ" die Objektvariable "Triebwagen 03.Typ" mit dem Wert. "Triebwagen".

Die Bedingung prüft also, ob die Objektvariable "....Typ" des einfahrenden Fahrzeugs den Wert "Dampflok" besitzt. Trifft dies zu, ist das einfahrende Fahrzeug eine Dampflok und wird daher über die Aktion bei "Bedingung ist erfüllt" über die Stellung 0 der "Weiche 01" nach "Gleis 01" geschickt. Ist die Bedingung dagegen nicht zu, ist das eingefahrene Fahrzeug keine Dampflok und wird daher über die Aktion bei "Bedingung ist NICHT erfüllt" über die Stellung 1 der "Weiche 01" nach "Gleis 02" geschickt.

Wie oben bereits erwähnt, funktionierte diese Ereignisdefinition unabhängig von der Anzahl der möglicherweise zu prüfenden Triebfahrzeuge - unter der eien Bedingung, dass für jedes betroffene Fahrzeug die Pbjaktvariable "Typ" angelegt und mit dem jeweils zutreffenden Wert belegt wurde.

So! Jetzt hat mich Andy wieder mal überholt >:(:D.
Seine Aussage ist im Prinzip idenitisch mit dieser Beschreibung.

Seine letzte Ausage stimmt alledings meines Erachtens nicht: Ist die Variable nicht "belegt" besitzt sie nicht den Wert "0", sondern ist "leer" (d.h.sie enthält "nichts").

Viele Grüße
BahnLand

Share this post


Link to post
Share on other sites
vor 1 Minute schrieb BahnLand:

sondern ist "leer"

Hallo BahnLand,
jau, war ich etwas schlampig. Wahrscheinlich ist es sogar so, dass, wenn er die Variable nicht findet, die Bedingung gleich mit 'falsch' abbricht.
Und ärgere Dich nicht, wenn ich mal schnell poste, während Du Deine schönen aufwändigen Erklärungen noch am Basteln bist. Die erklären dann meine Erklärung auch ;)
Und ich freue mich, wenn ich gar nicht so falsch liege. Ich denke, jeder schätzt Deine Hilfen!

Grüße Andy

Share this post


Link to post
Share on other sites

Hallo

Ich habe dir mal eine Musteranlage ohne Variablen gebaut. Es gibt in der EV nur zwei Punkte. Ziel ist es dass die Weiche immer so schaltet dass alle Dampfloks das innere Gleis und die Dieselloks das äußere Gleis nutzen.

image.jpeg.66e51598d3d04d621c6b6f3832d09f54.jpeg

Wichtig in der EV ist bei Bedingungen die Einstellung auf „oder“

Gruß Frank

Weiche.mbp

Share this post


Link to post
Share on other sites

Hallo Andy,

das "böse" Smily war ja nur Spaß! :) Das macht mir gar nichts aus, wenn ich überholt werde.
Besser zwei Antworten als gar keine. Und wenn ich dann so eine "doofe" Bemerkung mache, dann nur, um meine Antwort vor der Tonne zu bewahren.

Die Bedingung wird übrigens trotzdem "durchgezogen". D.h. wenn die Bedingung die Variable auf "0" testet, und die Variable ist überhaupt nicht vorhanden, wird wie bei einem anderen Wert in der "existierenden" Variable die alternative Aktionenliste für "Bedingung NICHT erfüllt" abgearbeitet.

Viele Grüße
BahnLand

Share this post


Link to post
Share on other sites
vor einer Stunde schrieb BahnLand:

das "böse" Smily war ja nur Spaß!

Na logisch, das hätte ich auch nicht anders erwartet.
Und ja, der 'Abbruch' gilt natürlich nur für die Einzelaussage. Ein anderes erfülltes ODER könnte die Gesamtbedingung trotzdem noch wahr machen.

Lassen wir das den Hans alles erstmal verdauen. Das muß nur einrasten, bevor er ausrastet. Aber er packt das schon.

Grüße Andy

Share this post


Link to post
Share on other sites
vor 16 Stunden schrieb BahnLand:

 

Wie oben bereits erwähnt, funktionierte diese Ereignisdefinition unabhängig von der Anzahl der möglicherweise zu prüfenden Triebfahrzeuge - unter der eien Bedingung, dass für jedes betroffene Fahrzeug die Pbjaktvariable "Typ" angelegt und mit dem jeweils zutreffenden Wert belegt wurde.

So! Jetzt hat mich Andy wieder mal überholt >:(:D.
Seine Aussage ist im Prinzip idenitisch mit dieser Beschreibung.

Seine letzte Ausage stimmt alledings meines Erachtens nicht: Ist die Variable nicht "belegt" besitzt sie nicht den Wert "0", sondern ist "leer" (d.h.sie enthält "nichts").

Viele Grüße
BahnLand

GUTEN MORGEN Bahnland und Andy

Es ist jetzt 08:26. Für einen fast Pensionisten eine unchristliche Zeit gg. Ich sitze zwar vorm PC mein Gehirn liegt aber noch im Bett

Das muss ich erst mal verdauen, aber das glaub ich bekomme ich hin. Und ich sag es wieder mal sowas gehört in einen Katalog. Ich werde ab heute solche Sachen in Word als Katalog speichern. Schön nach Alphabet geordnet. Vielleicht Stell ich ihn dann mal Online, wenn ich das Forum durchforstet hab nach allem was hilft .

Eigentlich ist ja jeder Dank viel zu wenig für das ihr euch als Hilfe antut. großes DANKE.

MfG Hans

Share this post


Link to post
Share on other sites
vor 16 Stunden schrieb fzonk:

 

Wichtig in der EV ist bei Bedingungen die Einstellung auf „oder“

Gruß Frank

Weiche.mbp

Guten Morgen fzong

Ja wenn das Wörtchen ODER nicht wäre genau das war der Fehler Auch deine Lösung hat sich schon im Katalog verewigt. Danke dafür. Natürlich gilt auch für dich der letzte Satz im oberen Thread auch für dich. Danke

MfG Hans

 

Share this post


Link to post
Share on other sites

Hehe, zwei Links auf BahnLand's Artikel haben es bei mir schon in die Symbolleiste geschafft (y)

Grüße Andy

Share this post


Link to post
Share on other sites

Hallo zusammen,

falls man sich angewöhnt hat, Weichen und/oder Signale nach der Vorbeifahrt in eine allgemeine Grundstellung nach eigener Definition zu schalten, spart man sich viele ODER-Abfragen, weil der Schaltstatus und die Einstellung von Weiche oder Signal bereits bekannt ist und nicht mehr explizit abgefragt werden muß..

Hat man sich z.B. entschieden, eine Weiche in die Grundstellung 1=gerade für Personenzüge zu schalten, muß man die Weiche nur dann auf 0 schalten, wenn ein Güterzug kommt. Damit wirtd nur geschaltet, was wirklich geschaltet werden muß.

Aber das halten viele für zu einfach und basteln lieber allgemeingültige Logik-Konstruktionen für die EV.

Das muß nicht sein meint

Henry

Share this post


Link to post
Share on other sites

Hallo Henry!

Das ist eine Frage der Zugfolge. Wenn nicht grundsätzlich eine Zugart überwiegt, sind es weniger Schaltvorgänge, beim Gleis vor der Weiche die Lok nach "G" oder "P" abzufragen, als eine stete Rückstellung.

Gruß, Berlioz

Edited by Berlioz

Share this post


Link to post
Share on other sites
vor 55 Minuten schrieb Henry:

basteln lieber allgemeingültige Logik-Konstruktionen für die EV

Neo und die EV - das hat was von dem Gedicht des Zauberlehrlings :D
Eigentlich wollte er es dem ungeübten Benutzer nur ersparen in einer Schaltschranksimulation Kabel und Relais zu legen.
Bahn geht ja noch, Straße wird viel schlimmer!

Grüße
  Andy

Share this post


Link to post
Share on other sites

Hi Andy!

... Straße wird viel schlimmer!

Den Eindruck hab ich auch. Ein Auto is halt nich so lang wie ein Zug, Das auf den Straßen is viel hecktischer, wie im realen Leben - das reinste Chaos.

Gruß, Berlioz

Share this post


Link to post
Share on other sites

Hallo @Berlioz,

der Hauptunterschied ist wohl der, dass Du selten einen Zug hinter dem anderen fahren läßt. Und dann kommen verschiedene Geschwindigkeiten ins Spiel, und sobald alles funktioniert, wird der Erste um Überholmöglichkeiten nachfragen. Wenn ich da neulich mal was von einer KI gesagt habe, kommt das nicht von ungefähr. Es ist hier nicht mehr die Belegtmeldung eines Gleises vor einem Fahrzeug von Interesse, sondern das Verhalten des Fahrzeugs davor. Aus den vielen Erfahrungen meiner Maschinensteuerungszeit habe ich da eine grobe Vorstellung, wo das hinführt. Wenn man dann diese 'lokale Intelligenz' in einem Fahrzeug untergebracht hat, es also dann losfährt, wenn es kann, fehlt - wie im richtigen Leben - trotzdem noch ein 'Manager', der dem einzelnen Fahrzeug sagt: 'moment, wenn du noch einen augenblick wartest und den anderen noch durchlässt, läuft alles viel flüssiger'. Deshalb gibt es Staus!
Henry's Wunsch nach Einfachheit in allen Ehren, aber dann gibt es auch nur eine einfache Anlage, die relativ schnell langweilig wird.
Was reizt ist, wenn etwas geschieht, dass man dem System so nicht zugetraut hätte.
Ich akzeptiere es auch, wenn der Einwand kommt, dass MBS ja nun so gar nicht für Straße gedacht war. Aber - es kann es! Und es wird es noch besser können.

Gruß
  Andy

Share this post


Link to post
Share on other sites
vor 9 Stunden schrieb Andy:

Henry's Wunsch nach Einfachheit in allen Ehren, aber dann gibt es auch nur eine einfache Anlage, die relativ schnell langweilig wird.

Hallo Andy,

dieser Threat heiß doch EV-Vereinfachung .... nicht mein Wunsch - nur ein Hinweis - es könnte ja sein, daß man in den Tiefen der EV auf Fehlersuche gehen muß, Vereinfachung heißt ja nicht, das man die Möglichkeiten im MBS nicht auch für komplexe Anlagen nutzen kann.

meint Henry

Share this post


Link to post
Share on other sites

Hallo

Das angesprochene Thema von "pfjoh" finde ich sehr gut, ist aber nicht neu. Ich habe auch schon mal das Gleiche mit "Neo" in dieser Hinsicht angesprochen.

Auch war damals ein Thema von einem Beschleunigungsgleis von mir in diesem Forum im Umlauf und Neo hat dann eine konzeptähnliche Schalt - und Verwaltungsmöglichkeit in die EV von V4 eingebaut. Das findet bei mir und anderen eine große Akzeptanz und gibt einem die Möglichkeit die Steuerung der Lokomotiven in verschiedenen Bereichen zu vereinfachen. Das war wirklich ein guter Fortschritt und sowas nenne ich eine gute Bedienungsfreunlichkeit im MBS.

Jetzt das Thema dritte Möglichkeit in der EV. Ich denke daß man eine dritte Option in "Lok betritt Gleis" also Lok oder alle Fahrzeuge noch eine Option zufügen sollte, z.B. die Lok 218, Lok 01...., E41....usw. könnte man einfügen. Das dient der Vereinfachung und ist auch bestimmt bedienungsfreundlicher. Wobei das Arbeiten mit dem Trigger für mich persönlich keine Schwierigkeit bedeutet, aber für die meisten anderen ja, weil es zeitaufändiger und umständlicher ist.

Ich weiß nicht ob Neo daran arbeitet, aber ich denke dass auch so eine Möglichkeit hier einfließen könnte, vielleicht noch hier in V4 oder in der nächsten Version V5.

MfG

Morsdorf

 

Share this post


Link to post
Share on other sites
vor 7 Stunden schrieb Henry:

daß man in den Tiefen der EV auf Fehlersuche gehen muß

Hallo Henry,
davon kann ich gerade wieder eine Arie singen. Komfortabel ist das derzeit noch nicht, aber da bin ich guten Mutes. Es kann aber viel doofer kommen:

Folgende Situation:
Mein Schaltpult. Soll man Signale und Weichen mit schalten können. Aber: es soll sicher geschaltet werden. Folglich gibt es dahinter eine Logik, die prüft, ob so ein Schaltvorgang nun erlaubt ist. Das heißt: ich brauche einen Schalter. der nicht auf ein Objekt geht, sondern den ich in der EV abfrage. Gleichzeitig soll mir eine Lampe anzeigen, wie das Signal steht.
Sowie Du mit einer Kontrollleuchte aber die Verbindung zu einem Objekt aufbaust, kannst Du da auch draufklicken und das Objekt schalten. Das macht eine LED nicht oft!
Ich möchte aber optisch auf die Lampe klicken. Also lege ich einen unsichtbaren Schalter drüber.
Da eignet sich der mit der Weiche, die die unsichtbare Gleistextur benutzt.
Kurz zusammengefaßt: mal klappt's mal nicht, und ich suche mir den Wolf in der EV. War aber gar nicht!
Irgendwann muß ich im Zuge der Gleisbettungsanpassung was gemacht haben, dass auch die Bettungen dieser Schalter alle auf 'ohne Bettung' geschaltet hat. Ja, und wenn man nun neben die unsichtbare Schwelle klickt, geht der Klick glatt durch - auf die LED! Und das Signal schaltet wieder, und die EV kriegt die Aktion nicht mit.
Es ist eher bedenklich, dass man solche Kopfstände machen muß, um ein Element zu erzeugen, dass den gewünschten Effekt hat. Input direkt auf eine Variable geht gar nicht, nur Output auch nicht. Und kombiniert mit zwei Elementen erst recht nicht. Könnte sich ein Modellbauer auf den Kopf stellen, es läßt sich nicht vereinen.

Gruß
  Andy

Share this post


Link to post
Share on other sites

@Morsdorf:

Wenn wir hier bei Vereinfachung sind, nehmen wir doch gerade mal Bremsen und Beschleunigen.
Ich habe in meinen Bahnhofsgleisen auch Bremsen drin, und zwar einmal für Geschwindigkeiten > 0 und einmal für < 0.
Ich bin ein starker Verfechter dafür, die Geschwindigkeit immer nur als positiven Wert zuzulassen und in der Lok eine Fahrtrichtung einzubauen, die umgeschaltet werden kann.

Gruß
  Andy

Share this post


Link to post
Share on other sites

Hallo,

mit  Vereinfachung der EV ist ja bestimmt nicht der Verzicht auf Funktionen gemeint, sondern doch wohl eher einerseits die Reduzierung der "Schreibarbeit" und andererseits die erleichterte Umsetzung vorher im Kopf erzeugter beabsichtigter Ereignis-Aktion-Folgen. Momentan lassen sich bestimmte Abläufe ja nur logisch vernünftig z.B. mit Variablen konstruieren, Das Problem dabei ist aber, und das sollte man nicht einfach abtun, dass viele User ihre Scheu davor, Abneigung wär vielleicht etwas zu krass, nicht ablegen können. Und wenn selbst bei den sprachlich und illustriert gutgemachten Beispiellösungen doch noch immer die unausgsprochene Frage bleibt: Geht das nicht doch noch einfacher ?-dann sollte es auch erlaubt sein zufragen, ob nicht die zukünftige EV im Hintergrund Logiken erzeugt, wenn man eine Wunschaktion und das beabsichtigte Ergebnis vorgibt. 

Gruß

streit_ross

Share this post


Link to post
Share on other sites

@streit_ross

wenn es mal parametrisierbare Funktionen gibt, und Neo hat das schon erwähnt, dass das so sein wird, dann werden die Furchtlosen fertige Bausteine erstellen, die sehr leicht zu adaptieren sind. Da bin ich zuversichtlich. Das mit dem Höllenrespekt vor der EV ist total nachvollziehbar, der kann mit den bestgestalteten Bedienfunktionen nicht genommen werden.

Grüße
  Andy

Share this post


Link to post
Share on other sites

Liebe Leute

Mich  würde mal schwer interessieren wer von euch mal eine richtige Modellbahn gebaut hat???,. Nicht digital ANALOG. Mit 40 Relais, 50 Glasrohrkontakten, ( wer nicht weis was das ist soll googeln) Kondensatoren, Transistoren ( PNP, NPN), Dioden, analogen Gattern usw. Da lernt mann aber ganz schnell alles was geht so einfach wie möglich zu bauen, weil es sonst ausartet unübersichtlich wird. Und ich bin Schlosser kein Elektroniker gewesen. Darum hab ich hier aufgezeigt, GEFRAGT ob das auch einfacher ginge. Und wie immer, haben die selben netten Hilfsbereiten Kollegen Antworten parat gehabt Super Ganz vielen Dank. 

Und wem das nicht passt, der braucht ja nicht damit zu arbeiten. Und NOCHMALS Vereinfachen heißt nicht das es weniger danach kann sondern es soll dem User die Arbeit erleichtern und übersichtlicher werden!!!

MfG Hans 

Share this post


Link to post
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

×