Alle erstellten Inhalte von gmd
-
Lua Error
Ok, danke fuer den tip .. print hat funktioniert in event response .. Bin dabei printless zu arbeiten .. im hauptscript. Gruss 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
-
Problem generating track
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
-
Signalstatus mit Python abfragen....
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
-
Die Spedition hat einen RoLa Anschluss
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.
-
Verarbeitungszeit fuer Fahrzeugziel
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
-
Verarbeitungszeit fuer Fahrzeugziel
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)
-
Zifferntafel setzbar mit Lua ?
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
-
Zifferntafel setzbar mit Lua ?
Sorry, ich meine die anzeige einer Nummer im Modell "Gleisnummer". Id 930EBA05-82ED-48DE-A848-FC534AE86092 Gruss Gmd
-
Frage zu zielanzeige fuer fahrzeug
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
-
Zifferntafel setzbar mit Lua ?
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
-
Frage zu zielanzeige fuer fahrzeug
Neo, wenn ich manuell ein ziel setze ueber mehrere kontakte dann bekomme ich anzeigen wie diese: Die transparenten spuren verschwinden nach dem uebernehmen. Nur aus neugier, warum wird das so angezeigt ? Kann ich daraus etwas ableiten ? gruss Gmd
-
Fahrzeugziel von liste
Hier die rueckmeldung und der grund warum es nicht ging. Hier ist die uebersicht ueber den spurverlauf fuer die beiden speditionen. Eines an dieser stelle: Die spuren zu verlegen ist ein geduldsspiel und muss sehr genau erfolgen. Habe 2D zeichnung sehr oft dafuer verwendet, da die andockpunkte von kurven und geraden genau stimmen muessen. Und das war auch das problem am ende der einen spur. Das ist die spur um die es ging. Mein fehler war dass ich sie nicht manuell vollstaendig geprueft hatte, dann haette ich gemerkt, dass der letzte kontakt nicht akzeptiert wurde (Fehler 7 abzweigungen). Man sollte meinen dass das hier kein problem ist, nur eine abzweigung zwischen den kontakten - ABER: Die weiterfuehrende gerade hat nicht genau am ende des bogens angedockt. Damit wurde keine spur gefunden und es kam diese fehlermeldung, aber eben nicht im script und der ereignisprotokollierung. Da war ich einfach schlampig und am ende so genervt, dass ich keinen systemematischen test mehr gemacht habe. Sorry fuer den aufwand, aber vielleicht profitiert jemand von diesem thread. Dann waere es die sache wert. Dies ist eine anlagen komponenten die spater von der steuerung bedient wird. Dabei sind alle grundfunktionen innerhalb des speditionshofes in Lua geloest (mit einem wiederverwendbaren generischen script) und die uebergeordnete steuerung der frachtfahrten wird nach fahrplan von dem externen programm uebernommen. Ausserdem wollte ich einfach mal die zielfunktion ausprobieren, die ja jetzt solche anwendungen ermoeglicht. Mit der alten weichenstellung waere ein solches modell und vorhaben einfach nicht denkbar. Gruss Gmd
-
Speicherbare Pinsel
Mit der speicherung mit der anlage erschlaegst du alle faelle. Das veroeffentlichen mit der anlage ist ein wichtiger faktor, weil das ein vorteil fuer die community ist. Wenn man seine pinsel bei einer neuen anlage braucht, kann man entweder eine kleine importanlage anlegen oder ein anlage importieren und alle objekte einfach loeschen. Das ist kein aufwand fuer jeden einzelnen, hat aber vorteile fuer den katalog. Das ist zumindest meine meinung. Gruss Gmd
-
Fahrzeugziel von liste
Da hast du aber recht !! .. Ich hatte nicht gesehen, dass du ein beispiel gemacht hattest .. Ich hatte dies fuer das beispiel mit der geradeausfahrt gehalten. Bitte vielmals um entschuldigung, dass ich die nicht die volle aufmerksamkeit gewidmet habe. Werde daraus lernen .. Gruss Gmd
-
Fahrzeugziel von liste
Also, habe den fall einfach drastisch reduziert, was ich von anfang an haette machen sollen, local target = {} table.insert(target, layout:getEntityByName(liste[2])) table.insert(target, layout:getEntityByName(liste[3])) vehicle.target = target liste ist eine liste von kontakt namen, die schon an anderer stelle verwendet wird und korrekt ist, aber offensichtlich nicht als target eingabe funktioniert. Werde jetzt jeden eintrag explizit als test hinzufuegen, dann werde ich schon merken wo es klemmt. Danke fuer eure antworten. Gruss Gmd
-
Fahrzeugziel von liste
Ja, das hatte ich schon versucht, Deine loesung passt aber nicht fuer mich in diesem fall. Werde mich zurueckmelden wenn ich ein ergebnis habe. Gruss Gmd
-
Fahrzeugziel von liste
Goetz, ich verstehe was du sagst, und wenn es eine kleine anlage mit ein paar zeilen Lua waere wuerde ich das ja auch tun. Aber wenn ich so eine anlge zur fehlersuche bekaeme, dann waere das eine zumutung, also habe ich versucht die frage auf das wesentliche zu beschraenken. Ich entnehme aus deiner antwort, dass das script so funktionieren muesste (mit reihenfolge der kontakte).. Also werde ich stueck fuer stueck eingrenzen woran es liegt .. hier nur ein kleines beispiel function CheckAllTracksForAvailability(Modul, DataDefinition) -- Hofstatus bei Einfahrt Modul.variables[DataDefinition[8][2]] = not StatusFreight (Modul, DataDefinition[1]) -- Belegungspruefung fuer Tore Modul.variables[DataDefinition[8][3]] = not StatusFreight (Modul, DataDefinition[2]) -- Belegungspruefung fuer Parken Modul.variables[DataDefinition[8][4]] = not StatusEntry (Modul, DataDefinition[6]) -- Belegungspruefung fuer Wartespuren Modul.variables[DataDefinition[8][5]] = not StatusEntry (Modul, DataDefinition[7]) -- Belegungspruefung fuer Wendespuren Modul.variables[DataDefinition[8][1]] = Modul.variables[DataDefinition[8][2]] and Modul.variables[DataDefinition[8][3]] and Modul.variables[DataDefinition[8][4]] and Modul.variables[DataDefinition[8][5]] end Das script ist sehr abstrakt (total generisch) und es ist aufwand sich damit zu beschaeftigen.. und das moechte ich einfach vermeiden. Also glaube mir, es ist kein boeser wille , dass ich dies frage versucht habe auf den punkt zu bringen. Werde weiter testen. Gruss Gmd
-
Fahrzeugziel von liste
Sorry, ich dachte das ist ausreichend .. Wenn du mir sagen kannst dass das so funktionieren muesste, dann kann ich das weiter eingrenzen. Ich dachte es gibt einen trick bei der erstellung der target liste. Die steuerung und die tabellen auf der sie arbeitet ist sehr umfangreich und ist nicht wirklich sinnvoll als kontext, meine ich jedenfalls Gruss Gmd
-
Fahrzeugziel von liste
Ja das hatte ich gesehen.. aber wie erzeuge ich die von einer liste ?? (ohne schlagworte) Gruss Gmd
-
Fahrzeugziel von liste
Haha, nur weil ich das versuche heist das nicht dass es geht. Es geht nicht, deshalb die frage, aber wahrscheinlich liege ich daneben .. Gruss Gmd
-
Fahrzeugziel von liste
ja .. vehicle.target = listeVonKontaktObjekten Gruss Gmd
-
Fahrzeugziel von liste
Liegt vielleicht daran wie ich frage gruss Gmd
-
Fahrzeugziel von liste
Sorry Goetz, das war nicht die frage .. die Kontaktliste und die for schleife ist voellig ok, table.insert .. etc der Kontaktobjekte funktioniert nicht als target. Gruss Gmd
-
Fahrzeugziel von liste
Hallo, habe eine liste von kontaktnamen (string) (in Reihenfolge). Wie kann ich daraus ohne schlagworte eine liste machen, die als target funktioniert ? so geht es jedenfalls nicht : function CreateTargetFromKontaktListe(KontaktListe) local liste = {} for counter = 1, #KontaktListe, 1 do table.insert (liste, layout:getEntityByName(KontaktListe[counter])) end return liste end Gruss Gmd