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,
mal wieder ein update, komme nur langsam voran, habe nur 1-2 stunden pro tag am abend fuer ein "Hobby".
Das parkmodul laeuft in der grundfunktion, habe die spuren noch etwas umgebaut (verschiedene gruende).

Der naechste schritt ist die nuetzliche einbindung in den verkehr wie zb. parkdauer setzen, urspruengliches ziel erhalten, blinker setzen usw. hierzu muss man eine menge variablen setzen und das kann muehsam sein.
Die konsequenz is ein Vehicle Manager, der alle noetigen informationen enthaelt und abgefragt werden kann. Abfrage ueber einen kontakt, und die info kann auch spaeter dynamisch ueber die schnittstelle geladen werden. Damit vermeide ich statische definitionen, die sich immer wiederholen.
Hier meine definition und das feature summary

VM
“Vehicle Manager”
is a logical module that contains information about vehicle behaviour when using various physical modules such as VP, VO, VS, and others. It is intended for PKW.
It can be queried for attributes to be stored in the vehicle and used as module parameters — for example, the park duration for a specific VP module. Parameters can be loaded via dedicated contacts and may be defined for individual vehicles or vehicle groups. VM also holds information about vehicle animations, including indicators, lights, and similar behaviours.

und hier das feature summary

VM – Feature Summary

“Vehicle Manager” provides a unified data-lookup system that supplies behavioural parameters to all modules that require vehicle-specific information. It centralises configuration for vehicle types, individual vehicle overrides, route-dependent settings, module-specific values, and contact-driven behaviour queries.

Core Purpose

VM acts as the central data provider for all modules.
Modules request information via Query Contacts, and VM returns the correct data set for the current vehicle, context, and module.

How It Works

• Centralised Data Tables

VM stores structured data tables grouped by:

  • Purpose (e.g., indicators, door behaviour, speed rules)

  • Target module (VP, SR, SS, VO, FD, etc.)

  • Vehicle type (PKW, Bus, Taxi, LKW…)

  • Specific vehicle name (with number suffix extraction)

If a specific vehicle name is not defined, VM automatically falls back to the generic vehicle type.

• Query Contacts

A Query Contact determines what information is requested:

  • The contact name defines the category of data needed.

  • Contact variables can optionally define:

    • Target module or list of modules,

    • Variable names that should be loaded.

If no variables are provided, VM returns the entire data group associated with the query type.

• Context-Sensitive Lookup

VM supports multiple identifiers to determine which data applies:

Vehicle identifiers

  • Vehicle Name — including number suffix handling.

  • Vehicle Type — from vehicle.variables["VehicleType"].

Destination identifiers

  • Destination name from vehicle.variables["DestName"].

Contact identifiers

  • Full contact name (with numeric postfix).

  • Generic contact type (e.g. “SR_Query” vs “SR_Query_3”).

Key variables

  • Specific behavioural flags (e.g., LeftDoor, Indicators).

  • Module-specific keys (e.g. VP_1, SR_2).

  • Module-type keys (e.g. VP, SS, FD).

This allows VM to return precisely the right dataset depending on vehicle, route, module, and contact type.

Data Delivery

When triggered by a Query Contact:

  1. VM determines the required info class.

  2. It locates matching entries for:

    • Vehicle name → highest priority

    • Vehicle type → fallback

  3. VM loads:

    • Specific variable names requested by the contact
      or

    • The entire associated table.

  4. Resulting values are written into the vehicle’s variables, using the variable names defined inside the data table.

Use Cases

• Dynamic Behaviour Control

Modules can ask for:

  • Indicator settings

  • Door operations

  • Acceleration profiles

  • Dwell times

  • Speed limits

  • Route-dependent parameters

• Module Integration

VM works as a shared backbone for:

  • VP (Parking & allocation)

  • SR (Sequential routing)

  • SS (Smart signals)

  • VO (Vehicle Outflow)

  • FD (Forked drivethrough)

  • VW (Vehicle Wait)

• Scenario-Dependent Configuration

Different settings based on:

  • Vehicle destination

  • Contact type

  • Specific stop

  • Assigned module

Benefits

  • Eliminates duplicated config across modules

  • Enables fully dynamic vehicle behaviour

  • Centralises all vehicle-related logic

  • Allows simple extension by adding new keys

  • Supports both high-level configs (vehicle type) and precise overrides (vehicle name)


    Das werde ich jetzt erstmal als naechstes implementieren, dann kann ich auch die timerfunktionen des parkmoduls testen und auch dynamisch entscheiden welche fahrzeuge tatsechlich parken sollen oder nicht, dann braucht man das nicht in jedes fahrzeug legen.
    VM ist fuer PKW

  • VT fuer transport .. kleine LKW und TAXI

  • VF fuer freight, Semi trailer

  • VB fuer Busse

  • VE fuer emergency vehicles

    Damit lassen sich dann die spezifischen verhaltensweisen der fahrzeuge in bestimmten streckenabschnitten definieren, zb. langsam fahrt der Semi Trailer bergab usw. Da gibt es keine grenzen und kann einfach per tabelle geladen werden.

    Wenn ich das am laufen habe (erste version fuer parkdauer) dann poste ich wieder eine anlage mit der integrierten parkbucht .
    Gruss
    Gmd


Geschrieben
  • Autor

Hallo,
hier nochmal zur verdeutlichung wie die module logisch verbunden sind.

Module_Net.jpg

VS,VO und SR sind layout module und definieren content.
SC (Signal Crossing), VP (Vehicle Parking) sind aktionsmodule wo etwas geschieht.
R sind return kontakte die vom SR modul gesetzt sind.
Q sind query kontakte, die fahrzeug parameter setzen bevor ein aktionsmodul erreicht wird. Das kann, muss aber nicht.
Soweit mal eine minimale konfiguration. Weitere module werden entsprechend eingebunden.

Das gleich wird dann auf die bahn uebertragen. Die regeln sind etwas anders aber die mechanismen die gleichen.
SR entspricht einer blocksteuerung, VP entspricht bahnhoefen ... usw. Gleiche architektur.

Gruss
Gmd

Bearbeitet von gmd

Geschrieben
  • Autor

Hallo, mal wieder ein update,
C075E815-63EE-41BA-B503-F3C45168E7F9
Das VP (Vehicle park) is in der grundversion fertig.. mit kurzen parkzeiten als test. Es ist integriert mit dem vehicle manager, der den QU kontakt bedient worueber das fahrzeug seine parkdauer bekommt. Hat es keine parkdauer faehrt es durch.
Habe keine rampen eingebaut fuer die vituellen spuren, also keine kommentare bitte der aestheten ).
Der vehicle manager ist in der einfachst moeglichen form gehalten, falls jemand das konzept studieren moechte. Da wird noch einiges hizukommen.
Das parkmodul ist nicht mit dem strassenmodul integriert, deswegen kommte es bei der ausfahrt noch zu konflikten.
Das park modul veranschaulicht recht gut, was es bedeutet wenn man eine fehlertolerante steuerung bauen will. Ich habe 2000+ zeilen code und immer noch nicht alle moeglichkeiten abgefangen.
Damit meine ich, wenn man einfach ein fahrzeug manuell umsetzt, wegnimmt oder hinzufuegt, mitten in dem park modul. Die automatische korrektur von statusvariablen usw. Wenn man das auf instanzebene bauen will und das fuer mehrere situationen, dann wird das aufwendig. Deshalb sind ja steuerungen auf instanzebene meist nur fuer die "richtigen" faelle gemacht.
Verwendet man generische scripte braucht man das problem ja nur einmal zu loesen.
Wie weit ich das mit allen modulen treibe weiss ich noch nicht. Bin erst mal an den grundversionen und deren verdrahtung interessiert, und natuerlich an dem anschluss an mein steuerprogramm. Wenn das mal laeuft dann kommt die feinabstimmung der module und erweiterung mit verschiedenen nettigkeiten wie, blinker, fahrer ein und austeigen, und was einem so einfaellt.
Zur uebersicht wenn ihr lua code anschauen wollt, dann kopiert das script nach VS-Code, da kann man wesentlich besser navigieren.

Die event module habe ich so klein wie moeglich gehalten (noch nicht in allen faellen), da diese ja fuer mehrere instanzen kopiert werden. Die scripte auf modulebene sind ja nur einmal vorhanden und der aufbau is fuer alle module gleich, mehr oder weniger.
Viel spass beim stoebern.

Gruss
gmd

Noch ein nachtrag. Habe meine spezifikation fuer die manager module erweitert und mal "einen maximalen unfall" dokumentiert. Das wird mir ueber jahre als fundus fuer weitere funktionen dienen ) Anbei als PDF

Manager Module Concept.pdf

Bearbeitet von gmd

Geschrieben
  • Autor

Hallo,
habe neue demo hochgeladen 4BB94C1B-87D6-43F8-812B-D371358BB33F
strassenanbindung der zufahrt ... streckenlaengen muss man gemaess fahrzeugen waehlen.. hier nur als test
Habe bugs gefixt, weitere sonderfaelle behandelt und die ausfahrt geregelt, muss noch weiter testen.
Will soweit kommen, dass ich fahrzeuge von hand auf den parkplatz setzen kann, die dann automatisch akzeptiert und
eingebunden werden. Noch nicht ganz der fall.
Der naechste schritt is dann dem manager beizubringen die fahrzeuge mit individuellen daten zu versorgen, zb. die verschiedenen geschwindigkeiten, rueckwarts, ausfahrt, einfahrt usw. Das kann individuell fuers fahrzeug gesetzt werden, je nach typ oder nach name.
In jedem fall muessen alle namen eindeutig sein.
Damit is VP erst mal abgeschlossen. Man kann damit auch grossere einheiten bauen.
Die version zwei wird dann dichteren verkehr ermoeglichen. Derzeit lasse ich nur ein fahrzeug einfahren, aber man kann regeln finden mit denen mehrer farhrzeuge gleichzeitig ein und ausfahren koennen, deshalb habe ich die viererbloecke definiert, die als kleinste einheit fungieren.. im extremfall kann man das modul auch fuer einen einzelnen park- oder halteplatz verwenden.
Gruss
Gmd

Geschrieben
  • Autor

Hallo,

update 4BB94C1B-87D6-43F8-812B-D371358BB33F Im wesentlichen fehlerbeseitigung, ausfahrverhalten gefixt, laengere fahrwege fuer ausfahrt und belegt meldungen verbessert. Noch einige safety routinen fuer self repair .. plazieren fahrzeug in parkplatz noch nicht ganz fertig .. immer noch ein paar luecken im verhalten, ist aber schon recht stabil .. hatte noch problem mit den spuren, manchmal findet das MBS keine route per Lua, einsetzen einer stueck spur hilft dann meist.

Als naechstes erweitere ich den manager mit werten zum fahrverhalten .. dann wird das etwas flexibler und belebter und zeight wahrscheinlich noch ein paar fehler ).

Ein problem habe ich noch mit ein und ausfahrt .. verbundene spuren erzeugen noch auffahrunfaelle wenn das fahrzeug auf der ein/ausfahrspur eingeholt wird von einem schnelleren fahrzeug aber schon auf der abbiegenden spur iist, dann erkennt das MBS nicht das vorausfahrende fahrzeug und knallt drauf. Da muss ich noch etwas ueberlegen.
Werde noch etwas dokumentation verbessern damit ich in einem jahr immer noch durchsteige ..

Gruss
Gmd

Bearbeitet von gmd

Geschrieben
  • Autor

Hallo nochmal,
habe erst mal meine doku erstellt .. ist kein user manual, nur eine gedankenstuetze und navigationshilfe fuer spaeter, wenn nicht mehr alles so frisch ist.
Hier das PDF fuer die die es interessiert. Werde diese dokumente nicht mehr posten in der zukunft, hier nur als beispiel, und wer in den code einsteigen moechte kann die jeweiligen sheets bei mir anfordern. Der AI hielft dabei die strukturen zu erstellen, das waere von hand sehr sehr muehsam. Auch wird die code generierung immer besser. Ich schreibe meist nur bruchstueckhaften pseudocode und der lua code kommt innerhalb sekunden. Ich verwende eine kommerzielle version, die nicht zum training verwendet wird (so ist das zumindest angezeigt).

Wer fragen hat bitte melden. Falls interesse besteht kann ich mal eine demo der AI ausgaben machen .. manchmal liegt er daneben, aber im grossen und ganzen ist das mit "Handarbeit" nicht mehr zu vergleichen. Insebesondere wenn man kommentierten code moechte. Das Positive beim codieren ist ja, dass der code entweder laeuft oder nicht.. es gibt hier keine halbwahrheiten oder geruechte ).

Gruesse
Gmd


Geschrieben
  • Autor

Hallo,

nochmal schnell ein update C830E17B-1C8F-4FBB-8D17-9176AF7A47AA
Habe ein fahrzeugprofil "Sportwagen" im VM modul implementiert und das wird fuer das VP modul weitergegeben, ueber the QU (Query) kontakt.
Man kann das unterschiedliche fahrverhalten erkennen. Mit den profilen werden dann auch die spezifischen strings fuer die animationen (Blinker, Bremslicht usw. ) uebergeben. Mein programm normalisiert die animationsnamen und stellt die spezifischen in die fahrzeugprofile. Damit koennen die verkehrsmodule standardisiert auf die animationen zugreifen.
Habe auch nochmal im code aufgeraeumt und die regions fuer die bessere uebersicht in VS-Code definiert und die funktionen besser gruppiert. Damit ist eine einfacher ueberblick des scripts zu erlangen. Im MBS editor ist das ziemlich unmoeglich.
Habe noch nicht entschieden was ich als naechstes angehe, das passiert meist spontan. Das 'bigger picture' habe ich ja vor mir, sind halt noch ein paar hundert schritte noetig. )
Gruss
Gmd

Geschrieben
  • Autor

Hallo,
dachte es koennte fuer einige interessant sein ...fuer die interaktion mit einem AI

Request - mit geladenem source code aus meinen CS-Code files
ai_question.jpg

und die antwort: (copy and paste nach Word als tabelle und etwas manuellen zeilehintergrund zum bessere lesen

ai_response.jpg

Di aktionen sind aus meinen kommentaren abgeleitet. Damit kann ich die bedingungen und reaktionen des moduls besser testn und diagnostizieren.

Gruss
Gmd


Geschrieben
  • Autor

Hallo,

mal wieder ein update A775BDC8-4700-4C67-A3D2-F89CDF55DA19
1. ein und ausfahrt modi implementiert und teilweise getestet
2. Route modus definiert, noch nicht complett
3. Init button, da braucht man nicht immer IsInitialised loieschen
4. Mehr safety functions fuer geblockte variablen, dient dazu ueberall fahrzeuge wegnehmen und setzen zu koenne, die sich einfuegen, noch nicht komplett
5. Ausfahrt und einfaedeln noch nicht verbessert, wenn das gemacht is habe ich auch gleich das modul fuer die ungesicherte kreuzung
6. Fehler beseitigt und noch mehr dokumentation in the ereignis scripten.
7. Komponentenuebersicht .. siehe bild
VP_layout.jpg

Gruss
Gmd

Geschrieben
  • Autor

Hallo,
mal ne frage and die leser dieses threads ...
wenn das parkmodul fertig ist, ist irgendjemand an einem alleinstehenden modul interessiert ?
Warum ich frage ist dies:
Ich habe drei ebenen von scripts, module uebergreifend, modul generell und modul spezifisch
Ich versuche soviel wie moeglich modul uebergreifend zu definieren, was fuer eine alleinstehende version nicht unbedingt nuetzlich ist; erzeugt ballast.
Wenn ein modul funktional fertig is, dann pruefe ich ob ich weitere allgemeingueltige funktionen finde und lege die nach global.

Falls also jemand interesse hat das modul zu verwenden um parkplaetze zu betreiben, dann mache ich eine version mit den erforderlichen scripten und nicht allen.
Kann auch eine benutzeranleitung generieren falls gewuenscht.
Ich baue die scripte derzeit weiter um, von direkter geschwindigkeitssteuerung auf kontaktsteuerung zum weichen bremsen und anfahren.
Der code is weiter abstrahiert, d.h. alle spezifischen zugriffe (definitionen und variablen) sind in settern und gettern verpackt. Das macht das lesen zum einen einfacher da jetzt alle debug lines in the settern und gettern stecken, zum anderen ist das in vorbeitung der integration mit meinem schnittstellenprogramm.
Die fertige loesung wird auch bremslichter und blinker betatetigen, sofern vorhanden.
Ein tueren oeffnen und ein/austeigen von personen mit fussgaengerspur ist auch geplant, dafuer brauche ich aber noch ein anderes modul.

Also lasst es mich wissen, ob ernsthaftes interesse and einer "plug and play" loesing besteht oder nicht. Fuer mich brauche ich das nicht.
Im uebrigen gilt das nicht nur fuer die park loesung .. auch andere module kann ich alleinstehend definieren falls gewuenscht.

Gruss
Gmd






Geschrieben
  • Autor

Hallo,

ich warte noch einen tag, wenn niemandd interesse bekundet hat, dann wird keine standalone version entstehen, die muehe mache ich mir dann nicht.
Letzte chance ..
Gruss
Gmd

Geschrieben
Am 7.12.2025 um 06:27 schrieb gmd:

Also lasst es mich wissen, ob ernsthaftes interesse and einer "plug and play" loesing besteht oder nicht.

Du stellst die Frage zu einem ungünstigen Zeitpunkt, jedenfalls für mich. Denn momentan erfordert die neue Version vom MBS meine volle Konzentration, und im realen Leben hält mich ein Räumungsverkauf voll auf Trab. Im Januar oder Februar sollte mehr Ruhe in meinem Leben sein, dann setze ich mich auch gern mit Deiner Arbeit auseinander.

Gruß nach down under

Walter

Geschrieben

Ich entschuldige mich auch: Mir gefallen diese Module, aber im Moment sind sie zu kompliziert für mich.

Geschrieben
  • Autor

ok jungs, lasst es mich mal so sagen..
Ich erwarte nicht das ihr da sofort draufspringt, das kann ich alles verstehen geht mir auch so.
Und zweitens, ich bin mir darueber im klaren, dass das Lua hier fuer viele zu umfangreich ist.
ABER: Das ziel ist es ein komplettmodul mit code zu erstellen, dass transportabel ist, und KEINE tiefen Lua kenntnisse erfordert, und sofern man nicht mehrere module davon will muss man auch nichts umbenenen, also PLUG and PLAY.
Warum ich frage: Wenn ich ein modul abschliesse dann optimiere ich die scripte fuer meine zwecke. Nachdem ich das gemacht habe ist es mehr aufwand eine alleinstehende version zu erzeugen, es sei denn man schleppt allen code im globalen script mit.. deswegen die frage .. ausserdem wuerde ich auch eine "user dokumentation" erstellen solange noch alles frisch im kopf ist, was ich nicht tue wenn das nur fuer mich ist.
Mir geht es nur darum, ob am thema generelles interesse besteht, dann tue ich das gerne und stelle einzelne isolierte module zur verfuegung. Ich frage nicht danach wer das morgen testen will.
Hoffe das hilft und danke fuer die antworten, sodass ich das hier klarstellen konnte.

Die motivation is nicht allein mein steuerprogramm, das ist der antrieb. Aber wenn ich lese wieviele benutzer sich qualen verkehrsfluss zu regeln mit variationsmoeglichkeiten, dann denke ich dass der ein oder andere vielleicht mal lust hat das auszuprobieren und zu verwenden, OHNE EIN STUECK CODE ANZUFASSEN., was der eigentliche sinn ist.

Gruss
Gmd

Geschrieben
Am 7.12.2025 um 06:27 schrieb gmd:

Falls also jemand interesse hat das modul zu verwenden um parkplaetze zu betreiben, dann mache ich eine version mit den erforderlichen scripten und nicht allen.
Kann auch eine benutzeranleitung generieren falls gewuenscht.

Hallo @gmd ,

ich finde das schon echt "krass" was du da so hinzauberst. Für den Parkplatz wäre ich sehr interessiert. Passt zu meinem Projekt, aber ich denke auch für andere die etwas weniger von Lua verstehen. Ich schaue mir immer die Dateien an und probiere und lerne dadurch. Aber wegen einer Person die Arbeit zu machen musst du natürlich selbst entscheiden. Vielleicht melden sich ja noch einige "Parkplatzbauer"!D

Gruß Sven

Geschrieben
  • Autor
12 minutes ago, Chaosgrummi said:

.Aber wegen einer Person die Arbeit zu machen musst du natürlich selbst entscheiden. Vielleicht melden sich ja noch einige "Parkplatzbauer"!D

Wenn einer erfolg hat damit werden andere folgen.. nur so kann man neu konzepte verbreiten.. es muss mal einer anfangen, das versuchskaninchen zu spielen.
Gruss
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.