KÖR übliche Türsteuerung in diversen Bussen

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
  • Hallo liebe Commiunity. Und zwar habe ich heute folgendes Anliegen. Wie die Überschrift bereits verrät, würde ich gerne
    die KÖR Türsteuerung in andere Busse einbauen. Und zwar in den MAN Stadtbus 18 Meter sowie 15 Meter Bus da die beide
    eine Türfreigabe besitzen, sowie in den MAN GL aus dem Bremen Addon. Mit folgendem Scriptfusel den ihr weiter unten finden
    könnt, konnte ich es bereits in den Solaris von Alterr und den MAN aus Mainz einbauen. Dieser Fusel wurde irgendwann mal
    wo gepostet und ist somit nicht von mir. Allerdings tritt bei den Bussen die ich eben genannt habe in die ich es gerne einbauen
    würde immer ein Fehler auf. Und zwar schließt die Tür genau dann, wenn alle raus sind, also somit kein Stoprequest mehr durchkommt.
    Da ich micht mit sowas nicht wirklich auskenne, bitte ich euch nun um Hilfe mir bei diesem Problem zu helfen, damit es auch
    in den anderen Bussen klappt. Danke schon mal im Vorraus.


    (L.L.PAX_Exit0_Req)
    (L.L.door_freigabe) &&
    (L.L.doorTarget_23) ! &&
    {if}
    1 (S.L.doorTarget_23)
    (T.L.ev_doortriggeropen_2)
    {endif}

  • Dieses Scriptschnippsel sagt lediglich aus, wann die Passagiere durch die Ein- und Ausgäne gehen dürfen, also dann wenn die Tür geöffnet ist. Dazu gehört meist noch die Geschwindigkeitsabfrage, damit die Leute nicht bei der Fahrt aussteigen. Das allein reicht natürlich nicht für die Türsteuerung aus. Die eigentliche Funktion der Türsteuerung ergibt sich durch die Tastentrigger der Türen und die allgemeine Türsteuerung (Macro). Es ist also notwendig die gesamte Türsteuerung umzustellen und nicht nur die Pafdwege freizugeben.


    Ohne Scriptfähigkeiten wird es ein unmögliches Unterfangen, die Türsteuerung zu ändern. Allein etwas Hilfe bringt dich nicht weiter, wenn du die Berechnungsgrundlage der Türscripte nicht verstehst. Du benötigst also keine Hilfe, sondern fertige Lösungen. Und solche Lösungen sind leider recht umfangreich und müßen für jeden Bus speziell angepasst werden.

  • Die Fahrzeuge habe schon eine automatisierte Türöffnung, wenn der Haltewunsch aktiv ist.



    Heißt übersetzt folgendes:
    Schalter Türfreigabe aktiv UND
    Tür_2&3 offen (!=negiert - also geschlossen)
    dann
    Tür_23 öffnen und
    Türsound für Tür 2 abspielen.


    Aber es fehlt noch etwas. Dein Scripütschnipsel beginnt mit einer Variable, die einen Oparator besitzt. Also fehlen die voran gegangenen Variablen, die auch abgefragt werden. Das ist wie ein Satz, bei dem die ersten 2 oder 3 Worte fehlen.

  • Für jemanden der gut scripten kann, wäre es in einigen Stunden getan. Aber wie schon gesagt, müßte man jeden Bus einzeln bearbeiten, je nachdem, welche Türsteuerugsvariante ursprünglich verbaut wurde.
    Ich schätze mal, pro Bus 2-4 Stunden.

  • Aber es fehlt noch etwas. Dein Scripütschnipsel beginnt mit einer Variable, die einen Oparator besitzt. Also fehlen die voran gegangenen Variablen, die auch abgefragt werden. Das ist wie ein Satz, bei dem die ersten 2 oder 3 Worte fehlen.


    Nein, das ist so schon in sich geschlossen:

    Code
    1. (L.L.PAX_Exit0_Req) B1: Liegt eine Passagier-Anfrage für Ausstieg an Ausgang 0 vor?
    2. (L.L.door_freigabe) && B2: Ist die Tür freigegeben?
    3. (L.L.doorTarget_23) ! && B3: Ist der aktuelle Ziel-Zustand der Tür 23 "geschlossen"?
    4. {if}
    5. 1 (S.L.doorTarget_23) Setze Ziel-Zustand der Tür 23 auf "geöffnet"
    6. (T.L.ev_doortriggeropen_2) Spiele Sound für Öffnung von Tür 23 ab
    7. {endif}


    Die "&&" verknüpfen die drei Bedingungen B1 bis B3 folgendermaßen mit einem logischen UND:
    (B1 UND B2) UND B3
    Sind also alle drei Bedingungen erfüllt, dann werden die beiden Befehle in dem {if}-Block ausgeführt, ansonsten nicht. Dafür fehlt rein syntaktisch keine Information.

  • Also sollte es theoretisch klappen? Bzw sagen wir es so. An sich klappt es ja schon, halt nur mit dem einen
    Problem wie oben beschrieben. Und zwar das sobald keiner mehr raus muss die Tür direkt wieder zu geht.
    Also sobald kein request mehr kommt wenn alle draußen sind geht sie direkt ohne Verzögerung zu.
    Und bezieht sich das Tür 2 3 auf die Türflügel, also in dem Fall das Paar an der 2 Tür, oder die Paare 2 + 3. Denn
    Tür eins hat ja die Flügel 0+1, Tür 2 die 2+3 usw...

  • Ja, 23 meint hier Türflügel 2 und 3.


    Was dir offenbar noch fehlt ist eine Verzögerung für den Schließvorgang. Dein Scriptschnipsel behandelt bloß das Öffnen. Irgendwo im Script steht vermutlich folgendes:
    0 (S.L.doorTarget_23)
    Das fordert sozusagen das Schließen an. Wenn die weiteren Bedingungen dafür (z.B. Elektrik, Luftdruck) stimmen, dann schlließt die Tür. Es fehlt vermutlich bloß ein Timer, der zunächst x Sekunden hochzählt und dann die Tür schließt. Das wird normalerweise mit der Systemvariable TimeGap gemacht, die in jedem Frame den Zeitunterschied zum vorherigen Frame enthält. Der Inhalt wird so lange auf eine andere Variable addiert, bis deren Wert x erreicht oder überschritten hat. Dann wird erst die target-Variable auf 0 gesetzt. Diese Timer-Variable muss natürlich an passender Stelle vor dem Anlaufen des Timers auch mit 0 initialisiert werden.

  • Durch das drücken des zweiten Türtasters. Wie gesagt. Bei dem LC von Mainz und dem Solaris von alterr mit manuellen Türen klappt das ohne Probleme das die zweite Tür auf geht wenn da wer raus will. Nur halt bei den genannten schließt sie direkt. Halt sobald kein Befehl der Fahrgäste mehr kommt....


    Die KÖR Türsteuerung denke ich mal ist ja bekannt.

  • Nein, mir nicht. Ich dachte, es ginge einfach um eine Automatiktür, die auf Anforderung bei Türfreigabe öffnet und nach einer bestimmten Zeit wieder schließt, ggf. mit Warnton.


    Also ist das Türöffnung auf Anforderung und Schließen ausschließlich manuell per Knopf auf dem Armaturenbrett?

  • Im Prinzip ja. Erkläre es aber mal eben kurz um Missverständnissen vorzubeugen. Und zwar erkläre ich es mal am realen Beispiel am Gelenkbus. Drückt wer im vorderen Teil, geht bei Freigabe die Tür vorne automatisch auf (erste Ausstiegstür), muss aber selbst geschlossen werden. Drückt wer hinten und es wird die Türfreigabe eingelegt, geht hinten die Tür auf schließt aber automatisch. Beim Solo ist das einfach wie im Vorderteil. Und draußen sind halt Knöpfe an denen man die Tür bei gegebener Freigabe öffnen kann. Jaaa. In Omsi ist das ganze so auch integriert in das Morphi Soudpack für den MB Citaro, zumindest war es das mal. Und ja durch den Schnipel geht es halt auch in den genannten Bussen. In Omsi verhält es sich aber so das wenn ich selbst drücke und Freigabe gebe nix passiert. Ist ja nicht schlimm. XD. Bracht man ja sowieso so nicht. Hat dann ja in gewisser weise eh keinen Sinn. Hoffe das ist jetzt klar

    ;)


    Kurz gesagt soll die zweite Tür nur aufgehen wenn wer raus will an der zweiten, aber geschlossen werden muss manuell.
    Aber halt bei den anderen genannten Bussen geht es halt nicht ganz so genau wie es soll. Habe ich ja schon geschrieben

    ;)
  • Wenn du alle Stellen mit (S.L.doorTarget_23) suchst, sollte irgendwo die verantwortliche auftauchen, wo die Variable vom erwähnten Timer und PAX_Req abhängig auf 0 gesetzt wird. Da musst du ansetzen. Also natürlich nicht die Stelle, die vom Türtaster abhängig ist, denn in dem Fall ist das Schließen ja gewollt.