Gibt es einen Anlagenschalter der je ein An- bzw. Aus-LUA-Script oder eine LUA-An- bzw. -Aus-Funktion ausführen kann?

!!! 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 JuergenSchm ,

    Dazu wüsste ich jetzt keine Lösung, doch inspiriert mich #15 zur Lösung meines Problems mit Immo-Strassenbahnsignalen, deren Steuerung über Kps nur halbwegs funktioniert.

    Guy

    Asus G752VY Laptop: Intel Core i7-6700HQ@2.6GHz-32GB Ram*NVIDIA GeForce GTX980M-8GB Ram*NVMe Samsung MZVPV 256GB*NVMe Samsung MZVLB 512GB (EEP16 Partition)*1TB HGST HTS721010A9E630*Win10 Pro/64 bit-3 Monitore

    EEP6.1, 14, 15, EEP 16.4 Expert[x64], Plugins 1-4

    Modellkonverter, Tauschmanager, Modellkatalog, Modell-, Zug-Explorer, PlanEx 3.2, Home-Nos 13.0, Bilder Scanner, Tools: NR1 & Frank.Buchholz, LUA: parry36 & Andreas Kreuz :be_1:

  • Hallo Guy ( Messina ),


    ja, so etwas in der Art, "mache etwas, wenn das Tor aufgeht" verwende ich auch.

    Und da ich auch durch eine einfache Maßnahme (Modulo-Prüfung eines Zählers) verhindere, dass diese Prüfung alle 20ms erfolgt, ist die von Michael89 genannte Mehrbelastung der EEPMain auch nicht relevant.

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz, da auf Fehlerbeseitigung gewartet wird)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

  • Hallo Michael,

    womit uns EEP17 überrascht

    also soviel darf ich dir sagen, eine Callback-Funktion für Immos ist nicht dabei.


    Hallo Jürgen,

    Und da ich auch durch eine einfache Maßnahme (Modulo-Prüfung eines Zählers) verhindere, dass diese Prüfung alle 20ms erfolgt, ist die von Michael89 genannte Mehrbelastung der EEPMain auch nicht relevant.

    ok, dann führst du die Prüfung wahrscheinlich nicht mehr 5 Mal, sondern nur noch 1 Mal die Sekunde oder alle x Sekunden aus. Wenn ich das für eine größere Anzahl Türen mache und die Prüfung dazwischen vielleicht noch etwas umfangreicher geschrieben ist, dann ist das irgendwann trotzdem relevant. Ich verstehe hier ehrlich gesagt nicht warum man sich der vorhandenen Lösung über das Signal verweigert. Was das von euch angesprochene Türthema angeht, so ist es denke ich hier sinnvoller das Ereignis bereits am Auslöser abzufangen, sodass

    mache etwas, wenn das Tor aufgeht

    eben direkt im KP der das Tor öffnet oder parallel zum Lua-Befehl der das Tor öffnet ausgelöst wird. Damit erfasst man jedoch nicht dass händische Öffnen, dass stimmt dann schon.


    Gruß Michael

    35098-katalog-banner-jpg

    Hardwarekonfiguration:
    Laptop: Lenovo IdeaPad L340 4*2,4 GHz, 16GB RAM, Win10 64 bit, EEP 6.1/EEP 17.0 Expert DEV

  • Hallo Michael ( Michael89 ),


    eventuell willst Du Dich auch anderen Möglichkeiten verweigern.


    Erstens, ich verwende ebenfalls die CallBack-Funktion und verweigere mich dieser nicht.

    Aber wenn ich für ein Tor, bei dem etwas passieren soll, wenn es geöffnet wird, diese Lösung einsetze, dann ist das kein Performance-Problem für EEP, sonst wäre wohl jede Zeile in der EEPMain ein solches.


    Aber Du kannst mir gern eine "OnKlick"-Lösung nennen und ich werde diese sofort einsetzen.

    Ich will dieses Tor nicht durch einen Kontaktpunkt öffnen, sondern durch "anklicken" und wenn auf, dann solll etwas passieren.


    Und außerdem und ohne eine interne Codezeile von EEP zu kennen.

    Wenn ich weiß oder besser, einschätzen kann, wie groß oder besser klein der Unterschied für ein Programm ist, ob eine "kleine" Prüfung (auch für die "OnKlick"-Funktionalität muss es eine Prüfung in EEP geben, die "ständig" ausgeführt wird) durch ein compiliertes oder interprediertes Stück Programmcode ausgeführt wird, dann kannst Du mir glauben, auch Du würdest den Unterschied in der Anlage nicht feststellen.

    Jürgen


    EEP: 12.1, 13.2, 14.1, 15.1, 16.4 (z.Zt. installiert, bezahlt, aber nur für Tests im Einsatz, da auf Fehlerbeseitigung gewartet wird)

    keinerlei Zusatztools und manuell manipulierte Anlagendateien


    Prozessor: Intel(R) Core(TM) i5-4460S CPU @ 2.90 GHz 2.90 GHz
    PC: RAM 12 GB, Windows 10 Home, 64 Bit
    GK: NVIDIA Geforce GT 730, 4 GB

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

  • Hallo Jürgen,


    das mit dem Verweigern bezog sich auf die Ausgangsfrage und da ging es nicht um ein Tor. :ae_1:

    Mit meinen Ausführungen zur EEPMain beziehe ich mich nur auf Funktionen die sich gleichwertig anders lösen lassen. Man sollte die Main so schlank wie sinnvoll möglich halten finde ich.


    Gruß Michael

    35098-katalog-banner-jpg

    Hardwarekonfiguration:
    Laptop: Lenovo IdeaPad L340 4*2,4 GHz, 16GB RAM, Win10 64 bit, EEP 6.1/EEP 17.0 Expert DEV

  • möchte er gern die Funktionalität für Immo-Achsen

    Die Achsen sind erst später dazugestoßen. Ursprünglich wollte ich nur zwei Eingabefelder im Eigneschaftendialog analog zu Kontakten z.B. mit der dahinter liegenden Aktivität.

    Unten der Hauptschalter, der alle anderen Teilbereiche steuert, allerdings ganz ohne Lua.

    Auch eine Lösung ... aber ich schwimme gerade mal auf der LUA-Welle herum :aa_1:

    so will er mit einem Schalter Lua ab- und an- schalten.

    Nein, das kann ich ja vielleicht auch über den RCode lösen. Der Gedanke war, mit verschiedenen "Stellungen" oder Schaltungen verschiedene Aktivitäten aus zu lösen.


    Abe der erweiterte Gedanke, verschieden Scriptblöcke (Funktionen) an eine Achsenstellung zu binden gefällt mir immer noch.


    Das andere ist tatsächlich nur "Schönheits"-Bauchweh. Mit dem Anlagenschalter und Callback passt das dann schon.

    :aq_1: Es gibt immer mehrere Wahrheiten. Deine, seine, ihre, meine und ... die echte.

    Meine Freiheit endet dort, wo das Recht anderer beginnt. Ab da müssen immer

    ausgewogene Kompromisse geschlossen werden.:aq_1::co_k:


  • ... an eine Achsenstellung zu binden

    ... was meinst du, woher die ganzen Bewegungsauslöser für die Schaufel kommen?


    Abfrage von Achsenstellungen. Ob Immo oder Rollmaterial ist ja vom Prinzip her egal.



    :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"

  • Entschuldigt bitte, dass ich immer so "unnötige" Fragen stelle. :bb_1:

    Und vielen dank für die vielen Ansätze.

    Aus meinem ursprünglichen Gedanken entwickelten sich auch erst die weiteren.


    Und ich bin immer wieder überrascht, welche Wege solche Diskussionen nehmen. :aw_1::ba_1:


    [Keine Kritik an anderen!]: Eben habe ich mir den Thread nochmal von vorne angesehen. Irgendwie habe ich für mich den Eindruck, als ob einige Beiträge erst später aufscheinen. Immer wieder stoße ich auf Beiträge zwischendurch, die mir entgangen zusein scheinen. Vielleicht mache ich da auch was falsch. Aber vielleicht verliere ich auch meinen Rücksprungpunkt aus den Augen, wenn ich antworte auf beiträge davor oder welche aufscheinen, während ich schreibe. Da muss ich mich noch umgewöhnen.

    wenn Du eine, im Moment für Dich nur schwer zu überwinden Aversion gegen eine bereits integrierte Funktionalität

    Nicht wirklich. Worüber ich immer wieder stolpere, ist die Tatsache, dass man immer wieder nach Funktionalität an Stellen suchen muss bzw. nach Modellen, auf die man mit einfacher Logik nicht kommt. Eben hier: Warum ein Gleis, wenn ich doch nur schalten will.

    Und ja natürlich macht es Spaß, mit vorhandenen Materielien Neues zusammenzustellen. Das war ich bis Anfang der Neunziger des vorherigen jahrhunderts auch gewöhnt und es war nötig zu basteln. Das muss ich dann hier auch wieder intensiver beleben.

    Ich könnte mir vorstellen, dass dir mit diesen Möglichkeiten für deine Ziele „Tür und Tor geöffnet sind“.

    Dieser Beitrag führt mich zu einer mir gefallenden Methodik. Auf das Beispiel bezogen würde dann eine Script-Achse an die Torachse gekoppelt sein und bei voller Öffnung dann die eingetragene Funktion auslöst (im einfachsten fall, die Lok losfahren zu lassen z.B. Aber mit diesen EEP-LUA-Funktionen muss ich mich dann mal befassen. Womöglich ist da sowas schon drin. Danke für dieses Beispiel.



    Mein Fazit:

    • Ein An- und Ausschalterobjekt mit zwei Scriptfeldern scheint auf Grund des vorhandenen "Workarounds" mit dem Signal-Callback nicht nötig. Insofern ziehe ich meine Idee zurück.
    • Der daraus entstandene Gedanke mit der Script-Auswahl-Achse fasziniert mich aber trotzdem weiter. Vielleicht auch andere.

    Mit meinen Ideen ist es wohl wie bei den Patenten: Es werden viele Patente angemeldet, aber ob sie sich durchsetzen, entscheidet die Zukunft und oft auch wie lange an gewiohnten Methoden festgehalten wid.


    Ich danke euch herzlich für eure Geduld mit mir und meinen manchmal anderen Gedankenwegen. :aq_1::bg_1::co_k:


    Und insofern ist meine Anfangsproblematik beantwortet. Danke.

    :aq_1: Es gibt immer mehrere Wahrheiten. Deine, seine, ihre, meine und ... die echte.

    Meine Freiheit endet dort, wo das Recht anderer beginnt. Ab da müssen immer

    ausgewogene Kompromisse geschlossen werden.:aq_1::co_k:


  • Abfrage von Achsenstellungen. Ob Immo oder Rollmaterial ist ja vom Prinzip her egal.

    Ja klar, aber ein Gedanke mit der Script_Achse war umgekehrt: Wenn eine Achsenstellung erreicht wird, soll ein Ereignis "Führe eingetragene Funktion aus" ausgelöst werden. Aber wie bei meiner Patent-Metapher, manche Gedanken sind nützlicher, andere nicht so sehr und für wieder andere hat keiner eine Anwendungsidee und dann gibt es für einige auch bereits Workarounds mit gleicher bzw. ähnlicher Wirkung.


    Und wie oben beschrieben: Für diese Achsen-Funktionen muss ich erst noch "Grundlagen"-Forschung betreiben. :aq_1::co_k:

    :aq_1: Es gibt immer mehrere Wahrheiten. Deine, seine, ihre, meine und ... die echte.

    Meine Freiheit endet dort, wo das Recht anderer beginnt. Ab da müssen immer

    ausgewogene Kompromisse geschlossen werden.:aq_1::co_k:


  • ... war umgekehrt: Wenn eine Achsenstellung erreicht wird, soll ...

    NICHT umgekehrt,

    wenn ein bestimmter Winkel/Achsstellung erreicht ist, löse nächste/andere Bewegung aus

    wenn ein bestimmter weiterer Winkel/Achsstellung erreicht ist, löse weitere/andere Bewegung aus


    :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"

  • NICHT umgekehrt,

    wenn ein bestimmter Winkel/Achsstellung erreicht ist,

    Ja schon, aber da fragst du ja in einer Schleife ab, bis die Stellung erreicht ist, also läuft da ein polling-script, das dann die Funktion auslöst, wenn es "erfüllt" ist. Bei mir soll, erst wenn die Einstellung auf eine andere gesetzt wird (ob OnKlick oder per Script) ein Ereignisscript die eingetragene Script-Funktion auslösen. Das Pollen findet garnicht statt.

    Und zusätzlich belastet solches Polling immer das gesamte System. Und wenn ich dann noch einbeziehe (hoffentlich erinnere ich das richtig), dass EEP nur einen Prozessor-Thread benutzt (oder war das nur ein Kern, aber mehrere virtuelle Threads?), dann passiert, solange in einer Schleife (While/Until) gepollt, wird nichts anders(?)

    :aq_1: Es gibt immer mehrere Wahrheiten. Deine, seine, ihre, meine und ... die echte.

    Meine Freiheit endet dort, wo das Recht anderer beginnt. Ab da müssen immer

    ausgewogene Kompromisse geschlossen werden.:aq_1::co_k:


  • Und zusätzlich belastet solches Polling immer das gesamte System.

    Da "übertreibst" du gedanklich etwas. Das ganze EEP (bzw. der ganze PC) ist "Polling"!?

    Es muss immer auf irgend etwas reagiert werden.

    solange in einer Schleife (While/Until) gepollt

    ... da genau liegt der Hase im Pfeffer, das programmiert man/ich eben ohne diese "Bremsen".


    :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"

  • moevenbaer


    Kannst Du eventuell einen Signal-Zähler benutzten um Dein Ziel zu ereichen?


    Es gibt zwei Signal-Zähler mit Zahlen von 0-9 und von 0-98.

    Ist zwar ein Signal, aber das kann mit Funktion "EEPOnSignal" angesprochen werden und damit die Lua-Funktion aufgerufen werden.


    Mit if- und elseif Abfragen kann dann mit jeder aufgerufenen Zahl ein anderer Befehl ausgeführt werden.

    Nachteil bei der Handbedienung ist das eine Zahl nach der anderen aufgerufen wird.

    Mit Kontaktpunkten kann man aber den Signalzähler auf eine gewünschte Zahl setzen und damit den an diese Zahl gebundenen Befehl ausführen lassen.


    Viele Grüße

    Karl Heinz


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

  • Kannst Du eventuell einen Signal-Zähler benutzten um Dein Ziel zu ereichen?

    Die sind mir auch schon aufgefallen. Schöne Funktionen.


    Aber viellleicht denke ich auch verquer.

    Und wenn ich nach meinem eigenen Prinzip folge, alles was man nicht richtig formulieren kann, hat man nicht richtig durchdacht, muss ich hier noch an meinen Formulierungen arbeiten. Und zugegegbener Maßen, habe ich hier eine Idee, ohne wirklich eine echte Anwendung zu haben.


    Das ganze EEP (bzw. der ganze PC) ist "Polling"!?

    Natürlich hat jedes Spiel eine Hauptschleife. Entweder schleifen-laufzeitgesteuert oder in einer "konstanten" Zeitschleife. Aufgrund der getakteten LUA-Main-Schleife (5x pro Sekunde) in EEP vermutlich zweitere. Aber egal. Da nur ein Thread genutzt wird, hält jedes Polling die Schleife "an".

    da genau liegt der Hase im Pfeffer, das programmiert man/ich eben ohne diese "Bremsen".

    Gibt es da ein paar Links zum Programmieren ohne "Bremsen"? (Hier im Forum oder im Handbuch oder ...?)

    :aq_1: Es gibt immer mehrere Wahrheiten. Deine, seine, ihre, meine und ... die echte.

    Meine Freiheit endet dort, wo das Recht anderer beginnt. Ab da müssen immer

    ausgewogene Kompromisse geschlossen werden.:aq_1::co_k:


  • ... ein paar Links zum Programmieren ohne "Bremsen"?

    ... mit ein paar Links ist das eben nicht getan.


    Das gehört zu den Grundlagen der Programmierung, so, wie man zum Schreiben auch erst mal das Alphabet lernen muss.


    Stichwort: Schritt(zähler)- oder Merker-Programmierung.


    Beispiel:


    if Schritt==5 then "stepfunction(5)"


    (5)

    - du fragst ein (Ziel-)Ereignis ab

    - ist es eingetreten

    --- erhöhe Schritt auf 6

    - ist es NICHT eingetreten

    --- belasse Schritt auf 5

    Ende der Abfrage --- keinerlei Wartezeit oder Verzögerung


    so kann man übrigens auch eigene Timer programmieren


    ist eben ein hoher Aufwand an Programmierung, aber extrem flexibel und sicher


    :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"

  • mit ein paar Links ist das eben nicht getan.

    Damit meinte ich ich die Stellen im Forum, an denen sowas schon mal diskutoert wurde, wenn ich das richtig erinnere. Habe ich aber nicht mehr gefunden oder mit falschen Suchkriterien gesucht.


    Aber wie ich sehe, ist das, was du meinst, wohl ziemlich genau das, was ich in

    Regelmäßige Funktionsaufrufe im EEPMain-Takt - Funktionsliste und Zeittaktsteuerung

    mit euch zusammen schon für mich herausgefunden habe. Danke.


    Das Prinzip ist also schon sehr alt, aber immer noch wirkungsvoll: Irgendwo wird ein Flag gesetzt oder entsteht eine Bedingung, dass woanders (ggf. regelmäßig im Spiel-Haupt-Zyklus) abgefragt wird und auf dass dann ggf. reagiert wird.


    Ist eigentlich einfacher, als es sich für EEP immer anhört. :aa_1: Dann ist das ja auch schon geklärt. Danke.


    P.S. @Administration: Wenn keine Einwände bestehen, kann der Thread sicherlich geschlossen werden.

    :aq_1: Es gibt immer mehrere Wahrheiten. Deine, seine, ihre, meine und ... die echte.

    Meine Freiheit endet dort, wo das Recht anderer beginnt. Ab da müssen immer

    ausgewogene Kompromisse geschlossen werden.:aq_1::co_k:


  • Hi all

    Die Diskussion hier wegen Anlagenstart hat mich erinnert, dass ich seinerzeit einen ganz einfachen Anlagenstart in einer Anlage eingebaut hatte. Das Prizip habe ich in der kleinen Anlage, die mit den untenstehenden Link herunter geladen werden kann, nachgestellt. Ich betone, es geht hier nur um den Anlagendstart.


    Edit Mod. schlingo: [Link auf private Cloud entfernt]


    Gruss Hans

    Mainboard: ASUSTeK COMPUTER INC. Z87-EXPERT (SOCKET 1150)
    CPU:Intel Core i7 4770 @ 3.40GHz Haswell 22nm Technologie
    Memory:16.0GB Dual Kanal DDR3 @ 799MHz (9-9-9-27)

    Grafik: Nvidia GeForce GTX d1060 6 GB
    BIOS:American Megatrends Inc, Version 1405
    OS: Windows 10 Pro/64bit
    EEP 8.x, EEP 9.x, EEP 10.2, EEP 11.3, EEP 12.1 , EEP 13, EEP 14, EEP 15, EEP 16.3 Patch2, KE 9/64bit, RSS_Tool

    The post was edited 1 time, last by schlingo: Link auf private Cloud entfernt ().