ehem. OMSI - Forum

Dieses Forum wurde geschlossen. Das neue Forum befindet sich auf www.omnibussimulator.de/forum !
 
StartseiteStartseite  FAQFAQ  SuchenSuchen  MitgliederMitglieder  NutzergruppenNutzergruppen  AnmeldenAnmelden  LoginLogin  

Teilen | 
 

 [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0

Nach unten 
Gehe zu Seite : 1, 2, 3, 4, 5  Weiter
AutorNachricht
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   So 27 März - 16:08

DOWNLOAD (Version 3.2.0): mediafire.com ?w4nun7b4tpet1ao


Zuletzt von poweredbycng am Mo 27 Jun - 11:44 bearbeitet; insgesamt 38-mal bearbeitet
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   So 27 März - 16:41

I have done a voith 4 speed transmission, I advise you to take a look, no idea how to do the partial throttling between gears though, if you done that already, then wow! It would be nice if you could simulate a turbocharger as well... I have released Engine mod last week which simulated the torque curve from that of an Cummins ISL, but the bus lunches way too fast to prototype, i just deemed the mod as just an alpha of a engine mod.

http://www.philadelphiatransitvehicles.info/OMSI/D851-4speed-1-1.rar
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   So 27 März - 17:38

Hi there,

The key with modern engines is that the engine management system will limit the output torque of the engine upon acceleration under certain conditions. Modern rigid buses have power ratings in excess of 200kW with correspondingly high torque outputs but not all of this torque is available all the time.

In order to prevent harsh acceleration from a standstill, it is necessary to artificially lower the torque output at the low engine speed range. You will want to lower the torque from idle all the way up to the engine speed where maximum torque is reached, with particular emphasis between idle and 1000rpm where the turbocharger is least efficient.

In order to do this, the torque output is reduced (compared to the full-load torque curve of the actual engine) by an increasing amout as you get into the lower engine speeds. This achieves the desired effect of gentler acceleration at low RPM to simulate the lack of efficiency of the turbocharger. Naturally aspirated engines will often provide stronger net acceleration at low RPM because there is no interia of a turbine to overcome.
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   So 27 März - 18:48

poweredbycng schrieb:
Hi there,

The key with modern engines is that the engine management system will limit the output torque of the engine upon acceleration under certain conditions. Modern rigid buses have power ratings in excess of 200kW with correspondingly high torque outputs but not all of this torque is available all the time.

In order to prevent harsh acceleration from a standstill, it is necessary to artificially lower the torque output at the low engine speed range. You will want to lower the torque from idle all the way up to the engine speed where maximum torque is reached, with particular emphasis between idle and 1000rpm where the turbocharger is least efficient.

In order to do this, the torque output is reduced (compared to the full-load torque curve of the actual engine) by an increasing amout as you get into the lower engine speeds. This achieves the desired effect of gentler acceleration at low RPM to simulate the lack of efficiency of the turbocharger. Naturally aspirated engines will often provide stronger net acceleration at low RPM because there is no interia of a turbine to overcome.
That is usually what I do, but when you have a torque converter in the 1st gear, it suddenly bust the horsepower up, moding a turbocharger on its own interia pattern would be best...That way the sound of the turbocharger could be attached to the value...
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mo 28 März - 3:35

UPDATE

Engine calibration finalised. Maximum power of the simulated D2866 LUH engine (on paper) is 191kW (260 PS) @ 1900rpm and maximum torque is 1050Nm (774 ft-lb) @ 1000-1400rpm.

I detuned the engine from idle to 1400rpm to simulate the lower efficiency of the turbocharger below this mapped speed.

Now I am in the process of calibrating the 4-speed transmission. Gearchanges will be at even lower engine speeds than for the standard SD92.

Because of the taller final drive ratio, the top speed of the resultant vehicle is very high. I'm yet to try and find a way of keeping this top speed 'in check'. The ideal governed maximum road speed is about 95km/h.
Nach oben Nach unten
Benutzerprofil anzeigen
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mo 28 März - 9:48

Version 1.0 RELEASED.

Features
* Minor transmission tweaks (shorter 1st gear and longer 2nd gear when kickdown is activated)
* MAN D2866 LUH Euro III engine with 260 PS and realistic turbocharger response

Known issues
* Retarder noise is approximately one octave too low - can't be fixed (?)

To do
* Add 4th gear to convert the gearbox to a D864.3E
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mo 28 März - 12:08

Nice!
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mo 28 März - 13:17

On further testing, I have decided to torque restrict the entire performance curve. The mid range is simply too strong at 1050Nm in the OMSI Simulator and does not simulate the actual performance of this engine in real life.

Releasing coming soon.
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mo 28 März - 15:03

Well if you want to restrict the torque in first gear, the easiest way of doing that is open up the antrieb_constfile_D86.txt, look for the

Code:
[newcurve]
antrieb_wandler_lambda

[pnt]
-2
50

[pnt]
0
8.5

[pnt]
0.5
3.1

[pnt]
0.7
0

[newcurve]
antrieb_wandler_my

[pnt]
0
5
4.65

[pnt]
0.6
1.4

[pnt]
0.7
0


Where [Pnt] is, the first value is apparently the percentage in decimal form of the direct drive (1:1)
Tweak only the second values below the [pnt], for example, 8.5, 3.1, 0 etc.. you can reduce these values down by half or 25% to simulate the torque restriction in 1st gear. The antrieb_wandler_lambda defines what OMSI does with the torque converter on the transmission. These values may simply multiple the engine torque. The first value only goes up to 0.7, my guess is that the range is only 70% of the rear end rear ratio of 5.74, top speed on a direct drive (1:1) is 72 kph, so 70% of 72 = 50km/h.

With antrieb_wandler_my, you may need to reduce those second values down by half as well.

If I were to know the script, then the best way is to script it out to reduce torque in both the first and second gears of the bus.


Zuletzt von krtz07 am Di 29 März - 18:45 bearbeitet; insgesamt 1-mal bearbeitet
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Di 29 März - 3:03

^ Thanks for that. I'll take a look when I have some spare time.

I'm actually pretty happy with the way my mod has turned out. The performance is improved in the mid-range without making acceleration at the low range too harsh.
Nach oben Nach unten
Benutzerprofil anzeigen
baumi



Anzahl der Beiträge : 159
Anmeldedatum : 15.03.11
Alter : 40
Ort : 'detten

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Di 29 März - 4:43

Sounds interesting,but will it replace all the old D92?
Nach oben Nach unten
Benutzerprofil anzeigen
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Di 29 März - 5:06

No. If you copy the files over to your SD202 directory, you will find that another separate variant will be added.
Nach oben Nach unten
Benutzerprofil anzeigen
fredrik.v



Anzahl der Beiträge : 5
Anmeldedatum : 15.03.11

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Di 29 März - 17:16

poweredbycng schrieb:
No. If you copy the files over to your SD202 directory, you will find that another separate variant will be added.

The scripts are to be placed in the "Script" folder, right? The folder in your zip-file was named "Scripts" but I assumed that it was wrong and removed the "s".
Nach oben Nach unten
Benutzerprofil anzeigen
Gast
Gast



BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Di 29 März - 18:32


Just tried it, this is a really good mod. Feels powerful but realistic.

Cool

David.
Nach oben Nach unten
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mi 30 März - 15:42

RELEASED: Version 1.2

Changes:
* Modified gearshift points at maximum throttle without kickdown in preparation for the addition of an overdrive 4th gear
* Fine-tuned gearshift points at maximum throttle with kickdown
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Mi 30 März - 23:34

poweredbycng schrieb:
RELEASED: Version 1.2

Changes:
* Modified gearshift points at maximum throttle without kickdown in preparation for the addition of an overdrive 4th gear
* Fine-tuned gearshift points at maximum throttle with kickdown
Have updated the overdrive 4th gear script, fixed it so that transmission does not slip after downshifting out of 4th gear. Before, the transmission would slip extremely bad, now that has been corrected, also gave the final gear a retarder efficiency profile as well. Edit the intial torque converter multiple to 5.54, not too sure why the other value is used, but under the default engine, its initial acceleration is even more realistic.
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 3:40

Thanks.

I've added the 4th gear into the script files. I'm fine-tuning the calibration of the gearbox to the engine now. I'm having particular issues with lowering the upchange RPM without causing unwanted upshift roughness and am also trying to solve a conflict between minimum and maximum upshift/downshift speeds causing a constant upchanging and downchanging phenomenon in the game.
Nach oben Nach unten
Benutzerprofil anzeigen
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 13:00

RELEASED: Version 2.0

Changes:
* Added overdrive 4th gear (thanks to krtz07)
* Increased mid-range engine torque slightly
* Shortened the final drive ratio from 4.86:1 to 5.43:1 in order to allow better utilisation of the four forward gears

Known problems
* I'm not 100% happy with the calibration of the transmission. I am currently unable to calibrate an early upchange into 4th gear without it fighting with 3rd gear. Hopefully me and krtz07 can solve this issue soon.
* Kickdown from 4th gear into 3rd gear does not work as expected. Again, hopefully me and krtz07 can work together to sort this issue out soon.
Nach oben Nach unten
Benutzerprofil anzeigen
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 13:10

Current gearshift points:

1st to 2nd: 25km/h - 35km/h
2nd to 3rd: 35km/h - 51km/h
3rd to 4th: 71km/h - 73km/h

Desired gearshift points:

1st to 2nd: 25km/h - 35km/h
2nd to 3rd: 35km/h - 51km/h
3rd to 4th: 55km/h - 73km/h
Nach oben Nach unten
Benutzerprofil anzeigen
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 13:18

RELEASED: Version 2.1

Changes
* Fixed minor problem where the gearbox would hang onto 1st gear on kickdown and go straight into 3rd due to the kickdown upshift point of 1st to 2nd being too close to the normal upshift point from 2nd to 3rd
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 14:13

poweredbycng schrieb:
RELEASED: Version 2.1

Changes
* Fixed minor problem where the gearbox would hang onto 1st gear on kickdown and go straight into 3rd due to the kickdown upshift point of 1st to 2nd being too close to the normal upshift point from 2nd to 3rd

This script right here may do the trick, made changes to the kickdown procedure from 4 down to 3rd, let me know how it works out for you...

Code:
'##############
'Getriebe-Script
'##############

'D851-Gearbox 4 Speed

'(c) 2008-2010 Rüdiger Hülsmann

'Script Version: 1.3
'Omsi release: 1.1

'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
'- Kyle Ortiz          08.03.2011   Added Another Gear
'- Kyle Ortiz          21.03.2011   Fixed slippage bug on downshift from 4th to 3rd Gear
'- Kyle Ortiz          30.03.2011   Added Retarder Braking Characteristic to 4th Gear
'- Kyle Ortiz      30.03.2011   More Fine Turning



'----------------------
'   Init
'----------------------

{macro:antrieb_init}
   1 (S.L.antrieb_getr_gangwahl) (S.L.antrieb_getr_gangvorwahl)
   1 (S.L.antrieb_getr_aktugang)
   
   0 (S.L.antrieb_wandler_moment)
{end}

'----------------------
'   Frame
'----------------------

{macro:antrieb_frame}

'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)

'Einlegen der Fahrstufe Loading the gear

   (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)



'Berechnung des dynamischen Schaltmoments

   (L.L.antrieb_getr_fest) !
   {if}
      (L.L.antrieb_schaltmoment) (L.S.Timegap) 1000 * + (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)
'    Calculate the acceleration of the drive train (on 'the flange)
'#################################################################################


      (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...: Determine if idle ...:
'#################################################################################

      (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)
         {endif}

      {else}

'#################################################################################
'      Bestimmen, ob ein Wandlergang eingelegt ist...: Determine whether a converter gear is engaged
'#################################################################################

         (L.L.antrieb_getr_aktugang) 1 =
         {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: Reverse for Torque Conventer
'#################################################################################

            (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}




   (L.L.antrieb_getr_gangwahl) 2 = &&
   (L.L.Throttle) 1 < &&
   (L.L.antrieb_n_kardanwelle) 0.1 > &&
   {if}   
   (L.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * 20 * (S.L.M_Wheel)
{endif}



'#################################################################################
'   Retarder
'#################################################################################


   (L.L.brake) 0.01 >
   (L.L.antrieb_retarder_sw) &&
   (L.L.antrieb_retarder_sw_direkt) ||
   (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) ! &&
   {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.antrieb_retarder_sw_direkt)
      {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)
         {else}
         (L.L.antrieb_retarderstufe) 4 =
                        {if}   
            (L.L.antrieb_retardermoment) (L.S.Timegap) 10000 * - s1
            (L.L.antrieb_n_kardanwelle) 29.3 / (F.L.retarder_stufe4) 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}
      {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)
         {endif}

      {else}      
         1 (S.L.antrieb_getr_aktugang)
         0 (S.L.antrieb_neutral_requested) (S.L.antrieb_gear_engaged_timer)
      {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:

   (L.L.throttle) 1 =
   {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}

'   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}

   {endif}


         (L.L.antrieb_getr_aktugang) s1

         1 =
         {if}
            (C.L.antrieb_getr_ratio1) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)
            (L.L.antrieb_kickdown)
            {if}
               (C.L.antrieb_getr_autoSwUpkickdnSpd1) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwUpMinSpd1) s4
               (C.L.antrieb_getr_autoSwUpMaxSpd1) s3
            {endif}
      
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 2 >= && (L.L.antrieb_beschleunigung) 0 > &&
            {if}
               2 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_up_max) s6
               (C.L.antrieb_kuppl_M_up_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll)   (S.L.antrieb_schaltmoment)            
               (T.L.ev_gear_upshift2)
            {endif}

            (L.L.antrieb_getr_aktugang) 1 =
            (L.L.antrieb_getr_gangwahl) 1 > &&
            (L.L.antrieb_retarder_armed) 1 = &&
            (L.L.antrieb_n_kardanwelle) (C.L.retarder_min_einschaltspeed) > &&
            {if}
               2 (S.L.antrieb_getr_aktugang)
               300 (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment)
            {endif}
            
         {endif}
         l1 2 =
         {if}
            (C.L.antrieb_getr_ratio2) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)
            (L.L.antrieb_kickdown)
            {if}
               (C.L.antrieb_getr_autoSwUpkickdnSpd2) s3 s4
               
            {else}
               (C.L.antrieb_getr_autoSwUpMinSpd2) s4
               (C.L.antrieb_getr_autoSwUpMaxSpd2) s3
               
            {endif}
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > &&
            {if}
               3 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_up_max) s6
               (C.L.antrieb_kuppl_M_up_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment)
               (T.L.ev_gear_upshift3)         
            {endif}
            (L.L.antrieb_kickdown) l0 1 = ||
            {if}
               (C.L.antrieb_getr_autoSwDnkickdnSpd2) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwDnMinSpd2) s4
               (C.L.antrieb_getr_autoSwDnMaxSpd2) s3
            {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) < ||
            {if}
               1 (S.L.antrieb_getr_aktugang)
               0 (S.L.antrieb_schaltmoment)
            {endif}
            
         {endif}
'Add gear here
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
            {else}
               (C.L.antrieb_getr_autoSwUpMinSpd3) s4
               (C.L.antrieb_getr_autoSwUpMaxSpd3) s3
            {endif}
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > &&
            {if}
               4 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_up_max) s6
               (C.L.antrieb_kuppl_M_up_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment)
               (T.L.ev_gear_upshift3)         
            {endif}
            (L.L.antrieb_kickdown) l0 2 = ||
            {if}
               (C.L.antrieb_getr_autoSwDnkickdnSpd3) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwDnMinSpd3) s4
               (C.L.antrieb_getr_autoSwDnMaxSpd3) s3
            {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) < ||
            {if}
               2 (S.L.antrieb_getr_aktugang)
               0 (S.L.antrieb_schaltmoment)
            {endif}
         {endif}


'end add


         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_autoSwDnkickdnSpd4) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwDnMinSpd4) s4
               (C.L.antrieb_getr_autoSwDnMaxSpd4) s3
            {endif}
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >
            {if}
               3 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_dn_max) s6
               (C.L.antrieb_kuppl_M_dn_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll)
               0 (S.L.antrieb_schaltmoment)
               (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}
'   Berechnung des Schaltmomentes (l6 = bei Vollgas, l7 = bei Leergas)
   (L.L.antrieb_throttle_stellglied) s5 l6 * 1 l5 - l7 * +
{end}

{macro:engine_acceleration_limit}
'   Berechnung der Drehzahlbeschleunigung:
   (L.L.Throttle) 0.5 =

{end}


Back up the original script or create a new file for it and link it to the bus
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 14:24

krtz07 schrieb:
This script right here may do the trick, made changes to the kickdown procedure from 4 down to 3rd, let me know how it works out for you...

Hi there,

That's the exact script that I'm using right now.

Right now, I'm after a much earlier upshift into 4th gear at max throttle (55km/h instead of just over 70km/h) while maintaining a kickdown upchange into 4th at 73km/h. If you can assist me, I would be most grateful.
Nach oben Nach unten
Benutzerprofil anzeigen
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 14:26

poweredbycng schrieb:
krtz07 schrieb:
This script right here may do the trick, made changes to the kickdown procedure from 4 down to 3rd, let me know how it works out for you...

Hi there,

That's the exact script that I'm using right now.

Right now, I'm after a much earlier upshift into 4th gear at max throttle (55km/h instead of just over 70km/h) while maintaining a kickdown upchange into 4th at 73km/h. If you can assist me, I would be most grateful.
No it is not just updated it a few minutes ago...

Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
krtz07



Anzahl der Beiträge : 413
Anmeldedatum : 10.09.09
Alter : 32
Ort : Philadelphia PA

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 14:27

Also use these values for the consist file as well
antrieb_constfile_D92_turbo.txt
Code:


Getriebeversion:
1: Retarder nicht im 1. Gang, keine Neutralschaltung
2: Retarder im 1. Gang, Neutralschaltung
3: Retarder nicht im 1. Gang, Neutralschaltung
[const]
antrieb_getr_version
2

Zeit für den Wechsel zwischen Retarder und Traktion (nur bei Getriebeversion 2)
[const]
antrieb_retarder_changetime
0.6

Mindestzeit, die eingekuppelt sein muss, bevor Neutralschaltung greift
[const]
antrieb_gear_engaged_mintime
2

Geschwindigkeit, unterhalb der die Neutralschaltung greift
[const]
antrieb_neutral_maxspeed
70

Bremsdruck in Pa, ab dem Neutralschaltung greift
[const]
antrieb_neutral_brakepressure
170000

[const]
antrieb_kuppl_M_up_max
1100

[const]
antrieb_kuppl_M_up_min
400

[const]
antrieb_kuppl_M_dn_max
1100

[const]
antrieb_kuppl_M_dn_min
500

[const]
antrieb_getr_ratio1
1.36

[const]
antrieb_getr_ratio2
1.36

[const]
antrieb_getr_ratio3
1.0

[const]
antrieb_getr_ratio4
0.73

[const]
antrieb_i_achse
5.43


Die folgenden Werte beziehen sich auf die Drehzahl der Kardanwelle und sind somit unabhängig von Achsübersetzung und Reifengröße!
km/h zu Wellendrehzahl (Raddurchmesser=1.03, i_achse=5.74 =>Faktor 29.56

[const]
antrieb_getr_autoSwUpMinSpd1
690
710

[const]
antrieb_getr_autoSwUpMaxSpd1
700

[const]
antrieb_getr_autoSwUpkickdnSpd1
1025

[const]
antrieb_getr_autoSwDnMinSpd2
442

[const]
antrieb_getr_autoSwDnMaxSpd2
740

[const]
antrieb_getr_autoSwDnkickdnSpd2
1025.5

[const]
antrieb_getr_autoSwUpMinSpd2
1040
1300

[const]
antrieb_getr_autoSwUpMaxSpd2
1025
1300

[const]
antrieb_getr_autoSwUpkickdnSpd2
1550

[const]
antrieb_getr_autoSwDnMinSpd3
800

[const]
antrieb_getr_autoSwDnMaxSpd3
1040

[const]
antrieb_getr_autoSwDnkickdnSpd3
1408

[const]
antrieb_getr_autoSwUpMinSpd3
1560

[const]
antrieb_getr_autoSwUpMaxSpd3
1760

[const]
antrieb_getr_autoSwUpkickdnSpd3
2215

[const]
antrieb_getr_autoSwDnMinSpd4
1100

[const]
antrieb_getr_autoSwDnMaxSpd4
1540

[const]
antrieb_getr_autoSwDnkickdnSpd4
1891

[const]
antrieb_wandler_fillrate
1000

[const]
retarder_min_einschaltspeed
502

[const]
antrieb_retarder_startdelay
0.2

[newcurve]
retarder_stufe1
[pnt]
0
0
[pnt]
10
194
[pnt]
20
388
[pnt]
30
407
[pnt]
40
485
[pnt]
50
641
[pnt]
60
854
[pnt]
70
990
[pnt]
80
1165

[newcurve]
retarder_stufe2
[pnt]
0
0
[pnt]
10
291
[pnt]
20
582
[pnt]
30
874
[pnt]
40
1019
[pnt]
50
1165
[pnt]
60
1262
[pnt]
70
1359
[pnt]
80
1456

[newcurve]
retarder_stufe3
[pnt]
0
0
[pnt]
10
291
[pnt]
20
582
[pnt]
30
1068
[pnt]
40
1554
[pnt]
50
1845
[pnt]
60
1942
[pnt]
70
1991
[pnt]
80
2039

[newcurve]
retarder_stufe4
[pnt]
0
0
[pnt]
10
291
[pnt]
20
582
[pnt]
30
1068
[pnt]
40
1654
[pnt]
50
1845
[pnt]
60
2500
[pnt]
70
2747
[pnt]
80
2857

[const]
antrieb_gangwahlzeit
0.5

[const]
antrieb_neutralwahlzeit
0.1

[newcurve]
antrieb_wandler_lambda

[pnt]
-2
50

[pnt]
0
8.5

[pnt]
0.5
3.1

[pnt]
0.7
0

[newcurve]
antrieb_wandler_my

[pnt]
0
5
4.65

[pnt]
0.6
1.4

[pnt]
0.7
0


[newcurve]
antrieb_reverse_torque_reduction

[pnt]
-220
0

[pnt]
0
1



[newcurve]
antrieb_wandler_lambda_r

[pnt]
0.2
-12

[pnt]
0.5
-8

[pnt]
1
-4

[pnt]
1.42857
0


[newcurve]
antrieb_wandler_my_r

[pnt]
0.2
5

[pnt]
1.42857
0


[newcurve]
antrieb_wandler_lowrpmsoftness

[pnt]
0
0.4

[pnt]
1000
1



[newcurve]
retarder_fadein

[pnt]
0
0.5

[pnt]
0.4
1.5

[pnt]
0.6
1

[const]
gear_efficiency
0.95


'Actuator rate in 1/n per second (total range 0..1)

[const]
kickdown_stellglied_inc_rate
2

[const]
kickdown_stellglied_dec_rate
1

[const]
throttle_stellglied_inc_rate
1

[const]
throttle_stellglied_dec_rate
0.3

'minimum acceleration for upshift (m/s^2)

[const]
min_upshift_acceleration
-0.2











With this Script same as in the above post

antrieb_retro.osc

Code:


'##############
'Getriebe-Script
'##############

'D851-Gearbox 4 Speed

'(c) 2008-2010 Rüdiger Hülsmann

'Script Version: 1.3
'Omsi release: 1.1

'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
'- Kyle Ortiz          08.03.2011   Added Another Gear
'- Kyle Ortiz          21.03.2011   Fixed slippage bug on downshift from 4th to 3rd Gear
'- Kyle Ortiz          30.03.2011   Added Retarder Braking Characteristic to 4th Gear
'- Kyle Ortiz      30.03.2011   More Fine Turning



'----------------------
'   Init
'----------------------

{macro:antrieb_init}
   1 (S.L.antrieb_getr_gangwahl) (S.L.antrieb_getr_gangvorwahl)
   1 (S.L.antrieb_getr_aktugang)
   
   0 (S.L.antrieb_wandler_moment)
{end}

'----------------------
'   Frame
'----------------------

{macro:antrieb_frame}

'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)

'Einlegen der Fahrstufe Loading the gear

   (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)



'Berechnung des dynamischen Schaltmoments

   (L.L.antrieb_getr_fest) !
   {if}
      (L.L.antrieb_schaltmoment) (L.S.Timegap) 1000 * + (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)
'    Calculate the acceleration of the drive train (on 'the flange)
'#################################################################################


      (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...: Determine if idle ...:
'#################################################################################

      (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)
         {endif}

      {else}

'#################################################################################
'      Bestimmen, ob ein Wandlergang eingelegt ist...: Determine whether a converter gear is engaged
'#################################################################################

         (L.L.antrieb_getr_aktugang) 1 =
         {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: Reverse for Torque Conventer
'#################################################################################

            (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}




   (L.L.antrieb_getr_gangwahl) 2 = &&
   (L.L.Throttle) 1 < &&
   (L.L.antrieb_n_kardanwelle) 0.1 > &&
   {if}   
   (L.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * 20 * (S.L.M_Wheel)
{endif}



'#################################################################################
'   Retarder
'#################################################################################


   (L.L.brake) 0.01 >
   (L.L.antrieb_retarder_sw) &&
   (L.L.antrieb_retarder_sw_direkt) ||
   (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) ! &&
   {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.antrieb_retarder_sw_direkt)
      {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)
         {else}
         (L.L.antrieb_retarderstufe) 4 =
                        {if}   
            (L.L.antrieb_retardermoment) (L.S.Timegap) 10000 * - s1
            (L.L.antrieb_n_kardanwelle) 29.3 / (F.L.retarder_stufe4) 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}
      {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)
         {endif}

      {else}      
         1 (S.L.antrieb_getr_aktugang)
         0 (S.L.antrieb_neutral_requested) (S.L.antrieb_gear_engaged_timer)
      {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:

   (L.L.throttle) 1 =
   {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}

'   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}

   {endif}


         (L.L.antrieb_getr_aktugang) s1

         1 =
         {if}
            (C.L.antrieb_getr_ratio1) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)
            (L.L.antrieb_kickdown)
            {if}
               (C.L.antrieb_getr_autoSwUpkickdnSpd1) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwUpMinSpd1) s4
               (C.L.antrieb_getr_autoSwUpMaxSpd1) s3
            {endif}
      
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 2 >= && (L.L.antrieb_beschleunigung) 0 > &&
            {if}
               2 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_up_max) s6
               (C.L.antrieb_kuppl_M_up_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll)   (S.L.antrieb_schaltmoment)            
               (T.L.ev_gear_upshift2)
            {endif}

            (L.L.antrieb_getr_aktugang) 1 =
            (L.L.antrieb_getr_gangwahl) 1 > &&
            (L.L.antrieb_retarder_armed) 1 = &&
            (L.L.antrieb_n_kardanwelle) (C.L.retarder_min_einschaltspeed) > &&
            {if}
               2 (S.L.antrieb_getr_aktugang)
               300 (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment)
            {endif}
            
         {endif}
         l1 2 =
         {if}
            (C.L.antrieb_getr_ratio2) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)
            (L.L.antrieb_kickdown)
            {if}
               (C.L.antrieb_getr_autoSwUpkickdnSpd2) s3 s4
               
            {else}
               (C.L.antrieb_getr_autoSwUpMinSpd2) s4
               (C.L.antrieb_getr_autoSwUpMaxSpd2) s3
               
            {endif}
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > &&
            {if}
               3 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_up_max) s6
               (C.L.antrieb_kuppl_M_up_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment)
               (T.L.ev_gear_upshift3)         
            {endif}
            (L.L.antrieb_kickdown) l0 1 = ||
            {if}
               (C.L.antrieb_getr_autoSwDnkickdnSpd2) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwDnMinSpd2) s4
               (C.L.antrieb_getr_autoSwDnMaxSpd2) s3
            {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) < ||
            {if}
               1 (S.L.antrieb_getr_aktugang)
               0 (S.L.antrieb_schaltmoment)
            {endif}
            
         {endif}
'Add gear here
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
            {else}
               (C.L.antrieb_getr_autoSwUpMinSpd3) s4
               (C.L.antrieb_getr_autoSwUpMaxSpd3) s3
            {endif}
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < l0 3 >= && (L.L.antrieb_beschleunigung) 0 > &&
            {if}
               4 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_up_max) s6
               (C.L.antrieb_kuppl_M_up_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll) (S.L.antrieb_schaltmoment)
               (T.L.ev_gear_upshift3)         
            {endif}
            (L.L.antrieb_kickdown) l0 2 = ||
            {if}
               (C.L.antrieb_getr_autoSwDnkickdnSpd3) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwDnMinSpd3) s4
               (C.L.antrieb_getr_autoSwDnMaxSpd3) s3
            {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) < ||
            {if}
               2 (S.L.antrieb_getr_aktugang)
               0 (S.L.antrieb_schaltmoment)
            {endif}
         {endif}


'end add


         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_autoSwDnkickdnSpd4) s3 s4
            {else}
               (C.L.antrieb_getr_autoSwDnMinSpd4) s4
               (C.L.antrieb_getr_autoSwDnMaxSpd4) s3
            {endif}
            (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >
            {if}
               3 (S.L.antrieb_getr_aktugang)
               (C.L.antrieb_kuppl_M_dn_max) s6
               (C.L.antrieb_kuppl_M_dn_min) s7
               (M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll)
               0 (S.L.antrieb_schaltmoment)
               (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}
'   Berechnung des Schaltmomentes (l6 = bei Vollgas, l7 = bei Leergas)
   (L.L.antrieb_throttle_stellglied) s5 l6 * 1 l5 - l7 * +
{end}

{macro:engine_acceleration_limit}
'   Berechnung der Drehzahlbeschleunigung:
   (L.L.Throttle) 0.5 =

{end}














Zuletzt von krtz07 am Do 31 März - 14:47 bearbeitet; insgesamt 1-mal bearbeitet (Grund : Added more details)
Nach oben Nach unten
Benutzerprofil anzeigen http://www.philadelphiatransitvehicles.info
poweredbycng

avatar

Anzahl der Beiträge : 151
Anmeldedatum : 20.02.11
Alter : 33
Ort : Perth, Australien

BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   Do 31 März - 15:37

RELEASED: Version 2.2

Changes:
* Recalibration of 3rd and 4th gears (thanks to krtz07)
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: [RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0   

Nach oben Nach unten
 
[RELEASED] MAN D92 Upgrade Pack - LANDMARK RELEASE v3.0
Nach oben 
Seite 1 von 5Gehe zu Seite : 1, 2, 3, 4, 5  Weiter

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
ehem. OMSI - Forum :: OMSI-Design (english) :: Script programming-
Gehe zu: