gmd Geschrieben 30. März Autor Geschrieben 30. März (bearbeitet) Hallo, unser sommer geht langsam zu ende und die grosse hitze in Perth ist langsam vorbei. Wir sind immer noch in unserem sommerdomizil, fahren aber naechste woche wieder nach hause. Ich dachte ich schreibe mal wieder einen update, ueber das was ich in der letzten zeit mit dem MBS gemacht habe. Ich habe ein pause von der codierung fuer meine gleissteuerung eingelegt, um die verhaeltnisse mit strassenfahrzeugen besser kennenzulernen und moegliche parallelen zu erkennen. Ich habe mir drei scenarien ueberlegt, eine RoLa, eine grosse spedition und einen grossen bahnhofsparkplatz, die ich automatisieren moechte mit weitestgehend wiederverwendbaren scripten. Das bauen von umfangreichen, virtuellen strecken mit vielen verzweigung kann muehsam sein, aber nach einer weile bekommt man uebung. Ich habe viele einzelne funktionen implementiert und stueck fuer stueck gelernt, wie ich abstrahierte funktionen mit Lua implementieren kann. Die verallgemeinerung ist aber noch nicht vollstaendig abgeschlossen, jetz folgt eine "Ordnungsphase" die einzelnen funktionen in leicht wiederverwendbare einheiten zu verpacken. Dazu habe ich angefangen eine dokumentation zu schreiben mit der RoLa als beispiel, die den entwurfsprozess mehr top down formalisiert und nun eine klare richtlinie wird, wie ich die scripte gruppiere und parametrisiere um die moeglichst beste wiederverwendbarkeit zu erreichen. Anbei ist das dokument, welches erweitert wird und schliessendlich die gesamte beschreibung der verwendung der scripte enthaelt. Das dokument ist in English aber es gibt ja uebersetzer. Ich schreibe lieber in English. Ich bin nicht versiert in deutscher IT sprache. Gruss Gmd Lua_Rola_Dokumentation.pdf Bearbeitet 30. März von gmd
gmd Geschrieben 31. März Autor Geschrieben 31. März (bearbeitet) Hallo, heute eine weitere version der dokumentation mit einem grossen teil der scripte fuer die erste komponente der RoLa "Vehicle Origin". Noch nicht ganz vollstaendig, ohne die tatsaechliche anbindung an ein MBS modul, das kommt noch mit einer demo anlage, wenn ich dann tatsaechlich die scripte teste. Ich habe die dokumentation inclusive der scripte in word geschrieben. Nachdem ich die tests mit RoLa gemacht habe, bin ich einigermassen fliessend in Lua und kann die scripte schreiben ohne syntax check. Teilweise copy/paste, teilweise neue strukturierung, jedenfalls eine etwas bessere ordnung als in meinen testscripts. Jede der abstrahierten komponenten wird dann separat getestet und zum schluss werden die einzelteile zur RoLa zusammegefuegt. Die scripte dienen dazu die teilweise cryptischen zugriffe auf tabellen in leichter lesbare, "sprechende" begriffe zu verpacken und einfacher ablaeufe zusammenzustellen. Zugriffe auf 3 oder 4 dimensionale listen, koennen leicht unuebersichtlich werden, wenn man keine spezifischen zugriffsmethoden baut. Bitte beachten: Die scripte sind noch nicht getestet. Wenn der entwurf vollstaendig ist, dann kann ich die scripte so wie sie sind vom word text in VS Code kopieren und syntax pruefen, und dann nach MBS in ein globales script uebernehmen und das anwendungsbeispiel zusammenbauen. Gruss Gmd Edit: Updated the pdf with a revison, added scripts and a depot return definition, scripts not completely tested, but partially syntax checked ! It has proven useful to rethink the functions and start fresh top down, including documentation. Some generic scripts will be added as an appendix. Next step is to create the event module and event handlers in the studio for a demo. Lua_Rola_Dokumentation.pdf Bearbeitet 1. April von gmd
gmd Geschrieben 1. April Autor Geschrieben 1. April Hallo, habe die definitionsphase fuer das module "Vehicle Origin" soweit abgeschlossen. Anbei der derzeitige stand der dokumentation und scripte. Jetzt kommt das design der demo anlage und die verwwendung (test) der scripte. Werde zwei module einrichten, dann sieht man gleich wie die scripte mehrfach verwendbar sind. Diese demo ist dann auch fuer mich die basis fuer das design nachfolgender module. Bei meinem gedaechtnis brauche is so etwas inzwischen. Die RoLa ist das beispiel der kombination mehrerer teilmodule zu einer groesseren anwendung. Wenn das abgeschlossen ist gehe ich wieder an die gleise und baue aehnliche generische module fuer gleise. Gruss Gmd Lua_Rola_Dokumentation.pdf
gmd Geschrieben 2. April Autor Geschrieben 2. April Hallo, hier mal wieder ein update. Anbei eine erste version der demo fuer das "Vehicle Origin" modul. Es passiert noch nicht viel, aber die struktur der scripte ist jetzt gut erkennbar und noch ueberschaubar. Die einzige funktionalitaet, die derzeit implementiert ist, ist das setzen von release optionen fuer die fahrzeuge vom depot ueber schalter. Der code ist generic und wird fuer alle VO module verwendet, egal wie viele. Die steuerung erfolgt ueber namen in den definitionstabellen. In der demo vergebe ich die namen manuell, und auch die tabellen sind manuell erstellt. Spaeter wird mein programm solche tabellen generieren und die objekte(hauptsaechlich kontakte) entsprechend automatisch benennen. Ich verwende Ereignismodule zur strukturierung der scripte. Fuer das VO modul gibt es ein Ereignismodul VO, in dem nur die generischen scripte liegen. Hier werden keine variablen abgelegt, jedenfalls keine die spezielle instanz daten enthalten. Die anwendungen des VO moduls sind dann VO_1, VO_2 usw benannt, koennen aber auch anders heissen, ist nur eine tabelleneintrag. Nachfolgend werde ich jetzt die tatsechlichen funktionen einrichten mit 3 instanzen des VO Moduls. Und dann das naechste modul "Segmentierte Strecke" mit einbinden. Ich habe das dokumentationsdokument weiter ergaenzt. Ich bin mal gespannt wieviel tausend zeilen script das studio verkrafted. Bisher ist noch keine kollisionskontrolle vorgesehen, wird interessant werden, wenn aus allen loechern die fahrzeuge ausgespuckt werden und wieder verschwinden . Hier ist die content ID 5CE8FC5C-BD36-48C3-9B23-566BF925A002 , ist als entwurf geladen. Gruss Gmd
gmd Geschrieben 13. April Autor Geschrieben 13. April Hallo, mal wieder ein update. Habe mein erstes "road modul" fertig.. Eine generische ampelsteuerung fuer beliebige anzahl von ampeln ind definierbaren konfigurationen. Viele features, inclusive gruene welle. Beinhaltet noch keine fussgaegerampel. Das kommt spaeter wenn ich die grundlagen fertig habe. Bisher erkunde ich moeglichkeiten und die integration mit meinem tool. In diesem fall gibt es eine reihe von hilfsfunktionen, die auch plugins sein koennen um die definition der tabellen zu uebernehmen. Das pdf mit allen scripten ist zu gross, kann es nicht attachen, also habe ich die beschreibung ohne scripte geladen. Falls jemand die demo und scripte moechte bitte PM. gruss Gmd SC_Dokumentation_noscript.pdf
gmd Geschrieben vor 11 Stunden Autor Geschrieben vor 11 Stunden Hallo, mal wieder ein update ... werde wegen neuer umstaende in zukunft etwas langsamer vorankommen. Erstens bin ich wieder in einem alten kommerziellen projekt engagiert (springe fuer einen notfall ein) und zweitens bin ich mal wieder fuer den kommenden winter (ab mitte juni) mit meinem motorrad im Norden unterwegs (etwas waermer ). Die verschiedenen module repraesentieren anwendungsbereiche, die ich gedenke zu automatisieren. Tabellendefiniert mit generischen scripten. Tabellen koennen von hand erstellt werden, bzw. ich plane diese mit meinem programm zu generieren. Derzeit ist das modul SignalCrossing (sollte eigentlich traffic light crossing heissen), laufbereit. VehicleOrigin und CrossingRoutes haben anfaenge, aber noch keine wirklich sinnvolle anwendung. Die scripte sind sehr umfangreich dokumentiert und aufgeteilt in stufen der bedeutung, generisch, generalisiert und spezifisch. Beispiel fuer generalisiert: Phasendefinitionen fuer kreuzungen sind wiederverwendbar und sind nicht spezifisch fuer bestimmte kreuzungen, sondern fuer kreuzungstypen (hier SC) Beispiel fuer spezifisch: Signaldefinitionen fuer eine bestimmte kreuzung auf der anlage gruppiert in modulen, hier z.b. SC_1 Generisch: Generell verwendet in the ampelsteuerung Die rot/blauen kontakte sind nicht teil der ampelsteuerung, diese werden verwendet fuer den kreuzungsverkehr, auch ungesichert. Ist teilweise implementiert. Fussgaengerampeln, linksabbieger mit blinklicht ist teil der definition. Doppelspur mit separater linksabbiegerampel ist noch nicht teil der loesung, sowie andere spezielle faelle. Die taster sind mehr oder weniger nur als test vorhanden. Kettenfunktion (gruene welle) zwischen ampeln ist auch definierbar. Eine freundschaftliche warnung : Die scripte sind nicht geeignet fuer Lua anfaenger fals jemand sich fuer die implementierung selbst interessiert. Fuer die verwendung muss man diese aber nicht verstehen, es bedarf nur der sorgsamen definition der tabellen. Man kann variablen setzen in "Ereignisse" modul um debug ausgaben zu aktivieren. Ich habe nicht getestet die scripte zu kopieren in eine neue anlage. Ein timer mit 2s ist erforderlich fuer die ampelschaltung. In der demo ist alles enthalten, was man braucht um die scripte zu verwenden. Allerdings: Alle kommentare in English. hier die entwurfsanalage CA450BCA-57D8-4960-B0CA-4FA356B4C269 Falls jemand fragen hat, bitte nicht sofortige antwort erwarten. Gruss Gmd
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden