Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben
  • Autor

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 von gmd

Geschrieben
  • Autor

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 von gmd

Geschrieben
  • Autor

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

Geschrieben
  • Autor

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



 

  • 2 Wochen später...
Geschrieben
  • Autor

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

  • 1 Monat später...
Geschrieben
  • Autor

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 :) ).

ev_menu.jpg.11a3051f3f20a9f47f1c060a179c77ed.jpgkreuzung.thumb.jpg.ac427c630408d43bb933838c404cf048.jpg

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





 

 

  • 5 Monate später...
Geschrieben
  • Autor

Hallo,
depot_modul.jpg
habe mal wieder einen schritt weiter gemacht .. bugs aus der amplesteuerung enfernt und die crossing funktionen mit ampel fertiggestellt.
Dieses modul betreibt beliebige fahrzeuge and einer ampelkreuzung inclusive linksabbieger und blinker der fahrzeuge.
Warten auf fussgaenger ist noch noch nicht enthalten.
Das naechste modul is das depot .. hier werden fahrzeuge nach verschiedenen kriterien nach verschieden ausgesuchten zielen gestartet.
Die fahrzeuge haben ziele und koenen am ende in andere depots transportiert werden .. damit regele ich die virtuelle verbindung zwischen anlagen auf verschiedenen rechnern. Die ausfahrenden fahrzeuge werden an ein streckenmodul uebergeben dass die zielsetzung mit den MBS restriktionen uebernimmt und dafuer sorgt dass die fahrzeuge in die richtige richtung fahren. Kreuzungsmodule arbeiten unabhaengig und die fahrzeuge verhalten sich an kreuzungen gemaess den bedingungen des jeweiligen moduls behalten aber ihr ziel.
Ich habe noch ein paar weitere module zu erstellen bevor ich die meisten situationen abgedeckt habe.
Parkplatzverwaltung
Buskontenpunkt
Einfacher busbetrieb
und noch etliche speziellere module, die ich auch fuer fuessgaenger und radfahrer verwende.
Die tasten im bild sind zum test .. die verschiedenen modi koenen auch per script gesetzt werden und natuerlich auch von meinem programm.
Jedes der depots hat eine eigene definitionstabelle mit spezifischen zielen und rueckkehrkontakten. Die scripte sind allerdings generisch, wie alle anderen.

Das ganze ist dann ein netzwerk von eigenstaendigen modulen mit spezifischen eigenschaften, die die jeweiligen fahrzeuge kontrollieren gemaess den definierten bedingungen.
Spaeter werd ich dann auch animationen integrieren. Zunaechst mal nur die grundfunktionen, damit ich einen autonomen betrieb erreiche .
Hier noch ein bildchen der anlage, die ich derzeit als pilot projekt zusammenstelle.
Ist noch nicht ganz fertig .. Sie hate viele schnitstellen, portale und depots unter den bergen .. zu einem linken und rechten teil, der jeweils auf einem anderen rechner laeuft..
gbr.jpg
Gruss
gmd

Geschrieben

Hello to Australia @gmd sorry, ist wohl noch etwas früh für dich jetzt, aber wird es auch wieder eine ID dazu geben oder ist das noch alles in Planung?

kind regards Atrus

Geschrieben
  • Autor
6 hours ago, Atrus said:

Hello to Australia @gmd sorry, ist wohl noch etwas früh für dich jetzt, aber wird es auch wieder eine ID dazu geben oder ist das noch alles in Planung?

kind regards Atrus

Hallo Atrus,
Kein problem .. BDBF09FC-82AD-4535-B4D6-6EF60584E054 entwurf der demo mit dem code fuer das depot release, signal und signal crossing.. depot release ist etwas knapper dokumentiert als die anderen beiden module .. Ereignismodul ist "Vehicle Origin"
Naechstes modul ist routing .. uebernimmt ein fahrzeug vom depot und fuehrt es zum zugeordneten ziel ..
gruss
Gmd

Noch ein tip: wenn ihr den code an ChatGPT verfuettert, am besten nur jeweils ein modul, dann koennt ihr das auch in deutsch uebersetzen lassen oder erweiterungen machen, falls gewuenscht.
In meiner derzeitigen arbeit verwende ich 3 AI's, Juny und Sonnet von Jetbrains, und ChatGPT. ChatGPT liefert gute ergebisse mit LUA
ihr muesst nur aufpassen, denn MBS hat keine standard LUA implementierung, sondern weicht ab. In der source gibt es dazu eine beschreibung, die ihr auch dem AI fuettern koennt, dann kann er das beruecksichtigen.
Und fuer die skeptiker: In den letzen 4 monaten habe ich eine sehr umfangreiche "full stack", client server anwendung implementiert, wen es interessiert: NextJs, React mit Tailwing und Daisy, auf MySQL. Derzeit roughly 80K lines of code, no chance without an AI ..


Bearbeitet von gmd

Geschrieben

Hi gmd, danke für die ID. Werde ich ausprobieren. Bin gespannt!

LG Atrus

Geschrieben
  • Autor
57 minutes ago, Atrus said:

Hi gmd, danke für die ID. Werde ich ausprobieren. Bin gespannt!

LG Atrus

Atrus,

beachte bitte folgendes: Direct hinter dem ausgang des depot's ist ein weiss/schwarzer kontakt der das fahrzeug direkt wieder zurueck in das depot schickt. Das ist zum test, da das routen modul noch nicht angeschlossen ist. Man kann die verschiednen modi ausprobieren .. the event is unter VO_1 Gleiskontakt wird ausgeloest.
Gruss
Gmd

Bearbeitet von gmd

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.