Möchte jemand meine Anlagensteuerung zu verwenden?

!!! 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.
  • Tufftuff

    Bekommst Du nicht Fehlermeldungen, weil Du die dofile-Anweisungen durch require ersetzt hast? Und das Format der Pfadangaben kann ja so auch nicht stimmen.

    LG

    Paul


    Notebook ACER ASPIRE VN7, Win7, i7 4720HQ, 16GB RAM, 2x SSD, GTX 860M 2GB

    Desktop Win10, AMD Ryzen 7 3800X 4,5 GHz, 48GB DDR4, SAMSUNG SSD 981 512GB, M.2 + 1TB, NVIDIA GeForce RTX 2080 Ti OC - 11GB

    EEP15.1 mit Plugin 1,Patch 2; EEP16.3, Patch 2, Plugins: 1,2,3

    NOS 15, RessourcenSwitch, Hugo,Tauschmanager, Modellkatalog, Modellexplorer, Zugexplorer

  • Hallo Paul,

    Bekommst Du nicht Fehlermeldungen,

    ich bekomme keine Fehlermeldungen, alle Skriptmodule von Norbert funktionieren bei mir.

    Ich habe ja alle Skriptmodule von Norbert in einen Unterordner im Ordner LUA drin.:ae_1:

    Mache ich aber immer so, für jede Anlage gibt es einen Ordner im LUA-Ordner, damit kann ich die Anlage überall abspeichern. Und den LUA-Ordner nehme ich von EEP-Version nach höherer EEP-Version mit.

    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.4 mit Plugin1+2+3

    Zusatzprogramme: ResourcenSwitcher2, Anlagenverbinder für EEP16

  • Ich habe ja alle Skriptmodule von Norbert in einen Unterordner im Ordner LUA drin.

    Mache ich aber immer so, für jede Anlage gibt es einen Ordner im LUA-Ordner, damit kann ich die Anlage überall abspeichern. Und den LUA-Ordner nehme ich von EEP-Version nach höherer EEP-Version mit.

    Gute organisation. Ich will das auch so machen damit nichts verloren geht. Danke Tufftuff

    Grusse von einem Hollaender in Belgien

    Ad


    EEP4, EEP6, EEP12, patch1, EEP15, patch2, Model Files Converter 1.3.7, Modell-Katalog, Modell-Explorer, Anlagenverbinder

    ACER Aspire VN7-592G

    Intel(R) Core (TM) i7-6700HQ CPU@2.60 GHz

    Memory16 Gb

    NVIDIA GEFORCE GTX 960M


    MSI Gaming GF65 10SDR 10750

    Intel 6 Core i7-10750H CPU @ 2.60GHz

    Memory 16Gb

    500 Gb Samsung SSD

    1000 Gb HDD ACER

    NVIDIA GEFORCE GTX1660 Ti

    Memory 6Gb (fix) + 8Gb (overlay)

    Windows10 64bit operating system

  • Tufftuff

    Ich verstehe nur nicht, dass Du dofile durch require ersetzt, und es funktioniert...ich bekomme da nur Fehlermeldungen...

    LG

    Paul


    Notebook ACER ASPIRE VN7, Win7, i7 4720HQ, 16GB RAM, 2x SSD, GTX 860M 2GB

    Desktop Win10, AMD Ryzen 7 3800X 4,5 GHz, 48GB DDR4, SAMSUNG SSD 981 512GB, M.2 + 1TB, NVIDIA GeForce RTX 2080 Ti OC - 11GB

    EEP15.1 mit Plugin 1,Patch 2; EEP16.3, Patch 2, Plugins: 1,2,3

    NOS 15, RessourcenSwitch, Hugo,Tauschmanager, Modellkatalog, Modellexplorer, Zugexplorer

  • Hallo Paul,

    dass Du dofile durch require ersetzt, und es funktioniert

    ich habe nicht einfach ausgetauscht, das habe ich aber in meinen Beiträgen auch erwähnt, wie ich es mache.




    Dann habe ich die Demo_Main.lua abgeändert.

    Und im EEP-Skript-Editor steht dann nur noch.

    LUA Source Code
    1. require("\\Demo_Steuerung_BMWFan\\Demo_Main")

    Die Anlagen-Dateien können dann überall abgelegt sein.

    Ich hoffe, es war jetzt verständlich.:ae_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.4 mit Plugin1+2+3

    Zusatzprogramme: ResourcenSwitcher2, Anlagenverbinder für EEP16

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

  • Nach Löschen der Zeilen 62 und 190 hat alles funktioniert. Vielen Dank.

    Es grüßt aus dem Hohen Westerwald


    Michael


  • Tufftuff

    Danke für deine tolle Beschreibung, aber das meine ich nicht. Mit dem Pfad habe ich kein Problem.Ich lege meine LUA-Scripte immer zur Anlagendatei, und so sieht das Script aus:


    Wenn ich aber, wie in Deinem Beispiel-Code für die Demo_steuerung die Anweisungen dofile durch require ersetze, gibts den Fehler:

    Wenn ich dofile verwende, funktionierts!

    Warscheinlich übersehe ich da was, aber ich komm nicht drauf...ich täts nur gern verstehen..

    LG

    Paul


    Notebook ACER ASPIRE VN7, Win7, i7 4720HQ, 16GB RAM, 2x SSD, GTX 860M 2GB

    Desktop Win10, AMD Ryzen 7 3800X 4,5 GHz, 48GB DDR4, SAMSUNG SSD 981 512GB, M.2 + 1TB, NVIDIA GeForce RTX 2080 Ti OC - 11GB

    EEP15.1 mit Plugin 1,Patch 2; EEP16.3, Patch 2, Plugins: 1,2,3

    NOS 15, RessourcenSwitch, Hugo,Tauschmanager, Modellkatalog, Modellexplorer, Zugexplorer

  • Ich denke, du musst das ".lua" am Ende weglassen, wenn du require verwendest.


    Zur Erklärung: dofile erwartet einen Dateinamen (bzw. Dateipfad), während require einen Modulnamen erwartet.

    Lua geht dann eine Liste von "Vorlagen" für mögliche Dateipfaden und -namen durch, setzt darin den Modulnamen ein, und schaut nach, ob es diese Datei gibt. Wenn es für keine dieser Vorlagen eine passende Datei findet, kommt die gezeigte Fehlermeldung. Darunter (in deinem Screenshot abgeschnitten) listet Lua nochmal genau auf, an welchen Stellen es gesucht hat.

    Die Dateiendung .lua ist dabei schon in den Vorlagen enthalten. Wenn du es nochmal in den Modulnamen reinschreibst, sucht Lua nach einer Datei namens xyz.lua.lua (das sollte auch in der Fehlermeldung stehen), und die gibt es nicht.


    Solange die Dateien in einem Pfad liegen, an dem Lua von sich aus nachschaut (also z.B. im LUA-Ordner), brauchst du übrigens auch nicht den kompletten Pfad angeben.


    Viele Grüße

    Benny

  • Hallo Benny, danke Dir für die Erlärung! (Die Beschreibung der Befehle hab ich natürlich auch gelesen). Habs natürlich gleich ohne .lua ausprobiert. Aber leider der gleiche Fehler. Wie gesagt, mit dofile funktionierts. Die Dateien liegen nicht im Trend/EEP16/LUA-Pfad. Ich hab sie auf einer extra Platte, vom System getrennt, deswegen der ganze Pfad. Hier die komplette Meldung:

    LG

    Paul


    Notebook ACER ASPIRE VN7, Win7, i7 4720HQ, 16GB RAM, 2x SSD, GTX 860M 2GB

    Desktop Win10, AMD Ryzen 7 3800X 4,5 GHz, 48GB DDR4, SAMSUNG SSD 981 512GB, M.2 + 1TB, NVIDIA GeForce RTX 2080 Ti OC - 11GB

    EEP15.1 mit Plugin 1,Patch 2; EEP16.3, Patch 2, Plugins: 1,2,3

    NOS 15, RessourcenSwitch, Hugo,Tauschmanager, Modellkatalog, Modellexplorer, Zugexplorer

  • Wenn du dir die Suchpfade in der Fehlermeldung genau anschaust, wirst du feststellen, dass alle Pfade mit C:\Trend\ oder mit .\ anfangen (der einzelne Punkt steht für das aktuelle Arbeitsverzeichnis).


    require ist eben für Modulnamen gedacht, nicht für ganze Pfade. Wenn du unbedingt absolute Pfade verwenden willst/musst, bleib doch einfach bei dofile.


    Viele Grüße

    Benny

  • dofile verlangt komplette Pfadnamen zur Datei - daher wird im Skript die Konstante glcPfad, die den Pfad enthält, vor den Dateinamen gestellt.

    Ein Dateiname umfasst auch die Endung .lua


    require erwartet einen Modulnamen (ohne Endung .lua) und versucht, damit an verschiedenen Stellen eine passende Datei zu finden. Dabei sucht require (im Standard) immer relativ zum aktuellen Lua-Verzeichnis von EEP (in deinem Fall: C:\Trend\EEP16\lua). Man kann und darf also keinen absoluten Pfad angeben (insbesondere nicht die Konstante glcPfad).


    Die Fehlermeldungen sehen in deinem Bildschirmfoto dann so aus:



    Wenn die Dateien im Lua-Verzeichnis liegen (in deinem Fall also C:\Trend\EEP16\lua) , dann steht bei require also nur der Modulname.


    Wenn die Dateien in einem Unterverzeichnis des Lua-Verzeichnisses liegen (in deinem Fall also z.B. C:\Trend\EEP16\lua\DEMO) , dann steht bei require der relative Pfad plus der Modulname, also DEMO\Demo_DKWs.


    Wenn die Dateien ganz woanders liegen wird es schwierig, denn require bastelt sich die Pfade immer selber zusammen. Man muss dem Befehl also extra sagen wo er suchen soll. Das macht man mit der Variablen package.path.


    Wie das geht hatte Benny (BH2) in einem anderen Thread in 2016 beschrieben:

    Ist LUA require () mit absoluter Pfadangabe möglich?


    Damit komme ich für dein Beispiel zu folgendem Vorschlag zur Ersetzung von dofile durch require:


    package.path = package.path..";D:\\00 Programmdaten\\20 EEP\\16 EEP16\\Anlagen\\?.lua"

    require("Demo_Steuerung_V1\\02\\Demo_DKWs")

    ...

  • @Benny und Frank: Vielen vielen Dank für eure Ausführungen! Jetzt kenn ich mich aus!

    LG

    Paul


    Notebook ACER ASPIRE VN7, Win7, i7 4720HQ, 16GB RAM, 2x SSD, GTX 860M 2GB

    Desktop Win10, AMD Ryzen 7 3800X 4,5 GHz, 48GB DDR4, SAMSUNG SSD 981 512GB, M.2 + 1TB, NVIDIA GeForce RTX 2080 Ti OC - 11GB

    EEP15.1 mit Plugin 1,Patch 2; EEP16.3, Patch 2, Plugins: 1,2,3

    NOS 15, RessourcenSwitch, Hugo,Tauschmanager, Modellkatalog, Modellexplorer, Zugexplorer

  • Kleines Update:

    Inzwischen habe ich an dem Anfahr- und Bremsskript gearbeitet. Das ist inzwischen soweit fertig, eine Demo-Anlage steht auch (in EEP13.2). Jetzt muss ich nur noch eine verständliche Anleitung dazu verfassen. Ich denke, im Laufe des WE werde ich damit fertig. Ich werde dann einen neuen Thread eröffnen, aber hier informieren, wenn es soweit ist.


    Viele Grüße

    und bleibt auch in 2021 gesund.


    Norbert

    EEP 16.3, Plugins 1 + 2, EEP 13, HomeNostruktor 13
    PC: HP Pavilion, Prozessor: Intel Core i7-8750H @ 2,2 Ghz, 64 bit, 16 GB RAM,

    Grafikkarte: NVIDIA GeForce GTX 1050 Ti, 4GB, 1493 - 1620 MHz

    System: Windows 10 Home

    "Der Optimist glaubt, dass wir in der besten aller möglichen Welten leben. Der Pessimist befürchtet, dass das stimmt."

  • Es ist geschafft. Ich habe soeben den Zip-Ordner mit meinem Skript zur Anfahr- und Bremssteuerung zusammen mit einer kleinen Demo-Anlage an den Admin geschickt. Zum Thema dieses Skripts habe ich einen neuen Thread gestartet, der hier zu finden ist: Lua-Skript zur Anfahr- und Bremssteuerung (ABS)


    Schönen Sonntag noch.

    Norbert

    EEP 16.3, Plugins 1 + 2, EEP 13, HomeNostruktor 13
    PC: HP Pavilion, Prozessor: Intel Core i7-8750H @ 2,2 Ghz, 64 bit, 16 GB RAM,

    Grafikkarte: NVIDIA GeForce GTX 1050 Ti, 4GB, 1493 - 1620 MHz

    System: Windows 10 Home

    "Der Optimist glaubt, dass wir in der besten aller möglichen Welten leben. Der Pessimist befürchtet, dass das stimmt."

  • Jetzt fehlt nur noch das automatische Einlesen der Daten der Züge, so dass man nicht alle Zugdaten von Hand eintragen muss :)

    Seit EEP 2.43 dabei, alle Folge-Versionen plus Plugins (außer EEP 8) bis EEP 16, über 87.000 Modelle.

    Aktuell in Nutzung: EEP 15 + Plugin 1, EEP 16.4 + Plugin 1 & 2 & 3.


    AMD FX Quad-Core 4,20 GHz, 32 GB RAM, 250 GB SSD, 1 TB SSD, insgesamt 10 TB HDD,

    NVIDIA GeForce GTX 960, FullHD Monitor, 64 Bit Windows10 Home & Pro

  • fehlt nur noch das automatische Einlesen der Daten der Züge

    Daten einmalig im Tag-Text der Züge speichern und an geeigneter Stelle automatisch auslesen. Wie? Zum Beispiel wie in dieser Demo von mir gezeigt,


    Auch hier empfiehlt sich - wie fast immer - zuerst die Beschreibung lesen.

    Fried-liche Grüße:aq_1:

    Laptop: i7-4710HQ 2,5GHz, 8GB RAM, Intel HDGraphics 4600, NVIDIA GeForce GTX860M, Windows 10 Pro 20H2 64bit

    EEP: Aktuell 15.1.2 und 16.4.0+Plug-in1,2,3; HomeNos16; Anlagenverbinder16; ModellKatalog, Modell-Explorer; Zug-Explorer; BulkInstaller; TauschManager


    Man soll keine Dummheit zweimal begehen. Die Auswahl ist schließlich groß genug.

  • Daten einmalig im Tag-Text der Züge speichern

    Auch diese Variante ist mir bekannt, löst aber nicht das Problem des AUTOMATISCHEN Einlesens :)

    Seit EEP 2.43 dabei, alle Folge-Versionen plus Plugins (außer EEP 8) bis EEP 16, über 87.000 Modelle.

    Aktuell in Nutzung: EEP 15 + Plugin 1, EEP 16.4 + Plugin 1 & 2 & 3.


    AMD FX Quad-Core 4,20 GHz, 32 GB RAM, 250 GB SSD, 1 TB SSD, insgesamt 10 TB HDD,

    NVIDIA GeForce GTX 960, FullHD Monitor, 64 Bit Windows10 Home & Pro