EEPOnSignal - EEPOnSwitch "attempt to call a nil value"

!!! 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.
In the case of pictures that are attached to the article, the source must also be stated. This also applies to your own pictures, which were taken by you. Pictures without source information will be deleted!
  • Fragestellung zu EEPOnSignal und EEPOnSwitch !!!


    Ich bekomme sehr viele Meldungen im Ereignis-Fenster "attempt to call a nil value" zu registrierten OnSignalen und OnWeichen.

    Der im Anhang beigefügte SnapShot zeigt das Signal(50) und die Weiche(47) als extremes Beispiel. Die Mitteilungen von Errors stören bisher nur beim lesen, Der Fahrbetrieb

    wird meines Erachtens dadurch nicht oder nur gering beeinflusst - sofern ich das überhaupt beurteilen kann "darf".

    Die Weichen,Signale hatte sie zu Beginn der Anlage Registriert als sie noch auf den Hauptfahrstraßen lagen und von LUA-Script direkt angesprochen wurden.

    Mittlerweile, da ich sehr viel in der Anlage Umgebaut habe und sich auch die ID's der Weichen,Signale verändert haben werden sie im LUA-Skript nicht mehr angesprochen "verarbeitet".

    Kann es sein das die Fehler von daher kommen? Oder anders herum gefragt, ab wann sollte man Signale und Weichen Registrieren.

    Zur Enträtselung: wie könnte ich vorgehen um die Error Meldungen zu reduzieren "aufzuheben".


    P.S. - Bitte zu entschuldigen das ich meine Frage an ein anderes Thema angeheftet hatte das mir mir über die Tags mitgeteilt wurde.

    Gruß klaus-s

  • Bei näherem betrachten des SnapShot erkennt man auch mein Problem, es werden Weich,Signale geschalten - im Ereigniss Fenster ausgegeben, die mit den Error Meldungen nicht zusammenhängen.

    Gruß klaus-s

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

  • Hallo klaus-s


    mein User-Kollege aus dem anderen Tröd hatte recht.

    Wenn für die registrierten Signale keine OnSignal-function existiert, kommt diese Fehlermeldung.


    Hilft also nur, die Registrierungen zu löschen oder auszukommentieren.


    :aq_1:

    eep_gogo ( RG3 )

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

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

    The post was edited 1 time, last by eep_gogo ().

  • Das ist doch schon sehr schön und hilft enorm. Die Arbeit mache ich mir sehr gerne. Dennoch eine Frage: Ich habe gelesen das man Weichen,Signale selbst beim gebrauch von Tabellen nicht in jedem Fall registrieren muss.

    Worin liegt den eine Voraussetzung der Weichen,Signale um sie zu registrieren. Wäre prima zu erfahren, aus den Anleitungen über LUA konnte ich das bisher nicht erfahren.


    Gruß klaus-s

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

  • Hallo klaus-s  
    eines von mehreren Beispielen:


    LUA Source Code
    1. EEPRegisterSignal(xyz)  --- ist die Voraussetzung, damit die "On-Signal-Geschichte" funktioniert

    D.h. für das oben registrierte Signal gibt es eine "On-Signal-Funktion", die so aussieht:


    LUA Source Code
    1. function EEPOnSignal_xyz(status)  -- die Schreibweise muss genau eingehalten werden
    2. ---  tue irgendwas, evtl. abhängig vom "status", das ist der jetzige Zustand des Signals
    3. end

    Der Vorteil dieser Vorgehensweise ist, dass das, was in der function passiert,

    immer automatisch im Hintergrund abläuft, wenn das Signal umgeschaltet wird.


    Erkärungen dazu gibt es sehr wohl im Lua-Handbuch,


    ab Seite 20 -

    Beschreibung der Anlage „Tutorial_34_LUA_2” :bn_1::ae_1:


    :aq_1:

    eep_gogo ( RG3 )

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

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

  • Post by Rayler ().

    This post was deleted by schlingo: vom User gelöscht: hat sich schon erledigt ().
  • Erkärungen dazu gibt es sehr wohl im Lua-Handbuch,


    ab Seite 20 -

    Beschreibung der Anlage „Tutorial_34_LUA_2

    vielen Dank für den Hinweis - die Beschreibung hatte ich nicht mehr in Erinnerung.


    sobald du eine sog. "Callbackfunktion" benötigst, ist eine Registrierung des Objekts unumgänglich.

    Das genau ist was ich erfahren wollte, Danke dir Ray.

    Ich war mir nicht ganz sicher ob allein für die Anweisung oder für das Callback eine Registrierung benötigt wird.

    So... damit sollte ich alle Error Meldungen in Hinsicht der OnSignale,OnWeichen lösen können. Besten Dank für eure Hilfe Leistungen damit musste ich nicht in den Tiefen von EEP stöbern und kann zu arbeiten beginnen. :aq_1::bm_1:

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

    The post was edited 1 time, last by klaus-s ().

  • function EEPOnSignal_xyz(status) ist die Callback-Funktion


    :aq_1:

    eep_gogo ( RG3 )

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

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

  • super einfach wirklich sehr gut für mich ein Danke schön.

    Nach einem Jahr Abstinenz und reiner Windows config, läuft das Denken mit LUA schon wieder viel einfacher.

    Hier dennoch ein Schnipsel: Eventuell das jemand helfen kann. Das Script sollte

    Inhaltlich "man Verzeihe die vielen prints" Inhaltlich so bleiben.

    Die Züge werden zuerst geprüft am Vorsignal und erhalten darauf Einfahrt oder eben nicht.

    Was ich verbessern wollte ist die zweite function function GUE_03_Einfahrt_r_Gue1()Ich wollte sie als Tabelle im Block schreiben. Beispiel:

    Mein Versuch die Weichen in eine Tabelle zu setzen funktioniert leider noch nicht. sprich die function wird nicht abgearbeitet kann jemand helfen ???

    LUA Source Code
    1. Meine_Signale = {
    2. {22,2},{23,4},{44,4},{45,4},{46,4},{47,1},{66,4},{117,4},
    3. --{91,2},{34,2},{50,2},{67,1},{349,1},{635,1},{641,2},{645,2},{646,2},{647,1},{648,1},{649,1},{652,1},{653,2},{654,1},{655,1},{658,1},{712,1},{713,1},
    4. }
    5. --Den Funktionsname: Funktionsname_Kp nach deinen Wünschen abändern!
    6. function GUE_Durchfahrt() --im Kontaktpunkt steht: Funktionsname_Kp
    7. for Tabellenposition = 1, #Meine_Signale do
    8. EEPSetSignal (Meine_Signale [Tabellenposition][1], Meine_Signale [Tabellenposition][2])
    9. end
    10. end

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

    The post was edited 1 time, last by icke: Quellcode auf Lua umgestellt ().

  • Hallo klaus-s


    die function GUE_Durchfahrt() müsste funktionieren.


    Setze mal zwischen Zeile 9 und 10


    print("GUE_Durchfahrt() done"), evtl. stimmt mit deinem Aufruf etwas nicht.



    Mein Versuch die Weichen

    dann musst du auch den Befehl EEPSetSwitch nehmen!


    :aq_1:

    eep_gogo ( RG3 )

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

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

  • Wenn Du es dann noch schaffen würdest einen Lua Code auch als Lua Code einzustellen, erleichtert es dem Interessierten diesen zu lesen

    Sorry - wie machst du das. Mein Code habe ich von Scite kopiert und eingefügt

    leider wie man sieht ohne farbliche Darstellung. Eventuell das ich Notepad++

    nehmen sollte ??


    Gruß klaus-

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

  • LUA Source Code
    1. function LUA_Buton()
    2.     print("Ach so geht das")
    3. end

    Dank van Icke für das schnelle erlernen

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

  • print("GUE_Durchfahrt() done"), evtl. stimmt mit deinem Aufruf etwas nicht

    dann musst du auch den Befehl EEPSetSwitch nehmen!

    Habe beide Befehle eingetragen, wobei Meine Signale den selben wErt zurückgaben als auch Meine_Weichen.

    Ergebnis eben genau die print anweisung nämlich

    8 mal GUE_Durchfahrt() done

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

  • 8 mal GUE_Durchfahrt() done

    ... wieso 8x ?


    Ich habe bei meinem Test noch zwischen Zeile 8 und 9 folgenden "print" eingefügt:


    print("Signal/Weiche ",Meine_Signale [Tabellenposition][1]," ist ",Meine_Signale [Tabellenposition][2])


    das ergibt nach einmaligem Funktionsaufruf folgenden einmaligen Ausdruck:



    ---


    und wenn keine Fehlermeldung kommt, "müssten" die Signale und Weichen auch schalten!


    :aq_1:

    eep_gogo ( RG3 )

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

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

  • ---


    und wenn keine Fehlermeldung kommt, "müssten" die Signale und Weichen auch schalten!

    das passt,

    Ich bekomme nun den selben Ausdruck. Weichen wurden gestellt...:aa_1:

    Nun habe ich eine Tabelle erstellt, einen print("") Befehl dazu.


    Nun nur noch die Signale dazu fügen. Und fertig ist die Fahrstraße.

    Kann ich dazu den Befehl function GUE_Durchafahrt() nur mit Signal Zuweisung nehmen?? Hier wurden nun ja Weichen mit EEPSetSwitch gestellt.

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

  • nun merkert er.

    Die Zeile mit , umbenannt zu,

    EEPSetSignale (Meine_Signale [Tabellenposition][1], Meine_Signale [Tabellenposition][2])

    wird nun nicht mehr verarbeitet.

    Ich habe nun also 2 mal function GUE_Durchfahrt()

    einmal für die Weichen, das passt!! und für Signale das passt nicht mehr.


    Schwierig...

    eep_gogo: Gratulation übrigens zu deiner ersten Spline im Februar, würde sagen geglückt oder noch besser perfekt.

    https://www.bilder-hochladen.net/files/ltph-73-5d40.jpg Die Dinge die Mich anders machen, sind die Dinge die Mich ausmachen :ac_1::ad_1::ae_1:


    Windows 10 Home - 64 Bit; Google Chrome - AMD Phenom(tm) II CPU @ 3,6 GHZ - 6-Core,_32 GB Ram - ASUS/Nvidia GTX960 -

    "EEEC bis EEP6.1_EEP7.0 bis 15.2 - Modelkonverter - HN8 - diverse Grafik Programme - SciTE - LUA 5.1

    The post was edited 3 times, last by klaus-s ().

  • Hallo klaus-s


    würde es denn so für dich passen:


    ---

    :aq_1:

    eep_gogo ( RG3 )

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

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