Jump to content

Variablenverwaltung


Timba

Recommended Posts

Hallo Goetz,

vielen Dank für die Info. Vielleicht habe ich mich auch nicht rictig ausgedrückt. Mir war schon klar, dass mein Anliegen mit Lua recht einfach zu lösen ist, und ich werde es auch so machen. Mich hatte nur interessiert, ob Arrays auch unter der grafischen EV möglich sind.

 

 

Link to comment
Share on other sites

vor 2 Stunden schrieb randermann.tbb:

Hintergrund ist, dass ich auf Gleisen in Abhängigkeit von der Zählvariable die Geschwindigkeit setzen möchte, dass aber bei 50 Gleisen nicht mit 50 Bedingungen abfragen möchte.

Ja dies geht auch ohne Lua, dazu musst du nur in einem Objekt (zum Beispiel Hauptschalter) eine Auflistung anlegen.

Name der (Objekt)Variable = 1; Wert = Name von Gleis1

Name der (Objekt)Variable = 2; Wert = Name von Gleis2

Name der (Objekt)Variable = 3; Wert = Name von Gleis3

Und so weiter…

Wenn du dort deine 50 Gleise hinterlegt hast kannst du sie dann über die Werte 1-50 abrufen.

 

Gruß Frank

Link to comment
Share on other sites

Hallo,

mal ein Definitionsfrage.

In der grafischen EV gibt es die Bedingung "Zeitpunkt überschritten" mit der Möglichkeit, eine bestimmte Anlagenzeit einzugeben. Nehmen wir an, es ist 12:00 eingestellt. Da es wie gesagt eine Bedingung und kein Auslöser ist, muss ein anderes Ereignis auslösen. Nehmen wir also weiterhin an, Auslöser ist ein Gleiskontakt. Und wir nehmen auch noch an, dass dieser Gleiskontakt um 12:10 Anlagenzeit ausgelöst wird.

Rein dem Wortsinn nach ist auch um 12:10 der Zeitpunkt (12:00) überschritten. Heißt das also, dass diese Bedingung permanent erfüllt ist bis ... ja, wie lange eigentlich? Bis zum neuen Tag? Oder ist nur in der Zeit von 12:00 bis 12:01 die Bedingung erfüllt, was ich vermute - und hoffe.

Link to comment
Share on other sites

vor 14 Minuten schrieb Timba:

Ist wirklich dauerhaft erfüllt und löst jede Minute aus. Hm ...

Was suchst du denn?
Die Möglichkeit, um Punkt 17:43 etwas auszulösen?

Das findest du hier:

1108359274_Zeitpunkterreicht.jpg.2b969c6fbb07d2d2591937d2a14da906.jpg

 

Die Bedingung ist hingegen dafür da, dass du Aktionen beispielsweise auf einen Zeitraum zwischen 16:45 Uhr und 18:15 Uhr einschränken kannst.

Link to comment
Share on other sites

vor 1 Minute schrieb Goetz:

Was suchst du denn?
Die Möglichkeit, um Punkt 17:43 etwas auszulösen?

Ich suche eine Möglichkeit, einen Zug um 8:00, 10:00, 12:00, usw. (jeweils Anlagenzeit) abfahren zu lassen. Etwas um Punkt xx:xx auszulösen hilft mir da nicht, außer ich würde für jeden Zeitpunkt ein eigenes Ereignis definieren. Ist mir zu redundant.

Als ich bemerkte, dass die Bedingung der grafischen EV meinen Bedürfnissen nicht gerecht wird, habe ich sie kurzerhand in Lua umwandeln lassen und > durch == ersetzt, dann geht's, auch mit Mehrfachbedingungen.

Link to comment
Share on other sites

Hallo Modellbahnfreunde

Mit der Musik eine Zeitsteuerung bewirken , das wär der Hammer  .

Bei bestimmte Töne werden Impulse ausgegeben , die die Züge dann starten lassen .

Meine reale Modellbahn hatte mal so eine Steuerung gehabt mit Kassettenteil - CDs gab es noch nicht in dieser Zeit .

Die Technik ist eine Analog-Digital-Umwandler zur Schienen gewesen .

Nicht lachen - das war nicht schlecht und keine Unfälle ( Blockbereiche waren auch gegeben ) .

Wenn man das auch hier so machen könnte in der virtuellen Welt , das wäre nicht schlecht . 

Ob das überhaupt machbar ist weiss ich leider nicht .

Alexa !

Anlage ausschalten !

Viele Grüße

H:xnS

Link to comment
Share on other sites

vor 1 Stunde schrieb Timba:

Ich suche eine Möglichkeit, einen Zug um 8:00, 10:00, 12:00, usw. (jeweils Anlagenzeit) abfahren zu lassen. Etwas um Punkt xx:xx auszulösen hilft mir da nicht, außer ich würde für jeden Zeitpunkt ein eigenes Ereignis definieren.

Ich denke das sollte parameterisiert mit einem objekt, in dem die ganzen zeiten hinterlegt sind, und einer "zeitpunkt erreicht" zu machen sein.

Link to comment
Share on other sites

Hallo,

vor 8 Stunden schrieb Timba:

Ich suche eine Möglichkeit, einen Zug um 8:00, 10:00, 12:00, usw. (jeweils Anlagenzeit) abfahren zu lassen. Etwas um Punkt xx:xx auszulösen hilft mir da nicht, außer ich würde für jeden Zeitpunkt ein eigenes Ereignis definieren. Ist mir zu redundant.

die Bedingung "Zeitpunkt überschritten" ist für einen Zeitbereich gedacht, du interessierst dich aber für konkrete Zeitpunkte. Dafür kannst du direkt auf die Zeit prüfen:

Zeit.thumb.jpg.1ae575bdb045caed3a164897ec49ce96.jpg

Alternativ (und performanter) kannst du ein Ereignis pro Zeitpunkt definieren und darin ein benutzerdefiniertes Ereignis mit den Aktionen aufrufen, dann vermeidest du Redundanzen.

Viele Grüße,

Neo

Link to comment
Share on other sites

vor 2 Stunden schrieb Neo:

Alternativ (und performanter) kannst du ein Ereignis pro Zeitpunkt definieren und darin ein benutzerdefiniertes Ereignis mit den Aktionen aufrufen, dann vermeidest du Redundanzen. 

Ach ja (Hand vor Stirn klatsch), diese neue hervorragende Möglichkeit vergesse ich immer wieder. Danke für die Erinnerung. (y)

Link to comment
Share on other sites

  • 4 years later...
Am 20.9.2019 um 11:41 schrieb Neo:

Hallo Wolfgang,

man muss hier unterscheiden zwischen einfachen Variablen (Boolean, Zahlen, Texte...) und Variablen, die Referenzen enthalten (Objekte, Ereignisse). Wird eine Variable gelöscht, dann wird ihr nil zugewiesen, ein Lua-Wert, der aussagt, dass die Variable keinen Wert enthält. Im Normalfall werden die Variablen daher einfach gelöscht. Bei Variablen, die aber Objekte referenzieren, kann bei einem nil nicht unterschieden werden, ob der Nutzer die Variable löschen wollte oder den gültigen Wert "keine Referenz" setzen wollte. Lua (und das Studio) unterscheiden nicht zwischen "leer" und "keine Referenz". Aus diesem Grund bleibt die Variable in diesem Fall erhalten, wird aber auf einen leeren Wert gesetzt.

Viele Grüße,

Neo

Hallo @Neo,

dass das so ist, habe ich inzwischen auch festgestellt. Aber irgendwie geht es offenbar ja doch, eine Variable, die auf ein Objekt referenziert zu löschen, denn mit dem Minus Screenshot2023-10-16184914.jpg.6f750161a3800fcc064f757424808448.jpg kann ich sie ja restlos löschen. Kann man das vielleicht zwischenzeitlich (einige Versionen später) automatisieren?

Beste Grüße

Phrontistes

Link to comment
Share on other sites

Für interessierte Mitleser

Um

vor 17 Minuten schrieb Phrontistes:

eine Variable, die auf ein Objekt referenziert zu löschen

kann man wie folgt vorgehen:

Ändere zunächst den Typ der Variablen, indem du ihr z.B. eine Zahl zuweist und lösche sie dann im nächsten Schritt.

VariablemitObjektreferenzlschen.jpg.11cf36dd9ed6059cd3bb773a5920be38.jpg

Viele Grüße
Götz

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
×
×
  • Create New...