'############## 'Getriebe-Script '############## 'ZF Friedrichshafen ZF Ecomat l/ll Getriebe '(c) 2008-2010 Rüdiger Hülsmann '(c) 2014 Edit by Morphi 'Script Version: 1.0 'Omsi release: 1.0 'Needs: '- engine '- bremse 'Revision History: '- Rüdiger Hülsmann 13.04.2009 Neutralstellung mit anderer Zeitverzögerung '- Rüdiger Hülsmann 04.06.2009 Verzögertes Einsetzen des Retarders '- Marcel Kuhnt 13.06.2009 Removed Gearbox switches to cockpit script '- Marcel Kuhnt 09.08.2009 Added Gearbox Failure '- Rüdiger Hülsmann 09.10.2009 Rework for improved flexibility: Support for D.2/3-gearbox via config file ' Functions added: Automatic neutral, retarder in 1st gear '- Rüdiger Hülsmann 29.10.2009 Retarder bug removed '- Rüdiger Hülsmann 16.09.2010 Reverse gear torque reduction '- Rüdiger Hülsmann 14.10.2010 Downshift 3-2 added '- Rüdiger Hülsmann 13.12.2010 Gearshift procedures debugged, smooth retarder fadeout, dynamic shifting moment '- Rüdiger Hülsmann 27.12.2010 Retarder fadeout debugged '- Rüdiger Hülsmann 01.01.2011 Retarder linked to ABS '- Rüdiger Hülsmann 04.01.2011 Reverse only below 5 km/h '---------------------- ' Init '---------------------- {macro:antrieb_init} 1 (S.L.antrieb_getr_gangwahl) (S.L.antrieb_getr_gangvorwahl) 1 (S.L.antrieb_getr_aktugang) 1 (S.L.engine_M_restriction) (L.S.Weather_Temperature) (S.L.antrieb_temperature) 0 (S.L.antrieb_wandler_moment) {end} '---------------------- ' Frame '---------------------- {macro:antrieb_frame} ' Getriebetemperatur (L.L.antrieb_temperature) s0 (F.L.em_temp_loss) s7 l0 (L.L.antrieb_retardermoment) /-/ 400000 / + s0 (L.L.antrieb_getr_M_an) s1 0 > {if} l0 l1 60000 / + s0 {endif} l0 (L.L.antrieb_kickdown) 300 / + (L.L.engine_n) 7000000 / + (L.L.antrieb_n_kardanwelle) 500000 / + s0 (L.S.Weather_Temperature) - s1 l0 l1 7000 / - l7 500 / - (S.L.antrieb_temperature) s0 (F.L.em_temp_eff) (S.L.em_temp_eff) l0 (F.L.em_getriebeoel_smoke) (S.L.em_getriebeoel_smoke) (L.L.antrieb_getr_aktugang) 0 >= (L.L.antrieb_getr_aktugang) 2 <= && (L.L.antrieb_getr_gangwahl) 1 <= || {if} (M.L.drehmomentsperre_gang1) {endif} (C.L.wandler_lockmode) 1 = (C.L.wandler_lockmode) 2 < (L.L.throttle) (C.L.wandler_lockup) < && || (L.L.antrieb_kickdown) 0 = && {if} (C.L.antrieb_getr_autoSwUpMaxSpd1) 270 + (S.L.Schaltpunkt_streckung) {else} (C.L.antrieb_getr_autoSwUpMaxSpd1) (S.L.Schaltpunkt_streckung) {endif} 'Failsafe für Abwürgen des Motors bei bedrohlicher Drehzahl (L.L.engine_n) 400 < {if} 0 (S.L.antrieb_getr_aktugang) {endif} 'Berechnen der Abtriebsdrehzahl (L.L.Wheel_RotationSpeed_1_L) (L.L.Wheel_RotationSpeed_1_R) + 2 / (C.L.antrieb_i_achse) * (S.L.antrieb_n_kardanwelle) 'Schaltpunktdynamik - Getriebe reagiert damit nun unterschiedlich auf die Pedalstellung (L.L.throttle) 0.90 > (C.L.Getriebemodus) 2 = || {if} (L.L.throttle_internb) (L.S.Timegap) 1 * + 1 min (S.L.throttle_internb) 1 = {if} 1.1 (S.L.shift_dynamics_high) {endif} {else} (L.L.throttle_internb) (L.S.Timegap) 1 * - 0 max (S.L.throttle_internb) 0 = {if} 1 (S.L.shift_dynamics_high) {endif} {endif} (L.L.throttle) 0.1 > (L.L.throttle) 0.80 < && (C.L.Getriebemodus) 1 = || {if} (L.L.throttle_intern) (L.S.Timegap) 1 * + 1 min (S.L.throttle_intern) 1 = {if} 0.9 (S.L.shift_dynamics_low) {endif} {else} (L.L.throttle_intern) (L.S.Timegap) 1 * - 0 max (S.L.throttle_intern) 0 = {if} 1 (S.L.shift_dynamics_low) {endif} {endif} 'Einlegen der Fahrstufe (L.S.GetTime) (L.L.antrieb_getr_gangwahlzeitpunkt) - (C.L.antrieb_gangwahlzeit) > (L.L.antrieb_getr_gangvorwahl) (L.L.antrieb_getr_gangwahl) = ! && (L.L.antrieb_failure_general) ! && {if} (L.L.antrieb_getr_gangwahl) 1 = {if} (L.L.engine_on) 1 = {if} (L.L.engine_n) (S.L.antrieb_rucksoundvol) (C.L.antrieb_kuppl_M_dn_min) (S.L.antrieb_schaltmoment_soll) (L.L.antrieb_getr_gangvorwahl) 1 > {if} (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd3) > {if} 3 (S.L.antrieb_getr_aktugang) (T.L.ev_schaltruck) {else} (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd2) > {if} 2 (S.L.antrieb_getr_aktugang) (T.L.ev_schaltruck) {else} 1 (S.L.antrieb_getr_aktugang) 0 (S.L.antrieb_gear_engaged_timer) (T.L.ev_schaltruck) {endif} {endif} {else} (L.L.velocity) 5 < {if} 1 (S.L.antrieb_getr_aktugang) 0 (S.L.antrieb_gear_engaged_timer) (T.L.ev_schaltruck) {endif} {endif} {endif} {endif} (L.L.antrieb_getr_gangvorwahl) (S.L.antrieb_getr_gangwahl) {endif} 'Gang rausnehmen, wenn Neutral angefordert (L.L.antrieb_getr_gangwahl) 1 = {if} 0 (S.L.antrieb_getr_aktugang) {endif} 'Verhindern, dass der Rückwärtsgang oberhalb von 5 km/h eingelegt werden kann (L.L.antrieb_getr_gangvorwahl) 0 = (L.L.velocity) 5 >= && {if} 1 (S.L.antrieb_getr_gangwahl) {endif} 'Prüfen, ob Gang gewechselt wird - aber nur, wenn Getriebe heil ist: (L.L.antrieb_failure_general) ! {if} (M.L.antrieb_getr_chkNxtGear) {endif} 'Berechnung des aktuellen Motordrehmoments: (M.L.engine_moment) (L.L.throttle) 0 = {if} 500 (S.L.schaltzeit) {else} 3000 (S.L.schaltzeit) {endif} 'Berechnung des dynamischen Schaltmoments (L.L.antrieb_getr_fest) ! {if} (L.L.antrieb_schaltmoment) (L.S.Timegap) (L.L.schaltzeit) * + (L.L.antrieb_schaltmoment_soll) min (S.L.antrieb_schaltmoment) {endif} 'Fallunterscheidung, ob Getriebe reibt oder wandelt oder nicht: (L.L.antrieb_getr_fest) {if} '################################################################################# ' Berechnung der Beschleunigung des Antriebsstrangs (am Motorflansch) '################################################################################# (L.L.n_Wheel) (L.L.antrieb_getr_ratio) * (L.L.engine_n) - 2 * pi * 60 / (L.S.Timegap) / ' Berechnung des Momentes am Motor durch Trägheit: (C.L.engine_J) * s0 ' Berechnung des vom Antriebsstrang durchgeleiteten Momentes l0 /-/ (L.L.engine_M) (L.L.engine_M_additional_load) - + s1 ' Wenn das Antriebsmoment zu groß ist oder ein Wandlergang eingelegt wird, rutscht die Kupplung durch: l1 abs (L.L.antrieb_schaltmoment) > (L.L.antrieb_getr_gangwahl) 1 <= || (L.L.antrieb_getr_aktugang) 1 = || {if} 0 (S.L.antrieb_getr_fest) {else} ' Setzen des Momentes l1 (S.L.antrieb_getr_M_an) ' Berechnung des Getriebeabtriebmomentes: (L.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel) ' Drehzahl des Motors ergibt sich aus der Getriebeabtriebswelle: (L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (S.L.engine_n) {endif} 0 (S.L.antrieb_wandler_moment) {else} '################################################################################# ' Bestimmen, ob Leerlauf ist...: '################################################################################# (L.L.antrieb_getr_gangwahl) 1 = (L.L.antrieb_getr_aktugang) 0 = || {if} ' ... Antriebs- und Getriebeantriebsmoment sind 0: 0 (S.L.M_Wheel) (S.L.antrieb_getr_M_an) (M.L.engine_acceleration) 0 (S.L.antrieb_wandler_moment) ' Wenn Neutralgang beim Bremsen eingelegt wird (L.L.antrieb_getr_gangwahl) 1 = {if} 0 (S.L.antrieb_retarder_wasrunning) (S.L.antrieb_gear_engaged_timer) 0 (S.L.nbs_fade) {endif} {else} '################################################################################# ' Bestimmen, ob ein Wandlergang eingelegt ist...: '################################################################################# (L.L.antrieb_getr_aktugang) 1 = (L.L.antrieb_getr_aktugang) 8 = || {if} (L.L.antrieb_wandler_moment) abs (L.L.antrieb_getr_M_an) abs > {if} (L.L.antrieb_wandler_moment) 0 > {if} (L.L.antrieb_getr_M_an) (C.L.antrieb_wandler_fillrate) (L.S.Timegap) * + (S.L.antrieb_getr_M_an) (L.L.antrieb_wandler_moment) (L.L.antrieb_getr_M_an) < {if} (L.L.antrieb_wandler_moment) (S.L.antrieb_getr_M_an) {endif} {else} (L.L.antrieb_getr_M_an) (C.L.antrieb_wandler_fillrate) (L.S.Timegap) * - (S.L.antrieb_getr_M_an) (L.L.antrieb_wandler_moment) (L.L.antrieb_getr_M_an) > {if} (L.L.antrieb_wandler_moment) (S.L.antrieb_getr_M_an) {endif} {endif} {else} (L.L.antrieb_wandler_moment) (S.L.antrieb_getr_M_an) {endif} '################################################################################# ' Wandler Rückwärtsgang: '################################################################################# (L.L.antrieb_getr_gangwahl) 0 = {if} (L.L.antrieb_n_kardanwelle) 2 * (S.L.antrieb_getr_n_ab) /-/ (L.L.engine_n) / (S.L.antrieb_wandler_ny) ' Berechnung des Motor-Antriebsmomentes (L.L.engine_n) 2 * 3.14 * 60 / (L.L.engine_n) 2 * 3.14 * 60 / * s1 0.0042 (L.L.antrieb_wandler_ny) (F.L.antrieb_wandler_lambda) * l1 * (L.L.engine_n) (F.L.antrieb_wandler_lowrpmsoftness) * (S.L.antrieb_wandler_moment) ' Berechnung des Rad-Abtriebsmomentes (L.L.antrieb_wandler_ny) (F.L.antrieb_wandler_my) (L.L.antrieb_getr_M_an) * (C.L.antrieb_i_achse) * 0.9 * /-/ (L.L.engine_n) (F.L.antrieb_wandler_lowrpmsoftness) * (C.L.gear_efficiency) * (L.L.antrieb_n_kardanwelle) (F.L.antrieb_reverse_torque_reduction) * (S.L.M_Wheel) '################################################################################# ' Wandler Vorwärtsgang: '################################################################################# {else} (L.L.n_Wheel) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_n_ab) (L.L.engine_n) / (S.L.antrieb_wandler_ny) (L.L.antrieb_wandler_ny) 0.7 < {if} ' Berechnung des Motor-Antriebsmomentes (L.L.engine_n) 2 * 3.14 * 60 / (L.L.engine_n) 2 * 3.14 * 60 / * s1 0.0042 (L.L.antrieb_wandler_ny) (F.L.antrieb_wandler_lambda) * l1 * (L.L.engine_n) (F.L.antrieb_wandler_lowrpmsoftness) * (S.L.antrieb_wandler_moment) ' Berechnung des Rad-Abtriebsmomentes (L.L.antrieb_wandler_ny) (F.L.antrieb_wandler_my) (L.L.antrieb_getr_M_an) * (C.L.antrieb_i_achse) * 0.77 * (L.L.engine_n) (F.L.antrieb_wandler_lowrpmsoftness) * (C.L.gear_efficiency) * (S.L.M_Wheel) {else} ' Berechnung des Motor-Antriebsmomentes (L.L.engine_n) (L.L.antrieb_getr_n_ab) / (S.L.antrieb_wandler_ny_r) (L.L.engine_n) 2 * 3.14 * 60 / (L.L.engine_n) 2 * 3.14 * 60 / * s1 0.0042 (L.L.antrieb_wandler_ny_r) (F.L.antrieb_wandler_lambda_r) * l1 * (L.L.engine_n) (F.L.antrieb_wandler_lowrpmsoftness) * (S.L.antrieb_wandler_moment) ' Berechnung des Rad-Abtriebsmomentes (L.L.antrieb_wandler_ny_r) (F.L.antrieb_wandler_my_r) (L.L.antrieb_getr_M_an) * (C.L.antrieb_i_achse) * 0.77 * (L.L.engine_n) (F.L.antrieb_wandler_lowrpmsoftness) * (C.L.gear_efficiency) * (S.L.M_Wheel) {endif} {endif} ' Vergleich der Ein- und Ausgangsleistungen: (L.L.M_Wheel) (L.L.n_Wheel) * 3.14 * 30000 / (S.L.antrieb_gesamtleistung) (L.L.antrieb_gesamtleistung) (L.L.antrieb_motorleistung) / (S.L.antrieb_eta) (M.L.engine_acceleration) '################################################################################# ' Sonst ist ein normaler Gang eingelegt: '################################################################################# {else} ' Berechnung der Drehzahldifferenz: (L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (L.L.engine_n) - s0 ' An dieser Stelle muss ggf. noch das unterschiedliche Kupplungsmoment eingesetzt werden: l0 0 < {if} (L.L.antrieb_schaltmoment) {else} (L.L.antrieb_schaltmoment) /-/ {endif} (S.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel) (M.L.engine_acceleration) ' Prüfen, ob sich das Vorzeichen der Drehzahldifferenz umgekehrt hat: (L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (L.L.engine_n) - l0 * 0 <= (L.L.engine_n) 560 > && {if} (L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (S.L.engine_n) (L.L.n_Wheel) (L.L.antrieb_getr_ratio) * (L.L.engine_n) - 2 * pi * 60 / (L.S.Timegap) / ' Berechnung des Momentes am Motor durch Trägheit: (C.L.engine_J) * s0 ' Berechnung des vom Antriebsstrang durchgeleiteten Momentes l0 /-/ (L.L.engine_M) (L.L.engine_M_additional_load) - + (S.L.antrieb_getr_M_an) ' Berechnung des Getriebeabtriebmomentes: (L.L.antrieb_getr_M_an) abs (L.L.antrieb_schaltmoment) abs < {if} (L.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel) 1 (S.L.antrieb_getr_fest) (C.L.antrieb_kuppl_M_up_max) (S.L.antrieb_schaltmoment) {else} (L.L.antrieb_schaltmoment) /-/ (S.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel) {endif} {endif} 0 (S.L.antrieb_wandler_moment) {endif} {endif} {endif} '################################################################################# ' Retarder '################################################################################# (L.L.brake) 0.01 > (L.L.cp_retarder1_targeton) ! && (L.L.cp_retarder2_targeton) || (L.L.antrieb_getr_gangwahl) 1 > && (L.L.Throttle) 0.1 < && (L.L.antrieb_n_kardanwelle) 0.1 > && (L.L.antrieb_failure_general) ! && (L.L.bremse_ABS_eingriff) ! && (L.L.antrieb_temperature) 150 <= && (L.L.vdv_display_gelb_retarder) ! && {if} (L.L.antrieb_retarder_armed) ! {if} 1 (S.L.antrieb_retarder_armed) 0 (S.L.antrieb_retarder_armtime_elapsed) {endif} ' Das Hochschalten aus dem 1. Gang (Antriebsstrang nicht fest eingekuppelt) zählt nicht zur Latenzzeit, solange also Armtime auf 0 halten: (L.L.antrieb_getr_fest) ! (L.L.antrieb_retarder) ! && {if} 0 (S.L.antrieb_retarder_armtime_elapsed) {endif} (L.L.antrieb_n_kardanwelle) (C.L.retarder_min_einschaltspeed) > (L.L.antrieb_retarder_armtime_elapsed) (C.L.antrieb_retarder_startdelay) > && (L.L.antrieb_retarder) ! && {if} 1 (S.L.antrieb_retarder) 0 (S.L.antrieb_retarder_time_elapsed) {endif} (L.L.cp_retarder2_targeton) {if} 2 (S.L.antrieb_retarderstufe) {else} 1 (S.L.antrieb_retarderstufe) {endif} 'Verhaltensweise des Retarders beim Erreichen der Drehzahluntergrenze im 2. Gang: (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd2) < (L.L.antrieb_retarder) 1 = && {if} (C.L.antrieb_getr_version) s0 1 = l0 3 = || {if} 0 (S.L.antrieb_retarder) (S.L.antrieb_wendesatz) (L.L.engine_n) (S.L.antrieb_rucksoundvol) (T.L.ev_schaltruck) {else} 0 (S.L.antrieb_getr_aktugang) {endif} {endif} (L.L.antrieb_retarder_armed) {if} (L.L.antrieb_retarder_armtime_elapsed) (L.S.Timegap) + (S.L.antrieb_retarder_armtime_elapsed) (L.L.antrieb_retarder_time_elapsed) (L.S.Timegap) + (S.L.antrieb_retarder_time_elapsed) {endif} ' Ausschalten des Retarders: {else} (L.L.antrieb_retarder) (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd2) < && {if} 0 (S.L.antrieb_retarder_offtime) (S.L.antrieb_wendesatz) 1 (S.L.antrieb_retarder_wasrunning) {endif} 0 (S.L.antrieb_retarder) (S.L.antrieb_retarder_armed) (S.L.antrieb_retarder_armtime_elapsed) (S.L.antrieb_retarder_time_elapsed) {endif} 'Umschaltverzögerung zwischen Bremsen und Traktion: (L.L.antrieb_retarder_wasrunning) {if} (L.L.antrieb_retarder_offtime) (L.S.Timegap) + (S.L.antrieb_retarder_offtime) (C.L.antrieb_retarder_changetime) > (L.L.antrieb_getr_gangwahl) 1 > && {if} (T.L.ev_retarder_aus) '3424 soll hier laut rucken! (L.$.number) "3424" $= {if} 900 {else} (L.L.engine_n) {endif} (S.L.antrieb_rucksoundvol) (T.L.ev_schaltruck) 1 (S.L.antrieb_getr_aktugang) 0 (S.L.antrieb_retarder_wasrunning) (S.L.antrieb_gear_engaged_timer) {endif} {endif} 'Bremsmoment des Retarders: (L.L.antrieb_retarder) 1 = {if} (L.L.antrieb_retarderstufe) 1 = {if} (L.L.antrieb_n_kardanwelle) 29.3 / (F.L.retarder_stufe1) 0.7 * (C.L.antrieb_i_achse) /-/ * (L.L.antrieb_retarder_time_elapsed) (F.L.retarder_fadein) * (S.L.antrieb_retardermoment) (L.L.M_Wheel) + (S.L.M_Wheel) {else} (L.L.antrieb_retarderstufe) 2 = {if} (L.L.antrieb_retardermoment) (L.S.Timegap) 10000 * - s1 (L.L.antrieb_n_kardanwelle) 29.3 / (F.L.retarder_stufe2) 0.7 * (C.L.antrieb_i_achse) /-/ * (L.L.antrieb_retarder_time_elapsed) (F.L.retarder_fadein) * s2 l1 l2 max (S.L.antrieb_retardermoment) (L.L.M_Wheel) + (S.L.M_Wheel) {else} (L.L.antrieb_retarderstufe) 3 = {if} (L.L.antrieb_retardermoment) (L.S.Timegap) 10000 * - s1 (L.L.antrieb_n_kardanwelle) 29.3 / (F.L.retarder_stufe3) 0.7 * (C.L.antrieb_i_achse) /-/ * (L.L.antrieb_retarder_time_elapsed) (F.L.retarder_fadein) * s2 l1 l2 max (S.L.antrieb_retardermoment) (L.L.M_Wheel) + (S.L.M_Wheel) {endif} {endif} {endif} {else} ' Ausfaden der Retarder-Bremsstärke (L.L.antrieb_retardermoment) (L.S.Timegap) 10000 * + 0 min (S.L.antrieb_retardermoment) (L.L.M_Wheel) + (S.L.M_Wheel) (L.L.antrieb_retarder_volume) (L.S.Timegap) 2 * - 0 max (S.L.antrieb_retarder_volume) s0 l0 0 = {if} 0 (S.L.antrieb_wendesatz) {endif} {endif} '################################################################################# ' Automatische Neutralschaltung bei Stillstand '################################################################################# (C.L.antrieb_getr_version) 1 > {if} (L.L.antrieb_gear_engaged_timer) (L.S.Timegap) + (S.L.antrieb_gear_engaged_timer) (L.L.antrieb_n_kardanwelle) (C.L.antrieb_neutral_maxspeed) < (L.L.antrieb_getr_gangwahl) 1 > && (L.L.antrieb_retarder) ! && (L.L.antrieb_retarder_wasrunning) ! && {if} (L.L.bremse_p_Brzyl_HA) (C.L.antrieb_neutral_brakepressure) > {if} (L.L.antrieb_neutral_requested) ! {if} 1 (S.L.antrieb_neutral_requested) (C.L.antrieb_getr_version) 2 = ! (C.L.antrieb_getr_version) 2 = (L.L.antrieb_gear_engaged_timer) (C.L.antrieb_gear_engaged_mintime) < && || {if} 0 (S.L.antrieb_gear_engaged_timer) {endif} {endif} (L.L.antrieb_neutral_requested) (L.L.antrieb_gear_engaged_timer) (C.L.antrieb_gear_engaged_mintime) >= && {if} 0 (S.L.antrieb_getr_aktugang) 0 (S.L.schaltverzoegerung) (L.L.nbs_fade) (L.S.timegap) 0.5 * + (S.L.nbs_fade) {endif} {else} 1 (S.L.antrieb_getr_aktugang) 0 (S.L.antrieb_neutral_requested) (S.L.antrieb_gear_engaged_timer) 0 (S.L.nbs_fade) {endif} {endif} {endif} '################################################################################# ' Planetengetriebe-Wendesatz (Fjü-Sound) '################################################################################# (L.L.antrieb_retarder) (L.L.antrieb_getr_gangwahl) 0 = || {if} 1 (S.L.antrieb_wendesatz) (S.L.antrieb_retarder_volume) ' Rücksetzen auf 0 erfolgt beim Fadeout des Retarderbremsmoments {endif} {end} '################################################################################# ' Bestimmung der Schaltgeschwindigkeiten '################################################################################# {macro:antrieb_getr_chkNxtGear} ' Höchster Gang: s0! ' Verzögerung der Kickdown-Schaltung: (C.L.kickdown_enable) 1 = (L.L.cp_notloese_EMR) ! && (L.L.antrieb_failure_general) ! && (L.L.antrieb_EMR_failure) ! && (L.L.elec_failure_general) ! && (L.L.antrieb_temperature) 150 <= && {if} (L.L.throttle) 1 = (L.L.antrieb_getr_gangwahl) 4 = || {if} (L.L.antrieb_kickdown_stellglied) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_kickdown_stellglied) 1 = {if} 1 (S.L.antrieb_kickdown) {endif} {else} (L.L.antrieb_kickdown_stellglied) (L.S.Timegap) 1 * - 0 max (S.L.antrieb_kickdown_stellglied) 0 = {if} 0 (S.L.antrieb_kickdown) {endif} {endif} {endif} ' Verzögerung der gaspedalabhängigen Schaltschwelle: (L.L.throttle) (L.L.antrieb_throttle_stellglied) > {if} (L.L.antrieb_throttle_stellglied) (L.S.Timegap) 1 * + (L.L.throttle) min (S.L.antrieb_throttle_stellglied) {else} (L.L.antrieb_throttle_stellglied) (L.S.Timegap) 0.5 * - (L.L.throttle) max (S.L.antrieb_throttle_stellglied) {endif} ' Berechnen der aktuellen Beschleunigung: (L.L.Velocity) (L.L.antrieb_last_geschwindigkeit) - 3.6 / (L.S.Timegap) / (S.L.antrieb_beschleunigung) (L.L.Velocity) (S.L.antrieb_last_geschwindigkeit) (L.L.antrieb_getr_gangwahl) 0 = {if} {else} (L.L.antrieb_getr_gangwahl) 1 = {if} {else} (L.L.antrieb_getr_gangwahl) 2 = {if} (L.L.antrieb_retarder_armed) 0 = {if} 1 s0 {else} 2 s0 {endif} {else} (L.L.antrieb_getr_gangwahl) 3 = {if} 2 s0 {else} 3 s0 {endif} {else} (L.L.antrieb_getr_gangwahl) 4 = {if} 3 s0 {else} 4 s0 {endif} {else} (L.L.antrieb_getr_gangwahl) 5 = {if} 4 s0 {else} 5 s0 {endif} {else} (L.L.antrieb_getr_gangwahl) 6 = {if} 5 s0 {else} 6 s0 {endif} {else} (L.L.antrieb_getr_gangwahl) 7 = {if} 6 s0 {else} 7 s0 {endif} {else} (L.L.antrieb_getr_gangwahl) 8 = {if} 3 s0 {else} 4 s0 {endif} {endif} (L.L.antrieb_getr_aktugang) s1 ' 1.Gang ungeschlossen 1 = {if} (C.L.antrieb_getr_ratio1) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) (C.L.Getriebemodus) 2 = || {if} (C.L.antrieb_getr_autoSwUpkickdnSpd1) s3 s4 (M.L.drehmomentsperre_gang1) (M.L.sound_fade) (M.L.schaltverzug) {else} (L.L.Schaltpunkt_streckung) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (L.L.Schaltpunkt_streckung) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang1) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 2 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && {if} (M.L.wandler_entscheidung1) (M.L.antrieb_getr_schaltmoment) (C.L.sperrwirkung_gang1fest) * (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) 0 (S.L.schaltverzoegerung) {endif} {endif} '1.Gang geschlossen l1 2 = {if} (C.L.antrieb_getr_ratio2) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) (C.L.Getriebemodus) 2 = || {if} (C.L.antrieb_getr_autoSwUpkickdnSpd2) s3 s4 (M.L.drehmomentsperre_gang1fest) (M.L.sound_fade) (M.L.schaltverzug) {else} (C.L.antrieb_getr_autoSwUpMinSpd2) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwUpMaxSpd2) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang1fest) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwUpkickdnSpd2) > || (L.L.antrieb_getr_gangwahl) 2 > && {if} (M.L.wandler_entscheidung) (M.L.antrieb_getr_schaltmoment) (C.L.sperrwirkung_gang2fest) * (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (M.L.kickdown_gang1) 0 (S.L.schaltverzoegerung) {endif} (L.L.antrieb_kickdown) l0 1 = || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd2) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd2) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd2) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > (L.L.antrieb_retarder_armed) ! && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd2) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * < || {if} 1 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_downshift2) 0 (S.L.schaltverzoegerung) {endif} {endif} '2.Gang geschlossen l1 3 = {if} (C.L.antrieb_getr_ratio3) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) {if} (C.L.antrieb_getr_autoSwUpkickdnSpd3) s3 s4 (M.L.drehmomentsperre_gang2fest) (M.L.sound_fade) (M.L.schaltverzug) {else} (C.L.antrieb_getr_autoSwUpMinSpd3) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwUpMaxSpd3) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang2fest) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwUpkickdnSpd3) > || (L.L.antrieb_getr_gangwahl) 3 > && {if} 4 (S.L.antrieb_getr_aktugang) (M.L.antrieb_getr_schaltmoment) (C.L.sperrwirkung_gang3) * (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (M.L.kickdown_gang2) 0 (S.L.schaltverzoegerung) {endif} (L.L.antrieb_kickdown) l0 1 = || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd3) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd3) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd3) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > (L.L.antrieb_retarder_armed) ! && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd3) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * < || {if} 8 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_downshift3) 0 (S.L.schaltverzoegerung) {endif} {endif} '3.Gang l1 4 = {if} (C.L.antrieb_getr_ratio4) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) {if} (C.L.antrieb_getr_autoSwUpkickdnSpd4) s3 s4 (M.L.drehmomentsperre_gang3) (M.L.sound_fade) (M.L.schaltverzug) {else} (C.L.antrieb_getr_autoSwUpMinSpd4) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwUpMaxSpd4) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang3) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwUpkickdnSpd4) > || (L.L.antrieb_getr_gangwahl) 4 > && {if} 5 (S.L.antrieb_getr_aktugang) (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (M.L.kickdown_gang3) 0 (S.L.schaltverzoegerung) {endif} (L.L.antrieb_kickdown) l0 1 = || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd4) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd4) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd4) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > (L.L.antrieb_retarder_armed) ! && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd4) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * < || {if} 8 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_downshift4) 0 (S.L.schaltverzoegerung) {endif} {endif} '4.Gang l1 5 = {if} (C.L.antrieb_getr_ratio5) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) {if} (C.L.antrieb_getr_autoSwUpkickdnSpd5) s3 s4 (M.L.drehmomentsperre_gang4) (M.L.sound_fade) (M.L.schaltverzug) {else} (C.L.antrieb_getr_autoSwUpMinSpd5) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwUpMaxSpd5) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang4) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwUpkickdnSpd5) > || {if} 6 (S.L.antrieb_getr_aktugang) (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_upshift5) 0 (S.L.schaltverzoegerung) {endif} (L.L.antrieb_kickdown) l0 1 = || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd5) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd5) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd5) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > (L.L.antrieb_retarder_armed) ! && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd5) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * < || {if} 4 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_downshift5) 0 (S.L.schaltverzoegerung) {endif} {endif} '5.Gang l1 6 = {if} (C.L.antrieb_getr_ratio6) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) {if} (C.L.antrieb_getr_autoSwUpkickdnSpd6) s3 s4 (M.L.drehmomentsperre_gang5) (M.L.sound_fade) (M.L.schaltverzug) {else} (C.L.antrieb_getr_autoSwUpMinSpd6) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwUpMaxSpd6) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang5) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwUpkickdnSpd6) > || {if} 7 (S.L.antrieb_getr_aktugang) (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_upshift6) 0 (S.L.schaltverzoegerung) {endif} (L.L.antrieb_kickdown) l0 1 = || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd6) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd6) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd6) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > (L.L.antrieb_retarder_armed) ! && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd6) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * < || {if} 5 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_downshift6) 0 (S.L.schaltverzoegerung) {endif} {endif} '6.Gang l1 7 = {if} (C.L.antrieb_getr_ratio7) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) l0 2 <= || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd7) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd7) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd7) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > {if} 6 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) (T.L.ev_gear_downshift7) 0 (S.L.schaltverzoegerung) {endif} {endif} '2.Gang nicht geschlossen (Runterschaltung) l1 8 = {if} (C.L.antrieb_getr_ratio3) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio) (L.L.antrieb_kickdown) {if} (C.L.antrieb_getr_autoSwUpkickdnSpd3w) s3 s4 (M.L.drehmomentsperre_gang2) (M.L.sound_fade) (M.L.schaltverzug) {else} (C.L.antrieb_getr_autoSwUpMinSpd3w) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwUpMaxSpd3w) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.drehmomentsperre_gang2) (M.L.sound_fade) (M.L.schaltverzug) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > && (L.L.schaltverzoegerung) 1 > && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwUpkickdnSpd3w) > (L.L.throttle) 0 = && || {if} 3 (S.L.antrieb_getr_aktugang) (M.L.antrieb_getr_schaltmoment) (C.L.sperrwirkung_gang2fest) * (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) 0 (S.L.schaltverzoegerung) (T.L.ev_gear_upshift2w) {endif} (L.L.antrieb_kickdown) l0 1 = || {if} (C.L.antrieb_getr_autoSwDnkickdnSpd2w) s3 s4 (M.L.sound_fade) {else} (C.L.antrieb_getr_autoSwDnMinSpd2w) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s4 (C.L.antrieb_getr_autoSwDnMaxSpd2w) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * s3 (M.L.sound_fade) {endif} (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) > (L.L.antrieb_retarder_armed) ! && (L.L.antrieb_n_kardanwelle) (C.L.antrieb_getr_autoSwDnMinSpd2w) (L.L.shift_dynamics_high) * (L.L.shift_dynamics_low) * < || {if} 1 (S.L.antrieb_getr_aktugang) (C.L.antrieb_kuppl_M_dn_max) (S.L.antrieb_schaltmoment_soll) 250 (S.L.antrieb_schaltmoment) 0 (S.L.sound_fadein) 0 (S.L.schaltverzoegerung) (T.L.ev_gear_downshift3) {endif} {endif} {endif} {endif} ' Testweise: Differenzialdrehzahlpfeifen (L.L.engine_n) (L.L.antrieb_n_kardanwelle) 2 * - (S.L.antrieb_n_differenz) {end} {macro:antrieb_getr_chkCh} ' Berechnung der aktuellen Hochschaltschwelle: (l3 = bei Vollgas, l4 = bei Leergas) (L.L.antrieb_throttle_stellglied) s2 l3 * 1 l2 - l4 * + {end} {macro:antrieb_getr_schaltmoment} (L.L.throttle) 0 > (L.L.antrieb_kickdown) 0 = && {if} (L.L.throttle) (C.L.antrieb_kuppl_M_up_max) * {else} (C.L.antrieb_kuppl_M_up_max) 0.9 * {endif} {end} {macro:drehmomentsperre_gang1} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang1) > {if} (C.L.sperrwirkung_gang1) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:drehmomentsperre_gang1fest} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang1fest) > {if} (C.L.sperrwirkung_gang1fest) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:drehmomentsperre_gang2} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang2) > {if} (C.L.sperrwirkung_gang2) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:drehmomentsperre_gang2fest} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang2fest) > {if} (C.L.sperrwirkung_gang2fest) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:drehmomentsperre_gang3} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang3) > {if} (C.L.sperrwirkung_gang3) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:drehmomentsperre_gang4} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang4) > {if} (C.L.sperrwirkung_gang4) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:drehmomentsperre_gang5} (C.L.engine_drehmomentsperre) 1 = {if} (L.L.throttle) (C.L.drehmomentbegrenzung_gang5) > {if} (C.L.sperrwirkung_gang5) (S.L.engine_M_restriction) {else} 1 (S.L.engine_M_restriction) {endif} {else} 1 (S.L.engine_M_restriction) {endif} {end} {macro:sound_fade} (L.L.sound_fadein) (L.S.timegap) + (S.L.sound_fadein) {end} {macro:wandler_entscheidung1} (C.L.wandler_lockmode) 1 = (C.L.wandler_lockmode) 2 < (L.L.throttle) (C.L.wandler_lockup) < && || (L.L.antrieb_kickdown) 0 = && {if} 8 (S.L.antrieb_getr_aktugang) (T.L.ev_gear_upshift1) {else} 2 (S.L.antrieb_getr_aktugang) {endif} {end} {macro:wandler_entscheidung} (L.L.throttle) 0.95 >= (C.L.wandler_lockmode) 2 = || (L.L.antrieb_kickdown) 0 = && {if} 3 (S.L.antrieb_getr_aktugang) {else} 8 (S.L.antrieb_getr_aktugang) (L.L.antrieb_kickdown) 0 = {if} (T.L.ev_gear_upshift1) {endif} {endif} {end} {macro:kickdown_gang1} (L.L.antrieb_kickdown) 1 = (C.L.Getriebemodus) 2 = || {if} (T.L.ev_gear_upshift2_kickdown) {else} (L.L.throttle) 0.95 >= (C.L.wandler_lockmode) 2 = || {if} (T.L.ev_gear_upshift2) {endif} {endif} {end} {macro:kickdown_gang2} (L.L.antrieb_kickdown) 1 = {if} (T.L.ev_gear_upshift3_kickdown) {else} (T.L.ev_gear_upshift3) {endif} {end} {macro:kickdown_gang3} (L.L.antrieb_kickdown) 1 = {if} (T.L.ev_gear_upshift4_kickdown) {else} (T.L.ev_gear_upshift4) {endif} {end} {macro:schaltverzug} (L.L.throttle) 0 > {if} (L.L.schaltverzoegerung) (L.S.Timegap) + (S.L.schaltverzoegerung) {else} 0 (S.L.schaltverzoegerung) {endif} {end}