Jump to content

Arbeiten mit Variablen für Einsteiger


Empfohlene Beiträge

Hallo an alle Interessierten,

es kam das Thema auf, dass man doch etwas detaillierter auf das Thema Variablen eingehen könnte. Daher habe ich mir ein paar Gedanken gemacht, wie man dieses Thema aufbauen könnte. Es gibt hier im Forum schon sehr viele Themen wo es immer wieder um Variablen geht und was man mit ihnen anstellen könnte. Auch in der WIKI gibt es einen Abschnitt der sich damit beschäftigt.

Zitat

Für kleine Anlagen mit nur wenigen Gleisen und Zügen genügt oft die Angabe konkreter Objekte und Werte in den Ereignissen. Je größer eine Anlage jedoch wird und je mehr Gleise und Züge sie enthält, desto komplexer wird auch die Ereignisverwaltung. Das Konzept der Variablen erlaubt hier die Vereinfachung von Ereignissen bei gleichzeitig erhöhter Funktionalität. Unter einer Variable versteht das 3D-Modellbahn Studio eine Kombination aus einem Namen und einem Wert in Textform/Zahl. Der Name sowie der Wert können vom Benutzer beliebig festgelegt werden (wobei Variablennamen aus einfachen Buchstaben und Zahlen bestehen, jedoch keine Leerzeichen enthalten dürfen), um benutzerdefinierte Zustände auf der Anlage zu speichern, zu verändern und in der Ereignisverwaltung wieder abzurufen....

Ebenso gibt es von @wopitir sehr schöne Videos bei youtube. Jedoch gibt es einige die mit dem Thema Variablen auf Kriegsfuß stehen. Daher versuche ich das ganze Thema in mehreren Schritten aufzubauen, so dass hoffentlich besser zu verstehen ist für was man Variablen nutzen kann. Ich werde vorerst nicht auf Objektvariablen eingehen, da es mit dem MBS V5 in diesem Bereich viele Änderungen geben wird. Daher würde ich mich erst einmal auf die Globalen Variablen beschränken und ein paar Möglichkeiten aufzeigen für was man sie nutzen kann.

Anfangen würde ich damit: Was ist eine Variable? Die Kurzfassung, es handelt sich um eine veränderliche Größe. Zugegeben damit kann man noch nicht viel anfangen, ich persönlich sehe die Variablen als eine Art „Zwischenablage“, in der man Informationen ablegen kann und diese bei Bedarf abrufen kann.

Damit erst einmal genug Theorie. Ich möchte euch an ganz einfachen Beispielen aufzeigen was man damit machen kann. Ihr werdet in den nachfolgenden Anlagen in der Ereignisverwaltung (EV) immer einen Ordner „Variablen als Text anzeigen“ finden, alle darin befindlichen Einträge sind zur besseren Visualisierung, oder anders gesagt diese Befehle übertagen die Variablenwerte in ein Beschriftungsfeld auf der Anlage. Dabei ist wahrscheinlich auch schon interessant wie dies funktioniert, dazu weiter unten gleich mehr. Damit gleich zu der ersten angehangen Anlage (Variablen1-1). In dieser Anlage seht ihr die Möglichkeit dass man eine Variable zählen lassen kann. Doch zuerst zu dem Aufbau. Ich habe einen einfachen Kreis aus 12 Gleisen erstellt, damit ihr alles besser nachvollziehen könnt habe ich die Gleise alle durchnummeriert (01-12). Nun möchte ich dass ein Fahrzeug endlos im Kreis fährt und dabei die Runden gezählt werden. Dazu habe ich in der EV als erstes eine Variable erstellt die die Rundenzahlen speichert. Dazu einfach die EV öffnen, unten rechts auf „Aktive Countdowns und Variablen“ gehen, hier seht ihr immer auf der linken Seite alle Countdowns die gerade laufen und auf der rechten Seite habt ihr die Variablenübersicht. Um eine Variable anzulegen einfach auf „Neue Variable hinzufügen“  klicken. Bei Name könnt ihr einen beliebigen eintragen, idealer weiße ohne Leerzeichen und Sonderzeichen (dazu später mehr), in meinem Beispiel habe ich die Variable „Test1“ genannt. Dazu muss immer ein Wert mit vorgegeben werden, für den Anfang empfehle ich den Wert 0. Jetzt habt ihr schon mal eine Variable erstellt, diese kann aber noch nichts und macht auch nichts.

Um im weiteren Verlauf zu sehen welchen Wert die Variable hat (man könnte auch immer in der EV nachschauen) lassen wir uns die Variable in einen Beschriftungsfeld anzeigen. Dazu einfach aus dem Onlinekatalog bei Zusätzlich, Beschriftung, das Beschriftungsfeld auf die Anlage ziehen. Um den Wert der Variable, in dem Beschriftungsfeld, wieder zu geben habe ich den weiter oben erwähnten Ordner „Variablen als Text anzeigen“ erstellt. In diesem findet ihr das Ereignis „Test1“. Dabei ist folgendes zu Beachten:

Ereignis:

     Variable wird gesetzt

          Name: Test1 (oder euren gewählten Namen aus der Liste aussuchen)

          Wert: >-1 (größer minus Eins (damit werden alle positiven Werte der Variable in dem Beschriftungsfeld wiedergegeben, wenn ihr später auch negative Werte erwartet müsste die Vorgabe dementsprechend angepasst werden))

Bedingungen:

     An dieser Stelle gibt es keinen Eintrag

Aktionen:

     Beschriftung setzen

          Beschriftung: Beschriftung

          Text: $Test1 (das Dollarzeichen stellt den Bezug zu der Variable her, an der Stelle ist es wichtig das der Name der Variable keine Sonderzeichen oder Leerzeichen hat, da sonst die Wiedergabe nicht funktioniert)

 

Bis an diese Stelle kann und macht die Variable immer noch nichts, daher wird es nun Zeit. Ich möchte dass immer wenn das Fahrzeug Gleis 06 (in der Anlage das gelbe Gleis) betritt eine Runde als abgeschlossen zählt und die Rundenzahl in der Variable „Test1“ gespeichert wird. Dazu habe ich den EV Eintrag „Variable plus 1“ erstellt.

Ereignis:

     Zug/Fahrzeug betritt ein Gleis/ eine Straße

          Fahrzeug: [alle Fahrzeuge] (in diesem Beispiel gibt es nur ein Fahrzeug, ihr könntet auch das Fahrzeug aus der Liste suchen oder später nur ein bestimmtes Fahrzeug definieren)

          Gleis: 06

Bedingung:

     An dieser Stelle gibt es keinen Eintrag

Aktion:

     Variable setzen

          Name: Test1 (oder euer gewählter Name)

         Wert: +1 (plus Eins (das Plus ist wichtig!)

Damit wäre das erste Beispiel auch schon fertig. Wie ihr daran seht kann man Variablen einfach Rechnen lassen. Das Ganze funktioniert mit addieren (+) und subtrahieren (-) ebenso mit multiplizieren (*) und dividieren (/).

Wozu man dies einsetzen könnte seht ihr in der zweiten angehangen Anlage (Variablen1-2). Nach dem in der ersten Anlage die Runden gezählt werden möchte ich in der zweiten einen möglichen Nutzen davon beschreiben. Sie ist eine Erweiterung der ersten Anlage und hat nur zwei weitere Einträge in der EV bekommen und einen Kippschalter um das Fahrzeug wieder zu starten. Ich möchte nun dass das Fahrzeug immer nur 5 Runden fährt und wenn diese Rundenzahl erreicht wird auf Gleis 07 (rot gefärbt) gestoppt wird. Dazu habe ich den EV Eintrag „Überprüfen der Rundenzahl und Fahrzeug stoppen“ erstellt.

Ereignis:

     Zug/Fahrzeug betritt ein Gleis/ eine Straße

          Fahrzeug: [alle Fahrzeuge] (in diesem Beispiel gibt es nur ein Fahrzeug, ihr könntet auch das Fahrzeug aus der Liste suchen oder später nur ein bestimmtes Fahrzeug definieren)

          Gleis: 07

Bedingung:

     Variable besitzt den Wert

          Name: Test1

          Wert: 5 (ihr könnt an der Stelle jede beliebige Rundenzahl eintragen)

Aktion:

     Fahrzeuggeschwindigkeit setzen

          Fahrzeug: [Auslöser 1: Fahrzeug] (nur das Fahrzeug, dass das Gleis 07 betritt bekommt die nachfolgende Geschwindigkeit alle anderen möglichen Fahrzeuge auf der Anlage werden nicht angesprochen, man könnte auch ein bestimmtes Fahrzeug definieren)

          Gleis/Straße: [alle Gleise/Straßen] (auch an der Stelle könnte man ein bestimmtes Gleis definieren)

          Geschwindigkeit: 0

     Schalter betätigen

          Schalter: Kippschalter

          Position: Aus

In dem zweiten hinzugefügten EV Eintrag „Fahrzeug starten und Variable auf 0 setzten“ möchte ich die Variable wieder zurück auf 0 setzen, damit die Rundenzählung von vorne beginnen kann und das Fahrzeug erneut starten. Dazu habe ich folgenden Eintrag erstellt:

Ereignis:

     Schalter wird betätigt

          Schalter: Kippschalter

         Position: An

Bedingungen:

     An dieser Stelle gibt es keinen Eintrag

Aktion:

     Variable wird gesetzt

          Name: Test1

          Wert: 0

     Fahrzeuggeschwindigkeit setzen

          Fahrzeug: Bahnmeisterei-Draisine Klv 11/12 (oder das Fahrzeug was ihr starten wollt)

          Gleis: [alle Gleise/Straßen]

          Geschwindigkeit: 50 (oder eine andere beliebige Geschwindigkeit)

 

Ich denke dies sollte für den Anfang reichen. Nun könnt ihr die beiden Beispiele erst einmal studieren und euch vielleicht an eigenen Anlagen probieren, wo ihr dies einsetzen könnt. Ich hoffe es ist erst einmal ein guter Einstig in das Thema. In weiteren Beispielen würde ich euch dann zeigen wie ihr Gleisabschnitte mit Variablen überwachen lassen könnt und warum dies für eine Steuerung von Anlagen interessant sein könnte.

 

Bitte teilt mir eure Anmerkungen und Kritik mit oder wenn ihr dazu Fragen habt scheut euch nicht diese zu stellen.

Gruß Frank

Variablen 1-1.mbp

Variablen 1-2.mbp

Bearbeitet von fzonk
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

der erste Eindruck macht Lust auf mehr.

Es ist sicher sehr viel Arbeit für Dich, aber, und dies hoffe ich zumindest, es werden solche Variablen  Ignoranten wie ich, Dir zumindest mit "Gefällt mir" klicken und guten Worten danken. (y)

Andreas (astt)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

ich finde es sehr gut, wie Du das neue Tutorial mit den Variablen angehst. Es ist alles klar und sehr verständlich dargestellt! (y)

Zu dem allerersten Ereignis aus Deiner Beschreibung (Variable wird gesetzt, Name = Test1, Wert = >-1) hätte ich noch einen Tipp, der vielleicht auch schon ganz am Anfang sehr nützlich sein könnte:

Prinzipiell verlangt die Ereignisdefinition "Variable wird gesetzt" immer eine Wertangabe. Selbst wenn man das Eingabefeld für die Wertangabe nicht beschreibt, hat man hier einen konkreten Wert definiert, nämlich den "leeren" Wert, der aus 0 Zeichen besteht. Es ist also auf den ersten Blick nicht möglich, nur das Ereignis "Variable wird gesetzt" abzufragen, ohne dass hierbei auf einen konkreten Wert abgefragt wird. Mit einem kleinen Trick lässt sich aber auch ein Ereignis "Variable wird gesetzt" erzeugen, bei dem der zugewiesene Wert keine Rolle spielt, also beliebig sein kann: Dies erreicht man mit folgender Ereignisdefinition:

Ereignis:    Variable wird gesetzt
Name:        Test1 (hier als Beispiel-Name gewählt)
Wert:          $Test1

Hierdurch wird erreicht, dass die Variable immer auf ihren aktuellen Wert nach der das Ereignis auslösenden Wertzuweisung abgefragt wird. Da der Vergleich des Inhalts der Variable Test1 mit dem Wert $Test1 (das ist ja der Inhalt der Variable) immer zutrifft, wird diese Ereignisdefinition auch immer ausgeführt, wenn dieser Variable ein Wert zugewiesen wird - unabhängig davon, um welchen Wert es sich dabei handelt.

Damit wäre z.B. die Erweiterung der zitierten Beispiel-Abfrage auch auf negative Zahlen oder sogar auf beliebige Zeichenfolgen als Werte direkt möglich.

Viele Grüße
BahnLand

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für die gefällt mir, das spornt an weiter zu machen :D

@BahnLand Vielen Dank für die Ergänzung, da habe selbst ich gleich noch was gelernt

Und schon geht es gleich weiter mit dem Thema Variablen.

Wie zum Abschluss des ersten Themas erwähnt kann man mit Variablen auch Gleisabschnitte überwachen. Ausgangspunkt ist wieder die Anlage „Variablen 1-1“, wo ein Fahrzeug ein Gleis betritt und dies in einer Variable erfasst wird. Bei der Anlage „Variablen 1-3“ ist nun das Ziel auch zu erfassen dass wenn ein Fahrzeug ein bestimmtes Gleis (Abschnitt) verlässt die Variable wieder zurückgesetzt (freigegeben) wird. Dazu habe ich den EV Eintrag „Variable plus 1“ einfach umgedreht. Den neuen Eintrag habe ich „Variable minus 1“ genannt. Ich möchte nun wenn ein Fahrzeug das Gleis 07 (rot eingefärbt) verlässt bei der Variable der Wert 1 wieder abgezogen wird. Dabei besteht der Eintrag wie folgt:

Ereignis:

     Zug/Fahrzeug verlässt ein Gleis/eine Straße

          Fahrzeug: [alle Fahrzeuge]

          Gleis/Straße: 07

Bedingungen:

     Keine Einträge an dieser Stelle

Aktion:

     Variable setzen

          Name: Test1

          Wert: -1 (minus Eins)

Damit wird mir immer der Wert 1 in der Variable wiedergegeben, wenn sich ein Fahrzeug auf dem Gleis 06 und/oder 07 befindet. Bis an diese Stelle hätte man auch statt einer Variable eine Leuchte/Signal nutzen können, die mit der entsprechenden Farbe mir signalisiert ob die Gleise belegt oder frei sind. Was eine Leuchte/Signal nicht kann ist die Anzahl der Fahrzeuge wiedergeben. Dazu habe ich die Anlage „Variablen 1-4“ erstellt. Die Steuerung ist identisch mit der Anlage „Variablen 1-3“ ich habe nur den Kreis auseinander gezogen und mit geraden Gleisen aufgefüllt. Des Weiteren habe ich noch mehr Fahrzeuge auf die Anlage gestellt. Nun gibt mir die Variable immer die Anzahl der Fahrzeuge wieder, die sich ab betreten Gleis 06 (gelb) bis zum Verlassen von Gleis 07 (rot) in dem Bereich befinden.

Warum es von Interesse sein kann eine genaue Anzahl zu wissen wird in einem zukünftigen Thema Bestandteil sein, was nun aber erst mal dauern wird…

Gruß Frank

Variablen 1-3.mbp

Variablen 1-4.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo @fzonk,

als ich kann mich meinen vorredenern komplatt anschließen... das ist ein klasse turtorial was du bis hier und jetzt schon erstellt hast (y)... und ich muß ganz ehrlich gestehen, ich freue mich dass du dir diese mühe machst ... und ich werde das hier voll im auge behalten . bei allen respekt ... so aber jetzt muß ich am anderen pc um das neue gleich 1x auszuprobieren :D ... danke dir einstweilen für diese mühe die du dir hier machst ... gruß schlagerfuzzi (wolfgang)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

könntest Du bitte die Ereignisse - beginnend in Deinem ersten Beitrag - rückwirkend über alle (auch zukünftige Beiträge) hinweg fortlaufend durchnummerieren?

Dann könnte man sich nämlich nachträglich viel einfacher ohne jene Umschreibung darauf beziehen. Für die bisherigen Ereignis-Beschreibungen wäre dies eine mögliche Nummerierung:

Ereignis 001:   Variable wird gesetzt
Ereignis 002:   Zug/Fahrzeug betritt ein Gleis/ eine Straße (Gleis = 06)
Ereignis 003:   Zug/Fahrzeug betritt ein Gleis/ eine Straße (Gleis = 07)
Ereignis 004:   Schalter wird betätigt
Ereignis 005:   Variable wird gesetzt (müsste ich in meinem Beitrag ergänzen)
Ereignis 006:   Zug/Fahrzeug verlässt ein Gleis/eine Straße (Gleis = 07)

Ich hätte dann auch gleich ein konkretes Beispiel für einen solchen Bezug:

vor 36 Minuten schrieb fzonk:

Damit wird mir immer der Wert 1 in der Variable wiedergegeben, wenn sich ein Fahrzeug auf dem Gleis 06 und/oder 07 befindet.

Ich würde hier zur Verdeutlichung noch eine Klammer hinzufügen:

"... befindet (Variable wird mit Ereignis 002 von 0 auf 1 und mit Ereignis 006 von 1 auf 0 gesetzt)."

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo jungs,

jetzt habe ich wieder eine frage, die mich jetzt intressiert. ich habe auf meiner aktuellen bahn im aufbau ca 30 verschiedene züge. mit verschiedenen geschwindigkeiten... was gibt es da für möglichkeiten mit variablen? ... reicht hier eine variable für alle züge aus, oder muß ich für jeden zug eine neue definieren? ... und wie wird das gemacht, dass auf der arbeitsplatte dann angezeigt wird welcher zug mit welcher geschwindigkeit vorrüberfährt ? ... danke schon 1x im vorraus ... gruß schlagerfuzzi (wolfgang)

Link zu diesem Kommentar
Auf anderen Seiten teilen

@BahnLand dies ist ein guter Hinweis, ich werde dies noch nachträglich einfügen (y)

@schlagerfuzzi1 ja auch dies geht jetzt schon mit Variablen, dies fällt aber in den Bereich Objektvariablen, welchen ich eigentlich erst einmal außen vor lassen will, da es genau bei diesem Thema mit V5 einschlägige Veränderungen (Verbesserungen) geben wird. Daher gedulde dich bitte noch etwas.

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

je nach dem, wie die Antwort ausfällt, würde das mein Interesse an der Beschäftigung mit Variablen garantiert steigern: Gibt es beim Erstellen der EV Situationen, die sich nicht auf konventionelle Art über Ereignisse und Aktionen steuern lassen, sondern ausschließlich nur mit Variablen (einschließlich Objektvariablen ) lösen lassen oder ist nicht die enorme Ersparnis an Tipparbeit ein Hauptgrund der Arbeit mit Variablen ?

Gruß

streit_ross

Bearbeitet von streit_ross
schreibfehler
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @streit_ross

die Frage ist nicht ganz einfach zu beantworten. Zum Thema Objektvariablen und der Tipparbeit hast du ja schon selber beantwortet, aber dieses Thema will ich ja auch vorerst außen vor lassen. Wenn du bei Anlagen automatische und nicht lineare Abläufe haben willst wirst du nur schwer an Variablen vorbeikommen, bei den bis jetzt vorgestellten Beispielanlagen dienen die Variablen als Überwachungssystem. Als Beispiel nehme ich mal dein gemeinschaftliches Projekt mit Andy. Dort wurde die Steuerung über die Gleisharfe realisiert, die die Abläufe überwachen und steuern. Durch Nutzung von Variablen (nicht Objektvariablen) hätte man die Steuerung einfache, zuverlässiger und schneller realisieren können. Dazu will ich bei einem der nächsten Themen näher darauf eingehen. 

Gruß Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @streit_ross,
in den alten Siemens-Maschinensteuerungen gab es E (Eingänge), A (Ausgänge) und M (Merker). Und letzteres, genau das sind Variablen. Du brauchst sie genau dann, wenn Du Dir etwas merken mußt, das Du später wieder brauchst. Das kann eine Referenz auf ein echtes Objekt sein, aber auch etwas mathematisches, wie ein Zähler. Wenn Du einen Zähler erhöhst, brauchst Du seinen alten Wert. Da ist also auch etwas gemerkt. DIese Einsparungen, auf die Du Dich jetzt beziehst, sind ein anderes Thema. Aber um es extrem auszudrücken: Du könntest einen Zähler auch mit einer Kaskade von Schaltern realisieren. Nur - viel Spaß damit!
Wenn man bei so etwas geblieben wäre, könntest Du heute in diesem Forum die Frage nicht stellen, denn dann gäbe es noch keins.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Antwort von Euch Beiden hat mich zumindest zu 50 % überzeugt. Für die nächsten 50 % warte ich erstmal die nächsten Schulbeispiele des Tutorials ab. Ich habe übrigens am Gemeinsschaftsprojekt "Mohorn" in der EV das Beschleunigen der Züge über Variablen gelöst, wenn auch damals nur durch Abkupfern aus anderen virtuellen Anlagen. Wenn ich das mal als Beispiel für die gewaltige Ersparnis an Schreibarbeit nehme, sehe ich zumindest diesen enormen Vorteil der Variablen sehr positiv. Einen einzigen Zug von 0 km/h auf 80 km/h zu beschleuinigen ginge ja auch über 40 kurze Gleise, wo auf jedem Gleis die Geschwindigkeit durch das Betreten der Lok um 2 km/h gesteigert wird. Also 40 mal schreiben: Lok betritt Gleis 1 Fahrzeuggeschwindigkeit setzen auf 2 km/h  Name des Gleises: x und so weiter. Da ist es wirklich wesentlich komfortabler, mit max. 3 Ereignissen über eine Variable den Zug auch noch ganz sanft bis zur Endgeschwindigkeit hochzutreiben. Für das Bremsen gilt das natürlich genauso. Als nächstes muss mich noch der Trigger überzeugen. Also Frank, gib Dir Mühe:).

Gruß

streit_ross

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 42 Minuten schrieb streit_ross:

Einen einzigen Zug von 0 km/h auf 80 km/h zu beschleuinigen ginge ja auch über 40 kurze Gleise

Ja, kannst Du gewiß einen Oskar-verdächtigen Preis mit gewinnen. Wobei ich den Oskar von den Muppets meine.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und was den Trigger angeht: Genauso wie BahnLand oben den universellen Zugriff auf einen Variablenwert erklärt hat, der mit $Test1 sicherlich nur eine üble Krücke für gewisse Lücken im EV-System darstellt (und somit ein Glück ist!), ist der _Trigger1._Name-Trick nur eine Krücke für ALLE Fahrzeuge auf ALLEn Gleisen. Genauso häßlich, aber fantastisch im Nutzen. Das fällt aber doch alles bald weg.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 37 Minuten schrieb Andy:

Das fällt aber doch alles bald weg.

...Ich  denke es ist an der Zeit das wir alle da mal etwas mehr und konkrete Info bekommen was nun V5 bringt und was wegfällt,  ob Abwärtskompatibilität bestehen wird oder eine ähnliche eingeschränkte Kompatibilität wie zwischen V3 u V4. Auch wäre es interessant den Zeitpunkt zu erfahren.

Es ist sicherlich hilfreich (für unbedarfte) und Befriedigung (für bedarfte) hier wissen zu vermitteln, allerdings weiß ja anscheinend niemand ob dieses Wissen in der nächsten Version überhaupt noch Relevanz hat.

Somit stellt sich spätestens wenn V5 den heraus kommt zwangsläufig die Frage ob man in seiner Version bleibt (es gibt ja anscheinend auch noch Nutzer von V3) oder sich, wegen völlig neuen Möglichkeiten die V5 wohl bieten wird, von den in V3 u V4 ähnlichen steuerungsmöglichkeiten verabschiedet und die neuen von V5 sich anlernt.

Cheers

Tom

Link zu diesem Kommentar
Auf anderen Seiten teilen

@metallix
Neo hat mehrere diesbezügliche Posts in letzter Zeit geschrieben. Um's mal zusammenzufassen:
a) das alte Prinzip wird beibehalten, aber aufgeräumt und erweitert. Verändern werden sich die Trigger-Dinge und offensichtlich indirekte Adressierung. Beides wurde bislang nicht gerade exzessiv genutzt. (Ich werde meine Anlage zwar komplett umschreiben müssen, Frank auch einiges, aber angesichts der zu erwartenden Vorteile werde ich das gerne tun und Frank auch, denke ich mal). Ob sonst alle alten Dinge drauf laufen, kann ich nicht beurteilen.
b) hat er gerade eben noch einmal bestätigt: kommt eine Skriptsprache hinzu, die vermutlich die Plugins ersetzt. Diejenigen, die sich dafür interessieren, werden sie lernen, die anderen davon profitieren, weil ihnen fertige Pakete zur Verfügung gestellt werden können. Einen Thread können wir jetzt schon mal vorbereiten, der heißt 'MBS lernt Lua'. Da bin ich auch Neuling, aber kann wenigstens dabei helfen, was der eine oder andere Begriff wohl bedeutet, was man braucht und wie man's lernt.

Lassen wir Frank mal so weitermachen hier, das ist nicht vergeblich.

Gruß
  Andy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo an Alle,

da es noch etwas dauert bis ich die nächsten Anlagen und Beschreibungen fertig habe und vorstelle habe ich jetzt erst mal ein kleines „Spielzeug“ für euch. Es passt ganz gut in das Thema Variablen, da es genau damit gesteuert wird. ;)

image.thumb.jpeg.e57822a2121133ceb9575c0bf6618d22.jpeg

Ja es ist eine Stoppuhr, mit dieser könnt ihr die Zeit messen wie lang ihr jeden Tag an euren Anlagen baut oder auch gesamt für eine Anlage braucht. :D

Sie funktioniert aber nur mit der Geschwindigkeit, wie ihr das MBS laufen lasst. Wenn ihr auf „Pause“ geht bleibt die Uhr auch stehen, wenn ihr auf „vierfache Geschwindigkeit“ geht läuft die Uhr dementsprechend schneller. Die Funktion ist glaube ich selbst erklärend, mit dem grünen Schalter könnt ihr die Uhr starten oder stoppen. Mit dem roten Schalter wird die Uhr wieder auf 0:00:00:00 gesetzt.

Viel Spaß damit…

Gruß Frank

Stoppuhr.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da die nächsten Beispiele noch etwas dauern werden, ich brauche da etwas mehr Vorbereitungszeit, wenn es Interesse gibt wie die Steuerung der Uhr aufgebaut ist kann ich dies als Zwischenthema gern mit einschieben.

Mein Gedanke ist als nächstes eine Musteranlage mit euch zu bauen. Bei dieser würde ich einige automatische Abläufe (selbständige Gleiszuordnung durch die EV und automatisches Starten der Züge bei freier Strecke) einbauen, bei dieser die Variablen zur Überwachung dienen. Ich hatte eine solche Anlage schon einmal im Forum vorgestellt. So ähnlich würde ich noch einmal eine Anlage Bauen, diesmal aber Schritt für Schritt mit euch gemeinsam und würde versuchen jeden einzelnen Schritt zu erklären. Damit ihr die Steuerung vielleicht auf eure Anlagen übertragen könnt. Ich habe die Anlage noch mal mit angehangen. Sie ist ein „geschlossenes System“, soll heißen alles funktioniert vollautomatisch und man kann nicht ohne weiteres etwas ändern, aber dazu später mehr. Einfach nur mal anschauen, nicht wundern, sie ist auf vierfache Geschwindigkeit gestellt, einfach damit man schneller die Züge fahren sieht.

Gruß Frank

Beispielanlage.mbp

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