Alle erstellten Inhalte von Goetz
-
Gleiskontakt verliert Funktion
Hallo Sonnenschorsch, ein Gleiskontakt muss mit einem Gleis verknüpft sein, damit das Fahrzeug, welches auf diesem Gleis fährt, den Kontakt auslösen kann. Wenn du den Kontakt mit der Grundplatte verknüpfst, dann hebst du die (unsichtbare!) Verknüpfung mit dem Gleis auf. Durch den erneuten Klick auf den Kontakt verknüpfst du ihn wieder mit dem darunter befindlichen Gleis. Dadurch hebst du die Verknüpfung mit der Bodenplatte auf (weil es immer nur eine Verknüpfung geben kann.) Dahinter steckt dieselbe Mechanik, die auch den Kontakt beim ersten Einsetzen sofort mit dem darunter befindlichen Gleis verknüpft. Das ist also so gewollt und auch sinnvoll. Gruß Götz
-
Der Gleiskontakt reagiert nicht (wie ich es dachte)
Sorry, Michael, aber wenn du nicht richtig liest, was hier steht, dann schreib ich dir keine Antworten mehr. Andy, Neo und ich haben schon alles erklärt, was du wissen musst. ein vielleicht nützlicher Hinweis: Wenn du dem Kontakt seine aktuelle Position erneut zuweist, dann bleibt er genau da, wo er gerade ist. Und wird gleichzeitig an dieser Stelle mit dem Gleis verknüpft. Das ist das, was du haben willst.
-
Der Gleiskontakt reagiert nicht (wie ich es dachte)
Ja, natürlich. Ohne Verknüpfung kann er nicht aktiv sein. Nur mit Verknüpfung zu einem Gleis kann ein Gleiskontakt seine Arbeit tun. Die Frage ist, warum du überhaupt eine Verknüpfung lösen wolltest ohne sie durch eine andere zu ersetzen?
-
Der Gleiskontakt reagiert nicht (wie ich es dachte)
… wäre große klasse
-
Der Gleiskontakt reagiert nicht (wie ich es dachte)
Vorsicht, Kinners! Mit euren "lustigen" Beispielen und Vergleichen tut ihr euch keinen Gefallen, weil sie das Verständnis für die technischen Zusammenhänge erschweren. Die haben nämlich nichts mit dem zu tun, was in der realen Welt passiert. Was ihr im MBS seht ist nicht das, was im MBS (rechnerisch) passiert! Konzentriert euch lieber auf die Hinweise von Brummi und Neo. Auch, wenn sie euch (wegen des unpassenden Vergleichs mit der realen Welt) nicht auf Anhieb einleuchten.
-
Variablenanzeige
Ja, geht es. Denn wenn du einmal die Variable ausgelesen und den Text an das Beschriftungsfeld übergeben hast, dann ist die Variable doch wieder frei für andere Zwecke. Das Beschriftungsfeld hat keine permanente Verbindung zur Variablen A.
-
Variablenanzeige
Es gibt sogar sehr viele Fälle, in denen das sinnvoll ist. Aber du speicherst denselben Namen in zwei Variablen zwischen. Erst in Ereignisse.Lokname und dann eine Kopie davon in Ereignisse.A. Das ist weniger sinnvoll. Und dir vielleicht auch gar nicht richtig bewusst?
-
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Im oberen Fenster stehen beim Ereignis "Schalter wird betätigt" zwei Aktionen, die sich widersprechen: Einmal Bahnhofsperre.Lock = "Frei" und darunter Bahnhofsperre.Lock = "Gesperrt" Das scheint mir unsinnig. Und du musst mir bitte einmal sagen, was du nun erreichen willst. Soll ein Zug das Signal umschalten? Oder willst du es mit dem Kippschalter bedienen? Zug soll Signal schalten -> Gleiskontakt benutzen Mensch soll das Signal schalten -> Kippschalter benutzen
-
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Der Gleiskontakt ist selbst ein Auslöser. Den musst du nicht aktivieren. Das geschieht dadurch, dass er von einem Zug überfahren wird. Stell besser dein Signal direkt mit dem Schalter, ohne den Umweg über den Gleiskontakt.
-
Anlagen-Bausteine mit vorgefertigter Ereignissteuerung (Diskussionsforum)
Genau so ist es! Der Gleisabschnitt vom vorherigen bis zum nächsten Hauptsignal ist besetzt. Auch dann, wenn der Zug das Vorsignal schon passiert hat. Also kann kein weiterer Zug in diesen Gleisabschnitt einfahren, bis das Hauptsignal komplett(!) passiert wurde und der Abschnitt wieder frei ist. Damit wird kein weiterer Lokführer dieses Vorsignal in Fahrt-Stellung zu sehen bekommen. Ich fahre gelegentlich vom Haltepunkt Oespel mit dem Zug. Dort kann ich vom Bahnsteig in Richtung Dortmund das Vorsignal sehen. Und das bleibt Grün, nachdem der Regionalzug daran vorbei gefahren ist. Ich kann sehen, wann er das zugehörige Hauptsignal erreicht hat, weil das Vorsignal dann auf Gelb schaltet. Und das dauert eine ganze Weile, weil die beiden Signale weit auseinander liegen. (Für gewöhnlich ca. 1 km)
-
Variablenanzeige
Wenn du verstehst, dass es nichts bringt und warum es nichts bringt, dann bringt das was: Nämlich ein besseres Verständnis für die Materie. Und das ist doch der eigentliche Sinn der Übung.
-
Variablenanzeige
Ja - aber nicht zweimal übertragen und dann anzeigen. Ich übertrage den Loknamen doch auch in eine Variable und zeige dann den Inhalt dieser Variablen an.
-
Variablenanzeige
Hast du meinen Lösungsvorschlag nicht gelesen? Hast du dir die angefügte Anlage mit dem Lösungsvorschlag nicht angesehen? Das hier ist die entscheidende Änderung: Ich habe dafür deine Variable "Lokname" benutzt und diese an das Textfeld übergeben. Ebenso gut hätte ich die Variable A nehmen können. Oder unnötigerweise den Text noch einmal von "Lokname" nach "A" übertragen können ... (Und jetzt schau ich mir mal dein "Jetzt hab ich's" an …) Nachtrag: Ja, jetzt hast du's. Du nutzt nur immer noch zwei Variablen, obwohl du nur eine benötigst. In A speicherst du eine exakte Kopie von dem, was in Lokname steht. Das bringt dir nichts.
-
Variablenanzeige
Bitte, lies meine Erklärung oben noch einmal aufmerksam und Wort für Wort durch. Ach - warte. Ich schreibe es einfach noch einmal und in etwas anderen Worten: Deine Variable enthält eine Referenz zum Objekt V200. Diese Referenz wird als V200 angezeigt, weil die EV dir nichts anderes zeigen kann. Mit einer kryptischen Nummer wäre dir ja nicht gedient. Aber das, was da in der Variablen gespeichert ist, ist kein Text! Hier siehst du es deutlicher als in der Ereignisprotokollierung.
-
Variablenanzeige
Und die Frage habe ich dir beantwortet. Du hast die Antwort nur noch nicht richtig interpretiert. Dein A enthielt keinen Text, sondern eine Objektreferenz. Und etwas anderes als Text kann das Beschriftungsfeld nicht anzeigen.
-
Variablenanzeige
Deine Variable enthält das Fahrzeug, nicht den Fahrzeugnamen. Das Fahrzeug ist die Objektreferenz. Sozusagen eine für uns unsichtbare Identifikationsnummer dieses Objekts auf der Anlage. Uns wird zwar der Name des Objekts angezeigt (weil wir bei der Nummer überhaupt nicht wissen würden, welches Objekt damit gemeint ist) aber den Namen bekommst du nur mit Fahrzeug.Name (so, wie du es beim oberen Textfeld machst.) Deine Variablen sind ebenfalls für Objekte bestimmt. Du benötigst aber eine Variable für Text (weil der Name eines Objekts ein Text ist.) Außerdem würde eine Variable reichen. Mit den zwei Variablen machst du nur zweimal denselben Fehler. Lokname wird jetzt angezeigt.mbp
-
BillerBahn Anlagen
in einer außergewöhnlich schönen Umsetzung. Wenn ich mit den Videos jetzt nicht voran komme, dann bist du schuld daran!
-
Eine Variable zur Bestimmung der Weichenstellung nutzen
Ich will's versuchen. Für das Beispiel wähle ich Städtenamen (statt Zuggattungen) um eine Weiche umzuschalten. Einfach, weil das plakativer ist und mir schneller ein paar Städtenamen einfielen. Zuerst gibst du jeder Lok, die infrage kommt, eine Variable. Eine Variable ist einfach nur ein Speicherplatz, dem du einen Namen gibst. Den Namen darfst du dir frei ausdenken. Wichtig ist nur, dass alle Loks einen Speicherplatz mit demselben Namen bekommen! Ich nenne ihn in diesem Beispiel "Richtung". Denn an der entscheidenden Stelle werden wir jede Lok die "anklopft" fragen: "Was steht bei dir im Speicherplatz Richtung drin?". Vor dem Namen musst du noch den Informationstyp festlegen, den du speichern möchtest. Im Beispiel werden das Städtenamen sein. Das ist der Typ "Text". Deine Zuggattungen (Fern, Nah, Güter, Bau etc.) wären ebenfalls Text. Und wenn du die Text-Variable namens "Richtung" (oder "ZugGattung" oder "mein_Speicherplatz") erzeugt hast, gibst du als Text dein Unterscheidungsmerkmal ein. Bei mir ist das "Essen" oder "Hamburg" oder "Kiel" etc. Nun setzt du vor die Weiche einen Kontaktpunkt und bestimmst dann, was beim Überfahren des Kontaktpunkts passieren soll. Dabei benutzt du das, was in den Variablen der Loks steht, als Bedingung. Die Bedingung lautet also: "Eigenschaft/Variable besitzt den Wert" Rechts neben Variable klickst du auf das Zahnrad und wählst "Variable(erweitert)" aus. Die erweiterte Art benötigst du, weil du zwei Dinge angeben musst: wer hat die Variable (denn das ändert sich, je nachdem welcher Zug gerade über den Kontakt fährt.) wie heißt die Variable Auf dem zweiten Zahnrad wählst du nun "Auslöser", denn du willst etwas von demjenigen wissen, der gerade über den Kontakt gefahren ist und so dieses Ereignis ausgelöst hat. Es gibt zwei Auslöser: Den Gleiskontakt und das Fahrzeug, welches den Kontakt überfahren hat. Wähl mit dem kleinen Pfeil aus der Liste das Fahrzeug aus. Dann darunter (im Bild nicht sichtbar) den Namen der Variablen. Im Beispiel also "Richtung". Dann änderst du unter dem = Zeichen per Zahnrad den typ auf "Text" Und nun schreibst du eine Stadt (bzw. eine Zuggattung) in das Feld! (Im Beispiel oben steht "Münster") Für die übrigen Städte, welche dieselbe Weichenstellung benötigen, klickst du unten rechts auf "weitere Bedingungen hinzufügen. Im folgenden Fenster kannst du dann eine ganze Liste von Bedingungen erstellen. Und weil bis auf die Städtenamen alle gleich sind, geht es mit dem markierten Copy-Knopf besonders schnell. Du musst nur bei jeder Kopie eine andere Stadt eintragen. Aber- wie gesagt - nur die Städte (oder Zugattungen), welche dieselbe Richtung brauchen. Alle anderen musst du nicht aufzählen. Letzte Aktion: Achte unbedingt darauf, dass die Verbindung zwischen den einzelnen Bedingungen ein "oder" ist. Denn wenn ein Zug nach Münster oder Osnabrück oder Bremen oder Hamburg oder Kiel will, muss er nach Norden abbiegen. Alle anderen Städte fahren an dieser Weiche geradeaus. Die müssen nicht explizit genannt werden, denn geradeaus ist die Stellung für die Weiche, falls die oben genannten Bedingungen nicht erfüllt sind. Warum so viele Städte? Damit du dir vorstellen kannst, dass an der nächsten Weiche erneut sortiert wird. Zum Beispiel: "Duisburg oder Essen nach rechts, der Rest geradeaus ... Jetzt müsste dir theoretisch klar sein, was eine Variable ist. Sie ist einfach ein Platz, an dem man Informationen ablegen kann. Texte, Zahlen, Objekte … was auch immer man sich für später merken möchte. Diese Speicher heißen variablen, weil der Inhalt dieses Speichers geändert werden kann. Er ist also änderbar. Eben variabel. Entschuldigung: Natürlich habe ich Hannover falsch geschrieben. Sorry! Das ist herrlich naiv und kurzsichtig von dir. Ich mach das doch nicht nur für dich. Es gibt eine ganze Reihe User hier, die sagen: Ich muss das in Aktion sehen, sonst verstehe ich es nicht. Das Video muss (und möchte!) ich also trotzdem machen. Zug-Variable bestimmt Weichenstellung.mbp
-
Anfängerhilfe für V5
Ich habe gerade begonnen ein paar Videos zu diesen Themen (EV, Variablen, Schlagworte …) aufzunehmen. Du musst dich aber bitte noch eine Weile gedulden, bis die reif für die Veröffentlichung sind. LUNA heißt mit richtigem Namen übrigens Lua und wird bitte nicht in Versalien (= Großbuchstaben) geschrieben, weil es ein Name ist und keine Abkürzung.
-
Anfängerhilfe für V5
@tjarkheinrich Für solche Fälle sind Variablen gedacht. Du hinterlegst im Zug in einer Variablen die Art des Zuges. In der EV liest du diese Variable aus und nutzt sie als Bedingung, um zu entscheiden wie eine Weiche gestellt werden soll. Da die neue EV Mehrfachbedingungen zulässt, kannst du beispielsweise unterscheiden: Wenn die Variable "Art" den String "Fernzug" oder "Regionalzug" enthält, dann schalte Weiche 1 auf Stellung 1 (= geradeaus), andernfalls (also für "Güterzug", "Rangierfahrt", "Bauzug" etc.) auf Stellung 0.
-
Neue Beta-Version V5
Oh, please …! Gimme some rest, will you? I'm eager to help but I'm not your lackey, you know?
-
Erste EV-Versuche V5
Ja, stimmt. Da ist das benutzerdefinierte Ereignis eher gerechtfertigt. Für die Dunkelschaltung der Vorsignale ist dein Ansatz sinnvoller. Darum ging es mir in erster Linie. Ich wollte aufzeigen, dass man Muster nach Möglichkeit nur einmal bauen und dann mit individuellen Daten füttern sollte, statt sie viele Male zu kopieren und anzupassen.
-
Neue Beta-Version V5
You're wrongly passing on a string "vehicle" instead of the object vehicle, which is what you should do. Try $("set grill"):invoke(vehicle) -- no quotation marks around "vehicle"
-
Neue Beta-Version V5
My mistake - sorry all modules come before any events. So, you may sort your modules differently and you may sort your events outside these modules in any order too. But you cannot stick an event between two modules (unless you put that event itself inside another module.)
-
Unterschied Kontaktgleis zu Gleiskontakt
und der Hund im Pfeffer - hihi (scnr)