Plugin DLL: Welche Variablen können gelesen werden?

  • Hallo zusammen!


    Ich hab eine Frage zu der Plugin DLL und mit Sicherheit kann mir jemand von euch helfen :D


    Im Rahmen meiner Masterarbeit soll ich einen bestehenden Straßenbahn-Simulator (incl. Führerstand (Tachoanzeige, Fahr-Bremsschalter etc.) mit einer neuen Simulationssoftware ausstatten.


    Im Lexikon habe ich gelesen, dass man mit Hilfe der Plugin DLL Variablenwerte auslesen kann. Leider finde ich nirgendwo eine Liste, auf welche Systemvariablen ich Zugriff nehmen kann.

    Gerne würde ich beispielsweise die aktuelle Geschwindigkeit der Tram auslesen, um eine Geschwindigkeitsanzeige implementieren zu können. Ebenfalls sehr hilfreich wäre es, wenn ich die aktuelle Position der Straßenbahn (x,y,z Koordinate) im Streckennetz auslesen könnte, um eine virtuelle Leitstelle zu programmieren. Diese Anforderung ist aber kein muss.


    Habt ihr einen Tipp, wo ich weiterführende Infos über die Plugin DLL erhalten kann? Gibt es gute Anleitungen zum Scripting in Lotus? Eventuell eine Entwicklerdokumentation? Über jede Art der Hilfe würde ich mich sehr freuen!


    Schöne Grüße!


    Julian

  • MarvinK

    Hat das Thema freigeschaltet
  • Im Rahmen meiner Masterarbeit soll ich einen bestehenden Straßenbahn-Simulator (incl. Führerstand (Tachoanzeige, Fahr-Bremsschalter etc.) mit einer neuen Simulationssoftware ausstatten.

    Das klingt sehr gut und es freut uns natürlich, dass Du dazu LOTUS verwenden möchtest! :-)


    Was grundsätzlich Informationen zu diesem Thema angeht, haben wir insgesamt drei Artikel: https://www.lotus-simulator.de…346-plugin-schnittstelle/ , aber die kennst Du ja schon. Darin enthalten ist auch ein Beispiel, wie die verschiedenen Variablen ausgelesen und Events ausgelöst werden können. Falls Du darüber hinaus weitere konkrete Fragen hast, kannst Du diese selbstverständlich hier jederzeit stellen! :-) Je nachdem finden diese dann wiederum auch Eingang ins Lexikon.


    Ausgelesen werden können sämtliche "öffentlichen" Fahrzeugvariablen (das sind alle, die irgendetwas steuern, animieren usw.). Diese hängen vom Fahrzeug ab und lassen sich leicht anzeigen: Dazu einfach im Simulator das Fahrzeug platzieren (idealerweise LOTUS im Fenstermodus starten, dann flutscht das Hantieren mit mehreren Fenstern besser ;-) ) und dann mit Strg+Alt+Shift+E das Script-Testfenster öffnen (hierbei im ersten Dialogfeld das Fahrzeug, also das Root-Objekt, auswählen). Hier findest Du nicht nur die Variablenliste, sondern auch deren Verhalten und Du findest sowohl Events und kannst diese auch auslösen.


    Die Fahrzeugkoordinaten lassen sich leider nicht auslesen.

  • Hallo,


    also grundsätzlich kannst du alle Variablen eines Fahrzeugs auslesen, die im Fahrzeug-Script als öffentlich (sprich unter PUBLIC_VARS) deklariert wurden. Welche Variablen das bei den einzelnen Fahrzeugen genau sind, kannst du über das Script-Test-Fenster in der Simulation herausfinden. Das Script-Test-Fenster kannst du über die Tastenkombination Strg+Shift+Alt+E öffnen.


    Ein Beispielcode für ein Script in Pascal zum Auslesen der Geschwindigkeit beim GT6N sähe so aus:


    Code: TestDLL.ini
    1. [DLL]
    2. filename_32='TestDLL.dll'
    3. filename_64='TestDLL.dll'
    4. [ReadingVarsFloat]
    5. count=1
    6. var.0=v_ground

    Was du dann mit den Daten machst (z. B. Arduino, etc. ansteuern), musst natürlich du wissen.


    Die Koordinaten auszulesen ist, soweit ich weiß, nicht möglich.


    Infos darüber, wie man die Plugin-Schnittstelle nutzt, gibts hier im Lexikon. Sieht zwar am Anfang ein bisschen kompliziert aus, ist meiner Meinung nach mit genauem Lesen und ein bisschen Testen ganz nachvollziehbar, wie es funktioniert.


    Bei Fragen kannst du dich immer gerne melden!


    edit: Marcel war Schneller:giggle: