Lua-Funktion manuell aufrufen

Achte bitte darauf, dass Du mit deinem Thema bzw. mit deiner Frage im richtigen Bereich bist.
Die Bereiche sind: Einstellungen im Forum, EEP aktuell ab EEP7 , Splines, Rollmaterialien, Immobilien, Landschaftselemente, Signale und Schaltung, Anlagenvorstellungen, Schnappschüsse Konstrukteure, EEP Treffen , Laberecke, Online - Handbuch EEP Vielen Dank für die Unterstützung das Forum übersichtlich zu halten.
Bilder/Fotos aus dem Internet sind nur als Link gestattet. Eigene Fotos, also Fotos aus dem realen Leben, sind erstens mit Eigenes Bild als Quellenangabe zu kennzeichnen und zweitens nur als Dateianhang im Beitrag zulässig. Bilder ohne Quellenangaben und Bilder dessen Quelle das Internet wie z. B. Google ist, werden gelöscht.
  • Hallöchen,

    gibt es eine Möglichkeit, eine LUA-Funktion auch selbst manuell aufrufen zu können, also ohne Kontaktpunkt?

    Gerade in debug-Szenarien, wenn durch Programmfehler einige Variablen inkonsistent oder falsch belegt sind, wäre es hilfreich, eine reset-Funktion ausführen zu können, ohne sich erst einen fahrenden Zug aussuchen zu müssen, dem man vorübergehend ein Kontaktpunkt vor die Füße wirft.

    Liebe Grüße,

    Robert

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • Hallo,

    du könntest dir ein Hilfsignal irgendwo hinstellen, dies in Lua registrieren, so das eine Änderung von Lua auswertbar ist, und bei gewünschter Stellung deine gewünschte Funktion aufrufen.

    Code
    EEPRegisterSignal(1)
    
    function EEPOnSignal_1(Stellung)
        if Stellung == 1 then
            MeineFunktion()
        end
    end

    Gruß

    Maik

    Für Interessierte

    EEP17.3 + PL1, PL2, Modellkatalog, ME, ZE, Konverter, HomeNos 15, 16,17

    Rechner: i7-9700K 32GB, RTX2080 8GB, Win10 Pro, Bildschirme: 2 x 4K, Notebook: MSI GS65 8SG-058 Stealth Gaming 15,6" W10Pro

    Mein YouTube-Kanal: https://www.youtube.com/channel/UCsn4pZ1Wmk7jecMZ1uYLTQQ

    Gruß

    Maik

  • Hallo Robert,

    wie wäre es mit einem Signal (oder ähnlich), das Du in eine Ecke deiner Anlage stellst, wo es nicht zu sehr stört. Dem Signal weist Du deine LUA-Reset-Rotine zu und klickst bei Bedarf auf das Signal ...

    Gruß

    Gerhard

    Maik war schneller ...

    i7-7800X (12x 4GHz), 32GB RAM | GeForce GTX 1080, 8GB RAM

    Win10Pro (v21H2):

    EEP16.4 (PI1,2,3); EEP17.1 (kein PI, nicht aktiv genutzt)

  • Okay, das ist erst mal eine gute Idee.

    Mit den reset-Signalen könnte ich leben, aber das Prinzip skaliert leider schwer für weitere Testfälle:

    - Manuell die Anforderung einer Fahrstraße von Osten nach Norden testen

    - Manuell die Anforderung einer Fahrstraße von Norden nach Süden testem

    - Manuell das Deregistrieren von Fahrstraßenanforderungen testen

    - Manuell weitere Funktionen in der Steuerung einer Kreuzung testen...

    Irgendwann habe ich an jedem Knotenpunkt 7 bis 13 Signale zu stehen und blicke nicht mehr durch, welches Signal welche Funktion triggert.

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • Hallo Lion87

    für den letzten Punkt könnte dir doch der TippText helfen, in den du den aufzurufenden function-Namen reinschreibst

    zu den vorhrigen Punkten :

    du könntest, wenn es dir Spass macht, mit den Schattenbahnhofsignalen, siehe Goetz' twitch-Sendung vom Mittwoch, entsprechende "Konstrukte" bauen

    und mit zusätzlichen print-Ausgaben ergänzen

    oder einfach nur "hirnen" :ao_1::ao_1:bis es tut !!!

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"

    Einmal editiert, zuletzt von eep_gogo (RG3) (19. Januar 2018 um 22:12)

  • Du musst doch nicht alles auf einmal testen, Lion.

    Drei oder vier Tests sollten reichen. Und für die schreibst du die Funktionen nach Bedarf um.

    Oder du nimmst zwei Signale: Ein Zählersignal für die Auswahl des Tests und einen Schalter für den Start des ausgewählten Tests

  • Hallo,

    meine Lösung zum De-Registrieren von Fahrstrassen:

    Fahrstrassen-Signal sind registriert, s. o.

    ich benutze Datenslots für die Speicherung und Aktivierung von Fahrtsrassen, ist aber egal.

    Aktivierst du jetzt im Betrieb ein aktive Fahrstrasse am Startsignal, Shift + Mausklick, wird die aktive Fahrstrasse deaktiviert = Stellung 1

    bei jeder Änderung der Stellung der Fahrtrasse wird jetzt diese Routine durchlaufen und löscht deine Anforderungen

    Code
    EEPRegisterSignal(129)
    function EEPOnSignal_129(SignalStellung) 
        if SignalStellung == 2 then
            print("Fahrstrasse 129 geschaltet: Nebenbahn PZ Ausfahrt BHF Ost-Mitte->HBF")
        end
        if SignalStellung == 1 then
            print("***Fahrstrasse 129 ***abgemeldet***: Nebenbahn Zug auf Einfahrt HBF")
        end
        SlotSave(129,nil) -- oder was immer du brauchst zum De-Registrieren
    end

    zumindest 1 Hilfssignal weniger

    Gruß

    Maik

    Für Interessierte

    EEP17.3 + PL1, PL2, Modellkatalog, ME, ZE, Konverter, HomeNos 15, 16,17

    Rechner: i7-9700K 32GB, RTX2080 8GB, Win10 Pro, Bildschirme: 2 x 4K, Notebook: MSI GS65 8SG-058 Stealth Gaming 15,6" W10Pro

    Mein YouTube-Kanal: https://www.youtube.com/channel/UCsn4pZ1Wmk7jecMZ1uYLTQQ

    Gruß

    Maik

  • eep_gogo (RG3) welchen TippText meinst du?

    @Goetz kann man in EEP11 schon Zählersignale einsetzen? Die Idee ist echt gut.

    Aus den Antworten entnehme ich, dass es zumindest nicht soetwas wie eine Eingabezeile für Lua-Funktionen gibt. Wäre mal was für die Wunschliste. ;) Eintippen, [Enter] und die Funktion wird ausgeführt (sofern vorhanden).

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • b_maik Danke für das Hineinknien in mein Problem. :)

    Ich unterscheide zwischen der Anforderung (Statusbit: gesetzt oder nicht gesetzt) und der tatsächlichen Schaltung der Fahrstraße.

    Wenn ein Fahrzeug eine Fahrstraße anfordert, setze ich eine entsprechende Variable auf 1. Das heißt noch lange nicht, dass die Fahrstraße bereits geschaltet wird. Sie kann ja auch noch blockiert sein.

    Wird die Fahrstraße geschaltet, wird die Anforderung automatisch "deregistriert" (also auf 0 gesetzt). Das Fahrzeug ist abgefertigt und die Kreuzungssteuerung wartet jetzt nur noch darauf, dass die Fahrstraße wieder frei wird.

    Um es noch komplizierter zu machen: Ich nutze einen einzelnen Slot mithilfe von Exponentialberechnungen für mehrere solcher "Binärvariablen".

    Es wäre für verschiedene Szenarien bequem, wenn man eine Anforderung mal eben manuell setzen oder zurücknehmen könnte.

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • Hallo Lion87

    in den Objekteigenschaften eines Signals oder z.B. einer Weiche gibt es links unten

    einen Button Tipp-Text

    in den du den aufzurufenden function-Namen reinschreibst

    der taucht dann in 3D als "Sprechblase" auf, so weißt du, was das Signal aufrufen soll.

    Nach der erfolgreichen Testphase kannst du das Häkchen "Zeige-Tipp" entfernen und

    die "Sprechblase" verschwindet wieder, bei Bedarf kannst du wieder "einschalten".

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"

  • eep_gogo (RG3) Danke für den Hinweis. Gut zu wissen. Leider scheint es diese Funktion in EEP11 noch nicht zu geben. Wird Zeit, dass ich mal wieder in eine neue Version investiere.

    Auch Schattenbahnhöfe als integrierte Programmversion habe ich noch nicht in EEP11.

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • Es wäre für verschiedene Szenarien bequem, wenn man eine Anforderung mal eben manuell setzen oder zurücknehmen könnte.

    Ich kenne jetzt die angesprochenen "Rot-Grün-Signale" selbst nicht.

    Wenn du dir aber irgendwo ein 8er- oder 16er-Feld aufbaust, z.B. rot=0, grün=1

    und diese Signale mit der Maus zusätzlich betätigt werden können und evtl. mit entsprechenden EEPOnSignal-Funktionen,

    kannst du dir ein Abbild deiner Binärvariablen bauen !!

    Fordert wahrscheinlich genausoviel Hirnschmalz wie "direktes" testen, macht aber vielleicht mehr Spass ??:av_1::ap_1:

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"

  • Sorry, hab auf deine Version nicht geachtet, gibt's erst ab EEP13.

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"

  • Wäre mal was für die Wunschliste. ;) Eintippen, [Enter] und die Funktion wird ausgeführt (sofern vorhanden).

    Dein Wunsch war auf der Liste und ist auf Platz 93 von 106 gelandet.

    Gruß

    Detlef

    Gruß

    Detlef

    EEP6.1, EEP17.0 Patch2

    Nos5, HN16, Modellkatalog, Tauschmanager, Hugo, ModellExplorer, ZugExplorer, Bilderscanner

    , Modellkonverter

    Alles was lediglich wahrscheinlich ist, ist wahrscheinlich falsch.

    Rene Descartes

  • Platz 93 von 106

    Oh... :au_1:

    Vielleicht warte ich dann doch noch auf EEP Version 19. :an_1:

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • Vielleicht warte ich dann doch noch auf EEP Version 19.

    Hallo :)

    nicht unbedingt. Der Platz spiegelt ja nur wider, wie wichtig uns Anwendern (bzw. denen, die abgestimmt haben) einzelne Features sind. Welche und wann Wünsche umgesetzt werden, entscheiden die Verantwortlichen bei Trend. Das ist dann sicher nicht (nur) von der Rangliste abhängig.

    Gruß Ingo

  • Wäre mal was für die Wunschliste. ;) Eintippen, [Enter] und die Funktion wird ausgeführt (sofern vorhanden)

    Hallo Lion87,

    "geht doch jetzt schon" (mit etwas drum rum):av_1:  Eintippen -speichern - set Signal

    Lua-Variable ändern während Laufzeit

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"

  • Clever! :)


    Dann brauche ich jetzt nur noch einen Weg, wie ich das entsprechende Ausführsignal bequem schalten kann, egal wo auf der Anlage ich mich befinde (und ohne dass ich von dort weg muss).

    EEP 16.4 Expert (64 Bit) (keine Plugins) (+ 15 Expert, 11.3 Expert, 10.1 Expert, 9 Expert, 6, 5.2, 3, 2.43, 1.37)

    PC


    Windows 10 Home (64 Bit)
    Intel Core i7-7700K CPU @ 4.20 GHz
    16 GB RAM
    NVidia GForce GTX 1070

    Notebook

    Windows 11 Pro (23H2) (64 Bit)
    Intel Core 13th Gen i9-13900H CPU @ 2.60 GHz
    16 GB RAM
    NVidia GForce RTX 4050

    http://straba.liontraffic.de

    You try, you fail, no matter;
    try again, fail again, fail better!

  • Meinst du mit Ausführsignal das Signal, das ich im Beispiel verwendet habe ?

    Du kannst auch etwas genauer erläutern, was du eigentlich machen willst !

    :aq_1:

    eep_gogo ( RG3 )

    -------------------------

    Intel i3-540 3,2GHz 8GB, RAID10, HD 6570 1GB, W7/64 Prof., EEP 6-6.1, 10-17.0, HN13+15/16+15/16DEV, TM, "Schiefe Ebene 6 + 8", "Bahn2000", "Faszination der St. Gotthard-Nordrampe"