Jump to content

Andy

Mitglieder
  • Gesamte Inhalte

    5507
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Andy

  1. Hi André, this is the easiest solution to the problem. It's this 'event pack' filtering the optional variables. First switch: Initializes the system, sets the 'object' indirect to the 'switch' Traject1 and feeds that one with a functions name. It also feeds 'return', because in each more switch 'return' gets given to the parameter 'par'. More switches: always feeds 'par' with 'return' and switches 'object'. 'object' contains Traject1, and that one's function is 'get section'. The other events are each for one possible variable in Traject1. With the _Trigger-trick all switches may be possible, so we filter it with a 'Typ' defined in 'Traject1' and the function (here 'get section'). Then the approbiate object variable gets picked depending on the content of 'par' and is given to 'return'. regards Andy traject.mbp
  2. somehow that looks pretty familiar just like here too @metallix that's the one I explained to you. That's not possible. The concept is pretty interesting, but forced to wait. I'm just glad that those things happen more and more. Still hope that this will be a fluffy place again. regards Andy
  3. I'd be glad if someone could tell a solution, I'd need it too. Perhaps, if you can describe the whole situation more detailed, we can find another workaround. So far, the only solution is a pack of events looking like this: event: train enters track condition: variable got value: _Trigger2.canton value: section_1 action: _Trigger2.next section = $itinary.section_1; event: train enters track condition: variable got value: _Trigger2.canton value: section_x. action: _Trigger2.next section = $itinary.section_.x; ... Andy btw: you don't need to write $((_Trigger2.data)._Name). , _Trigger2 is enough.
  4. Unfortunately for an indirect access you can just peek the name of an object, but not the name of an object variable. So this leads to nothing:
  5. Wieso muß ich hier Beispiele bringen? Habe ich den Thread angefangen? Das eine Beispiel, dass ich aufgezeigt habe, zeigt, daß aufgrund der Ereignissteuerung herkömmliche Logikgatter hier im Gegensatz zu einer Maschinensteuerung verloren sind. Über Abwärtskompatibilität können Dir streit_ross und opax was erzählen. Ich habe hier die ganze Zeit nichts anderes gemacht, als mitzuteilen, dass ich mich auf V5 freue und kriege seitdem ständig nur in den Arsch getreten. Als Moderator eines professionellen Produktes solltest Du dringend mal eine Standortbestimmung machen. Gruß Andy p.s.: Leute, die wirklich programmiertechnisch ein Problem haben und annehmen, ich könnte es lösen, können gerne versuchen, mich in Zukunft über PN zu erreichen. Wenn ich nicht reagiere, könnte es an der ignore-Liste liegen. Den anderen werde ich meine Anwesenheit ab sofort im Wesentlichen ersparen.
  6. sind keine bunten Buchstaben drin, gell? und alles in einer langweiligen Schriftgröße.
  7. Hä? Wieso verkompliziert sich da was? Weil Du jetzt die + Taste länger suchen mußt? Wenn Du bislang nur was von einer Walnuß gehört hast, juckt dich der Sinus doch gar nicht. Klar, manche sagen dann, "das kenne ich nicht, sowas kauf ich mir aber nicht!" Man braucht auch die Wurzel-Taste nicht, wenn man den Logarithmus und die Gegenfunktion hat. Interessanterweise gibt es mehr Taschenrechner, die die Wurzelfunktion haben, aber den Logarithmus nicht. Und wieso wird die Berechnung ohne Erweiterung des eigenen Wissens unmöglich gemacht? Es ist doch umgekehrt. Du kannst jetzt die Wurzel ziehen, ohne zu wissen, wie das manuell geht. (ich denke, das hast Du auch eigentlich schreiben wollen) Du kannst hier auch was posten, ohne zu wissen, wie das Internet und z.B. http funktioniert. Und Du brauchst nicht mal einen Führerschein dafür. Müßten die Leute heutzutage noch DOS benutzen, hätten sie erheblich mehr Wissen darüber. Gruß Andy
  8. Richtig. Aber 'Anwendungsfreundlich' und 'mächtig' müssen sich nicht ausschliessen. Wenn Du dann wirklich statt 'RandomX' einen anderen Begriff einsetzen kannst, hinter dem sich ein sehr komplexes Skript versteckt, dass ein Programmierer geschrieben hat, aber ein Nichtprogrammierer niemals einsehen muß und das er nie verstehen muß, sondern nur dank einer Beschreibung weiß, was es macht, dann ist doch allen geholfen. Es fragt ja auch kein normaler User, welche DirectX-Befehle Neo verwendet hat, weil das ohne Belang ist. Hauptsache, die Lok kippt nicht um. Begriffe aus der Mathematik/Informatik mit der Sprachwissenschaft zu vergleichen, ist wie das Ding mit Äpfel und Birnen. Du hast für Negation drei verschiedene Möglichkeiten angegeben. Setze sowas mal in einer Programmsprache ein. Ja - es könnte jetzt dies oder das oder jenes passieren. Absurd. Mir färbt sich schon das Gesicht, wenn man 'numerieren' jetzt mit Doppel-M schreibt. Weil es von 'Nummer' kommt? Nein - es stammt von numero ab. Und in der Informatik ist z.B. Enumeration ein verwandter Begriff. Prinzipiell ist also die Schreibweise des Wortes 'gebunden'. Aber soweit reicht's bei den Dusseln, die für die Änderungen ermächtigt wurden ja nicht. Und wenn man dann fachlich was kritisiert, wird gejammert. Manchmal muß man mal auf den Tisch hauen, damit kein Schaden entsteht. Gruß Andy p.s.: Ach so, die Ampel - wie sieht denn nun die exakte Umsetzung dieser Diagramme in die MBS-EV aus?
  9. Andy

    Preisfrage 2019

    Trabbi und Modellbau
  10. Das kommt jetzt schon das zweite Mal und damit reicht es auch.
  11. Wenn Du das postest, wird's streit_ross gerne lernen. p.s.: wenn ich mich wirklich was frage, dann wo z.B. Anfang der 70er Jahre die ganzen Gebührenzähler für die einzelnen Telefone der einzelnen Haushalte gestanden haben...
  12. Ich vertraue total darauf, dass ihr alle noch neugierig genug seid für V5. Und ihr werdet auch alle umsteigen. Sicherlich wird's im Alter anstrengend zu lernen. So wie Benjamin heute in Sketchup eingestiegen ist, so schnell wird's nicht mehr gehen, bei mir auch nicht. Das machen die Augen schon mal nicht mehr mit. Aber da zieht einer den anderen über dieses Forum mit. Quängelt nicht rum, das wird gut, solange wir hier die positive Stimmung erhalten. Gruß Andy
  13. Ich nehme an (und da befinde ich mich total im Bereich der Spekulation) dass die EV vom Prinzip her komplett erhalten bleibt. Lua-Funktionsaufrufe werden so laufen, wie heutzutage RandomX gerufen wird. Da steht dann halt was anderes und die EV guckt nach, ob es für das Kommando ein Skript gibt, oder ob's ein Tippfehler ist. Das war's. Mehr als abwarten geht sowieso nicht. Und Du Reinhold, kannst mir mal erklären, wie Du eine komplexe EV mit und-oder-nicht erstellen willst. Ist mir absolut unerklärlich, wie Du als Lehrer ein lebenslanges Lernen verneinen kannst. Ein echter Virus - der kann sich nach der Aussage eines alten Freundes so bilden, wie wenn man ein Haufen Metall in die Ecke wirft und plötzlich steht ein VW da. Und es soll auch Affen geben, die bei genügend Zeit das Gleiche wie Shakespear auf einer Schreibmaschine eintippen. Aber eine komplexe MBS-Anlage entsteht so definitiv nicht. Grummeln hilft da gar nix und bringt nur schlechte Atmosphäre.
  14. Genau so ist es. Nur konnte ich mir den massiven Ausfall der betritt/verläßt-Meldungen nicht erklären, was aber eben den Grund hat, dass ein geschobenes Fahrzeug (also eins mit Geschwindgkeit 0) da gar nichts auslöst. Das ist natürlich absolut logisch - aber man wird so abgelenkt, dass man da nicht drauf kommt. Was man nach dieser Erkenntnis allerdings auch wieder zur Fehlerkontrolle nutzen kann, denn wenn ein Zero-Speed-Fahrzeug plötzlich auf einem anderen Gleis STEHT, dann ist's passiert. p.s.: Ich bin da auch weit davon entfernt irgendetwas zu kritisieren. Im Gegenteil, höchsten Respekt für Neo, dass er es geschafft hat, diese ganzen Problematiken unter Kontrolle zu bringen. Ich erwarte nicht mal, dass er jene geplante Optimierung wirklich umsetzen kann. Es gibt schlicht und einfach Grenzen des Möglichen.
  15. Vielleicht schreibt ihr der @pfjoh mal eine PN zu dem Thema.
  16. Bei uns wurde Boolsche Algebra auch gleich mit Physik (sprich Elektronik) kombiniert und dann kam man schnell zu J/K- und R/S-Flipflops, was eigentlich 'merkende' Schaltelemente sind - und was sind 'Merker' in der Informatik? Genau: Variablen. Zum Thema Grundlagen nochmal: man möge sich mal kurz die Funktionsliste der Sprache Lua ansehen, die als Ergänzung in V5 eingebunden sein wird. Versteht irgendjemand irgendwas? Das wird hier für alle Neuland. Aber bei den meisten fehlen sämtliche Voraussetzungen das zu verstehen und es ist absolut aussichtslos, das beginnend mit der Erkärung einer Negation aufholen zu wollen. Es geht zwar in der Tat in etwa damit los, nur dauert das schlichtweg eine halbe Ewigkeit sich das alles anzueignen, vor allen Dingen, wenn man's eigentlich gar nicht will. Ohne Neugier geht gerade mal gar nix. Das ist jetzt mit Sicherheit nicht 'von oben herab' gesagt, sondern aus Erfahrungswerten. Das fällt unter isso. Aber mit steigender Komplexität der Anlagen brauchen wir das unbedingt. Jedoch: wie unfähige Modellbauer wie ich auf fähige Modellenbauer und die Erfüllung ihrer Wünsche angewiesen sind, wird das bei Programmbausteinen (die dann wohl auch möglich sind) genauso sein. Drückt also mal kräftig die Daumen, dass wir entweder Nachwuchs kriegen, der's bereits versteht, oder einige von uns eine Chance haben, das alles noch einmal zu lernen. Das wird alles kein schneller Prozess. Gruß Andy
  17. Wenn man nur die Bedingungen betrachtet, wäre ein NAND dies: Auslöser: AUSLÖSER Bedingungen (UND) BEDINGUNG1 BEDINGUNG2 Aktion Bedingung erfüllt: gar nix Aktion Bedingung NICHT erfüllt: AKTION dann entspricht: AKTION = BEDINGUNG1 NAND BEDINGUNG2 ABER dann kommt eigentlich noch UND AUSLÖSER dazu, denn ohne Auslöser geht ja gar nix. Betrachtet man in obiger Tabelle den Auslöser als A und die Bedingungen mit 'oder' bzw. 'und' (vielleicht auch negiert) zusammengefaßt als B, dann wird AKTION ausgelöst mit dem Muster A UND B und die Alternative Aktion mit dem Muster A UND (NICHT B) - und das war's. Alle anderen fehlen!!! Ereignisgesteuerte Programmierung braucht zwar auch Logik, aber eben auch immer ein Ereignis. Gruß Andy
  18. Hier haddu: A 0 0 1 1 B 0 1 0 1 Verknüpfungsresultat: 0 0 0 0 'Nimmer' 0 0 0 1 A und B 0 0 1 0 A und (nicht B) 0 0 1 1 A 0 1 0 0 B und (nicht A) 0 1 0 1 B 0 1 1 0 A ungleich B bzw. (B und (nicht A)) oder (A und (nicht B)) wird auch als 'entweder-oder' bzw. XOR (english: exclusive or) bezeichnet, auch EOR 0 1 1 1 A oder B 1 0 0 0 nicht (A oder B) wird auch als NOR (not or) bezeichnet 1 0 0 1 A gleich B bzw. nicht (A xor B) 1 0 1 0 nicht B 1 0 1 1 A oder (nicht B) bzw. wenn B dann A 1 1 0 0 nicht A 1 1 0 1 B oder (nicht A) bzw. wenn A dann B 1 1 1 0 nicht (A und B) wird auch als NAND (not and) bezeichnet 1 1 1 1 'Immer'
  19. Eine Negierung oder Negation ist eine Funktion. Das bedeutet, jedem Element einer Eingabemenge wird ein eindeutiger voneinander verschiedener Wert eines Wertebereiches zugeordnet. Dies als 'Umwandlung des Eingangs zum Ausgang' zu bezeichnen ist so flapsig, dass dafür die Prügelstrafe angewendet werden sollte. Für den Definitionsbereich des binären Zahlensystems { 0, 1 } wird der 0 die 1 und der 1 die 0 zugeordnet. In der Logik wird 'wahr' zu 'falsch' und 'falsch' zu 'wahr'. Wenn bei den natürlichen Zahlen das Vorzeichen 'gedreht' wird, ist das auch eine Negation. besser nicht. Das macht heutzutage nicht mehr viel Sinn, da noch über die Elektronik zu gehen. Gruß Andy
  20. inspiriert von den 'Rule the Rail' Connectoren, die auf Einfahrt von roter und blauer Seite unterschiedlich reagieren können? Die sind nicht schlecht die Dinger! Die habe ich hier in der Tat vermißt. Gruß Andy
  21. Hallo Neo, also, das habe ich inzwischen kapiert, dass sie das nicht tut (außer den erwähnten Gleisüberspringern). Die Log-Auswertungen zeigen, dass sie, wenn sie sehr viel zu tun hat, da zeitlich schon in den nächsten Zyklus rüberkommt und ich bin der Ansicht, dass dies genau die Stellen sind, an denen Fahrzeuge optisch auch mal hüpfen können. Frames können also durchaus verloren gehen (wie ich das sehe!). Deshalb mein Hinweis darauf, dass man, wo möglich, komplexerer Dinge ein wenig zeitversetzt gestalten sollte. Ein Beispiel für hier wäre: nicht alle Ampeln absolut gleich takten, sondern die verantwortlichen Steuerloks am Anfang minimal versetzen. Ob es Sinn macht, Schrittketten insofern aus der EV herauszunehmen, dass man da Steuergleise und Steuerloks baut, mag ich jetzt nicht beantworten. Für Leute, die mit Programmierung an sich nicht so viel zu tun haben, bestimmt eine ordentliche Alternative. Gruß Andy
  22. @Hermann, warte mal ab. Wenn es Neo ermöglicht in V5 auf Koordinaten und Winkel eines Objekts lesend und schreibend zuzugreifen, wird man die Dinger über die EV in Bewegung setzen können. Das könnte Modellbauer von der Animation her etwas entlasten, wenn die zu komplex wird. Andererseits könnte es auch sein, dass hier gewisse Module Sinn machen können. Und ich sehe hier in jedem Fall das Potential, dass hier ein paar Bordmittelzusätze nicht in Frage gestellt werden sollten. Hat noch jemand mal einen Märklin-Metallbaukasten gehabt? Damit habe ich solche Monster gebaut! Das könnte ein ganzes Set werden! Gruß Andy
  23. Jaaa, jetzt kommen auch die bösen Buben: Der Sheriff und der Saloon hat was zu tun, das Hotel auch, der Jail wird gebraucht und ... kommt der Friedhof neben die Kirche, oder neben die Bank?
  24. Glaube ich weniger, Du bist nah dran. Ich habe den 10 Minuten-Log auch mal ausgewertet. Der ist blitzsauber und wenn man den programmierten Mustern glauben kann, so sind die in Ordnung, oder haben alle einen generellen Fehler, wonach es jetzt nicht mehr aussieht. Wie es mit den Konstanten aussieht (35/48), das ist ja ein Datenproblem. Das ist wieder was anderes. Aber davon gibt's ja nicht so viele. Gruß Andy
  25. So, im Video sieht man's deutlich - es wird vieles klarer dadurch!!! Zunächst: Es passiert in der Praxis nicht immer, da es grenzwertig ist! Es ist das Kfz 040. Es ist mit der Länge 2 angegeben, aber tatsächlich kommt es vor, dass es noch ein wenig übersteht, sich das nächste Fahrzeug dann einen Block Zeit läßt. Es folgt noch ein PKW hinten nach, und dann biegt noch ein LKW der Länge 2 ein. Totallänge 6, angegeben ist 7. Das sollte jetzt eigentlich noch ausreichen (?), aber tatsächlich schiebt der LKW den hintersten PKW, wenn das weiße Käfercabrio nicht an die Feuerwehr ranfährt. Und deshalb gibt es keine BETRITT GLEIS-Meldung. Offensichtlich wird von einem Fahrzeug mit der Geschwindigkeit 0 keine BETRITT/VERLÄSST-Meldung abgesetzt. Und dann muß es natürlich kollabieren, da fehlen der Logik Ereignisse und die vielen Ausfälle lassen sich auch erklären. Tatsächlich geht offensichtlich gar nix verloren, wir fallen nur mal wieder der einfachen Float-Genauigkeit zum Opfer. Ich setze jetzt die Länge des 040 mal auf 3 und dann müssen wir mal klären, wie das mit der Zählung ist. Ich habe die Situation unmittelbar vor dem Problem mal angehalten und gespeichert - zum Glück kommen wir bis zu der Stelle reproduzierbar. Aber dann: mal passiert es, meistens nicht. Was hier eigentlich auch bestraft wird ist Folgendes: Einmal wird mit Länge gearbeitet, aber tatsächlich wird die vom eigentlichen Stop/Go-Betrieb ignoriert. Ich mache mal langsam mit der 'Übersetzung'. Axel, Du kannst da noch mal schauen, ob es noch andere grenzwertige Fahrzeuge gibt, die man besser höher einstuft - und mal schauen, warum es da schon zum Auffahren kommt, obwohl eigentlich noch ein Plätzchen frei sein sollte. Ich bin dann Stand-By. Gruß Andy kfz_problem.mbp p.s: MEMO: wenn Du die Länge des Kfz 040 anpaßt, muß auch der Abschnittszähler, in dem er gerade steht, angepaßt werden. 10 Minuten ohne Fehler hat sie jetzt schon geschafft! Muß nicht heißen, dass sie das nun immer tut - aber immerhin.
×
×
  • Neu erstellen...