Brauche Hilfe bei GK3-DKW und Schatten-DKW für GBS

!!! 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!
  • Hallo Zusammen,


    ich komme nichr witer, seit 2 Stunden suche ich den Fehler und finde ihn nicht. Vielleicht kann mir jemand auf die Sprünge helfen.


    Ich habe testweise folgenden Aufbau gebaut:





    Nun mein Problem:

    Der Verbund Signal 005/ Weiche 006 schaltet korrekt, sowofl im 3d-Fenster als auch im GBS, die Stellungen werden richtig angezeigt und durchfahren:

    Der Verbund Signal 011/ Weiche 012 fubktioniert nicht, wie er soll. Die DKW lässt sich in 3d über die Laterne 011 korrekt schalten, die Stellung wird auch von Weiche 012 angezeigt.
    Schalte ich nun Weiche 012, werden zwar die Laternenstellungen korrekt übernommen, die DKW wir aber nicht gestellt.

    So sieht das Script aus:


    clearlog()

    -- Alle ID Nummer der DKW-Laternen mit einem Komma getrent zwischen der Geschweiften Klammer Eintragen

    -- Alle DKW-WeichenID Nummer mit einem Komma getrent zwischen den inneren Geschweiften Klammer Eintragen.

    -- Dann die innere Geschweifte Klammer Kopieren und nach einem Komma wieder einfügen, um die nächste DKW-Weiche eintragen.

    -- Lat_ID,{W1_ID,W3_ID,W2_ID,W4_ID,},Lat_ID,{...........}

    DKW_IDs={5,{1,3,2,4},11,{7,9,8,10},0,{0,0,0,0}}

    for x in pairs(DKW_IDs) do

    local wert=x%2

    if wert==1 then

    EEPRegisterSignal(DKW_IDs[x])

    end

    end

    --######################## Die EEPMain ist nur bei einer LUA freien Anlage nötig

    function EEPMain()

    return 1

    end

    --########################

    function EEPOnSignal_5(DKW_Lat_stell)

    dkw_LaterneID = 5 --Hier die Laternen ID eintragen

    for id, switch_ID in ipairs(DKW_IDs)do

    if switch_ID==dkw_LaterneID then

    if DKW_Lat_stell==1 then EEPSetSwitch(DKW_IDs[id+1][2],2);EEPSetSwitch(DKW_IDs[id+1][4],2) end--links nach links

    if DKW_Lat_stell==2 then EEPSetSwitch(DKW_IDs[id+1][2],1);EEPSetSwitch(DKW_IDs[id+1][3],1) end--links nach rechts

    if DKW_Lat_stell==3 then EEPSetSwitch(DKW_IDs[id+1][1],2);EEPSetSwitch(DKW_IDs[id+1][3],2) end--rechts nach rechts

    if DKW_Lat_stell==4 then EEPSetSwitch(DKW_IDs[id+1][1],1);EEPSetSwitch(DKW_IDs[id+1][4],1) end--rechts nach links

    end

    end

    end

    function EEPOnSignal_11(DKW_Lat_stell)

    dkw_LaterneID = 11 --Hier die Laternen ID eintragen

    for id, switch_ID in ipairs(DKW_IDs)do

    if switch_ID==dkw_LaterneID then

    if DKW_Lat_stell==1 then EEPSetSwitch(DKW_IDs[id+1][2],2);EEPSetSwitch(DKW_IDs[id+1][4],2) end--links nach links

    if DKW_Lat_stell==2 then EEPSetSwitch(DKW_IDs[id+1][2],1);EEPSetSwitch(DKW_IDs[id+1][3],1) end--links nach rechts

    if DKW_Lat_stell==3 then EEPSetSwitch(DKW_IDs[id+1][1],2);EEPSetSwitch(DKW_IDs[id+1][3],2) end--rechts nach rechts

    if DKW_Lat_stell==4 then EEPSetSwitch(DKW_IDs[id+1][1],1);EEPSetSwitch(DKW_IDs[id+1][4],1) end--rechts nach links

    end

    end

    end

    function EEPOnSignal_x(DKW_Lat_stell)

    dkw_LaterneID = 0 --Hier die Laternen ID eintragen

    for id, switch_ID in ipairs(DKW_IDs)do

    if switch_ID==dkw_LaterneID then

    if DKW_Lat_stell==1 then EEPSetSwitch(DKW_IDs[id+1][2],2);EEPSetSwitch(DKW_IDs[id+1][4],2) end--links nach links

    if DKW_Lat_stell==2 then EEPSetSwitch(DKW_IDs[id+1][2],1);EEPSetSwitch(DKW_IDs[id+1][3],1) end--links nach rechts

    if DKW_Lat_stell==3 then EEPSetSwitch(DKW_IDs[id+1][1],2);EEPSetSwitch(DKW_IDs[id+1][3],2) end--rechts nach rechts

    if DKW_Lat_stell==4 then EEPSetSwitch(DKW_IDs[id+1][1],1);EEPSetSwitch(DKW_IDs[id+1][4],1) end--rechts nach links

    end

    end

    end

    EEPRegisterSwitch (6)

    function EEPOnSwitch_6 (Stellung)

    if Stellung == 1 then EEPSetSignal (5,1)

    EEPSetSwitch (1, 1)

    EEPSetSwitch (2, 1)

    EEPSetSwitch (3, 2)

    EEPSetSwitch (4, 2)

    elseif Stellung == 2 then EEPSetSignal (5,2)

    EEPSetSwitch (1, 2)

    EEPSetSwitch (2, 1)

    EEPSetSwitch (3, 1)

    EEPSetSwitch (4, 2)

    elseif Stellung == 3 then EEPSetSignal (5,3)

    EEPSetSwitch (1, 2)

    EEPSetSwitch (2, 2)

    EEPSetSwitch (3, 2)

    EEPSetSwitch (4, 1)

    elseif Stellung == 4 then EEPSetSignal (5,4)

    EEPSetSwitch (1, 1)

    EEPSetSwitch (2, 2)

    EEPSetSwitch (3, 2)

    EEPSetSwitch (4, 1)

    end

    end

    EEPRegisterSwitch (12)

    function EEPOnSwitch_12 (Stellung)

    if Stellung == 1 then EEPSetSignal (11,1)

    EEPSetSwitch (1, 1)

    EEPSetSwitch (2, 1)

    EEPSetSwitch (3, 2)

    EEPSetSwitch (4, 2)

    elseif Stellung == 2 then EEPSetSignal (11,2)

    EEPSetSwitch (1, 2)

    EEPSetSwitch (2, 1)

    EEPSetSwitch (3, 1)

    EEPSetSwitch (4, 2)

    elseif Stellung == 3 then EEPSetSignal (11,3)

    EEPSetSwitch (1, 2)

    EEPSetSwitch (2, 2)

    EEPSetSwitch (3, 2)

    EEPSetSwitch (4, 1)

    elseif Stellung == 4 then EEPSetSignal (11,4)

    EEPSetSwitch (1, 1)

    EEPSetSwitch (2, 2)

    EEPSetSwitch (3, 2)

    EEPSetSwitch (4, 1)

    end

    end




    Ich weiß mir keinen Rat mehr, ich fange allerdings auch gerade erst mit LUA an.


    Glück Auf

    Stefan

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • ich fange allerdings auch gerade erst mit LUA an.

    Dann möchte ich dir gerne ein Anfänger-freundliches DKW Skript anbieten:



    Bei Verwendung dieses Skripts dürfen die Weichen nicht verkoppelt sein!

    Die Verkopplung wird durch das Skript vorgenommen.


    Für die DKWs auf deiner Anlage musst du nur die Tabelle in den ersten Zeilen anpassen und erweitern. Sonst nichts!

    Das macht es für den Anfänger leichter.


    Viel Erfolg :aa_1:

  • Danke erstmal für die schnelle Antwort. Ich hab das natürlich sofort ausprobiert, Weichen entkoppelt und das Script eingefügt.

    Irgendwas hab ich dabei falsch gemacht.......Weichen 5/6 gehen jetzt auch nicht mehr.........

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • ... und das Script eingefügt.

    Nur eingefügt?

    Oder auch die Signal- und Weichennummern angepasst?

    Ich habe nämlich oben versehentlich statt der Nummern der Laternen die Nummern der parallelen DKWs eingetragen. Das musst du korrigieren.

  • Ich habe die Nummern auf 5 bzw. 11 geändert. Wie kann ich das Script aus Notepad++ hier einfügen, so dass es besser lesbar ist?

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • Ich habe die Nummern auf 5 bzw. 11 geändert.

    Dann ist alles korrekt.




    Wie kann ich das Script ... hier [besser lesbar] einfügen ..?

    Klicke oben in der Leiste auf dieses Symbol: </>

    Füge in das Fenster deinen kopierten Code ein.

    Klicke auf das Wort "Quellcode" und wähle statt "automatische Erkennung" aus der Liste "Lua" wenn du das Code Highlighting haben möchtest.

  • Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • Um Himmels Willen.

    Warum hast du denn jetzt beide Skripte untereinander?


    Du brauchst nur folgendes Skript (jetzt mit den richtigen Werten und der nötigen EEPMain() Funktion):


  • Hallo Götz,


    ich war jetzt auch etwas durcheinander mit [6] und [12]. Bin auch ein Lua Anfänger und lerne noch dazu, aber jetzt passt es wieder. :aa_1:


    VG Bodo

    PC: i7- 6700K CPU@ 4.00 GHz, Nvidia Geforce GTX 980 Ti 6 GB, RAM 16 GB, Win 10 home 64 bit Version 21H1

    EEP 5+6, EEP 16+17

    Laptop: i7 - 7700HQ CPU @2,8 GHz, Nvidia Geforce GTX 1070 8 GB, RAM 16 GB, Win 10 home 64 bit Version 21H1

    EEP 16+17

  • Jetzt habe ich nur dieses Script drinne, aber das GBS schaltet nach wie vor nur die Schattenweichen, die eigentlichen DKW lassen sich über die Laterne schalte, aber das ging ja ganz zu Anfang auch schon, das GBS schaltet jetzt bei beiden nur noch die Schattenweichen. da war ich schon mal einen Schritt weiter.......

    Für heute lasse ich es gut sein, wird Zeit, ins Bett zu gehen.

    Vielen Dank erstmal für Deine Mühe.


    L.G. Stefan

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • aber das GBS schaltet nach wie vor nur die Schattenweichen

    Ah, das hatte ich nicht bedacht.


    Die Schatten-DKW musst du noch per Wenn ... Dann Verknüpfung (in den Objekteigenschaften) direkt mit der Laterne der GK3 DKW verknüpfen.

    Achte bitte darauf, alle vier möglichen Stellungen zu verkoppeln.


    Und umgekehrt musst du die GK3 Laterne mit der Schatten-DKW verknüpfen, damit ein manuelles Umschalten der GK3 DKW auch im Pult richtig widergespeigelt wird.

  • Hallo Stefan,


    denke mal du musst die Schattenweichen mit den GK3 Weichen verbinden. Dann dürfte es funktionieren.


    VG Bodo

    PC: i7- 6700K CPU@ 4.00 GHz, Nvidia Geforce GTX 980 Ti 6 GB, RAM 16 GB, Win 10 home 64 bit Version 21H1

    EEP 5+6, EEP 16+17

    Laptop: i7 - 7700HQ CPU @2,8 GHz, Nvidia Geforce GTX 1070 8 GB, RAM 16 GB, Win 10 home 64 bit Version 21H1

    EEP 16+17

  • So sieht das Ganze jetzt aus. Ergebnis: Wie am Anfang, Weichen 5/6 funktionieren einwandfrei, Weich 11 lässt sich per Laterne schalten, nicht aber per GBS, Da wird nur die Schattenweiche gestellt und das Schaltgeräusch abgespielt.

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • Alles nach Zeile 49 ist zu viel und muss raus.

    Das kollidiert mit dem darüber.


    Und hast du in den Objekteigenschaften der Schatten-DKWs die Verknüpfungen eingetragen?


    Sorry - alles Mist

    Die Verknüpfung einer DKW ist nicht mehr so einfach. Da muss ich selbst schauen, was nötig ist ...

    Edited once, last by Goetz ().

  • Bei den Schatten-DKW könnte ich das bestenfalls bei den Gleiseigenschaften festlegen, der Schalter ist allerdings gesperrt. Bei den Weichen 5/6 funktioniert es ja auch mit dem Skript, unr eben bei Weiche 11/12 nicht.

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • Okay, hier ist eine Lösung, welche die Schatten-DKW per Lua mit der GK3-DKW koppelt.

    Hänge nach Zeile 49 nur folgende Zeilen an:


    Lua
    EEPRegisterSwitch (6)
    function EEPOnSwitch_6 (Stellung)
        EEPSetSignal (5, Stellung, 1)
    end
    
    EEPRegisterSwitch (12)
    function EEPOnSwitch_12 (Stellung)
        EEPSetSignal (11, Stellung, 1)
    end


    Erklärung:

    Die Weichenlaterne der DK3 DKW bekommt per Lua die selbe Stellung wie die Schatten-DKW.

    Die 1 als dritter Parameter sorgt dafür, dass die GK3-DKW wiederum beim Umschalten die Lua Funktion aufruft, welche die zugehörigen Weichen schaltet.


    Achtung:

    Bei dieser Version bitte nichts direkt verkoppeln!


    Nachtrag:

    Ich bin dir noch eine Erklärung schuldig, warum mit deinem Skript nur eine der beiden Schatten-DKWs funktioniert hat. Ich musste mich nur erst einmal um den Hund kümmern.


    Deine Zeilen 51 bis 74 verknüpfen die Schatten-DKW 6 mit der zugehörigen GK3 DKW. Da werden die Weichen 1 bis 4 angesprochen. Und das ist richtig, weil diese Weichen zur entsprechenden GK3-DKW gehören.


    Deine Zeilen 76 bis 99 verknüpfen die Schatten-DKW 12 mit der zugehörigen GK3-DKW. Und hier werden ebenfalls die Weichen 1 bis 4 angesprochen. Das ist falsch, denn die Weichen in der zugehörigen GK3-DKW haben die Nummern 7 bis 10.

    Edited 2 times, last by Goetz ().

  • Die anzuhängenden Zeilen im vorherigen Beitrag waren nur eine schnelle Notlösung.

    Es ist sinnvoller, die Schatten-DKWs mit in die DKW-Tabelle aufzunehmen.


    Hier ist das passend umgeschriebene Skript:


    Bei dieser Variante sind nur die individuellen Einträge in der DKW-Tabelle erforderlich. Mehr nicht!


    Mit dem unteren Teil des Skripts bin ich noch nicht glücklich. Da steckt für meinen Geschmack noch viel zu viel Umstandskrämerei drin. Aber er arbeitet sauber und erfordert keine User-seitigen Anpassungen.


    Im Gegensatz zur Version im vorherigen Posting funktioniert hier die Kopplung in beide Richtungen:
    Das Pult schaltet über die Schatten-DKW die GK3-DKW.

    Und eine manuelle Umschaltung der GK3-DKW wird per Schatten-DKW ins Pult übertragen.

    Edited once, last by Goetz: ergänzende Erklärungen ().

  • Danke, danke, danke! das war es...... Jetzt klappt alles!

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch

  • das war es...

    Aber es war auch ein gutes Beispiel dafür, warum diese Methode ein schlechter Ansatz ist.

    Du musst viel zu viel anpassen und die Stellen, wo du Werte anpassen musst, sind über das gesamte Skript verstreut.

    Deshalb habe ich dir gerade eine elegantere Alternative angeboten.

  • Ich bin hier noch eine Antwort schuldig. Lieber Goetz, ich habe das jetzt mit Deinem Script ausprobieren können, selbstverstädlich funktioniert es einwandfrei. Es ist mir auch gelungen , noch eine DKW hinzu zu fügen, die auf Anhieb perfekt funktionierte.

    Vielen, vielen Dank!


    L.G. Stefan

    Betriebssystem: Windows 11 Home

    Prozessor: AMD Ryzen™ 9 5900HX Prozessor (3,30 GHz, bis zu 4,60 GHz, 8 Kerne, 16 Threads und 16 MB L3-Cache)
    64 GB RAM

    Grafik: NVIDIA® GeForce RTX™ 3080 Laptop GPU mit 16 GB GDDR6 VRAM

    EEP 14.1

    EEP 16.4 , Plugins 1,2, 3, 4

    EEP 17 aktueller Patch