'############## 'Door Script '############## 'Controls Doors '(c) 2007-2009 Rüdiger Hülsmann '(c) 2007-2012 Marcel Kuhnt '(c) 2011 Markus Rabe 'Script Version: 1.1 'Omsi release: 1.0 'Needs: '- elec '- articulation 'NrSpecRandom Seed Area: '301 ... 318 'Revision History: '- Marcel Kuhnt 13.06.2009 Batterietrennschalter => elec_busbar_main '- Marcel Kuhnt 21.06.2009 AI-Unterstützung hinzugefügt '- Rüdiger Hülsmann 24.10.2009 Ansteuerung des Kinderwagenwunsches modifiziert '- Rüdiger Hülsmann 19.12.2009 Timer für Ausstiegstür jetzt Timegap-basiert, Bugfix: Tür schließt jetzt nur bei elec_busbar=1 '- Rüdiger Hülsmann 19.12.2009 Timer für Ausstiegstür jetzt Timegap-basiert, Bugfix: Tür schließt jetzt nur bei elec_busbar=1 '- RÜdiger Hülsmann 22.09.2010 Door light trigger value set to 0.1 '- RÜdiger Hülsmann 07.11.2010 Door speed based on reservoir pressure, air-operated doors made an option '- Marcel Kuhnt 08.11.2010 AI procedure closing doors debugged '- Rüdiger Hülsmann 21.11.2010 Front doors only operable when busbar on '- Rüdiger Hülsmann 23.12.2010 External front door operation included, option: doors only operable with actual stop brake '- Rüdiger Hülsmann 31.12.2010 Electric door function debugged '- Rüdiger Hülsmann 05.01.2011 20h-switch '- Rüdiger Hülsmann 07.01.2011 Backdoor manual switch sound debugged, 20h switch depending on bus type '- Rüdiger Hülsmann 19.01.2011 Electric door support '- Markus Rabe 25.02.2011 D92 Schließverhalten der Hintertür und Einstiegsbeleuchtung ans Vorbild angepasst '- Markus Rabe 27.02.2011 linker Flügel Vordertür: Abfangeinrichtung eingebaut '- Marcel Kuhnt 29.06.2011 Integration in Standard-Doorscript '- Marcel Kuhnt 07.07.2011 Druckluftsimulation inkl. Dämpfer '- Marcel Kuhnt 09.07.2011 Manuelles Öffnen/Schließen '- Marcel Kuhnt 10.07.2011 Mit westdeutscher Türsteuerung versehen und für O305 erweitert '- Marcel Kuhnt 10.07.2011 Manuelles Öffnen/Schließen optimiert '- Marcel Kuhnt 10.07.2011 Mit westdeutscher Türsteuerung versehen und für O305 erweitert '- Marcel Kuhnt 10.09.2011 Entriegelte Türen => Leuchtende Türlichter '- Marcel Kuhnt 10.09.2011 Unterschiedliche Dämpfereinstellungen je Türflügel möglich '- Marcel Kuhnt 09.07.2012 Anpassung an neue Busbar-Logik '- Marcel Kuhnt 30.10.2012 Mausbewegungsrichtung beim manuellen Bewegen angepasst '- Marcel Kuhnt 01.11.2012 Türentriegelung jetzt auch für E-Türen '- Marcel Kuhnt 01.11.2012 E-Türen generieren Leitwert '- Marcel Kuhnt 02.11.2012 Nach E-Türentriegelungsrücknahme verharren die Türen '- Marcel Kuhnt 02.11.2012 Dreitürer '- Marcel Kuhnt 04.11.2012 Türvariation fester Wagennummer zugeordnet '- Marcel Kuhnt 04.11.2012 Türanforderung mit neuen Variablen '- Rüdiger Hülsmann 18.11.2012 Zwangs-Haltestellenbremse durch Knickschutz '- Marcel Kuhnt 16.12.2012 Haltewunsch-Abschaltung durch Vordertür konstantenabhängig '- Marcel Kuhnt 08.01.2013 Je nach Konstante langsam aufbauender Druck erst nach Türtasterbetätigung nach Deaktivierung der Türentriegelung '- Marcel Kuhnt 09.01.2013 20h-Schalter funktioniert jetzt auch in Verbindung mit SD-Hstbrems-Sperr-Logik '- Marcel Kuhnt 09.01.2013 Türleuchten sind jetzt im Lights-Script '- Marcel Kuhnt 09.01.2013 Außentürtaster nur bei eingelegter Haltestellenbremse wirksam '- Marcel Kuhnt 09.01.2013 Reversierende Türen bei weggenommener Haltestellenbremse korrigiert '- Marcel Kuhnt 12.01.2013 Außenelemente korrekt angesteuert (Hst-Schalter + Hst-Bremse) '- Marcel Kuhnt 13.01.2013 Wagen-Hält-Zeichen erlischt bei Öffnen des rechten vorderen Türflügels mit 20h-Schalter '- Marcel Kuhnt 14.01.2013 Türaußentaster werden auch von Fahrgästen benutzt '- Rüdiger Hülsmann 28.10.2013 "needs stopbrake" function debugged '- Rüdiger Hülsmann 29.10.2013 Keine Freigabe der Haltestellenbremse bei aktiviertem Kneeling '-------------------------------------------------------------------------------- 'Zu den Variablen doorEntriegelung_doorActive_01 und doorEntriegelung_doorActive_23: 'Bei Elektrotüren sind die 0, wenn die jeweilige Elektrotür noch entriegelt und in undefinierbarem Zustand ist, '1, wenn die Tür normal aktiv ist. Bei Drucklufttüren ist sie wiederum 1 im Normalzustand, von 0 bis 1 baut sich 'ggf. der Druck nach erstmaligem Betätigen auf, bei -1 wartet sie auf erstmalige Betätigung und bei -2 ist sie 'drucklos {trigger:cp_tuersperre} (L.L.tuersperre_sw) ! (S.L.tuersperre_sw) (L.L.tuersperre_sw) {if} (T.L.ev_VDV_on) {else} (T.L.ev_VDV_off) {endif} {end} {trigger:bus_doorfront0} 1 (S.L.cockpit_tuertaster1) 1 (S.L.cockpit_tuertaster1_frame) (L.L.Door_Error_Count) 1 + (S.L.Door_Error_Count) (T.L.ev_tuertaster_ein) {end} {trigger:bus_doorfront0_off} 0 (S.L.cockpit_tuertaster1) (T.L.ev_tuertaster_aus) {end} {trigger:bus_doorfront0_external} (L.L.elec_busbar_avail) (C.L.elec_busbar_minV) > (L.L.Door_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && {if} (M.L.trg_bus_doorfront0) (M.L.trg_bus_doorfront1) {endif} {end} {trigger:bus_doorfront1} (L.L.var_doorusage) ! (L.L.var_doorusage) 2 = || {if} 1 (S.L.cockpit_tuertaster2) 1 (S.L.cockpit_tuertaster2_frame) (L.L.Door2_Error_Count) 1 + (S.L.Door2_Error_Count) (T.L.ev_tuertaster_ein) {endif} {end} {trigger:bus_doorfront1_off} (L.L.var_doorusage) ! (L.L.var_doorusage) 2 = || {if} 0 (S.L.cockpit_tuertaster2) (T.L.ev_tuertaster_aus) {endif} {end} {trigger:bus_doorfront1_external} (L.L.bremse_halte) {if} 1 (S.L.cockpit_tuertaster2_frame) (L.L.Door2_Error_Count) 1 + (S.L.Door2_Error_Count) {endif} {end} {trigger:bus_doorfront1_lock} 'Doorfront1-Verriegelung: Funktioniert nur, wenn der Türflügel auch zu ist: (L.L.door_1) 0.05 < {if} (L.L.door_1_locked) ! (S.L.door_1_locked) {if} (T.L.ev_doorlock1_on) {else} (T.L.ev_doorlock1_off) {endif} {endif} {end} {trigger:bus_doorfront2} (L.L.var_doorusage) 2 = {if} 1 (S.L.cockpit_tuertaster3) 1 (S.L.cockpit_tuertaster3_frame) (L.L.Door3_Error_Count) 1 + (S.L.Door3_Error_Count) (T.L.ev_tuertaster_ein) {endif} {end} {trigger:bus_doorfront2_off} (L.L.var_doorusage) 2 = {if} 0 (S.L.cockpit_tuertaster3) (T.L.ev_tuertaster_aus) {endif} {end} {trigger:bus_doorfront3} (L.L.var_doorusage) 2 = {if} 1 (S.L.cockpit_tuertaster4) 1 (S.L.cockpit_tuertaster4_frame) (L.L.Door4_Error_Count) 1 + (S.L.Door4_Error_Count) (T.L.ev_tuertaster_ein) {endif} {end} {trigger:bus_doorfront3_off} (L.L.var_doorusage) 2 = {if} 0 (S.L.cockpit_tuertaster4) (T.L.ev_tuertaster_aus) {endif} {end} {trigger:bus_dooraft} (L.L.var_doorusage) 2 = ! {if} (M.L.trg_bus_dooraft) (L.L.bremse_halte_sw) {if} (T.L.ev_VDV_on) {else} (T.L.ev_VDV_off) {endif} (L.L.Door3_Error_Count) 1 + (S.L.Door3_Error_Count) (L.L.Door4_Error_Count) 1 + (S.L.Door4_Error_Count) (L.L.var_doorusage) {if} (L.L.Door2_Error_Count) 1 + (S.L.Door2_Error_Count) {endif} {endif} {end} {trigger:bus_20h-switch} (C.L.cockpit_has_20h_switch) {if} (M.L.trg_bus_20h-switch) {endif} {end} {trigger:door_haltewunsch} 1 (S.L.haltewunsch) (S.L.door_haltewunsch_knopfdruck) {end} {trigger:door_haltewunsch_off} 0 (S.L.door_haltewunsch_knopfdruck) {end} {trigger:door_haltewunsch_2} 1 (S.L.haltewunsch_2) (S.L.door_haltewunsch_knopfdruck_2) {end} {trigger:door_haltewunsch_2_off} 0 (S.L.door_haltewunsch_knopfdruck_2) {end} {trigger:door_haltewunsch_3} 1 (S.L.haltewunsch_3) (S.L.door_haltewunsch_knopfdruck_3) {end} {trigger:door_haltewunsch_3_off} 0 (S.L.door_haltewunsch_knopfdruck_3) {end} {trigger:cp_tuerhaltung_sw} (L.L.schalter_tuer_offen_halten) ! (S.L.schalter_tuer_offen_halten) {if} (M.L.DoorAft_Open) 0 (S.L.doorAftLastOpen) {endif} {end} {trigger:door_kinderwagenwunsch} (L.L.door_freigabe) (L.L.door_handsteuerung) ! && {if} 1 (S.L.door_kinderwagenwunsch) {endif} {end} {trigger:door0_drag} (L.S.mouse_y) (L.S.mouse_x) + 20 / (S.L.doorDragAcc_0) {end} {trigger:door1_drag} (L.S.mouse_y) (L.S.mouse_x) - 20 / (S.L.doorDragAcc_1) {end} {trigger:door2_drag} (L.S.mouse_y) (L.S.mouse_x) + 20 / (S.L.doorDragAcc_2) {end} {trigger:door3_drag} (L.S.mouse_y) (L.S.mouse_x) - 20 / (S.L.doorDragAcc_3) {end} {trigger:door4_drag} (L.S.mouse_y) (L.S.mouse_x) + 20 / (S.L.doorDragAcc_4) {end} {trigger:door5_drag} (L.S.mouse_y) (L.S.mouse_x) - 20 / (S.L.doorDragAcc_5) {end} {trigger:door6_drag} (L.S.mouse_y) (L.S.mouse_x) + 20 / (S.L.doorDragAcc_6) {end} {trigger:door7_drag} (L.S.mouse_y) (L.S.mouse_x) - 20 / (S.L.doorDragAcc_7) {end} {trigger:cp_doorEntriegelung_01} (L.L.doorEntriegelung_01) ! (S.L.doorEntriegelung_01) {if} (T.L.ev_doorEntriegelung_01_on) {else} (T.L.ev_doorEntriegelung_01_off) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {endif} {end} {trigger:cp_doorEntriegelung_23} (L.L.doorEntriegelung_23) ! (S.L.doorEntriegelung_23) {if} (T.L.ev_doorEntriegelung_23_on) {else} (T.L.ev_doorEntriegelung_23_off) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {endif} {end} {trigger:cp_doorEntriegelung_45} (L.L.doorEntriegelung_45) ! (S.L.doorEntriegelung_45) {if} (T.L.ev_doorEntriegelung_45_on) {else} (T.L.ev_doorEntriegelung_45_off) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {endif} {end} {trigger:cp_doorEntriegelung_67} (L.L.doorEntriegelung_67) ! (S.L.doorEntriegelung_67) {if} (T.L.ev_doorEntriegelung_67_on) {else} (T.L.ev_doorEntriegelung_67_off) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {endif} {end} {macro:Door_Init} (L.L.vis_doortype_v) 2 = {if} 0.5 (C.L.door_acc_var) * (C.L.fdoor_acc_schwenk) + (S.L.doorAcc_0) 0.5 (C.L.door_acc_var) * (C.L.fdoor_acc_schwenk) + (S.L.doorAcc_1) 0.5 (C.L.door_maxspeed_var) * (C.L.fdoor_maxspeed_schwenk) + (S.L.doorMaxSpeed_0_norm) 0.5 (C.L.door_maxspeed_var) * (C.L.fdoor_maxspeed_schwenk) + (S.L.doorMaxSpeed_1_norm) 0.5 (C.L.door0_damper_schwenk) * (S.L.doorDamper_0_kennwert) 0.5 (C.L.door1_damper_schwenk) * (S.L.doorDamper_1_kennwert) {else} 301 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.fdoor_acc) + (S.L.doorAcc_0) 302 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.fdoor_acc) + (S.L.doorAcc_1) 307 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.fdoor_maxspeed) + (S.L.doorMaxSpeed_0_norm) 308 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.fdoor_maxspeed) + (S.L.doorMaxSpeed_1_norm) 313 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door0_damper) * (S.L.doorDamper_0_kennwert) 314 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door1_damper) * (S.L.doorDamper_1_kennwert) {endif} (L.L.vis_doortype_m) 2 = {if} 0.5 (C.L.door_acc_var) * (C.L.mdoor_acc_schwenk) + (S.L.doorAcc_2) 0.5 (C.L.door_acc_var) * (C.L.mdoor_acc_schwenk) + (S.L.doorAcc_3) 0.5 (C.L.door_maxspeed_var) * (C.L.mdoor_maxspeed_schwenk) + (S.L.doorMaxSpeed_2_norm) 0.5 (C.L.door_maxspeed_var) * (C.L.mdoor_maxspeed_schwenk) + (S.L.doorMaxSpeed_3_norm) 0.5 (C.L.door2_damper_schwenk) * (S.L.doorDamper_2_kennwert) 0.5 (C.L.door3_damper_schwenk) * (S.L.doorDamper_3_kennwert) {else} 303 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.mdoor_acc) + (S.L.doorAcc_2) 304 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.mdoor_acc) + (S.L.doorAcc_3) 309 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.mdoor_maxspeed) + (S.L.doorMaxSpeed_2_norm) 310 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.mdoor_maxspeed) + (S.L.doorMaxSpeed_3_norm) 315 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door2_damper) * (S.L.doorDamper_2_kennwert) 316 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door3_damper) * (S.L.doorDamper_3_kennwert) {endif} (L.L.vis_doortype_h) 2 = {if} 0.5 (C.L.door_acc_var) * (C.L.bdoor_acc_schwenk) + (S.L.doorAcc_4) 0.5 (C.L.door_acc_var) * (C.L.bdoor_acc_schwenk) + (S.L.doorAcc_5) 0.5 (C.L.door_maxspeed_var) * (C.L.bdoor_maxspeed_schwenk) + (S.L.doorMaxSpeed_4_norm) 0.5 (C.L.door_maxspeed_var) * (C.L.bdoor_maxspeed_schwenk) + (S.L.doorMaxSpeed_5_norm) 0.5 (C.L.door4_damper_schwenk) * (S.L.doorDamper_4_kennwert) 0.5 (C.L.door5_damper_schwenk) * (S.L.doorDamper_5_kennwert) {else} 305 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.bdoor_acc) + (S.L.doorAcc_4) 306 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.bdoor_acc) + (S.L.doorAcc_5) 311 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.bdoor_maxspeed) + (S.L.doorMaxSpeed_4_norm) 312 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.bdoor_maxspeed) + (S.L.doorMaxSpeed_5_norm) 317 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door4_damper) * (S.L.doorDamper_4_kennwert) 318 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door5_damper) * (S.L.doorDamper_5_kennwert) {endif} (L.L.vis_doortype_gh) 2 = {if} 0.5 (C.L.door_acc_var) * (C.L.bdoor_acc_schwenk) + (S.L.doorAcc_6) 0.5 (C.L.door_acc_var) * (C.L.bdoor_acc_schwenk) + (S.L.doorAcc_7) 0.5 (C.L.door_maxspeed_var) * (C.L.bdoor2_maxspeed_schwenk) + (S.L.doorMaxSpeed_6_norm) 0.5 (C.L.door_maxspeed_var) * (C.L.bdoor2_maxspeed_schwenk) + (S.L.doorMaxSpeed_7_norm) 0.5 (C.L.door6_damper_schwenk) * (S.L.doorDamper_6_kennwert) 0.5 (C.L.door7_damper_schwenk) * (S.L.doorDamper_7_kennwert) {else} 305 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.bdoor2_acc) + (S.L.doorAcc_6) 306 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_acc_var) * (C.L.bdoor2_acc) + (S.L.doorAcc_7) 311 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.bdoor2_maxspeed) + (S.L.doorMaxSpeed_6_norm) 312 (M.V.NrSpecRandom) 2 * 1 - (C.L.door_maxspeed_var) * (C.L.bdoor2_maxspeed) + (S.L.doorMaxSpeed_7_norm) 317 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door6_damper) * (S.L.doorDamper_6_kennwert) 318 (M.V.NrSpecRandom) 0.9 * 0.1 + (C.L.door7_damper) * (S.L.doorDamper_7_kennwert) {endif} (L.L.vis_doortype_v) 2 = {if} (C.L.door_refl_schwenk) (S.L.doorRefl_0) (C.L.door_refl_schwenk) (S.L.doorRefl_1) {else} (C.L.door_refl) (S.L.doorRefl_0) (C.L.door_refl) (S.L.doorRefl_1) {endif} (L.L.vis_doortype_m) 2 = {if} (C.L.door_refl_schwenk) (S.L.doorRefl_2) (C.L.door_refl_schwenk) (S.L.doorRefl_3) {else} (C.L.door_refl) (S.L.doorRefl_2) (C.L.door_refl) (S.L.doorRefl_3) {endif} (L.L.vis_doortype_h) 2 = {if} (C.L.door_refl_schwenk) (S.L.doorRefl_4) (C.L.door_refl_schwenk) (S.L.doorRefl_5) {else} (C.L.door_refl) (S.L.doorRefl_4) (C.L.door_refl) (S.L.doorRefl_5) {endif} (L.L.vis_doortype_gh) 2 = {if} (C.L.door_refl_schwenk) (S.L.doorRefl_6) (C.L.door_refl_schwenk) (S.L.doorRefl_7) {else} (C.L.door_refl) (S.L.doorRefl_6) (C.L.door_refl) (S.L.doorRefl_7) {endif} 0 (S.L.Exitreq_workaround_T1) 0 (S.L.Exitreq_workaround_T2) 0 (S.L.door0_warten) 0 (S.L.door0_umkehr) 0 (S.L.door0_physblock) 1 (S.L.door1_physblock) 0 (S.L.door_pressure_open_0) (S.L.door_pressure_close_0) (S.L.door_pressure_open_1) (S.L.door_pressure_close_1) (S.L.door_pressure_open_2) (S.L.door_pressure_close_2) (S.L.door_pressure_open_3) (S.L.door_pressure_close_3) (S.L.door_pressure_open_4) (S.L.door_pressure_close_4) (S.L.door_pressure_open_5) (S.L.door_pressure_close_5) (S.L.door_pressure_open_6) (S.L.door_pressure_close_6) (S.L.door_pressure_open_7) (S.L.door_pressure_close_7) (S.L.doorDamper_0) (S.L.doorDamper_1) (S.L.doorDamper_2) (S.L.doorDamper_3) (S.L.doorDamper_4) (S.L.doorDamper_5) (S.L.doorDamper_6) (S.L.doorDamper_7) 1 (S.L.doorEntriegelung_doorActive_01) 1 (S.L.doorEntriegelung_doorActive_23) 1 (S.L.doorEntriegelung_doorActive_45) 1 (S.L.doorEntriegelung_doorActive_67) 0 (S.L.cockpit_tuertaster1_frame) (S.L.cockpit_tuertaster2_frame) {end} {macro:Door_Frame} (L.L.bremse_halte) (L.L.var_doorusage) 2 = && {if} (M.L.manual_stopbrake_release) {endif} ' (L.L.PAX_Exit0_Req) (S.L.debug_0) ' (L.L.PAX_Exit1_Req) (S.L.debug_1) ' (L.L.PAX_Exit2_Req) (S.L.debug_2) ' (L.L.PAX_Exit3_Req) (S.L.debug_3) ' (L.L.PAX_Exit4_Req) (S.L.debug_4) ' (L.L.PAX_Exit5_Req) (S.L.debug_5) 33 (M.V.GetHumanCountOnPathLink) 35 (M.V.GetHumanCountOnPathLink) || (S.L.Exitreq_workaround_T0) 61 (M.V.GetHumanCountOnPathLink) 62 (M.V.GetHumanCountOnPathLink) || (S.L.Exitreq_workaround_T1) (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && {if} (L.L.velocity) 1 < (L.L.cockpit_tuertaster1) && (L.L.cockpit_tuertaster1_frame) && {if} 1 (S.L.bremse_halte) (L.L.door_0) 0.2 < (L.L.door_0) 0.8 > || {if} (M.L.trg_bus_doorfront0) {endif} (C.L.door_ManBackDoorFrontDoorCombined) {if} (L.L.tuersperre) 0 = {if} (L.L.door_0) 0.2 < (L.L.door_0) 0.8 > || {if} (M.L.trg_bus_doorfront1) {endif} {endif} {endif} 0 (S.L.cockpit_tuertaster1_frame) {endif} {endif} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door2_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && {if} (L.L.velocity) 1 < (L.L.cockpit_tuertaster2) && (L.L.cockpit_tuertaster2_frame) && {if} 1 (S.L.bremse_halte) (C.L.door_ManBackDoorFrontDoorCombined) {if} (L.L.door_2) 0.2 < (L.L.door_3) 0.8 > || {if} (M.L.trg_bus_dooraft23) {endif} {else} (L.L.door_2) 0.2 < (L.L.door_3) 0.8 > || {if} (M.L.trg_bus_doorfront1) {endif} {endif} 0 (S.L.cockpit_tuertaster2_frame) {endif} {endif} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door3_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && (L.L.var_doorusage) 2 = && {if} (L.L.velocity) 1 < (L.L.cockpit_tuertaster3) && (L.L.cockpit_tuertaster3_frame) && {if} 1 (S.L.bremse_halte) (L.L.door_4) 0.2 < (L.L.door_5) 0.8 > || {if} (M.L.trg_bus_dooraft45) {endif} 0 (S.L.cockpit_tuertaster3_frame) {endif} {endif} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door4_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && (L.L.var_doorusage) 2 = && {if} (L.L.velocity) 1 < (L.L.cockpit_tuertaster4) && (L.L.cockpit_tuertaster4_frame) && {if} 1 (S.L.bremse_halte) (L.L.door_6) 0.2 < (L.L.door_7) 0.8 > || {if} (M.L.trg_bus_dooraft67) {endif} 0 (S.L.cockpit_tuertaster4_frame) {endif} {endif} 'Anforderung mit neuen Variablen: (L.L.haltewunsch) (L.L.Exitreq_workaround_T0) || (S.L.haltewunsch) (L.L.haltewunsch_2) (L.L.Exitreq_workaround_T1) || (S.L.haltewunsch_2) 'Bei E-Türen die "active"-Variable der Entriegelung nachführen: (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) (L.L.doorEntriegelung_E_active_01) s0 (L.L.elec_busbar_avail) (C.L.elec_busbar_minV) > ! && || s1 l0 = ! {if} l1 {if} (T.L.ev_doorEntriegelung_01_active_on) 0 (S.L.doorEntriegelung_doorActive_01) {else} (T.L.ev_doorEntriegelung_01_active_off) {endif} {endif} l1 (S.L.doorEntriegelung_E_active_01) {endif} (L.L.vis_doortype_m) ! {if} (L.L.doorEntriegelung_23) (L.L.doorEntriegelung_E_active_23) s0 (L.L.elec_busbar_avail) (C.L.elec_busbar_minV) > ! && || s1 l0 = ! {if} l1 {if} (T.L.ev_doorEntriegelung_23_active_on) 0 (S.L.doorEntriegelung_doorActive_23) {else} (T.L.ev_doorEntriegelung_23_active_off) {endif} {endif} l1 (S.L.doorEntriegelung_E_active_23) {endif} (L.L.vis_doortype_h) ! {if} (L.L.doorEntriegelung_45) (L.L.doorEntriegelung_E_active_45) s0 (L.L.elec_busbar_avail) (C.L.elec_busbar_minV) > ! && || s1 l0 = ! {if} l1 {if} (T.L.ev_doorEntriegelung_45_active_on) 0 (S.L.doorEntriegelung_doorActive_45) {else} (T.L.ev_doorEntriegelung_45_active_off) {endif} {endif} l1 (S.L.doorEntriegelung_E_active_45) {endif} (L.L.vis_doortype_gh) ! {if} (L.L.doorEntriegelung_67) (L.L.doorEntriegelung_E_active_67) s0 (L.L.elec_busbar_avail) (C.L.elec_busbar_minV) > ! && || s1 l0 = ! {if} l1 {if} (T.L.ev_doorEntriegelung_67_active_on) 0 (S.L.doorEntriegelung_doorActive_67) {else} (T.L.ev_doorEntriegelung_67_active_off) {endif} {endif} l1 (S.L.doorEntriegelung_E_active_67) {endif} (M.L.Door0_Calc) (M.L.Door1_Calc) (L.L.var_doorusage) 2 = ! {if} (M.L.DoorAftCalc) (M.L.DoorAft2Calc) {endif} (L.L.var_doorusage) 1 = {if} (M.L.DoorMidCalc) {endif} (M.L.Door2_Calc) (M.L.Door3_Calc) (M.L.Door4_Calc) (M.L.Door5_Calc) (M.L.Door6_Calc) (M.L.Door7_Calc) 0 (S.L.doorDragAcc_0) (S.L.doorDragAcc_1) (S.L.doorDragAcc_2) (S.L.doorDragAcc_3) (S.L.doorDragAcc_4) (S.L.doorDragAcc_5) (S.L.doorDragAcc_6) (S.L.doorDragAcc_7) (L.L.door_0) 0.9 > (S.L.PAX_Entry0_Open) (L.L.door_1) 0.9 > (S.L.PAX_Entry1_Open) (L.L.door_2) 0.9 > (S.L.PAX_Entry2_Open) (S.L.PAX_Exit0_Open) (L.L.door_3) 0.9 > (S.L.PAX_Entry3_Open) (S.L.PAX_Exit1_Open) (L.L.door_4) 0.9 > (S.L.PAX_Entry4_Open) (S.L.PAX_Exit2_Open) (L.L.door_5) 0.9 > (S.L.PAX_Entry5_Open) (S.L.PAX_Exit3_Open) ' (L.L.door_6) 0.9 > (S.L.PAX_Entry6_Open) (S.L.PAX_Exit4_Open) ' (L.L.door_7) 0.9 > (S.L.PAX_Entry7_Open) (S.L.PAX_Exit5_Open) ' "Dauerfeuer"-Haltewunsch über Kinderwagenschalter (macht genau dasselbe wie der "trigger:int_haltewunsch"): (L.L.door_handsteuerung) (L.L.door_haltewunsch_knopfdruck) || {if} 1 (S.L.haltewunsch) {endif} (L.L.door_handsteuerung) (L.L.door_haltewunsch_knopfdruck_2) || {if} 1 (S.L.haltewunsch_2) {endif} ' (L.L.door_handsteuerung) (L.L.door_haltewunsch_knopfdruck_3) || ' {if} ' 1 (S.L.haltewunsch_3) ' {endif} ' Außentürtaster werden von Fahrgästen benutzt: (L.L.var_doorusage) ! {if} (L.L.door_freigabe) (L.L.PAX_Entry2_Req) (L.L.PAX_Entry3_Req) || && {if} 1 (S.L.haltewunsch) {endif} {endif} (L.L.door_freigabe) (L.L.PAX_Entry4_Req) (L.L.PAX_Entry5_Req) || && {if} 1 (S.L.haltewunsch_2) {endif} ' (L.L.door_freigabe) (L.L.PAX_Entry6_Req) (L.L.PAX_Entry7_Req) || && ' {if} ' 1 (S.L.haltewunsch_3) ' {endif} ' Setzen der Haltestellenbremse erst bei Stillstand des Busses: (L.L.var_doorusage) 2 = ! {if} (L.L.bremse_halte_sw) (L.L.door_20h_sw) (L.L.door_hstbremse_knickschutz) || || (L.L.bremse_halte) ! (L.L.Velocity) (C.L.Door_Bremse_Halte_MaxKMH) < && && {if} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > {if} (T.L.ev_haltebremse_an) 1 (S.L.bremse_halte) {endif} {endif} {endif} ' Anhand dieser Bedingungen kann nun die Automatiktür geöffnet werden: (L.L.var_doorusage) 2 = ! {if} (M.L.DoorAft_Open) (M.L.DoorAft2_Open) {endif} (L.L.var_doorusage) 1 = {if} (M.L.DoorMid_Open) {endif} ' Türfreigabekriterium (L.L.var_doorusage) 2 = ! {if} (L.L.bremse_halte_sw) (L.L.bremse_halte) && (S.L.door_freigabe) {else} (L.L.bremse_halte) (S.L.door_freigabe) {endif} ' Haltewunschlampe: (L.L.haltewunsch) (L.L.door_0) 0.2 < && (L.L.door_1) 0.2 < && (L.L.door_2) 0.2 < && (L.L.door_4) 0.2 < && (L.L.door_6) 0.2 < && (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && {if} 1 s0 {else} 0 s0 (S.L.haltewunsch) (S.L.zufall_kinderwagenwunsch) (S.L.door_kinderwagenwunsch) {endif} (L.L.haltewunsch_2) (L.L.door_0) 0.2 < && (L.L.door_1) 0.2 < && (L.L.door_2) 0.2 < && (L.L.door_4) 0.2 < && (L.L.door_6) 0.2 < && (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && {if} 1 s1 {else} 0 s1 (S.L.haltewunsch_2) {endif} (L.L.haltewunsch_3) (L.L.door_0) 0.2 < && (L.L.door_1) 0.2 < && (L.L.door_2) 0.2 < && (L.L.door_4) 0.2 < && (L.L.door_6) 0.2 < && (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && {if} 1 s2 {else} 0 s2 (S.L.haltewunsch_3) {endif} l0 l1 l2 || || (S.L.haltewunschlampe_all) ' Bing: (L.L.haltewunschlampe_all) {if} (L.L.haltewunsch) (L.L.prev_haltewunsch) ! (L.L.haltewunsch_2) (L.L.prev_haltewunsch_2) ! || (L.L.haltewunsch_3) (L.L.prev_haltewunsch_3) ! || (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && {if} (T.L.ev_stop) {endif} {endif} (L.L.haltewunsch) (S.L.prev_haltewunsch) (L.L.haltewunsch_2) (S.L.prev_haltewunsch_2) (L.L.haltewunsch_3) (S.L.prev_haltewunsch_3) ' Abfall des Kinderwagenwunsch-Relais bei fehlender Stromversorgung: (L.L.elec_busbar_main) (C.L.elec_busbar_minV) < {if} 0 (S.L.door_kinderwagenwunsch) (S.L.zufall_kinderwagenwunsch) {endif} ' Zufälliges zusätzliches Aufleuchten des Kinderwagenwunsches bei Haltewunsch: (L.L.haltewunsch) (L.L.zufall_kinderwagenwunsch) 0 = && (L.S.Time) 72000 < (L.S.Time) 28800 > && && {if} 10 random (S.L.zufall_kinderwagenwunsch) (L.L.zufall_kinderwagenwunsch) 9 >= {if} 1 (S.L.door_kinderwagenwunsch) {endif} {endif} ' Beleuchtung der Einstiege ' Ausgelagert in Lights-Script ' Türsperre setzen: (L.L.door_0) 0 = (L.L.door_1) 0 = && {if} (L.L.tuersperre_sw) -1 = {if} -1 (S.L.tuersperre) {endif} (L.L.tuersperre_sw) 0 = {if} 0 (S.L.tuersperre) {endif} (L.L.tuersperre_sw) 1 = {if} 1 (S.L.tuersperre) {endif} {endif} ' Türschließverzögerung (L.L.doorTarget_23_delayed) ! {if} (L.L.door_2) 1 = (L.L.door_3) 1 = {if} (L.L.tuer2_piep) (L.S.Timegap) + 1.5 min (S.L.tuer2_piep) 1.5 = (L.L.vis_doorwarn) ! || {if} 0 (S.L.doorTarget_23) {endif} {else} 0 (S.L.doorTarget_23) {endif} {else} 1 (S.L.doorTarget_23) 0 (S.L.tuer2_piep) {endif} (L.L.doorTarget_45_delayed) ! {if} (L.L.door_4) 1 = (L.L.door_5) 1 = || {if} (L.L.tuer3_piep) (L.S.Timegap) + 1.5 min (S.L.tuer3_piep) 1.5 = (L.L.vis_doorwarn) ! || {if} 0 (S.L.doorTarget_45) {endif} {else} 0 (S.L.doorTarget_45) {endif} {else} 1 (S.L.doorTarget_45) 0 (S.L.tuer3_piep) {endif} (L.L.doorTarget_67_delayed) ! {if} (L.L.door_6) 1 = (L.L.door_7) 1 = {if} (L.L.tuer4_piep) (L.S.Timegap) + 1.5 min (S.L.tuer4_piep) 1.5 = (L.L.vis_doorwarn) ! || {if} 0 (S.L.doorTarget_67) {endif} {else} 0 (S.L.doorTarget_67) {endif} {else} 1 (S.L.doorTarget_67) 0 (S.L.tuer4_piep) {endif} '############################################################################################### ' Druckluftverhalten: (C.L.door_druckluft) {if} ' in s6 ist die verfügbare Druckmenge: (L.L.bremse_p_Tank04) 100000 - 850000 / s6 '------------------------------------------------------------------- ' Zunächst die Türentriegelungen: (L.L.doorEntriegelung_01) {if} 'Tür ist entlüftet: -2 (S.L.doorEntriegelung_doorActive_01) {else} (C.L.door_safe_reactivating) ! {if} 'Tür steht unter Druck: 1 (S.L.doorEntriegelung_doorActive_01) {else} (L.L.doorEntriegelung_doorActive_01) -2 = {if} 'Tür ist "vorbereitet": -1 (S.L.doorEntriegelung_doorActive_01) {endif} {endif} {endif} (L.L.doorEntriegelung_23) {if} 'Tür ist entlüftet: -2 (S.L.doorEntriegelung_doorActive_23) {else} (C.L.door_safe_reactivating) ! {if} 'Tür steht unter Druck: 1 (S.L.doorEntriegelung_doorActive_23) {else} (L.L.doorEntriegelung_doorActive_23) -2 = {if} 'Tür ist "vorbereitet": -1 (S.L.doorEntriegelung_doorActive_23) {endif} {endif} {endif} (L.L.doorEntriegelung_45) {if} 'Tür ist entlüftet: -2 (S.L.doorEntriegelung_doorActive_45) {else} (C.L.door_safe_reactivating) ! {if} 'Tür steht unter Druck: 1 (S.L.doorEntriegelung_doorActive_45) {else} (L.L.doorEntriegelung_doorActive_45) -2 = {if} 'Tür ist "vorbereitet": -1 (S.L.doorEntriegelung_doorActive_45) {endif} {endif} {endif} (L.L.doorEntriegelung_67) {if} 'Tür ist entlüftet: -2 (S.L.doorEntriegelung_doorActive_67) {else} (C.L.door_safe_reactivating) ! {if} 'Tür steht unter Druck: 1 (S.L.doorEntriegelung_doorActive_67) {else} (L.L.doorEntriegelung_doorActive_67) -2 = {if} 'Tür ist "vorbereitet": -1 (S.L.doorEntriegelung_doorActive_67) {endif} {endif} {endif} '------------------------------------------------------------------- 'Druck laaaaangsam aufbauen (sofern nötig): (L.L.doorEntriegelung_doorActive_01) s1 0 >= l1 0.99 < && {if} 1 s0 0.1 s2 s3 (M.L.traegheit) (S.L.doorEntriegelung_doorActive_01) (L.L.doorEntriegelung_doorActive_01) 0.8 > {if} (T.L.ev_doorEntriegelung_01_off_final) 1 (S.L.doorEntriegelung_doorActive_01) {endif} {endif} (L.L.doorEntriegelung_doorActive_23) s1 0 >= l1 0.99 < && {if} 1 s0 0.1 s2 s3 (M.L.traegheit) (S.L.doorEntriegelung_doorActive_23) (L.L.doorEntriegelung_doorActive_23) 0.8 > {if} (T.L.ev_doorEntriegelung_23_off_final) 1 (S.L.doorEntriegelung_doorActive_23) {endif} {endif} (L.L.doorEntriegelung_doorActive_45) s1 0 >= l1 0.99 < && {if} 1 s0 0.1 s2 s3 (M.L.traegheit) (S.L.doorEntriegelung_doorActive_45) (L.L.doorEntriegelung_doorActive_45) 0.8 > {if} (T.L.ev_doorEntriegelung_45_off_final) 1 (S.L.doorEntriegelung_doorActive_45) {endif} {endif} (L.L.doorEntriegelung_doorActive_67) s1 0 >= l1 0.99 < && {if} 1 s0 0.1 s2 s3 (M.L.traegheit) (S.L.doorEntriegelung_doorActive_67) (L.L.doorEntriegelung_doorActive_67) 0.8 > {if} (T.L.ev_doorEntriegelung_67_off_final) 1 (S.L.doorEntriegelung_doorActive_67) {endif} {endif} '------------------------------------------------------------------- (L.L.doorEntriegelung_doorActive_01) 0 <= {if} 0 s5 {else} (L.L.doorTarget_0) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_01) l6 * * s0 (L.L.door_pressure_open_0) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_0) (L.L.door_pressure_close_0) s1 l5 (L.L.doorEntriegelung_doorActive_01) l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_0) '..................... (L.L.doorEntriegelung_doorActive_01) 0 <= {if} 0 s5 {else} (L.L.doorTarget_1) ! s5 ! {endif} l6 (L.L.doorEntriegelung_doorActive_01) * * s0 (L.L.door_pressure_open_1) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_1) (L.L.door_pressure_close_1) s1 l5 (L.L.doorEntriegelung_doorActive_01) l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_1) '..................... (L.L.doorEntriegelung_doorActive_23) 0 <= {if} 0 s5 {else} (L.L.doorTarget_23) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_23) l6 * * s0 (L.L.door_pressure_open_2) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_2) (L.L.door_pressure_close_2) s1 (L.L.doorEntriegelung_doorActive_23) l5 l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_2) '..................... (L.L.doorEntriegelung_doorActive_23) 0 <= {if} 0 s5 {else} (L.L.doorTarget_23) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_23) l6 * * s0 (L.L.door_pressure_open_3) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_3) (L.L.door_pressure_close_3) s1 (L.L.doorEntriegelung_doorActive_23) l5 l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_3) '..................... (L.L.doorEntriegelung_doorActive_45) 0 <= {if} 0 s5 {else} (L.L.doorTarget_45) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_45) l6 * * s0 (L.L.door_pressure_open_4) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_4) (L.L.door_pressure_close_4) s1 (L.L.doorEntriegelung_doorActive_45) l5 l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_4) '..................... (L.L.doorEntriegelung_doorActive_45) 0 <= {if} 0 s5 {else} (L.L.doorTarget_45) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_45) l6 * * s0 (L.L.door_pressure_open_5) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_5) (L.L.door_pressure_close_5) s1 (L.L.doorEntriegelung_doorActive_45) l5 l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_5) '..................... (L.L.doorEntriegelung_doorActive_67) 0 <= {if} 0 s5 {else} (L.L.doorTarget_67) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_67) l6 * * s0 (L.L.door_pressure_open_6) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_6) (L.L.door_pressure_close_6) s1 (L.L.doorEntriegelung_doorActive_67) l5 l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_6) '..................... (L.L.doorEntriegelung_doorActive_67) 0 <= {if} 0 s5 {else} (L.L.doorTarget_67) ! s5 ! {endif} (L.L.doorEntriegelung_doorActive_67) l6 * * s0 (L.L.door_pressure_open_7) s1 1 s2 1 s3 (M.L.traegheit) (S.L.door_pressure_open_7) (L.L.door_pressure_close_7) s1 (L.L.doorEntriegelung_doorActive_67) l5 l6 * * s0 (M.L.traegheit) (S.L.door_pressure_close_7) '..................... l6 (L.L.doorEntriegelung_doorActive_01) 0 max * (S.L.door_pressure_factor_01) l6 (L.L.doorEntriegelung_doorActive_23) 0 max * (S.L.door_pressure_factor_23) l6 (L.L.doorEntriegelung_doorActive_45) 0 max * (S.L.door_pressure_factor_45) l6 (L.L.doorEntriegelung_doorActive_67) 0 max * (S.L.door_pressure_factor_67) {endif} '############################################################################################### ' Dämpferverhalten: (L.L.vis_doortype_v) 2 = {if} (L.L.doorSpeed_0) 0 > {if} (L.L.door_0) (F.L.damper_f_open_schwenk) {else} (L.L.door_0) (F.L.damper_f_close_schwenk) {endif} (L.L.doorSpeed_0) * s0 (L.L.doorEntriegelung_01) {if} l0 {else} (L.L.doorDamper_0) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_0) '........................ (L.L.doorSpeed_1) 0 > {if} (L.L.door_1) (F.L.damper_f_open_schwenk) {else} (L.L.door_1) (F.L.damper_f_close_schwenk) {endif} (L.L.doorSpeed_1) * s0 (L.L.doorEntriegelung_01) {if} l0 {else} (L.L.doorDamper_1) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_1) {else} (L.L.doorSpeed_0) 0 > {if} (L.L.door_0) (F.L.damper_f_open) {else} (L.L.door_0) (F.L.damper_f_close) {endif} (L.L.doorSpeed_0) * s0 (L.L.doorEntriegelung_01) {if} l0 {else} (L.L.doorDamper_0) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_0) '........................ (L.L.doorSpeed_1) 0 > {if} (L.L.door_1) (F.L.damper_f_open) {else} (L.L.door_1) (F.L.damper_f_close) {endif} (L.L.doorSpeed_1) * s0 (L.L.doorEntriegelung_01) {if} l0 {else} (L.L.doorDamper_1) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_1) {endif} '........................ (L.L.vis_doortype_m) 2 = {if} (L.L.doorSpeed_2) 0 > {if} (L.L.door_2) (F.L.damper_m_open_schwenk) {else} (L.L.door_2) (F.L.damper_m_close_schwenk) {endif} (L.L.doorSpeed_2) * s0 (L.L.doorEntriegelung_23) {if} l0 {else} (L.L.doorDamper_2) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_2) '........................ (L.L.doorSpeed_3) 0 > {if} (L.L.door_3) (F.L.damper_m_open_schwenk) {else} (L.L.door_3) (F.L.damper_m_close_schwenk) {endif} (L.L.doorSpeed_3) * s0 (L.L.doorEntriegelung_23) {if} l0 {else} (L.L.doorDamper_3) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_3) {else} (L.L.doorSpeed_2) 0 > {if} (L.L.door_2) (F.L.damper_m_open) {else} (L.L.door_2) (F.L.damper_m_close) {endif} (L.L.doorSpeed_2) * s0 (L.L.doorEntriegelung_23) {if} l0 {else} (L.L.doorDamper_2) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_2) '........................ (L.L.doorSpeed_3) 0 > {if} (L.L.door_3) (F.L.damper_m_open) {else} (L.L.door_3) (F.L.damper_m_close) {endif} (L.L.doorSpeed_3) * s0 (L.L.doorEntriegelung_23) {if} l0 {else} (L.L.doorDamper_3) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_3) {endif} (L.L.vis_doortype_h) 2 = {if} (L.L.doorSpeed_4) 0 > {if} (L.L.door_4) (F.L.damper_b_open_schwenk) {else} (L.L.door_4) (F.L.damper_b_close_schwenk) {endif} (L.L.doorSpeed_4) * s0 (L.L.doorEntriegelung_45) {if} l0 {else} (L.L.doorDamper_4) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_4) '........................ (L.L.doorSpeed_5) 0 > {if} (L.L.door_5) (F.L.damper_b_open_schwenk) {else} (L.L.door_5) (F.L.damper_b_close_schwenk) {endif} (L.L.doorSpeed_5) * s0 (L.L.doorEntriegelung_45) {if} l0 {else} (L.L.doorDamper_5) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_5) {else} (L.L.doorSpeed_4) 0 > {if} (L.L.door_4) (F.L.damper_b_open) {else} (L.L.door_4) (F.L.damper_b_close) {endif} (L.L.doorSpeed_4) * s0 (L.L.doorEntriegelung_45) {if} l0 {else} (L.L.doorDamper_4) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_4) '........................ (L.L.doorSpeed_5) 0 > {if} (L.L.door_5) (F.L.damper_b_open) {else} (L.L.door_5) (F.L.damper_b_close) {endif} (L.L.doorSpeed_5) * s0 (L.L.doorEntriegelung_45) {if} l0 {else} (L.L.doorDamper_5) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_5) {endif} (L.L.vis_doortype_gh) 2 = {if} (L.L.doorSpeed_6) 0 > {if} (L.L.door_6) (F.L.damper_b2_open_schwenk) {else} (L.L.door_6) (F.L.damper_b2_close_schwenk) {endif} (L.L.doorSpeed_6) * s0 (L.L.doorEntriegelung_67) {if} l0 {else} (L.L.doorDamper_6) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_6) '........................ (L.L.doorSpeed_7) 0 > {if} (L.L.door_7) (F.L.damper_b2_open_schwenk) {else} (L.L.door_7) (F.L.damper_b2_close_schwenk) {endif} (L.L.doorSpeed_7) * s0 (L.L.doorEntriegelung_67) {if} l0 {else} (L.L.doorDamper_7) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_7) {else} (L.L.doorSpeed_6) 0 > {if} (L.L.door_6) (F.L.damper_b2_open) {else} (L.L.door_6) (F.L.damper_b2_close) {endif} (L.L.doorSpeed_6) * s0 (L.L.doorEntriegelung_67) {if} l0 {else} (L.L.doorDamper_6) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_6) '........................ (L.L.doorSpeed_7) 0 > {if} (L.L.door_7) (F.L.damper_b2_open) {else} (L.L.door_7) (F.L.damper_b2_close) {endif} (L.L.doorSpeed_7) * s0 (L.L.doorEntriegelung_67) {if} l0 {else} (L.L.doorDamper_7) s1 3 s2 3 s3 (M.L.traegheit) {endif} (S.L.doorDamper_7) {endif} '############################################################################################### ' Gegenseitiges Blockieren der Türflügel: ' Die jeweilige Tür wird dadurch blockiert, dass ihr Öffnungsgrad kleiner ist als der des anderen Flügels ist, der selbst aber schon fast zu und nicht blockiert sein muss: (C.L.door_blocking) {if} (L.L.door0_physblock) {if} (L.L.door_0) (L.L.door_1) (C.L.door_blocking_diff) + < (L.L.door_1) (C.L.door_blocking_area) < && (L.L.door1_physblock) ! && (S.L.door0_physblock) {else} (L.L.door_0) (L.L.door_1) < (L.L.door_1) (C.L.door_blocking_area) < && (L.L.door1_physblock) ! && (S.L.door0_physblock) {endif} (L.L.door1_physblock) {if} (L.L.door_1) (L.L.door_0) (C.L.door_blocking_diff) + < (L.L.door_0) (C.L.door_blocking_area) < && (L.L.door0_physblock) ! && (S.L.door1_physblock) {else} (L.L.door_1) (L.L.door_0) < (L.L.door_0) (C.L.door_blocking_area) < && (L.L.door0_physblock) ! && (S.L.door1_physblock) {endif} {else} 0 (S.L.door0_physblock) (S.L.door1_physblock) {endif} '############################################################################################### '############################################################################################### ' AI-Ablauf: (L.L.AI_Scheduled_AtStation) s0 1 = {if} (L.L.Velocity) 0.5 < {if} 1 (S.L.bremse_halte_sw) (L.L.doorTarget_0) 0 = {if} (M.L.trg_bus_doorfront0) {endif} (L.L.doorTarget_1) 0 = {if} (M.L.trg_bus_doorfront1) {endif} (L.L.PAX_Entry2_Req) (L.L.PAX_Entry3_Req) || (L.L.PAX_Exit0_Req) || (L.L.PAX_Exit1_Req) || {if} (L.L.doorTarget_23) 0 = {if} (M.L.trg_bus_dooraft23) {endif} {endif} (L.L.PAX_Entry4_Req) (L.L.PAX_Entry5_Req) || (L.L.PAX_Exit2_Req) || (L.L.PAX_Exit3_Req) || {if} (L.L.doorTarget_45) 0 = {if} (M.L.trg_bus_dooraft45) {endif} {endif} (L.L.PAX_Entry6_Req) (L.L.PAX_Entry7_Req) || (L.L.PAX_Exit4_Req) || (L.L.PAX_Exit5_Req) || {if} (L.L.doorTarget_67) 0 = {if} (M.L.trg_bus_dooraft67) {endif} {endif} {endif} {else} l0 -1 = {if} (L.L.door_0) 1 = {if} (M.L.trg_bus_doorfront0) {endif} (L.L.door_1) 1 = {if} (M.L.trg_bus_doorfront1) {endif} (L.L.door_2) 1 = (L.L.doorTarget_23_delayed) && {if} (M.L.trg_bus_dooraft23) {endif} (L.L.door_4) 1 = (L.L.doorTarget_45_delayed) && {if} (M.L.trg_bus_dooraft45) {endif} (L.L.door_6) 1 = (L.L.doorTarget_67_delayed) && {if} (M.L.trg_bus_dooraft67) {endif} (L.L.door_0) 0.1 < (L.L.door_1) 0.1 < && (L.L.door_2) 0.1 < && (L.L.door_4) 0.1 < && (L.L.door_6) 0.1 < && {if} 0 (S.L.AI_Scheduled_AtStation) (S.L.bremse_halte_sw) {endif} {endif} {endif} {end} '############################################################################################### ' Door Calc Türenpaar 1 '############################################################################################### {macro:Door0_Calc} (L.L.vis_doortype_v) 2 = {if} 'Hubverriegelung (L.L.doorTarget_0) (L.L.door_0_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_0_hub) (C.L.door_0_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_0_hub) {else} (L.L.doorTarget_0) ! (L.L.door_0_hub) && (L.L.door_0) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_0_hub) (C.L.door_0_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_0_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_01) (L.L.doorEntriegelung_01) || {if} (L.L.doorTarget_0) {if} (L.L.vis_doortype_v) 1 = {if} (L.L.door_0) (F.L.door_0_opn_speed_schiebe) (S.L.doorMaxSpeed_0) {else} (L.L.vis_doortype_v) 2 = {if} (L.L.door_0) (F.L.door_0_opn_speed_schwenk) (S.L.doorMaxSpeed_0) {else} (L.L.door_0) (F.L.door_0_opn_speed) (S.L.doorMaxSpeed_0) {endif} {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.door_0) (F.L.door_0_cls_speed_schiebe) (S.L.doorMaxSpeed_0) {else} (L.L.vis_doortype_v) 2 = {if} (L.L.door_0) (F.L.door_0_cls_speed_schwenk) (S.L.doorMaxSpeed_0) {else} (L.L.door_0) (F.L.door_0_cls_speed) (S.L.doorMaxSpeed_0) {endif} {endif} {endif} (L.L.vis_doortype_v) 2 = {if} (C.L.fdoor_acc_schwenk) (S.L.doorAcc_0) {else} (C.L.fdoor_acc) (S.L.doorAcc_0) {endif} (L.L.doorTarget_0) ! (L.L.doorSpeed_0) s0 abs 0.05 > (L.L.door_0) 0 > || && (L.L.doorEntriegelung_01) || {if} (L.L.door_0_hub) 0.8 > (L.L.vis_doortype_v) ! || (L.L.vis_doortype_v) 1 = || {if} l0 /-/ (L.L.doorMaxSpeed_0) < {if} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_0) (L.L.doorDragAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0) {else} (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0) {endif} {else} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_0) (L.L.doorDragAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0) {else} (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0) {endif} {endif} (L.L.door_0) (L.L.doorSpeed_0) (L.S.Timegap) * + (S.L.door_0) {endif} {else} (L.L.doorSpeed_0) abs 0.05 > (L.L.door_0) 1 < || (L.L.doorTarget_0) && {if} (L.L.door_0_hub) 0.5 > (L.L.vis_doortype_v) ! || (L.L.vis_doortype_v) 1 = || {if} l0 (L.L.doorMaxSpeed_0) < {if} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_0) (L.L.doorDragAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0) {else} (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * + (S.L.doorSpeed_0) {endif} {else} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_0) (L.L.doorDragAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0) {else} (L.L.doorSpeed_0) (L.L.doorAcc_0) (L.S.Timegap) * - (S.L.doorSpeed_0) {endif} {endif} 'Falls die Tür durch den anderen Flügel blockiert wird, geht sie nur gaaanz langsam auf: (L.L.door_1) (L.L.door_0) < (L.L.door0_physblock) && {if} (C.L.door_blocking_speed) (S.L.doorSpeed_0) (L.L.vis_doortype_v) 0 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_0) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_0_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_0_schwenk) {endif} {endif} {endif} {endif} (L.L.door_0) (L.L.doorSpeed_0) (L.S.Timegap) * + (S.L.door_0) {endif} {else} 0 (S.L.doorSpeed_0) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_0) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_0) {endif} (L.L.door_0) 1 > {if} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitopen_0) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitopen_0_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitopen_0_schwenk) {endif} {endif} {endif} 1 (S.L.door_0) (L.L.doorSpeed_0) /-/ (L.L.doorRefl_0) * (S.L.doorSpeed_0) {else} (L.L.door_0) 0 < {if} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitclose_0) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitclose_0_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitclose_0_schwenk) {endif} {endif} {endif} 0 (S.L.door_0) (L.L.doorSpeed_0) /-/ (L.L.doorRefl_0) * (S.L.doorSpeed_0) {endif} {endif} (L.L.door_0) (F.L.door_klappe) (S.L.door_0_klappe) (L.L.door_0) (F.L.door_stange) (S.L.door_0_stange) (L.L.door_0) (F.L.door_schiebe) (S.L.door_0_schiebe) (L.L.door_0) (F.L.door_trapez_v) (S.L.door_0_trapez) {end} {macro:Door1_Calc} (L.L.vis_doortype_v) 2 = {if} 'Hubverriegelung (L.L.doorTarget_1) (L.L.door_1_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_1_hub) (C.L.door_1_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_1_hub) {else} (L.L.doorTarget_1) ! (L.L.door_1_hub) && (L.L.door_1) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_1_hub) (C.L.door_1_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_1_hub) {endif} {endif} {endif} 'Nur, wenn nicht verriegelt: (L.L.door_1_locked) ! {if} (L.L.doorEntriegelung_doorActive_01) (L.L.doorEntriegelung_01) || {if} (L.L.doorTarget_1) {if} (L.L.vis_doortype_v) 1 = {if} (L.L.door_1) (F.L.door_1_opn_speed_schiebe) (S.L.doorMaxSpeed_1) {else} (L.L.vis_doortype_v) 2 = {if} (L.L.door_1) (F.L.door_1_opn_speed_schwenk) (S.L.doorMaxSpeed_1) {else} (L.L.door_1) (F.L.door_1_opn_speed) (S.L.doorMaxSpeed_1) {endif} {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.door_1) (F.L.door_1_cls_speed_schiebe) (S.L.doorMaxSpeed_1) {else} (L.L.vis_doortype_v) 2 = {if} (L.L.door_1) (F.L.door_1_cls_speed_schwenk) (S.L.doorMaxSpeed_1) {else} (L.L.door_1) (F.L.door_1_cls_speed) (S.L.doorMaxSpeed_1) {endif} {endif} {endif} (L.L.vis_doortype_v) 2 = {if} (C.L.fdoor_acc_schwenk) (S.L.doorAcc_1) {else} (C.L.fdoor_acc) (S.L.doorAcc_1) {endif} (L.L.doorTarget_1) ! (L.L.doorSpeed_1) s0 abs 0.05 > (L.L.door_1) 0 > || && (L.L.doorEntriegelung_01) || {if} (L.L.door_1_hub) 0.8 > (L.L.vis_doortype_v) ! || (L.L.vis_doortype_v) 1 = || {if} l0 /-/ (L.L.doorMaxSpeed_1) < {if} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_1) (L.L.doorDragAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1) {else} (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1) {endif} {else} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_1) (L.L.doorDragAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1) {else} (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1) {endif} {endif} (L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1) (L.L.door_1) 0.01 < {if} 0 (S.L.door0_warten) 0 (S.L.door0_umkehr) {endif} {endif} {else} (L.L.doorSpeed_1) abs 0.05 > (L.L.door_1) 1 < || (L.L.doorTarget_1) && (L.L.doorEntriegelung_01) || {if} (L.L.door_1_hub) 0.5 > (L.L.vis_doortype_v) ! || (L.L.vis_doortype_v) 1 = || {if} l0 (L.L.doorMaxSpeed_1) < {if} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_1) (L.L.doorDragAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1) {else} (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * + (S.L.doorSpeed_1) {endif} {else} (L.L.doorEntriegelung_01) {if} (L.L.doorSpeed_1) (L.L.doorDragAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1) {else} (L.L.doorSpeed_1) (L.L.doorAcc_1) (L.S.Timegap) * - (S.L.doorSpeed_1) {endif} {endif} 'Falls die Tür durch den anderen Flügel blockiert wird, geht sie nur gaaanz langsam auf: (L.L.door_0) (L.L.door_1) < (L.L.door1_physblock) && {if} (C.L.door_blocking_speed) (S.L.doorSpeed_1) (L.L.vis_doortype_v) 0 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_1) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_1_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_1_schwenk) {endif} {endif} {endif} {endif} (L.L.door_1) (L.L.doorSpeed_1) (L.S.Timegap) * + (S.L.door_1) {endif} {else} 0 (S.L.doorSpeed_1) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_1) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_1) {endif} {endif} (L.L.door_1) 1 > {if} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitopen_1) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitopen_1_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitopen_1_schwenk) {endif} {endif} {endif} 1 (S.L.door_1) (L.L.doorSpeed_1) /-/ (L.L.doorRefl_1) * (S.L.doorSpeed_1) {else} (L.L.door_1) 0 < {if} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitclose_1) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitclose_1_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doorhitclose_1_schwenk) {endif} {endif} {endif} 0 (S.L.door_1) (L.L.doorSpeed_1) /-/ (L.L.doorRefl_1) * (S.L.doorSpeed_1) {endif} {endif} (L.L.door_1) (F.L.door_klappe) (S.L.door_1_klappe) (L.L.door_1) (F.L.door_stange) (S.L.door_1_stange) (L.L.door_1) (F.L.door_schiebe) (S.L.door_1_schiebe) (L.L.door_1) (F.L.door_trapez_h) (S.L.door_1_trapez) {end} '############################################################################################### ' Hintertürautomatiken '############################################################################################### {macro:DoorMid_Open} (L.L.PAX_Entry2_Req) (L.L.PAX_Entry3_Req) || (L.L.door_haltewunsch_knopfdruck) || (L.L.Exitreq_workaround_T0) || (L.L.haltewunsch) || (L.L.bremse_halte) && (L.L.doorEntriegelung_E_active_23) (C.L.electric_doors) && ! && (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && (L.L.bremse_p_tank04) 550000 > && ' (L.L.Door3_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && {if} (L.L.doorTarget_23_delayed) ! (L.L.bremse_halte_sw) (L.L.door_2) 0 > (L.L.door_3) 0 > || || && {if} (L.L.vis_doortype_m) ! {if} (T.L.ev_doortriggeropen_2) {else} (L.L.vis_doortype_m) 1 = {if} (T.L.ev_doortriggeropen_2_schieb) {else} (T.L.ev_doortriggeropen_2_schwenk) {endif} {endif} 1 (S.L.doorTarget_23_delayed) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 0 (S.L.door_haltewunsch_knopfdruck) {else} 1 (S.L.doorEntriegelung_doorActive_23) {endif} 0 (S.L.doorMidLastOpen) {endif} {end} {macro:DoorMidCalc} (L.L.bremse_halte_sw) 0 = (L.L.door_20h_sw) 0 = && (L.L.door_hstbremse_knickschutz) 0 = && (L.L.kneel_timer) 0 = && (L.L.door_0) 0 = && (L.L.door_1) 0 = && (L.L.door_2) 0 = && (L.L.door_3) 0 = && (L.L.door_4) 0 = && (L.L.door_5) 0 = && (L.L.bremse_halte) && (L.L.throttle) 0.05 > && {if} 0 (S.L.bremse_halte) (S.L.doorMidLastOpen) (T.L.ev_haltebremse_aus) {endif} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door2_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && {if} (L.L.bremse_halte) && {if} (L.L.doorMidLastOpen) (L.S.Timegap) + (S.L.doorMidLastOpen) {endif} (L.L.doorTarget_23_delayed) (L.L.doorMidLastOpen) (C.L.doorMidOpenTime) > && {if} 0 (S.L.doorTarget_23_delayed) (L.L.vis_doorwarn) {if} (L.L.trigger_antirepeat23) ! {if} (T.L.ev_doorwarn) 1 (S.L.trigger_antirepeat23) {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {else} 0 (S.L.trigger_antirepeat23) {endif} {endif} {end} {macro:DoorAft_Open} (L.L.PAX_Entry4_Req) (L.L.PAX_Entry5_Req) || (L.L.Exitreq_workaround_T1) || (L.L.door_haltewunsch_knopfdruck_2) || (L.L.haltewunsch_2) || (L.L.bremse_halte) && (L.L.doorEntriegelung_E_active_45) (C.L.electric_doors) && ! && (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && (L.L.bremse_p_tank04) 550000 > && ' (L.L.Door3_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && {if} (L.L.doorTarget_45_delayed) ! (L.L.bremse_halte_sw) (L.L.door_4) 0 > (L.L.door_5) 0 > || || && {if} (L.L.vis_doortype_h) ! {if} (T.L.ev_doortriggeropen_4) {else} (L.L.vis_doortype_h) 1 = {if} (T.L.ev_doortriggeropen_4_schieb) {else} (T.L.ev_doortriggeropen_4_schwenk) {endif} {endif} 1 (S.L.doorTarget_45_delayed) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 0 (S.L.door_haltewunsch_knopfdruck_2) {else} 1 (S.L.doorEntriegelung_doorActive_45) {endif} 0 (S.L.doorAftLastOpen) {endif} {end} {macro:DoorAftCalc} (L.L.bremse_halte_sw) 0 = (L.L.door_20h_sw) 0 = && (L.L.door_hstbremse_knickschutz) 0 = && (L.L.kneel_timer) 0 = && (L.L.door_0) 0 = && (L.L.door_1) 0 = && (L.L.door_2) 0 = && (L.L.door_3) 0 = && (L.L.door_4) 0 = && (L.L.door_5) 0 = && (L.L.bremse_halte) && (L.L.throttle) 0.05 > && {if} 0 (S.L.bremse_halte) (S.L.doorAftLastOpen) (T.L.ev_haltebremse_aus) {endif} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door3_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && {if} (L.L.bremse_halte) && {if} (L.L.doorAftLastOpen) (L.S.Timegap) + (S.L.doorAftLastOpen) {endif} (L.L.doorTarget_45_delayed) (L.L.doorAftLastOpen) (C.L.doorAftOpenTime) > && {if} 0 (S.L.doorTarget_45_delayed) (L.L.vis_doorwarn) {if} (L.L.trigger_antirepeat45) ! {if} (T.L.ev_doorwarn2) 1 (S.L.trigger_antirepeat45) {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {else} 0 (S.L.trigger_antirepeat45) {endif} {endif} {end} {macro:DoorAft2_Open} (L.L.PAX_Entry6_Req) (L.L.PAX_Entry7_Req) || (L.L.Exitreq_workaround_T2) || (L.L.door_haltewunsch_knopfdruck_3) || (L.L.haltewunsch_3) || (L.L.bremse_halte) && (L.L.doorEntriegelung_E_active_67) (C.L.electric_doors) && ! && (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > && (L.L.bremse_p_tank04) 550000 > && ' (L.L.Door3_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && {if} (L.L.doorTarget_67_delayed) ! (L.L.bremse_halte_sw) (L.L.door_6) 0 > (L.L.door_7) 0 > || || && {if} (L.L.vis_doortype_gh) ! {if} (T.L.ev_doortriggeropen_6) {else} (L.L.vis_doortype_gh) 1 = {if} (T.L.ev_doortriggeropen_6_schieb) {else} (T.L.ev_doortriggeropen_6_schwenk) {endif} {endif} 1 (S.L.doorTarget_67_delayed) (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 0 (S.L.door_haltewunsch_knopfdruck_3) {else} 1 (S.L.doorEntriegelung_doorActive_67) {endif} 0 (S.L.doorAft2LastOpen) {endif} {end} {macro:DoorAft2Calc} (L.L.bremse_halte_sw) 0 = (L.L.door_20h_sw) 0 = && (L.L.door_hstbremse_knickschutz) 0 = && (L.L.kneel_timer) 0 = && (L.L.door_0) 0 = && (L.L.door_1) 0 = && (L.L.door_2) 0 = && (L.L.door_3) 0 = && (L.L.door_4) 0 = && (L.L.door_5) 0 = && (L.L.bremse_halte) && (L.L.throttle) 0.05 > && {if} 0 (S.L.bremse_halte) (S.L.doorAft2LastOpen) (T.L.ev_haltebremse_aus) {endif} (L.L.elec_busbar_main) (C.L.elec_busbar_minV) > (L.L.Door4_Error_Count) (C.L.Tuerfehlertoleranz) (L.L.wearlifespan) * < && (L.L.bremse_p_tank04) 550000 > && {if} (L.L.bremse_halte) && {if} (L.L.doorAft2LastOpen) (L.S.Timegap) + (S.L.doorAft2LastOpen) {endif} (L.L.doorTarget_67_delayed) (L.L.doorAft2LastOpen) (C.L.doorAft2OpenTime) > && {if} 0 (S.L.doorTarget_67_delayed) (L.L.vis_doorwarn) {if} (L.L.trigger_antirepeat67) ! {if} (T.L.ev_doorwarn3) 1 (S.L.trigger_antirepeat67) {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) {else} 0 (S.L.trigger_antirepeat67) {endif} {endif} {end} '############################################################################################### ' Door Calc Türenpaar 2 '############################################################################################### {macro:Door2_Calc} (L.L.vis_doortype_m) 2 = {if} 'Hubverriegelung (L.L.doorTarget_23) (L.L.door_2_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_2_hub) (C.L.door_2_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_2_hub) {else} (L.L.doorTarget_23) ! (L.L.door_2_hub) && (L.L.door_2) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_2_hub) (C.L.door_2_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_2_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_23) (L.L.doorEntriegelung_23) || {if} (L.L.doorTarget_23) {if} (L.L.vis_doortype_m) 1 = {if} (L.L.door_2) (F.L.door_2_opn_speed_schiebe) (S.L.doorMaxSpeed_2) {else} (L.L.vis_doortype_m) 2 = {if} (L.L.door_2) (F.L.door_2_opn_speed_schwenk) (S.L.doorMaxSpeed_2) {else} (L.L.door_2) (F.L.door_2_opn_speed) (S.L.doorMaxSpeed_2) {endif} {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.door_2) (F.L.door_2_cls_speed_schiebe) (S.L.doorMaxSpeed_2) {else} (L.L.vis_doortype_m) 2 = {if} (L.L.door_2) (F.L.door_2_cls_speed_schwenk) (S.L.doorMaxSpeed_2) {else} (L.L.door_2) (F.L.door_2_cls_speed) (S.L.doorMaxSpeed_2) {endif} {endif} {endif} (L.L.vis_doortype_m) 2 = {if} (C.L.mdoor_acc_schwenk) (S.L.doorAcc_2) {else} (C.L.mdoor_acc) (S.L.doorAcc_2) {endif} (L.L.doorTarget_23) ! (L.L.doorSpeed_2) s0 abs 0.05 > (L.L.door_2) 0 > || && (L.L.doorEntriegelung_23) || {if} (L.L.door_2_hub) 0.8 > (L.L.vis_doortype_m) ! || (L.L.vis_doortype_m) 1 = || {if} (L.L.tuer2_piep_antirepeat) 1 + (S.L.tuer2_piep_antirepeat) 1 = {if} (L.L.vis_doortype_m) ! {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doortriggerclose_2) {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doortriggerclose_2_schieb) {endif} {else} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doortriggerclose_2_schwenk) {endif} {endif} {endif} {endif} l0 /-/ (L.L.doorMaxSpeed_2) < {if} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_2) (L.L.doorDragAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2) {else} (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2) {endif} {else} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_2) (L.L.doorDragAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2) {else} (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2) {endif} {endif} (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2) {endif} {else} 0 (S.L.tuer2_piep_antirepeat) (L.L.doorSpeed_2) abs 0.05 > (L.L.door_2) 1 < || (L.L.doorTarget_23) && (L.L.doorEntriegelung_23) || {if} (L.L.door_2_hub) 0.5 > (L.L.vis_doortype_m) ! || (L.L.vis_doortype_m) 1 = || {if} l0 (L.L.doorMaxSpeed_2) < {if} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_2) (L.L.doorDragAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2) {else} (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * + (S.L.doorSpeed_2) {endif} {else} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_2) (L.L.doorDragAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2) {else} (L.L.doorSpeed_2) (L.L.doorAcc_2) (L.S.Timegap) * - (S.L.doorSpeed_2) {endif} {endif} (L.L.door_2) (L.L.doorSpeed_2) (L.S.Timegap) * + (S.L.door_2) {endif} {else} 0 (S.L.doorSpeed_2) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_2) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_2) {endif} (L.L.door_2) 1 > {if} (L.L.vis_doortype_m) ! {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitopen_2) {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitopen_2_schieb) {endif} {else} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitopen_2_schwenk) {endif} {endif} {endif} 1 (S.L.door_2) (L.L.doorSpeed_2) /-/ (L.L.doorRefl_2) * (S.L.doorSpeed_2) {else} (L.L.door_2) 0 < {if} (L.L.vis_doortype_m) ! {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitclose_2) {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitclose_2_schieb) {endif} {else} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitclose_2_schwenk) {endif} {endif} {endif} 0 (S.L.door_2) (L.L.doorSpeed_2) /-/ (L.L.doorRefl_2) * (S.L.doorSpeed_2) {endif} {endif} (L.L.door_2) (F.L.door_klappe) (S.L.door_2_klappe) (L.L.door_2) (F.L.door_stange) (S.L.door_2_stange) (L.L.door_2) (F.L.door_schiebe) (S.L.door_2_schiebe) (L.L.door_2) (F.L.door_trapez_v) (S.L.door_2_trapez) {end} {macro:Door3_Calc} (L.L.vis_doortype_m) 2 = {if} 'Hubverriegelung (L.L.doorTarget_23) (L.L.door_3_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_3_hub) (C.L.door_3_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_3_hub) {else} (L.L.doorTarget_23) ! (L.L.door_3_hub) && (L.L.door_3) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_3_hub) (C.L.door_3_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_3_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_23) (L.L.doorEntriegelung_23) || {if} (L.L.doorTarget_23) {if} (L.L.vis_doortype_m) 1 = {if} (L.L.door_3) (F.L.door_3_opn_speed_schiebe) (S.L.doorMaxSpeed_3) {else} (L.L.vis_doortype_m) 2 = {if} (L.L.door_3) (F.L.door_3_opn_speed_schwenk) (S.L.doorMaxSpeed_3) {else} (L.L.door_3) (F.L.door_3_opn_speed) (S.L.doorMaxSpeed_3) {endif} {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.door_3) (F.L.door_3_cls_speed_schiebe) (S.L.doorMaxSpeed_3) {else} (L.L.vis_doortype_m) 2 = {if} (L.L.door_3) (F.L.door_3_cls_speed_schwenk) (S.L.doorMaxSpeed_3) {else} (L.L.door_3) (F.L.door_3_cls_speed) (S.L.doorMaxSpeed_3) {endif} {endif} {endif} (L.L.vis_doortype_m) 2 = {if} (C.L.mdoor_acc_schwenk) (S.L.doorAcc_3) {else} (C.L.mdoor_acc) (S.L.doorAcc_3) {endif} (L.L.doorTarget_23) ! (L.L.doorSpeed_3) s0 abs 0.05 > (L.L.door_3) 0 > || && (L.L.doorEntriegelung_23) || {if} (L.L.door_3_hub) 0.8 > (L.L.vis_doortype_m) ! || (L.L.vis_doortype_m) 1 = || {if} l0 /-/ (L.L.doorMaxSpeed_3) < {if} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_3) (L.L.doorDragAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3) {else} (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3) {endif} {else} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_3) (L.L.doorDragAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3) {else} (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3) {endif} {endif} (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3) {endif} {else} (L.L.doorSpeed_3) abs 0.05 > (L.L.door_3) 1 < || (L.L.doorTarget_23) && (L.L.doorEntriegelung_23) || {if} (L.L.door_3_hub) 0.5 > (L.L.vis_doortype_m) ! || (L.L.vis_doortype_m) 1 = || {if} l0 (L.L.doorMaxSpeed_3) < {if} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_3) (L.L.doorDragAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3) {else} (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * + (S.L.doorSpeed_3) {endif} {else} (L.L.doorEntriegelung_23) {if} (L.L.doorSpeed_3) (L.L.doorDragAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3) {else} (L.L.doorSpeed_3) (L.L.doorAcc_3) (L.S.Timegap) * - (S.L.doorSpeed_3) {endif} {endif} (L.L.door_3) (L.L.doorSpeed_3) (L.S.Timegap) * + (S.L.door_3) {endif} {else} 0 (S.L.doorSpeed_3) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_3) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_3) {endif} (L.L.door_3) 1 > {if} (L.L.vis_doortype_m) ! {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitopen_3) {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitopen_3_schieb) {endif} {else} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitopen_3_schwenk) {endif} {endif} {endif} 1 (S.L.door_3) (L.L.doorSpeed_3) /-/ (L.L.doorRefl_3) * (S.L.doorSpeed_3) {else} (L.L.door_3) 0 < {if} (L.L.vis_doortype_m) ! {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitclose_3) {endif} {else} (L.L.vis_doortype_m) 1 = {if} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitclose_3_schieb) {endif} {else} (L.L.doorEntriegelung_23) ! {if} (T.L.ev_doorhitclose_3_schwenk) {endif} {endif} {endif} 0 (S.L.door_3) (L.L.doorSpeed_3) /-/ (L.L.doorRefl_3) * (S.L.doorSpeed_3) {endif} {endif} (L.L.door_3) (F.L.door_klappe) (S.L.door_3_klappe) (L.L.door_3) (F.L.door_stange) (S.L.door_3_stange) (L.L.door_3) (F.L.door_schiebe) (S.L.door_3_schiebe) (L.L.door_3) (F.L.door_trapez_h) (S.L.door_3_trapez) {end} '############################################################################################### ' Door Calc Türenpaar 3 '############################################################################################### {macro:Door4_Calc} (L.L.vis_doortype_h) 2 = {if} 'Hubverriegelung (L.L.doorTarget_45) (L.L.door_4_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_4_hub) (C.L.door_4_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_4_hub) {else} (L.L.doorTarget_45) ! (L.L.door_4_hub) && (L.L.door_4) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_4_hub) (C.L.door_4_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_4_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_45) (L.L.doorEntriegelung_45) || {if} (L.L.doorTarget_45) {if} (L.L.vis_doortype_h) 1 = {if} (L.L.door_4) (F.L.door_4_opn_speed_schiebe) (S.L.doorMaxSpeed_4) {else} (L.L.vis_doortype_h) 2 = {if} (L.L.door_4) (F.L.door_4_opn_speed_schwenk) (S.L.doorMaxSpeed_4) {else} (L.L.door_4) (F.L.door_4_opn_speed) (S.L.doorMaxSpeed_4) {endif} {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.door_4) (F.L.door_4_cls_speed_schiebe) (S.L.doorMaxSpeed_4) {else} (L.L.vis_doortype_h) 2 = {if} (L.L.door_4) (F.L.door_4_cls_speed_schwenk) (S.L.doorMaxSpeed_4) {else} (L.L.door_4) (F.L.door_4_cls_speed) (S.L.doorMaxSpeed_4) {endif} {endif} {endif} (L.L.vis_doortype_h) 2 = {if} (C.L.bdoor_acc_schwenk) (S.L.doorAcc_4) {else} (C.L.bdoor_acc) (S.L.doorAcc_4) {endif} (L.L.doorTarget_45) ! (L.L.doorSpeed_4) s0 abs 0.05 > (L.L.door_4) 0 > || && (L.L.doorEntriegelung_45) || {if} (L.L.door_4_hub) 0.8 > (L.L.vis_doortype_h) ! || (L.L.vis_doortype_h) 1 = || {if} (L.L.tuer3_piep_antirepeat) 1 + (S.L.tuer3_piep_antirepeat) 1 = {if} (L.L.vis_doortype_h) ! {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doortriggerclose_4) {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doortriggerclose_4_schieb) {endif} {else} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doortriggerclose_4_schwenk) {endif} {endif} {endif} {endif} l0 /-/ (L.L.doorMaxSpeed_4) < {if} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_4) (L.L.doorDragAcc_4) (L.S.Timegap) * - (S.L.doorSpeed_4) {else} (L.L.doorSpeed_4) (L.L.doorAcc_4) (L.S.Timegap) * - (S.L.doorSpeed_4) {endif} {else} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_4) (L.L.doorDragAcc_4) (L.S.Timegap) * + (S.L.doorSpeed_4) {else} (L.L.doorSpeed_4) (L.L.doorAcc_4) (L.S.Timegap) * + (S.L.doorSpeed_4) {endif} {endif} (L.L.door_4) (L.L.doorSpeed_4) (L.S.Timegap) * + (S.L.door_4) {endif} {else} 0 (S.L.tuer3_piep_antirepeat) (L.L.doorSpeed_4) abs 0.05 > (L.L.door_4) 1 < || (L.L.doorTarget_45) && (L.L.doorEntriegelung_45) || {if} (L.L.door_4_hub) 0.5 > (L.L.vis_doortype_h) ! || (L.L.vis_doortype_h) 1 = || {if} l0 (L.L.doorMaxSpeed_4) < {if} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_4) (L.L.doorDragAcc_4) (L.S.Timegap) * + (S.L.doorSpeed_4) {else} (L.L.doorSpeed_4) (L.L.doorAcc_4) (L.S.Timegap) * + (S.L.doorSpeed_4) {endif} {else} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_4) (L.L.doorDragAcc_4) (L.S.Timegap) * - (S.L.doorSpeed_4) {else} (L.L.doorSpeed_4) (L.L.doorAcc_4) (L.S.Timegap) * - (S.L.doorSpeed_4) {endif} {endif} (L.L.door_4) (L.L.doorSpeed_4) (L.S.Timegap) * + (S.L.door_4) {endif} {else} 0 (S.L.doorSpeed_4) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_4) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_4) {endif} (L.L.door_4) 1 > {if} (L.L.vis_doortype_h) ! {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitopen_4) {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitopen_4_schieb) {endif} {else} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitopen_4_schwenk) {endif} {endif} {endif} 1 (S.L.door_4) (L.L.doorSpeed_4) /-/ (L.L.doorRefl_4) * (S.L.doorSpeed_4) {else} (L.L.door_4) 0 < {if} (L.L.vis_doortype_h) ! {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitclose_4) {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitclose_4_schieb) {endif} {else} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitclose_4_schwenk) {endif} {endif} {endif} 0 (S.L.door_4) (L.L.doorSpeed_4) /-/ (L.L.doorRefl_4) * (S.L.doorSpeed_4) {endif} {endif} (L.L.door_4) (F.L.door_klappe) (S.L.door_4_klappe) (L.L.door_4) (F.L.door_stange) (S.L.door_4_stange) (L.L.door_4) (F.L.door_schiebe) (S.L.door_4_schiebe) (L.L.door_4) (F.L.door_trapez_v) (S.L.door_4_trapez) {end} {macro:Door5_Calc} (L.L.vis_doortype_h) 2 = {if} 'Hubverriegelung (L.L.doorTarget_45) (L.L.door_5_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_5_hub) (C.L.door_5_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_5_hub) {else} (L.L.doorTarget_45) ! (L.L.door_5_hub) && (L.L.door_5) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_5_hub) (C.L.door_5_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_5_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_45) (L.L.doorEntriegelung_45) || {if} (L.L.doorTarget_45) {if} (L.L.vis_doortype_h) 1 = {if} (L.L.door_5) (F.L.door_5_opn_speed_schiebe) (S.L.doorMaxSpeed_5) {else} (L.L.vis_doortype_h) 2 = {if} (L.L.door_5) (F.L.door_5_opn_speed_schwenk) (S.L.doorMaxSpeed_5) {else} (L.L.door_5) (F.L.door_5_opn_speed) (S.L.doorMaxSpeed_5) {endif} {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.door_5) (F.L.door_5_cls_speed_schiebe) (S.L.doorMaxSpeed_5) {else} (L.L.vis_doortype_h) 2 = {if} (L.L.door_5) (F.L.door_5_cls_speed_schwenk) (S.L.doorMaxSpeed_5) {else} (L.L.door_5) (F.L.door_5_cls_speed) (S.L.doorMaxSpeed_5) {endif} {endif} {endif} (L.L.vis_doortype_h) 2 = {if} (C.L.bdoor_acc_schwenk) (S.L.doorAcc_5) {else} (C.L.bdoor_acc) (S.L.doorAcc_5) {endif} (L.L.doorTarget_45) ! (L.L.doorSpeed_5) s0 abs 0.05 > (L.L.door_5) 0 > || && (L.L.doorEntriegelung_45) || {if} (L.L.door_5_hub) 0.8 > (L.L.vis_doortype_h) ! || (L.L.vis_doortype_h) 1 = || {if} l0 /-/ (L.L.doorMaxSpeed_5) < {if} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_5) (L.L.doorDragAcc_5) (L.S.Timegap) * - (S.L.doorSpeed_5) {else} (L.L.doorSpeed_5) (L.L.doorAcc_5) (L.S.Timegap) * - (S.L.doorSpeed_5) {endif} {else} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_5) (L.L.doorDragAcc_5) (L.S.Timegap) * + (S.L.doorSpeed_5) {else} (L.L.doorSpeed_5) (L.L.doorAcc_5) (L.S.Timegap) * + (S.L.doorSpeed_5) {endif} {endif} (L.L.door_5) (L.L.doorSpeed_5) (L.S.Timegap) * + (S.L.door_5) {endif} {else} (L.L.doorSpeed_5) abs 0.05 > (L.L.door_5) 1 < || (L.L.doorTarget_45) && (L.L.doorEntriegelung_45) || {if} (L.L.door_5_hub) 0.5 > (L.L.vis_doortype_h) ! || (L.L.vis_doortype_h) 1 = || {if} l0 (L.L.doorMaxSpeed_5) < {if} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_5) (L.L.doorDragAcc_5) (L.S.Timegap) * + (S.L.doorSpeed_5) {else} (L.L.doorSpeed_5) (L.L.doorAcc_5) (L.S.Timegap) * + (S.L.doorSpeed_5) {endif} {else} (L.L.doorEntriegelung_45) {if} (L.L.doorSpeed_5) (L.L.doorDragAcc_5) (L.S.Timegap) * - (S.L.doorSpeed_5) {else} (L.L.doorSpeed_5) (L.L.doorAcc_5) (L.S.Timegap) * - (S.L.doorSpeed_5) {endif} {endif} (L.L.door_5) (L.L.doorSpeed_5) (L.S.Timegap) * + (S.L.door_5) {endif} {else} 0 (S.L.doorSpeed_5) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_5) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_5) {endif} (L.L.door_5) 1 > {if} (L.L.vis_doortype_H) ! {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitopen_5) {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitopen_5_schieb) {endif} {else} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitopen_5_schwenk) {endif} {endif} {endif} 1 (S.L.door_5) (L.L.doorSpeed_5) /-/ (L.L.doorRefl_5) * (S.L.doorSpeed_5) {else} (L.L.door_5) 0 < {if} (L.L.vis_doortype_H) ! {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitclose_5) {endif} {else} (L.L.vis_doortype_h) 1 = {if} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitclose_5_schieb) {endif} {else} (L.L.doorEntriegelung_45) ! {if} (T.L.ev_doorhitclose_5_schwenk) {endif} {endif} {endif} 0 (S.L.door_5) (L.L.doorSpeed_5) /-/ (L.L.doorRefl_5) * (S.L.doorSpeed_5) {endif} {endif} (L.L.door_5) (F.L.door_klappe) (S.L.door_5_klappe) (L.L.door_5) (F.L.door_stange) (S.L.door_5_stange) (L.L.door_5) (F.L.door_schiebe) (S.L.door_5_schiebe) (L.L.door_5) (F.L.door_trapez_h) (S.L.door_5_trapez) {end} '############################################################################################### ' Door Calc Türenpaar 4 '############################################################################################### {macro:Door6_Calc} (L.L.vis_doortype_gh) 2 = {if} 'Hubverriegelung (L.L.doorTarget_67) (L.L.door_6_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_6_hub) (C.L.door_6_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_6_hub) {else} (L.L.doorTarget_67) ! (L.L.door_6_hub) && (L.L.door_6) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_6_hub) (C.L.door_6_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_6_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_67) (L.L.doorEntriegelung_67) || {if} (L.L.doorTarget_67) {if} (L.L.vis_doortype_gh) 1 = {if} (L.L.door_6) (F.L.door_6_opn_speed_schiebe) (S.L.doorMaxSpeed_6) {else} (L.L.vis_doortype_gh) 2 = {if} (L.L.door_6) (F.L.door_6_opn_speed_schwenk) (S.L.doorMaxSpeed_6) {else} (L.L.door_6) (F.L.door_6_opn_speed) (S.L.doorMaxSpeed_6) {endif} {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.door_6) (F.L.door_6_cls_speed_schiebe) (S.L.doorMaxSpeed_6) {else} (L.L.vis_doortype_gh) 2 = {if} (L.L.door_6) (F.L.door_6_cls_speed_schwenk) (S.L.doorMaxSpeed_6) {else} (L.L.door_6) (F.L.door_6_cls_speed) (S.L.doorMaxSpeed_6) {endif} {endif} {endif} (L.L.vis_doortype_gh) 2 = {if} (C.L.bdoor2_acc_schwenk) (S.L.doorAcc_6) {else} (C.L.bdoor2_acc) (S.L.doorAcc_6) {endif} (L.L.doorTarget_67) ! (L.L.doorSpeed_6) s0 abs 0.05 > (L.L.door_6) 0 > || && (L.L.doorEntriegelung_67) || {if} (L.L.door_6_hub) 0.8 > (L.L.vis_doortype_gh) ! || (L.L.vis_doortype_gh) 1 = || {if} (L.L.tuer4_piep_antirepeat) 1 + (S.L.tuer4_piep_antirepeat) 1 = {if} (L.L.vis_doortype_gh) ! {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doortriggerclose_6) {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doortriggerclose_6_schieb) {endif} {else} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doortriggerclose_6_schwenk) {endif} {endif} {endif} {endif} l0 /-/ (L.L.doorMaxSpeed_6) < {if} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_6) (L.L.doorDragAcc_6) (L.S.Timegap) * - (S.L.doorSpeed_6) {else} (L.L.doorSpeed_6) (L.L.doorAcc_6) (L.S.Timegap) * - (S.L.doorSpeed_6) {endif} {else} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_6) (L.L.doorDragAcc_6) (L.S.Timegap) * + (S.L.doorSpeed_6) {else} (L.L.doorSpeed_6) (L.L.doorAcc_6) (L.S.Timegap) * + (S.L.doorSpeed_6) {endif} {endif} (L.L.door_6) (L.L.doorSpeed_6) (L.S.Timegap) * + (S.L.door_6) {endif} {else} 0 (S.L.tuer4_piep_antirepeat) (L.L.doorSpeed_6) abs 0.05 > (L.L.door_6) 1 < || (L.L.doorTarget_67) && (L.L.doorEntriegelung_67) || {if} (L.L.door_6_hub) 0.5 > (L.L.vis_doortype_gh) ! || (L.L.vis_doortype_gh) 1 = || {if} l0 (L.L.doorMaxSpeed_6) < {if} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_6) (L.L.doorDragAcc_6) (L.S.Timegap) * + (S.L.doorSpeed_6) {else} (L.L.doorSpeed_6) (L.L.doorAcc_6) (L.S.Timegap) * + (S.L.doorSpeed_6) {endif} {else} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_6) (L.L.doorDragAcc_6) (L.S.Timegap) * - (S.L.doorSpeed_6) {else} (L.L.doorSpeed_6) (L.L.doorAcc_6) (L.S.Timegap) * - (S.L.doorSpeed_6) {endif} {endif} (L.L.door_6) (L.L.doorSpeed_6) (L.S.Timegap) * + (S.L.door_6) {endif} {else} 0 (S.L.doorSpeed_6) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_6) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_6) {endif} (L.L.door_6) 1 > {if} (L.L.vis_doortype_gh) ! {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitopen_6) {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitopen_6_schieb) {endif} {else} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitopen_6_schwenk) {endif} {endif} {endif} 1 (S.L.door_6) (L.L.doorSpeed_6) /-/ (L.L.doorRefl_6) * (S.L.doorSpeed_6) {else} (L.L.door_6) 0 < {if} (L.L.vis_doortype_gh) ! {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitclose_6) {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitclose_6_schieb) {endif} {else} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitclose_6_schwenk) {endif} {endif} {endif} 0 (S.L.door_6) (L.L.doorSpeed_6) /-/ (L.L.doorRefl_6) * (S.L.doorSpeed_6) {endif} {endif} (L.L.door_6) (F.L.door_klappe) (S.L.door_6_klappe) (L.L.door_6) (F.L.door_stange) (S.L.door_6_stange) (L.L.door_6) (F.L.door_schiebe) (S.L.door_6_schiebe) (L.L.door_6) (F.L.door_trapez_v) (S.L.door_6_trapez) {end} {macro:Door7_Calc} (L.L.vis_doortype_gh) 2 = {if} 'Hubverriegelung (L.L.doorTarget_67) (L.L.door_7_hub) 1 <= && {if} 'Volllaufen lassen über Timegap, Entriegelung (L.L.door_7_hub) (C.L.door_7_hub_speed) 5 / (L.S.Timegap) * + 1 min (S.L.door_7_hub) {else} (L.L.doorTarget_67) ! (L.L.door_7_hub) && (L.L.door_7) ! && {if} 'Volllaufen lassen über Timegap, Verriegelung (L.L.door_7_hub) (C.L.door_7_hub_speed) 5 / (L.S.Timegap) * - 0 max (S.L.door_7_hub) {endif} {endif} {endif} (L.L.doorEntriegelung_doorActive_67) (L.L.doorEntriegelung_67) || {if} (L.L.doorTarget_67) {if} (L.L.vis_doortype_gh) 1 = {if} (L.L.door_7) (F.L.door_7_opn_speed_schiebe) (S.L.doorMaxSpeed_7) {else} (L.L.vis_doortype_gh) 2 = {if} (L.L.door_7) (F.L.door_7_opn_speed_schwenk) (S.L.doorMaxSpeed_7) {else} (L.L.door_7) (F.L.door_5_opn_speed) (S.L.doorMaxSpeed_7) {endif} {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.door_7) (F.L.door_7_cls_speed_schiebe) (S.L.doorMaxSpeed_7) {else} (L.L.vis_doortype_gh) 2 = {if} (L.L.door_7) (F.L.door_7_cls_speed_schwenk) (S.L.doorMaxSpeed_7) {else} (L.L.door_7) (F.L.door_7_cls_speed) (S.L.doorMaxSpeed_7) {endif} {endif} {endif} (L.L.vis_doortype_gh) 2 = {if} (C.L.bdoor2_acc_schwenk) (S.L.doorAcc_7) {else} (C.L.bdoor2_acc) (S.L.doorAcc_7) {endif} (L.L.doorTarget_67) ! (L.L.doorSpeed_7) s0 abs 0.05 > (L.L.door_7) 0 > || && (L.L.doorEntriegelung_67) || {if} (L.L.door_7_hub) 0.8 > (L.L.vis_doortype_gh) ! || (L.L.vis_doortype_gh) 1 = || {if} l0 /-/ (L.L.doorMaxSpeed_7) < {if} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_7) (L.L.doorDragAcc_7) (L.S.Timegap) * - (S.L.doorSpeed_7) {else} (L.L.doorSpeed_7) (L.L.doorAcc_7) (L.S.Timegap) * - (S.L.doorSpeed_7) {endif} {else} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_7) (L.L.doorDragAcc_7) (L.S.Timegap) * + (S.L.doorSpeed_7) {else} (L.L.doorSpeed_7) (L.L.doorAcc_7) (L.S.Timegap) * + (S.L.doorSpeed_7) {endif} {endif} (L.L.door_7) (L.L.doorSpeed_7) (L.S.Timegap) * + (S.L.door_7) {endif} {else} (L.L.doorSpeed_7) abs 0.05 > (L.L.door_7) 1 < || (L.L.doorTarget_67) && (L.L.doorEntriegelung_67) || {if} (L.L.door_7_hub) 0.5 > (L.L.vis_doortype_gh) ! || (L.L.vis_doortype_gh) 1 = || {if} l0 (L.L.doorMaxSpeed_7) < {if} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_7) (L.L.doorDragAcc_7) (L.S.Timegap) * + (S.L.doorSpeed_7) {else} (L.L.doorSpeed_7) (L.L.doorAcc_7) (L.S.Timegap) * + (S.L.doorSpeed_7) {endif} {else} (L.L.doorEntriegelung_67) {if} (L.L.doorSpeed_7) (L.L.doorDragAcc_7) (L.S.Timegap) * - (S.L.doorSpeed_7) {else} (L.L.doorSpeed_7) (L.L.doorAcc_7) (L.S.Timegap) * - (S.L.doorSpeed_7) {endif} {endif} (L.L.door_7) (L.L.doorSpeed_7) (L.S.Timegap) * + (S.L.door_7) {endif} {else} 0 (S.L.doorSpeed_7) {endif} {endif} (L.L.elec_busbar_Rinv_summe) (L.L.doorSpeed_7) abs (C.L.door_Rinv) * + (S.L.elec_busbar_Rinv_summe) {else} 0 (S.L.doorSpeed_7) {endif} (L.L.door_7) 1 > {if} (L.L.vis_doortype_gh) ! {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitopen_7) {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitopen_7_schieb) {endif} {else} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitopen_7_schwenk) {endif} {endif} {endif} 1 (S.L.door_7) (L.L.doorSpeed_7) /-/ (L.L.doorRefl_7) * (S.L.doorSpeed_7) {else} (L.L.door_7) 0 < {if} (L.L.vis_doortype_gh) ! {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitclose_7) {endif} {else} (L.L.vis_doortype_gh) 1 = {if} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitclose_7_schieb) {endif} {else} (L.L.doorEntriegelung_67) ! {if} (T.L.ev_doorhitclose_7_schwenk) {endif} {endif} {endif} 0 (S.L.door_7) (L.L.doorSpeed_7) /-/ (L.L.doorRefl_7) * (S.L.doorSpeed_7) {endif} {endif} (L.L.door_7) (F.L.door_klappe) (S.L.door_7_klappe) (L.L.door_7) (F.L.door_stange) (S.L.door_7_stange) (L.L.door_7) (F.L.door_schiebe) (S.L.door_7_schiebe) (L.L.door_7) (F.L.door_trapez_h) (S.L.door_7_trapez) {end} '############################################################################################### {macro:trg_bus_doorfront0} (L.L.doorEntriegelung_E_active_01) (C.L.electric_doors) && ! (L.L.doorEntriegelung_01) || {if} (L.L.doorTarget_0) ! (S.L.doorTarget_0) {if} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_0) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_0_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_0_schwenk) {endif} {endif} {endif} {else} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggerclose_0) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggerclose_0_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggerclose_0_schwenk) {endif} {endif} {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 1 (S.L.doorEntriegelung_doorActive_01) {endif} {end} {macro:trg_bus_doorfront1} (L.L.doorEntriegelung_E_active_01) (C.L.electric_doors) && ! (L.L.doorEntriegelung_01) || {if} (L.L.doorTarget_1) ! (S.L.doorTarget_1) {if} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_1) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_1_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggeropen_1_schwenk) {endif} {endif} {endif} {else} (L.L.vis_doortype_v) ! {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggerclose_1) {endif} {else} (L.L.vis_doortype_v) 1 = {if} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggerclose_1_schieb) {endif} {else} (L.L.doorEntriegelung_01) ! {if} (T.L.ev_doortriggerclose_1_schwenk) {endif} {endif} {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 1 (S.L.doorEntriegelung_doorActive_01) {endif} {end} {macro:trg_bus_dooraft23} (L.L.doorEntriegelung_E_active_23) (C.L.electric_doors) && ! (L.L.doorEntriegelung_23) || {if} (L.L.doorTarget_23_delayed) ! (S.L.doorTarget_23_delayed) {if} (L.L.doorEntriegelung_23) ! {if} (L.L.vis_doortype_m) ! {if} (T.L.ev_doortriggeropen_2) {else} (L.L.vis_doortype_m) 1 = {if} (T.L.ev_doortriggeropen_2_schieb) {else} (T.L.ev_doortriggeropen_2_schwenk) {endif} {endif} {endif} {else} (L.L.door_2) 1 = (L.L.door_3) 1 = || {if} (L.L.vis_doorwarn) {if} (T.L.ev_doorwarn) {endif} {else} (L.L.doorEntriegelung_23) ! {if} (L.L.vis_doortype_m) ! {if} (T.L.ev_doortriggerclose_2) {else} (L.L.vis_doortype_m) 1 = {if} (T.L.ev_doortriggerclose_2_schieb) {else} (T.L.ev_doortriggerclose_2_schwenk) {endif} {endif} {endif} {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 1 (S.L.doorEntriegelung_doorActive_23) {endif} {end} {macro:trg_bus_dooraft45} (L.L.doorEntriegelung_E_active_45) (C.L.electric_doors) && ! (L.L.doorEntriegelung_45) || {if} (L.L.doorTarget_45_delayed) ! (S.L.doorTarget_45_delayed) {if} (L.L.doorEntriegelung_45) ! {if} (L.L.vis_doortype_h) ! {if} (T.L.ev_doortriggeropen_4) {else} (L.L.vis_doortype_h) 1 = {if} (T.L.ev_doortriggeropen_4_schieb) {else} (T.L.ev_doortriggeropen_4_schwenk) {endif} {endif} {endif} {else} (L.L.door_4) 1 = (L.L.door_5) 1 = || {if} (L.L.vis_doorwarn) {if} (T.L.ev_doorwarn2) {endif} {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 1 (S.L.doorEntriegelung_doorActive_45) {endif} {end} {macro:trg_bus_dooraft67} (L.L.doorEntriegelung_E_active_67) (C.L.electric_doors) && ! (L.L.doorEntriegelung_67) || {if} (L.L.doorTarget_67_delayed) ! (S.L.doorTarget_67_delayed) {if} (L.L.doorEntriegelung_67) ! {if} (L.L.vis_doortype_gh) ! {if} (T.L.ev_doortriggeropen_6) {else} (L.L.vis_doortype_gh) 1 = {if} (T.L.ev_doortriggeropen_6_schieb) {else} (T.L.ev_doortriggeropen_6_schwenk) {endif} {endif} {endif} {else} (L.L.door_6) 1 = (L.L.door_7) 1 = || {if} (L.L.vis_doorwarn) {if} (T.L.ev_doorwarn3) {endif} {endif} {endif} (L.L.bremse_p_Tank04) 100000 - 0.94 * 100000 + (S.L.bremse_p_Tank04) 1 (S.L.doorEntriegelung_doorActive_67) {endif} {end} {macro:manual_stopbrake_release} (L.L.door_20h_sw) ! (L.L.door_hstbremse_knickschutz) ! && (L.L.kneel_timer) ! && (L.L.door_0) ! && (L.L.door_1) ! && (L.L.door_2) ! && (L.L.door_3) ! && (L.L.door_4) ! && (L.L.door_5) ! && (L.L.bremse_halte) && (L.L.throttle) 0.05 > && {if} 0 (S.L.bremse_halte) (T.L.ev_haltebremse_aus) {endif} {end} {macro:trg_bus_dooraft} (L.L.bremse_halte_sw) ! (S.L.bremse_halte_sw) {end} {macro:trg_bus_20h-switch} (L.L.door_20h_sw) ! (S.L.door_20h_sw) (L.L.door_20h_sw) {if} (T.L.ev_haltebremse_sw_an) {else} (T.L.ev_haltebremse_sw_aus) {endif} {end} {macro:traegheit} 'Simuliert träges Verhalten (exponentiell) 'Ladekonventionen: ' Sollwert l0 ' Istwert l1 ' Konstante Anlauf l2 (Einheiten/s) ' Konstante Ablauf l3 (Einheiten/s) 'Anlauf oder Auslauf? l0 l1 > {if} l2 (L.S.Timegap) * 1 min -1 max s4 {else} l3 (L.S.Timegap) * 1 min -1 max s4 {endif} 'Sollwert: l0 'Istwert: l1 'Beschleunigung: - l4 * 'Addition zum Istwert: l1 + s1 {end}