Jump to content

gmd

Mitglieder
  • Gesamte Inhalte

    673
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von gmd

  1. Da muss ich dir widersprechen.. ich komme ohne aenderungen von variablen etc aus, weil meine scripte so eingerichtet sind. Es ist richtig dass zustaende fuer die meisten eine groessere rolle spielen, aber das ist oft mit einem einfachen loeschen aller temporarer variablen geregelt. Es kommt halt darauf an, was und wie man programmiert. Ich bin mir bewusst, dass nicht jeder ein solches feature zu schaetzen weiss, aber lassen wir doch mal andere hier ein pro oder contra ausdruecken. Vielleicht sehen wir beide vielleicht noch nicht alle aspekte. Gruss Gmd
  2. Hallo an alle, es ist nicht wirklich ein feature wunsch (yet), und ich behaupte auch nicht dass das vollstaendig durchdacht ist, ich schreibe einfach mal eine beobachtung auf und was ich in der situation getan habe und.. was vielleicht wuenschenswert waere. Beim testen fuer meine scripte RoLa und Spedition kam es oefter vor, dass ich einige fahrzeuge immer wieder in eine ausgangsposition setzen muss, um einen test durchzufuehren. Es sind nicht nur ein oder zwei sondern in einigen faellen 10+ und das nicht nur einmal. Ich kann nun ein script schreiben mit dem ich alle beteiligten fahrzeuge oder beteiligten modelle auf eine anfangsposition zuruecksetze, ich habe mich dazu entschieden meinem programm beizubringen fuer eine selektion (alles eindeutige namen) einen stand (positionen) abzuspeichern und immer wieder abzurufen. Das spart enorm zeit. Hat aber immer noch das problem, dass alle objekt eindeutige namen haben muessen. Ich dachte nun, wenn man im MBS eine ebene nimmt und alle diese beweglichen test modelle zuordnet, und dann einen snapshot machen kann, und am ende des tests den ursprungszustand wieder abrufen kann, dann waere das ein riesen fortschritt fuer aufwendige tests. Es kann dann auch zum ruecksetzen einer demo verwendet werden usw. Ich rede hier nicht von versionen von anlagen, oder aehnlichem, man kann das ja beliebig kompliziert machen. Eine einfache moeglichkeit auf einen status zurueckzusetzen, der ueber das einfache CTRL Z hinausgeht. Neo kann da besser entscheiden was einfach machbar ist, aber fuer wiederholtes testen aller moeglichen art von bewegung ist das ungeheuer hilfreich. Gruss Gmd
  3. Danke, das war die info auf die ich auch gewartet habe. Gruss Gmd
  4. Hallo, heute ein update zur RoLa .. Hier das filmchen zum stand der dinge Habe die ersten generischen scripte und etliche hilfsfunktionen gebastelt und die einfahrt zur verladung laeuft jetzt .. Das script ist weitestgehend allgemein und ich werde es fuer die weiteren einfahr- und ausfahrstrecken verwenden und wohl auch fuer andere zwecke als die Rola. Ziel ist es, alles allein mit tabellendefinitionen zu machen und minimalen speziellen scripten. Falls jemand interesse hat bin ich gerne bereit den letzten stand als entwurf zu laden. Nur eine PM schicken. Gruss Gmd
  5. yep, und manchmal wohl gar nicht .. lol ich bin einfach zu ungeduldig .. Ich sollte einfach mehr vertrauen in die ueberlegungen haben, die Neo in die EV reingesteckt hat und einfach erst mal annehmen dass ich nur genau genug hinschauen muss .. Gruss Gmd
  6. Easy Danke, Ich zweifele an meinem verstand, warum habe ich das nicht gefunden ? Gruss Gmd Edit: Es gibt auch erreicht sein ziel .. damn .. ich habe immer nur unter Aktionen geschaut .. ich muss wirklich die grafische EV besser untersuchen. Das kommt davon wenn man nur in code denkt.
  7. Ok, danke trotzdem .. Ich glaube ich habe da was fuer die wunschliste Gruss Gmd
  8. Folgefrage, vielleicht weist du das ja auch .. Depot eingang wird protokolliert .. bekomme ich einen event/ aktion ? oder muss ich einen kontakt setzen ? Portal wird nicht protokolliert.. gruss Gmd
  9. Hmmmm.. du hast voellig recht.. Da hatte ich wohl mal wieder einen blonden (grauen) moment .. Warum war ich der meinung dass ich ein gleis oder spur als ziel angeben kann ? Gruss Gmd
  10. Ok, danke dir, aber das ist nur die halbe wahrheit .. Es ist eine bedingung die ich abfragen kann, aber ich muss staendig abfragen, und wenn ich keinen event habe zu dem zeitpunkt dann faehrt das fahrzeug weiter, es sei denn ich verwende einen kontakt und lass es halten, ist aber nicht sinn der sache. Ich moechte einen event, der ausgeloest wird wenn die bedingung: "Fahrzeug erreicht ziel" wahr wird, genau wie Kontakt wird ausgeloest. Gruss Gmd
  11. Hallo, Das ereignis "Ziel Erreicht" wird protokolliert aber ich finde keinen event oder bedingung in der EV. Um das zu nutzen muss ich mir alle ziele und gleise oder kontakte merken und dann einen eigenen event erzeugen ?? Habe ich da mal wieder was uebersehen ? Gruss Gmd
  12. Neo, mit der neuen schnittstelle und dem enormen datenvolumen die sie produziert, waere es nuetzlich wenn man konfigurieren koennte welche events gelogged werden. Ich verwende in den meisten faellen die events fuer verlassen und betreten gleis nicht, und es waere gut diese zu unterdruecken. Das sollte nicht statisch sein, sondern ueber die schnittstelle (oder Lua) steuerbar, wie ein geraeusch oder in der art. Du hast Easys fragen zur schnittstelle noch nicht beantwortet .. waere gut wenn du die zeit findest und da noch ein paar pointers zu geben. Gruss Gmd
      • 1
      • Gefällt mir
  13. gmd

    Lua Error

    Just for info, wem das hilft function debugMessage(msg) if Modul and Modul.variables then Modul.variables["DebugOutput"] = msg -- wird in der eventliste angezeigt end end Modul ist das ereignismodul an dem ich gerade arbeite, kann aber auch jedes andere sein hier ein beispiel: local Modul = layout:getEventsByName("RoLa" )[1] -- das Ereignismodul unter dem alles gespeichert wird Edit: noch ein anwendungsbeispiel: Der nachfolgende aufruf debugMessage(segmentTable .. " - adding segment: " .. KontaktListe[i] .. " -> " .. KontaktListe[i + 1]) erzeugt [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_4 - adding segment: RolaKEinWarte3 -> RoLaKEinAuswahl" [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_4 - adding segment: RolaKZuf1 -> RolaKEinWarte4" [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_4 - adding segment: RolaKEinWarte4 -> RoLaKEinAuswahl" [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_4 - adding segment: RolaKZuf1 -> RolaKEinWarte5" [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_4 - adding segment: RolaKEinWarte5 -> RoLaKEinAuswahl" [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "RouteTables", {5 Elemente} [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_5 - adding segment: RoLaKEinAuswahl -> RolaKEinSp2" [9:14:47 PM] Modul-Variable wird gesetzt -> RoLa, "DebugOutput", "RouteTable_5 - adding segment: RoLaKEinAuswahl -> RolaKEinSp1" usw. Gruss Gmd
  14. gmd

    Lua Error

    Hallo Goetz, kann das bestatetigen .. print not working in main script .. Das kommt jetzt auf die wunschliste gruss Gmd
  15. gmd

    Lua Error

    Ok, danke fuer den tip .. print hat funktioniert in event response .. Bin dabei printless zu arbeiten .. im hauptscript. Gruss Gmd
  16. gmd

    Lua Error

    [6:43:29 PM] Ereignisprotokollierung gestartet [6:43:29 PM] Die Ereignisverarbeitung ist aufgrund von Skriptfehlern deaktiviert: Attempt to call a nil value (global 'print') das einzige Lua kommando print ("Start Script") eine komplett neue Anlage .. hat angefangen mit der anlage an der ich bause mit viel script .. print wird nicht erkannt Gruss Gmd Werde mal neu starten .. Auch nach komplettem neustart .. gleiches problem .. neue anlage, ein print kommando bringt den fehler Korrupte installation ? Werde mit 8.5 probieren Weiterer Edit: 8.5 gleiches problem .. jetz bin ich etwas flappergusted. Weiterer Edit: 8.0 bringt keine fehlermeldung aber der string erscheint nicht in der EV protokollierung
  17. Ich muss dir da widersprechen. Ich hatte ja auch meine pittfalls mit dem AI .. aber generell hat es mir viel viel tiparbeit gespart, wenn man gelernt hat mit dem tool umzugehen. Komplexe logic kann er nicht entwickeln, das scheitert gnadenlos. Also denken muss man fuer sich selbst, aber wenn man ein problem in kleine teile zelegt und in einem pseudocode beschreibt kommt man mit ein paar iterationen und fine tuning schon ans ziel. Ich habe inzwischen gut gelernt mit dem AI zu arbeiten und es spart in einigen bereichen enorm zeit. Natuerlich kommt immer mal wieder mist raus, aber man kann doch auch erstaunlich effizient arbeiten. Hier ein weiteres beispiel: Ich habe das werkstatthandbuch fuer mein motorrad. Es hat alle noetigen informationen um komplexen service zu machen, allerdings sind die einzelnen abschnitte, die man braucht uber viele viele seiten verteilt und verweisen wieder auf andere. Sie sind nicht task orientiert, das kennt man ja von solchen manuals. Ich habe das pdf dem AI gefuettert und habe eine arbeitsanweisung fuer den wechsel des cam chain tensioners anfertigen lassen. Du bekommst ein komplettes dokument mit allen beschreibungen in reihenfolge mit allen bildern.. den orginaltext umsortiert gemaess dem auftrag. Pattern matching oder anwenden von "gesicherten" informationen ist erstaunlich gut. Ich fuettere dem AI die code beipiele von C# libraries und mache einen request in pseudocode und bekomme brauchbare ergebnisse, die mit wenigen korrekturen funktionieren. Spart stunden von tipparbeit und ausprobieren. Es ist wie mit allen tools, man muss mit dem hammer umgehen koennen um einen nagel in die wand zu schlagen, bzw. auch den richtigen hammer verwenden. Der AI ist ein komplexes tool, man braucht etwas geduld zu lernen damit umzugehen. Gruss Gmd
  18. Little, Es gibt keine funktion layout.setSignalState Du kannst nur ein script snippet schicken mit {"jsonrpc": "2.0", "method": "layout.invokeScript", "params": "print('Hallo Welt') return 42", "id": 1} Ich rate dir Putty zu benutzen und die messages manuell zu testen. Gruss Gmd
  19. Hallo MbsBahner, Heute ein kleines Intermezzo. Habe mal Pause von der reinen Programmierung meiner Steuerung gemacht. Man darf ja wohl auch mal spielen. Naja, mit der Zielsetzung neue Dinge (fuer mich neu) auszuprobieren und dabei auch die neueren funktionen kennenzulernen. Eine Teilanlage fuer spaeter Einbindung. Baue Grundlagenscripte (generisch - tabellengesteuert) fuer verschiedenste Scenarios. Ich muss sagen, die Beleuchtungen mit der V9 sind stunning .. Man kann realistischen Nachtbetrieb einer industriellen Einrichtung (taghell) oder auch spaerlich beleuchtete Vorrort Scenarien realistisch gestalten. Stellt halt auch einige Anforderungen and Moeglichkeiten der Modelle. Hier ein kleines Filmchen vom Verladen eines Sattelzugs auf der RoLa. Sind noch einge kosmetische Dinge zu machen und natuerlich die Teilanlage zu vervollstaendigen. Der Schwerpunkt derzeit ist die Fertigstellung der Scripte fuer die Spedition, die RoLa be- und Entladung und die Bahnhofsteuerung. Es sind noch mehr Elemente vorhanden die eigene Stuerungen bekommen, aber eins nach dem anderen. Wenn interesse betshet werde ich gerne die Anlage mit den Scripten zugaenglich machen. Gruss gmd Nochmal der link fuer den film.
  20. Ok, danke fuer die Antwort. Es ist nur bei dieser route so lange .. ein kontakt weniger und es its ok, alles andere ist ok. Ist irgendwie ein sonderfall .. deswegen dachte ich dass er vielleicht interessant ist. Ich kann das umstellen und mich von kontakt zu kontakt hangeln, kein problem. Alle anderen ziele sind schnell .. nur 6 sekunden erschien mir als nicht normal .. da kann man 500 routen berechnen .. sieht fuer mich nach einem sonderfall aus. Anyway, Neo kann das entscheiden ob er das anscheuen will oder nicht. Ist fuer mich nicht kritisch. Gruss Gmd
  21. Neo, beim testen meiner derzeitigen komponente ist mir folgendes aufgefallen. Acht kontakte vom Eingang rechts zu einem wendepunkt links das setzen des ziels bracucht 6 sekunden im Mbs.. es steht alles, auch die partikel des auspuffs des fahrzeugs Zwischen Setting Target und Target Set liegen 6 sekunden hier der script teil print ("Getting Target " ) local liste = GetKontaktListeFuerWendepunkt(wendeKontakt, KrohnData) local target = CreateTargetFromKontaktListe(liste) print ("Setting Target " ) vehicle.target = target print (" Target Set" ) die zeit vergeht hier vehicle.target = target Falls noetig hier ist die Anlage 95B84DE8-A963-4565-A389-E5A373BFF84F Script is noch im aufbau, falls du fragen hast dann sag bitte bescheid. Den entscheidenden teil findest du unter Modul Krohn -> Krohn Kontakt am ende unter -- *************** Einfahrkontakt ****************** Einfach zu testen mit einem fahrzeug auf den kontakt KrohnEinfahrt (rechts - linke einfahrspur) Gruss Gmd Edit: Habe vergessen zu sagen, das erste mal nach dem laden muss ein fahrzeug ueber den wiegekontakt am eingang fahren, zur inititialisierung (derzeit)
  22. die Antworten sind immer nur so gut, wie die Frage, die gestellt wurde. Da hast du voellig recht .. Und ich habe mal wieder nicht in die grafische EV geschaut .. damn .. Danke fuer die muehe mit meiner daemlichen frage .. gruss Gmd
  23. Sorry, ich meine die anzeige einer Nummer im Modell "Gleisnummer". Id 930EBA05-82ED-48DE-A848-FC534AE86092 Gruss Gmd
  24. Hmmm.. In deinem beispiel macht das ja noch irgendwie sinn.. in meinem fall bekomme ich anzeigen, die ueberhaupt keinen sinn machen, da ja keinerlei kontakte auf den angezeigten wegen liegen. Haengt wahrscheinlich and meinen "verworrenen" spuren. Danke fuer die Antwort. gruss Gmd
  25. Suche eine anzeige fuer gleis- oder tornummer die ich von Lua aus setzen kann. Es gibt ja die Gleisnummer im katalog, habe aber keine ahnung wie ich die eigenschaften von Lua erreiche. Gruss Gmd
×
×
  • Neu erstellen...