Bahnübergang mit Lua die xte.

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
  • Hallo zusammen, habe mir mit diesem Code eine Bahnübergangssteuerung erstellt. Funzt auch mit einem BUE. Nun möchte ich mit diesem Code aber mehrere BUE's steuern. Mit den Signalen geht das. Wie aber bekomme ich den Zähler auf mehere BUE'S eingestellt?

    für Eur Hilfe im voraus schonmal vielen Dank.

    mfg Micha :aq_1:


    Taichi X399, AMD X1950 3,40 Ghz, 64GB Ram, Geforce GTX 1080 8GB

    16.2 Plugin 1,2 :as_1:

    Windows 10 Pro, Version 1903, BSBuild 18362.476


    "Geduld ist das Schwerste und das Einzige, was zu lernen sich lohnt. Alle Natur, alles Wachstum, aller Friede, alles Gedeihen und Schöne in der Welt beruht auf Geduld, braucht Zeit, braucht Stille, braucht Vertrauen."

    Hermann Hesse

  • In Zeile 2 baust du die Signal-ID in einen String ein und in Zeile 3 holst du sie aus diesem String wieder raus. Warum so kompliziert?

    Die ID steht doch in deiner Variablen namens Sig_ID von Anfang an drin.

    Und den String aus Zeile 2 verwendest du anschließend nicht mehr.


    Außerdem machst du mit der Aktion aus einer Zahl einen String. EEPSetSignal() braucht die ID aber als Zahl.


    Und wenn du mehrere BÜs hast, dann brauchst du mehrere z. Für jeden BÜ ein eigenes.

  • Hallo Joachim, danke für den Tipp, wusste ich nicht. Muss ich mir mal zu gemüte führen :ae_1:

    Hallo Goetz, ich sollte mir angewöhnen unter jeder Codezeile ein print Ereigniss zu schreiben dann würde ich meine Fehler schneller finden :ma_1: Das mit dem z(Zaehler) ist genau der Punkt wo ich so nicht weiter komme.

    mfg Micha :aq_1:


    Taichi X399, AMD X1950 3,40 Ghz, 64GB Ram, Geforce GTX 1080 8GB

    16.2 Plugin 1,2 :as_1:

    Windows 10 Pro, Version 1903, BSBuild 18362.476


    "Geduld ist das Schwerste und das Einzige, was zu lernen sich lohnt. Alle Natur, alles Wachstum, aller Friede, alles Gedeihen und Schöne in der Welt beruht auf Geduld, braucht Zeit, braucht Stille, braucht Vertrauen."

    Hermann Hesse

  • Hallo zusammen, zu dem Zaehler fällt mir zur Zeit nix ein.

    So sieht der Code jetzt aus und lüppt mit einem BUE.

    LUA Source Code
    1. function BUE(Sig_ID)
    2. if z <=0 then
    3. EEPSetSignal(Sig_ID, 1)
    4. z=0
    5. elseif z == 1 then
    6. EEPSetSignal(Sig_ID, 2)
    7. end
    8. return z
    9. end

    Noch ne Frage, kann man functionen in Tabellen schreiben? So könnte man mehrere functionen ablegen und bei Bedarf, je nach BUE, anfordern bzw. abarbeiten.

    mfg Micha :aq_1:


    Taichi X399, AMD X1950 3,40 Ghz, 64GB Ram, Geforce GTX 1080 8GB

    16.2 Plugin 1,2 :as_1:

    Windows 10 Pro, Version 1903, BSBuild 18362.476


    "Geduld ist das Schwerste und das Einzige, was zu lernen sich lohnt. Alle Natur, alles Wachstum, aller Friede, alles Gedeihen und Schöne in der Welt beruht auf Geduld, braucht Zeit, braucht Stille, braucht Vertrauen."

    Hermann Hesse

  • kann man functionen in Tabellen schreiben?

    Ja kann man, da Lua aus einer großen Tabelle besteht, oder so ähnlich. Aber frage mich nicht, wie man das am Dümmsten anstellt (keine Zeit) :ae_1: . Frage da mal Jemanden, der sich mit Lua halbwegs auskennt. Aber für mehrere BUE bleibt doch die Funktion gleich, es ändert sich doch nur die Nummer/ ID, welche man in der Tabelle ablegen kann. Bei deinem Bahnübergang sind doch eh keine Sicherungen drin.:ad_1:

    MfG. Jörg
    Ausstattung: Notebook: i7-6700K, 4[8]x4.0 GHz, 32GB RAM DDR4, NVIDIA GTX 980M 8GB, Windows 10, 64-Bit
    Installiert: EEP15.1 Patch2 mit Plugin 1; EEP16.2 Patch4 mit Plugin1+2

    Zusatzprogramme: ResourcenSwitcher2

  • Frage da mal Jemanden, der sich mit Lua halbwegs auskennt.

    Hat er doch getan.

    Wer da antwortet kann er nicht beeinflussen. :ae_1:

    Samsung Series 9 Laptop / Lenovo Z50 - 70 Laptop
    Intel i5 1.7 Ghz / Intel i7 2.0 Ghz
    4 Gb Speicher / 8 Gb Speicher
    Intel HD Graphics 4000 / NVIDIA Geforce 840M
    Windows 10 64 /Windows 10 64
    EEP15, EEP16 / EEP14, EEP15
    AnlagenBau / AnlagenLaufLass

    _____________________________________________________________________

    halbseemann (untere Hälfte im RIver verschwunden)

  • Noch ne Frage, kann man functionen in Tabellen schreiben?

    Natürlich kann man. Lua nennt Funktionen auch "first class citizens", weil man mit ihnen alles machen kann, was man auch mit anderen Werten macht.


    Ich will Dir nicht Deine Aufgabe lösen, aber Dir etwas Hintergrund dazu vermitteln:

    Zunächst einmal sind die beiden Funktions-Definitionen im folgenden Code gleichwertig (bis auf eine Spezialität bei der Verwendung von Rekursion, was hier aber irrelevant ist):

    LUA Source Code
    1. function something(parameter)
    2. -- Inhalt der Funktion
    3. end
    4. something = function(parameter)
    5. -- Inhalt der Funktion
    6. end

    Wenn man eine Funktion einer Variablen zuweisen kann (untere Formulierung), kann man sie natürlich auch einem Tabellen-Eintrag zuweisen:

    LUA Source Code
    1. tabelle[position] = function(parameter)
    2. -- Inhalt der Funktion
    3. end

    Dabei kann position eine Zahl sein, oder auch eine Zeichenkette (oder noch etwas anderes).


    Das bedeutet auch, dass man eine Funktion schreiben kann, die Funktionen definiert und in eine Tabelle schreibt, etwa so:

    LUA Source Code
    1. function generateFunctions(tabelle, parameter1)
    2. local newFunction = function(parameter2)
    3. -- hier können globale Variablen, Variablen der äußeren Funktion (sogenannte "Up-Values")
    4. -- und lokale Variablen verwendet werden.
    5. -- parameter1 wäre hier ein Up-Value,
    6. -- parameter2 muss beim Aufruf der hier definierten Funktion mitgegeben werden.
    7. end;
    8. local position = -- ermittle hier, wo die neue Funktion abgelegt werden soll
    9. tabelle[position] = newFunction
    10. end


    Ich hoffe, das gibt Dir eine erste Vorstellung von den Möglichkeiten.


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 32GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

    The post was edited 2 times, last by cetz: Kleinigkeiten angepasst, danke @schlingo ().

  • Hallo G.Stienen ,

    kannst Du mir Deinen Dislike begründen? Vielleicht kann ich ja etwas daraus lernen.

    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 32GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • kannst Du mir Deinen Dislike begründen?

    Hallo Christopher :)


    vielleicht stört ihn Dein Rechtschreibfehler ;)

    Datei kann position eine Zahl sein

    Der ist ja auch extrem entscheidend, weil er Deinen ganzen Beitrag entstellt ;)


    Gruß Ingo

    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, 1920x1200 auf 26" TFT

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.2 Expert Patch 4, Plugins: 1,2


    alt:
    Win 7x64 Professional SP1, Intel Core i5-3570, 16GB RAM, nVIDIA GeForce GT630, 2GB, 1280x1024 auf 19" TFT

    Windows Firewall und Defender (MSE)

    EEP6; EEP8-14; EEP 15.1 Expert Patch 2, Plugins: 1

  • Hallo an alle Danke für die Infos.


    Quote


    Ich will Dir nicht Deine Aufgabe lösen, aber Dir etwas Hintergrund dazu vermitteln:

    Es ist und bleibt ein schönes Hobby. Aber manchmal bekommt man graue Haare davon ( gut das ich keine mehr habe :an_1:) naja fast keine. Und das Wissen um Lua fehlt mir , und die Zeit dazu es zu lernen ( gute Ausrede nicht wahr :af_1: ) aber ich gebe mir Mühe!

    Gut Ding braucht weile und um die grauen Zellen auf Trab zu halten ist EEP für mich genau das richtige. Und wenn ich denn mal in Rente (gruseliges Wort) gehe hab ich dann auch mehr Zeit für mein Hobby.

    mfg Micha :aq_1:


    Taichi X399, AMD X1950 3,40 Ghz, 64GB Ram, Geforce GTX 1080 8GB

    16.2 Plugin 1,2 :as_1:

    Windows 10 Pro, Version 1903, BSBuild 18362.476


    "Geduld ist das Schwerste und das Einzige, was zu lernen sich lohnt. Alle Natur, alles Wachstum, aller Friede, alles Gedeihen und Schöne in der Welt beruht auf Geduld, braucht Zeit, braucht Stille, braucht Vertrauen."

    Hermann Hesse

  • Quote

    Dann kann man sich nämlich die ganzen Erklärungen sparen.

    Nein finde ich nicht. Ich frage ja nicht umsonst. Und ich nehme ja auch die Erklärungen auf und versuche mein jeweiliges Problem damit zu lösen. Nur von Grund auf Lua zu können dafür fehlt mir noch die Zeit. Und ich bin prakmatisch veranlagt. Wenn ich ein Problem habe und jemand sitzt neben mir und zeigt mir wie man es lösen kann lerne Ich mehr als wenn ich mir Youtube Videos anschaue. Das heißt nicht man braucht diese nicht. Jedem halt das Seine.

    mfg Micha :aq_1:


    Taichi X399, AMD X1950 3,40 Ghz, 64GB Ram, Geforce GTX 1080 8GB

    16.2 Plugin 1,2 :as_1:

    Windows 10 Pro, Version 1903, BSBuild 18362.476


    "Geduld ist das Schwerste und das Einzige, was zu lernen sich lohnt. Alle Natur, alles Wachstum, aller Friede, alles Gedeihen und Schöne in der Welt beruht auf Geduld, braucht Zeit, braucht Stille, braucht Vertrauen."

    Hermann Hesse

  • Ich lerne auch nicht aus Videos. Bis die Stelle kommt, die mich eigentlich interessiert, ist meine Aufmerksamkeit meistens schon "flöten". Stattdessen nehme ich mir ein kleines, überschaubares Thema (etwa "Lua-Funktionen in Tabellen verwalten") und suche mir einen kurzen Text in einem Buch oder im Internet dazu.

    Aber richtig lernen tue ich erst, indem ich Fehler bei der Umsetzung mache, diese Fehler analysiere und als solche erkenne.

    So hat halt jeder seine Lernmethode, und es fällt mir am leichtesten, Dir Futter für eine ähnliche Lernmethode zu geben.


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 32GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • Quote

    Ich lerne auch nicht aus Videos. Bis die Stelle kommt, die mich eigentlich interessiert, ist meine Aufmerksamkeit meistens schon "flöten".

    Genau so geht es mir auch.

    Quote


    So hat halt jeder seine Lernmethode, und es fällt mir am leichtesten, Dir Futter für eine ähnliche Lernmethode zu geben.

    Und dieses Futter nehm ich gern. Danke dafür!

    mfg Micha :aq_1:


    Taichi X399, AMD X1950 3,40 Ghz, 64GB Ram, Geforce GTX 1080 8GB

    16.2 Plugin 1,2 :as_1:

    Windows 10 Pro, Version 1903, BSBuild 18362.476


    "Geduld ist das Schwerste und das Einzige, was zu lernen sich lohnt. Alle Natur, alles Wachstum, aller Friede, alles Gedeihen und Schöne in der Welt beruht auf Geduld, braucht Zeit, braucht Stille, braucht Vertrauen."

    Hermann Hesse

  • richtig lernen tue ich erst, indem ich Fehler bei der Umsetzung mache, diese Fehler analysiere und als solche erkenne.

    Hallo :)


    auf neudeutsch nennt sich das Learning by doing. Ich behaupte, dass das die effektivste Lernmethode ist.


    Gruß Ingo

    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, 1920x1200 auf 26" TFT

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.2 Expert Patch 4, Plugins: 1,2


    alt:
    Win 7x64 Professional SP1, Intel Core i5-3570, 16GB RAM, nVIDIA GeForce GT630, 2GB, 1280x1024 auf 19" TFT

    Windows Firewall und Defender (MSE)

    EEP6; EEP8-14; EEP 15.1 Expert Patch 2, Plugins: 1