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.
  • Nur mal eine neugierige Newbie Frage in die Runde dieses Threads, da dieser praktisch bei jedem Forumsaufruf in den ungelesenen Beiträgen auftaucht:

    Was ist das Ziel dieses Threads? Soll Trend in einer der nächsten EEP Versionen Lua zugunsten irgendeiner anderen Steuerung aus dem Programm werfen? Ich fange gerade an, mir erste Luakenntnisse anzueignen, aber das könnte ich mir ja dann sparen.

  • das könnte ich mir ja dann sparen.

    Lua lernen ist keine Verschwendung.

    In der nächsten EEP-Version wird es gewiss noch keine grafische Alternative zu Lua geben. Und in der übernächsten auch nicht. Eine Entwicklung würde mehr Zeit brauchen.

    Und das eigentliche Problem ist nicht die Sprache Lua, sondern der generelle Umgang mit Logik. Daran scheitern viele. Egal, ob sie Schaltkringel, Lua, PlanEx oder - bei der richtigen Modellbahn - TrainController oder Rocrail benutzen.

    Einmal editiert, zuletzt von Goetz (11. Januar 2019 um 19:42)

  • Und das eigentliche Problem ist nicht die Sprache Lua, sondern der generelle Umgang mit Logik. Daran scheitern viele.

    Die Logik ist der Zusammenhang zwischen Ursache und Wirkung.

    Nicht die Logik an sich macht Probleme, es ist die Logik einer Programmiersprache in ihrer abstrakten Darstellung. Das Ganze wird dadurch erschwert, dass es nur 0 und 1 gibt, das widerspricht unserer täglichen Erfahrung.

    Logisch ist, wenn (if) ich am Schalter drücke dann (then) geht das Licht an,

    Wenn ich also nicht drücke, dann dunkel, wer hat damit Probleme?

    Fällt ein Ziegel auf meine Zehen ist es logisch das es weh tut, ein Programm kann aber virtuell genau das Gegenteil bewirken und hier endet die gelernte Logik.

    Das 1+1=2 ist erscheint uns logisch, dass ein krabüxel+ zwei knartüfel aber auch 2 ist und das Licht einschaltet "erscheint" uns nicht logisch.

    Seh ich aber die Befehle von krabüxel; knartüfel grafisch dargestellt in zusammenhängenden Abläufen, so sehe ich das, was sich ein Programmierer in abstrakter Form vorstellen kann

    und die Funktion wird klar.

    viele Grüße Max

    Einmal editiert, zuletzt von mpillip (11. Januar 2019 um 19:54)

  • Logisch ist, wenn (if) ich am Schalter drücke dann (then) geht das Licht an,

    Wenn ich also nicht drücke, dann dunkel, wer hat damit Probleme?

    Der Logiker hat damit Probleme.

    Denn wenn du den Schalter nicht betätigst, dann bleibt das Licht aus.

    Ob es dann auch dunkel ist, hängt von weiteren Faktoren ab.

    Und damit ist dein Beispiel perfekt geeignet, um das klassische Logik-Problem vieler Menschen zu demonstrieren:

    Es geht nie um eine einzelne Bedingung. Sondern immer um die richtige Kombination mehrerer Bedingungen. Und viele Menschen haben das Problem, das überhaupt zu erkennen. Die scheitern schon an der Wechselschaltung zweier Lichtschalter, wenn sie die auf dem Brett und mit Drähten aufbauen sollen.

    Das ist kein Makel. Aber es ist eine Tatsache.

  • ... und

    Logisch ist, wenn (if) ich am Schalter drücke dann (then) geht das Licht an,

    ist schon mal "unzulänglich" formuliert,

    denn wenn das Licht AN war, geht es aus, bzw. fehlt die Taster/Schalter-DEFINITION :at_1::aa_1::ac_1:

    und wenn "gleichzeitig" ein anderer den Wechselschalter betätigt,

    passiert das, was der letzte wollte, oder auch nicht.:ao_1:

    Klugscheiss... aus

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

  • Die scheitern schon an der Wechselschaltung zweier Lichtschalter

    Für eine Wechselschaltung braucht man 2 korrespondierende, elektrische Leiter (Drähte) , bei einer Sparwechselschaltung braucht man nur einen korrespondierenden elektrischen Leiter (Draht). Profis arbeiten mit der Sparwechselschaltung, nur mal so am Rande. :be_1:

    Ach ja Lua ist für mich ein Fremdwort, aber zum Schluss passt es fast immer, wenn auch nicht so kurz, wie bei den Profis. Dafür waren meine Steuerstrecken schön kurz. :af_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: EEP17.2 Plugin 1 + 2

    Zusatzprogramme: ResourcenSwitcher2 (BH2), EEP-Gleisplan (Frank Buchholz)

  • ... und

    Logisch ist, wenn (if) ich am Schalter drücke dann (then) geht das Licht an,

    ist schon mal "unzulänglich" formuliert,

    denn wenn das Licht AN war, geht es aus, bzw. fehlt die Taster/Schalter-DEFINITION :at_1::aa_1::ac_1:

    :aq_1:

    Nein, denn der zweite Satz, den Du raus geschnitten hast, sagt: wenn nicht - dann dunkel, ob Schalter oder Taster

    es kann also nicht "An" sein.

    viele Grüße Max

  • Guten Abend an Allen,

    selbstverständlich ist Lua für die Meisten unter uns ein Fremdwort (oder Fremdsprache) . Aber wie jede Fremdsprache kann auch Lua gelernt werden. Man muss es nur lernen wollen.

    Aber das Schöne an EEP ist dass man jederzeit von Anfang an und auch später an jedem Zeitpunkt selber seine eigene Anlagensteuereung auswählen kann. Es sei über Kontaktpunkte, Steuerstrecken oder Lua (mit oder ohne PlanEx). Aber jede Steuerung fordert ein gewisses Logik vom Anlagenbauer und jede Steuerung hat ihre Vor- und Nachteile.

    Vor allem ist es wichtig zu wissen, dass eine grafische Bedienoberfläche für Lua noch in den Sternen steht und dass NIEMAND hier gezwungen wird eine bestimmte Anlagensteuerung zu benutzen.

    Viele Grüße, Patrick

    Einmal editiert, zuletzt von ArchiStrukt (11. Januar 2019 um 21:07)

  • wenn nicht - dann dunkel

    das ist aber deine Schlußfolgerung aus der (ersten) If-Bedingung,

    das wußte man eben vorher NICHT

    das wollen wir/ich aber hier nicht "ernsthaft" ausdiskutieren

    vielleicht wird hierdurch auch die "Problematik" der "Logik" oder Programmierung deutlich

    ich meine das hier eher allgemein und nicht persönlich :bg_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"

  • wenn nicht - dann dunkel

    das ist aber deine Schlußfolgerung aus der (ersten) If-Bedingung,

    das wußte man eben vorher NICHT

    :aq_1:

    Nicht meine Schlussfolgerung sondern ein Zustand.

    Aber ich sehe mein Beispiel ist schwer zu verstehen,

    probier das mit dem Ziegelstein, dann sind Zustände und Eigenschaften

    als Erfahrungen der Logik bessere nachvollziehbar.

    viele Grüße Max

  • Hi,

    ich habe vor einiger Zeit einmal George Boole => https://de.wikipedia.org/wiki/George_Boole verwiesen.

    Er hatte damals die sogenannt klassische Logik auf lediglich zwei Zustände reduziert, TRUE und FALSE,

    Sein tragendes Argument war, dass jedes Problem auf mehrere Glieder mit ja/Nein reduziert, schlussendlich zum richtigen Ergebnis des Gesamten führt.

    Darauf gründet die Boolesche Algebra, auf die jede Programmierung fusst.

    Wir hier beschäftigen uns z.Z. mit dem Thema, wie solches nun am einfachsten in EEP umzusetzen ist!

    Ich persönlich vertrete die These, dass das auf den Visuellen Eben viel effizienter und für ungeübte einfacher nachzubilden ist, als via Skripts, welche mitunter zu recht kryptischen und undurchschaubaren Gebilden führt...

    Ihr dürft mir glauben, ich weiss von was ich hier spreche, den auch mir fällt es oft schwer, solche Codes in Script zu durchschauen.

    Dazu ein einfaches Beispiel: Das ist in sich ein Funktionsblock, da dieser >1 Rückgabewert hat

    Das Ganze dient lediglich dazu, die Eingangs-Variablen den Ausgangs-Variablen entsprechend zuzuweisen.

    Es wird benutzt, um auf einer Tabelle eines Leitsystem, durch Auswahl die Alarme an die Operateure (8 Pers.) oder an das Piket (die gleichen 8Pers.) automatisch weiterleiten zu lassen.

    Was wird hiermit erreicht, und welchen Zustand unterbunden?

    Wie schnell könnt Ihr das tatsächlich entschlüsseln?

    Wenn Ihr es wünscht, kann ich das Ganze auch mal in FB zeigen.

    Dabei wird hier jedoch im Unterschied zu Lua anstelle von Integer eben mit BYTE Binär verfahren (16# = Hex)

    Das Prinzip jedoch sollten auch Lua-Texter durchaus lesen können.

    1. Variablentabelle die umfasst lediglich 2 Ein- und Aus-Gänge plus 2 Zwischenresultate.

    Habe nun alle Variablen auf Wunsch ausgetauscht!

    Class Identifire Type Initial Comment
    VAR_INPUT
    I_Operateur BYTE 16#00 set operator
    VAR_INPUT I_Piket
    BYTE 16#00 set emergency
    VAR Lk_Operateur BYTE 16#00 sel operator
    VAR Lk_Piket BYTE 16#00 sel emergency
    VAR_OUTPUT Q_Operateur BYTE 16#00 if operator
    VAR_OUTPUT Q_Piket BYTE 16#00 if emergency

    2. Hier das zugehörige Skript:

    Im Kopf (Header) finden sich alle Variablen ab 'ST' folgt der eigentliche Code

    (Dabei hier in Code, da der ST-Code sonst falsch formatiert erscheint)

    Ps.

    Beachtet bitte, dass hier die Operatoren "=" Gleich, ">" Grösser bedeuten und die Zuweisung mit ":=" geschrieben sind.

    Vielleicht hier noch eine Erklärung, warum das hier in BYTE geschrieben ist. Das liegt daran, dass so direkt die Booleschen Ausgänge Bit-Weise geschrieben werden können. So können zum Beispiel Anzeigelampen an den Ausgängen direkt den Status anzeigen.

    EEP-15.1 [x64] Patch 2 / EEP-17 in Installation

    hat ein klein wenig Ahnung von System-Programmierung :bn_1:

    https://abload.de/img/zglbrckqhkzh.jpg

    Windows 10 Pro 21H2 64-Bit V -19044

    HP Z2230 Tower-Workstation Intel CPU E3-1225v3 @ 3.2 GHz

    HD1..4 je 2GB Micron 133MHz / RAM 8GB

    Monitor: Samsung 33-inch 2*HDMI Intel HD Graphics P4600

    Windows 11 V21H2 64-Bit

    HP OMEN 40L Desktop-PC GT21 - AMD Ryzen 7 5700G

    RAM 16GB - Speicher 2*8GByt Kingston 3.2GHz

    Video NVIDIA GeForce RTX 3060 TI - Monitor: HP M34d WQHD

    7 Mal editiert, zuletzt von Marino (12. Januar 2019 um 18:20) aus folgendem Grund: 1. Einfügung 2. Formatierung korrigiert 3. Variablen Austausch

  • Dier Verständlichkeit würde allein schon dadurch verbessert werden, wenn man nachvollziehbare Variablennamen verwenden würde.

  • hi klioli,

    ich verstehe schon, was Du meinst. Das war aber eben durch das Leitsystem gegeben...

    Andererseits:

    Dazu gibt es in der Steuerungstechnik Konventionen

    1. Stelle I = Input, Q = Output, M = Merker (Global), Lokal oft ohne Vorzeichen wie eben auf unserem Leitsystem.

    2. x = BOOL, b = BYTE, w = WORD, r = REAL, i = INTEGER,

    und die Kombinierer dazu d = double , s = short, l = long
    darauf folgend 1. Zeichen Grossbuchstaben, bis 3 folgende Konsonanten und den letzten Konsonant.

    (Die Erfahrung hat gelehrt, dass gekürzte Worte durch die Konsonanten-folge besser erkennbar sind)

    Im Steuerungscode jedoch oft der Platz für das Ausschreiben der Variablen bei komplexen Rechnungen fehlt;

    insbesondere dann, wenn mehrere Argumente einer Funktion mitgegeben werden müssen.

    Deswegen hier: 1.Zeichen I, Q, ohne

    Oprt = Operator

    Spkt = Sonder Piket

    EEP-15.1 [x64] Patch 2 / EEP-17 in Installation

    hat ein klein wenig Ahnung von System-Programmierung :bn_1:

    https://abload.de/img/zglbrckqhkzh.jpg

    Windows 10 Pro 21H2 64-Bit V -19044

    HP Z2230 Tower-Workstation Intel CPU E3-1225v3 @ 3.2 GHz

    HD1..4 je 2GB Micron 133MHz / RAM 8GB

    Monitor: Samsung 33-inch 2*HDMI Intel HD Graphics P4600

    Windows 11 V21H2 64-Bit

    HP OMEN 40L Desktop-PC GT21 - AMD Ryzen 7 5700G

    RAM 16GB - Speicher 2*8GByt Kingston 3.2GHz

    Video NVIDIA GeForce RTX 3060 TI - Monitor: HP M34d WQHD

    Einmal editiert, zuletzt von Marino (12. Januar 2019 um 12:15)

  • Wie schnell könnt Ihr das tatsächlich entschlüsseln?

    ich verstehe schon, was Du meinst. Das war aber eben durch das Leitsystem gegeben...

    Dein Beispiel hinkt dadurch etwas. Du willst doch damit demonstrieren, dass Codezeilen sich nicht so leicht durchschauen lassen wie eine grafische Darstellung. Aber ein guter Teil der Undurschaubarkeit wird hier - zumindest für technische Laien - allein durch die obskure Namensgebung verursacht,

  • Hallo Marino,

    bei allem Respekt für dein Fachwissen. Aber was nutzen diese Ausführungen dem EEP-User der seine mit Liebe und Mühe erstellte EEP-Anlage mit einem lebhaften Betriebs-Ablauf ausstatten möchte?

    Ich wage mal eine Antwort auf meine selbst gestellte Frage: Nichts.

    Viele Grüße

    FM1

  • Nö, mich interessiert nämlich immer noch das Ergebnis. Aber statt um den heissen Brei herumzureden wie man etwas machen kann sollte man vielleicht auf den Ursprung zurückkommen, und Marino sollte einmal zeigen wie er sich die grafische Oberfläche vorstellt, einfach damit man weiss worüber man redet, denn bisher habe ich nur nichtssagende Liniendiagramme gesehen. Und an Marino, bitte die beruflichen Scheuklappen ablegen und überlegen mit wem man es hier im Forum hauptsächlich zu tun hat.

    MfG BHG

  • Was spricht gegen Lua? Im Prinzip ja nichts...


    Nur - Ich persönlich fände für den Durchschnitt-User von EEP eine Graphische Oberfläche viel geeigneter

    =========================================================================================

    Quelle: Beitrag #1 in diesem Thread

    Und nun sind wir hier angekommen:

    Das veranlasst mich zu folgenden Zitaten:

    was nutzen diese Ausführungen dem EEP-User der seine mit Liebe und Mühe erstellte EEP-Anlage mit einem lebhaften Betriebs-Ablauf ausstatten möchte?

    Sind wir hier in einem Programmiererforum oder in einem Modelleisenbahnsimulator-Forum.

    Marino, bitte die beruflichen Scheuklappen ablegen und überlegen mit wem man es hier im Forum hauptsächlich zu tun hat.

    bisher habe ich nur nichtssagende Liniendiagramme gesehen.

    ... und bei den Ausführungen in #151 und #153 versteh ich nur noch "Bahnhof", was wiederum zu einem EEP-Forum in gewissem Sinne passt.

    Schade um dieses an sich interessante Thema.

  • Hallo,

    mir würde es schon reichen wenn die Lua Code-Zeilen in einem Debugger schrittweise

    abgearbeitet werden könnten.

    Man könnte da leichter Fehler finden und das Resultat nach jeder abgearbeiteten Codezeile

    auf die Auswirkung überprüfen.

    Damit würde auch der gesamte Code leichter verständlich und man muss nicht immer um die Ecke denken.

    Ob die Programmierung mit grafischen Komponenten leichter wird, wage ich zu bezweifeln

    und da EEP ein grafisch stark beanspruchtes Programm ist, ist es nicht unbedingt von Vorteil, es auf diese Weise noch weiter aufzublähen.

    Viele Grüße

    Karl Heinz

    ,

    Viele Grüße

    Karl Heinz

    Benutzte Programme und Hardware

    Programme:

    EEP 17.3 Expert [x64], PlugIn 1, 2

    HomeNos 17.0

    Tauschmanager, Model Multiplier, Modell Explorer


    Hardware:

    Acer Nitro 5 AN517-41

    AMD Ryzen 7 5800H with Radeon Graphics

    64 GB RAM, nVidia Geforce RTX3080 Laptop GPU7552

    Windows 11 Home, Version 23H2, Betriebssystembuild 22631.3296

    Windows Defender