Strefa OMSI

Pełna wersja: Problem z przyklękiem MAN NL202
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
W autobusie którym najczęściej poruszam się w świecie omsi (MAN NL202, nie wiem kto jest jego autorem), przyklęk nie działa tak jak powinien, a mianowicie po uruchomieniu przyklęku, prawa część autobusu jest "wgniatana" w asfalt (krótko mówiąc autobus schodzi zbyt nisko). Dowiedziałem się że aby to naprawić należy zmodyfikować plik bremse.osc
W tymże pliku odnalazłem linijki odpowiedzialne (tak mi się wydaje) za przyklek. Oto one:
Kod:
{macro:kneel}

'Kneeling Speed
   (L.L.kneel_speed) 0 =
   {if}
      (C.L.kneel_all_right_wheels)
      {if}
         (L.L.bremse_p_balg_0_R) (L.L.bremse_p_balg_1_R) + 2 / (C.L.kneel_target_pressure) - (C.L.kneel_time) / abs (S.L.kneel_speed)
      {else}
         (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) - (C.L.kneel_time) / abs (S.L.kneel_speed)
      {endif}
   {endif}

   (L.L.elec_busbar_main)
   {if}
      (L.L.door_20h_sw)
      (L.L.bremse_halte_sw) ||
      (L.L.kneel_allowed) &&
      
      {if}
         (C.L.kneel_all_right_wheels)
         {if}

            (L.L.kneel_old_F_pressure) 0 =
            (L.L.kneel_old_B_pressure) 0 = &&
            {if}
               (L.L.bremse_p_balg_0_R) (S.L.kneel_old_F_pressure)
               (L.L.bremse_p_balg_1_R) (S.L.kneel_old_B_pressure)
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) >
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * - (C.L.kneel_target_pressure) max (S.L.bremse_p_balg_0_R)
            {endif}

            (L.L.bremse_p_balg_1_R) (C.L.kneel_target_pressure) >
            {if}
               (L.L.bremse_p_balg_1_R) (L.L.kneel_speed) (L.S.Timegap) * - (C.L.kneel_target_pressure) max (S.L.bremse_p_balg_1_R)
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) =
            (L.L.bremse_p_balg_1_R) (C.L.kneel_target_pressure) = &&
            {if}
               (L.L.kneel_old_F_pressure) (L.L.bremse_p_balg_0_R) - (L.L.kneel_old_B_pressure) (L.L.bremse_p_balg_1_R) - + 2 / (C.L.kneel_time) / abs (S.L.kneel_speed)
            {endif}
        
         {else}
            (L.L.kneel_old_F_pressure) 0 =
            {if}
               (L.L.bremse_p_balg_0_R) (S.L.kneel_old_F_pressure)
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) >
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * - (C.L.kneel_target_pressure) max (S.L.bremse_p_balg_0_R)
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) =
            {if}
               (L.L.kneel_old_F_pressure) (L.L.bremse_p_balg_0_R) - (C.L.kneel_time) / abs (S.L.kneel_speed)
            {endif}
         {endif}
      {endif}

      (L.L.door_20h_sw) !
      (L.L.bremse_halte_sw) ! &&
      (L.L.kneel_allowed) ! &&
      {if}
         (C.L.kneel_all_right_wheels)
         {if}

            (L.L.kneel_old_F_pressure) ! 0 =
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) <
               {if}
                  (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * + (L.L.kneel_old_F_pressure) min (S.L.bremse_p_balg_0_R)
               {endif}
            {endif}
            
            (L.L.kneel_old_B_pressure) ! 0 =
            {if}
               (L.L.bremse_p_balg_1_R) (L.L.kneel_old_B_pressure) <
               {if}
                  (L.L.bremse_p_balg_1_R) (L.L.kneel_speed) (L.S.Timegap) * + (L.L.kneel_old_B_pressure) min (S.L.bremse_p_balg_1_R)
               {endif}
            {endif}

            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) =
            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) > ||
            (L.L.bremse_p_balg_1_R) (L.L.kneel_old_B_pressure) =
            (L.L.bremse_p_balg_1_R) (L.L.kneel_old_B_pressure) > || &&
            {if}
               0 (S.L.kneel_old_F_pressure)
               0 (S.L.kneel_old_B_pressure)
               0 (S.L.kneel_speed)
            {endif}
            
         {else}
            (L.L.kneel_old_F_pressure) ! 0 =
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) <
               {if}
                  (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * + (L.L.kneel_old_F_pressure) min (S.L.bremse_p_balg_0_R)
               {endif}
            {endif}
  
            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) =
            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) > ||
            {if}
               0 (S.L.kneel_old_F_pressure)
               0 (S.L.kneel_speed)
            {endif}
         {endif}
      {endif}
   {endif}
{end}

Nie wiem w którym miejscu w kodzie jest ustalona wartość odpowiedzialna za to, jak nisko autobus ma przyklęknąć.
Podejrzewam, że ustawienia od tego będą się opierać na pliku bremse_constfile.txt
edytowałem różne wartości, lecz zmieniło to tylko prędkość osiadania/podnoszenia autobusu. Którą z poniższych wartości powinienem edytować?
Kod PHP:
The desired time in seconds it takes to kneel the bus
(Recommend3)
[const]
kneel_time
4

The desired pressure after kneeling 
(Recommendkneel_all_right_wheels 2500;
            
kneel_all_right_wheels 3000)
[const]
kneel_target_pressure
3300

Kneel all wheels on right 
or front wheel only
[const]
kneel_all_right_wheels
1

[const]
max_bremskraft
90000

[const]
bremse_ABS
0

Massenstrom des Kompressors in kg pro Motorumdrehung
[const]
bremse_m_kompressor
0.00045

Volumen 
[Luftleitung Kompressor-Schutzventil
[const]
bremse_V_leitung01
0.002

Volumen 
[Luftleitung Kreis 1+2 nach 3+4
[const]
bremse_V_leitung02
0.002

Querschnittsfläche Rückschlagventile für Füllleitung Kreise 3
+4
[const]
bremse_A_Rueckschlagventil_1
0.00003

Volumen 
[Luftbehälter Kreis 1 (HA)
[const]
bremse_V_tank01
0.04

Volumen 
[Luftbehälter Kreis 2 (VA)
[const]
bremse_V_tank02
0.04

Volumen 
[Luftbehälter Kreis 3 (FBA)
[const]
bremse_V_tank03
0.04

Volumen 
[Luftbehälter Kreis 4 (Federung+Türen+HBA)
[const]
bremse_V_tank04
0.04

Volumen Bremszylinder HA
[const]
bremse_V_Brzyl_HA
0.0025

Volumen Bremszylinder HA rechts
[const]
bremse_V_Brzyl_HA_R
0.00125

Volumen Bremszylinder HA
[const]
bremse_V_Brzyl_HA_L
0.00125

Volumen Bremszylinder VA
[const]
bremse_V_Brzyl_VA
0.0025

Volumen Bremszylinder VA rechts
[const]
bremse_V_Brzyl_VA_R
0.00125

Volumen Bremszylinder VA links
[const]
bremse_V_Brzyl_VA_L
0.00125

Volumen Bremszylinder FBA
[const]
bremse_V_brzyl_FBA
0.01

Volumen Luftfederbalg 0 R
[const]
bremse_V_balg_0_R
0.005

Volumen Luftfederbalg 0 L
[const]
bremse_V_balg_0_L
0.005

Volumen Luftfederbalg 1 R
[const]
bremse_V_balg_1_R
0.01

Volumen Luftfederbalg 1 L
[const]
bremse_V_balg_1_L
0.01

Gaskonstante 
Durchschnittstemperatur
[const]
RT_Luft
84091

Betriebsdruck Haltestellenbremse
[const]
bremse_pmax_halte
450000

Öffnungsdruck Überstromventil Kreis 1
[const]
bremse_UeVentil_1_oeffnungsdruck
750000

Schließdruck Überstromventil Kreis 1
[const]
bremse_UeVentil_1_schliessdruck
600000

Öffnungsdruck Überstromventil Kreis 2
[const]
bremse_UeVentil_2_oeffnungsdruck
750000

Schließdruck Überstromventil Kreis 2
[const]
bremse_UeVentil_2_schliessdruck
600000

Öffnungsdruck Überstromventil Kreis 3
[const]
bremse_UeVentil_3_oeffnungsdruck
750000

Schließdruck Überstromventil Kreis 3
[const]
bremse_UeVentil_3_schliessdruck
600000

Öffnungsdruck Überstromventil Kreis 4
[const]
bremse_UeVentil_4_oeffnungsdruck
750000

Schließdruck Überstromventil Kreis 4
[const]
bremse_UeVentil_4_schliessdruck
600000

[newcurve]
Bremskraft_FBA

[pnt]
100000
35000

[pnt]
650000
0

[pnt]
10000000
0

Sollwert für Niveauregulierung
[const]
bremse_level_setpoint
-0.105



Testleckquerschnitt
[const]
bremse_A_Leck
0.0001 
Cytat:[const]
kneel_target_pressure
3300
Zwiększ tą wartość
zwiększyłem wartość do 15 tys a autobus obniża się do tego samego poziomu
Bezedura!
Za głębokość przyklęku odpowiada ta część skryptu door_kneel.osc i pogrubione wartości:

{macro:kneel}
(L.L.kneel_button) <---- u mnie ta komenda jest inna, niż w oryginale
{if}
(L.L.Axle_Springfactor_0_R) (L.S.Timegap) 0.3 * - 0.5 max (S.L.Axle_Springfactor_0_R)
(L.L.Axle_Springfactor_0_L) (L.S.Timegap) 0.4 * - 0.5 max (S.L.Axle_Springfactor_0_L)
{if}
(L.L.Axle_Springfactor_1_R) (L.S.Timegap) 0.5 * - 0.5 max (S.L.Axle_Springfactor_1_R)
(L.L.Axle_Springfactor_1_L) (L.S.Timegap) 0.22 * - 0.5 max (S.L.Axle_Springfactor_1_L)
{endif}
{else}
(L.L.Axle_Springfactor_0_R) (L.S.Timegap) 0.3 * + 1.2 min (S.L.Axle_Springfactor_0_R)
(L.L.Axle_Springfactor_0_L) (L.S.Timegap) 0.4 * + 1.2 min (S.L.Axle_Springfactor_0_L)
{if}
(L.L.Axle_Springfactor_1_R) (L.S.Timegap) 0.5 * + 1.2 min (S.L.Axle_Springfactor_1_R)
(L.L.Axle_Springfactor_1_L) (L.S.Timegap) 0.22 * + 1.2 min (S.L.Axle_Springfactor_1_L)
{endif}
{endif}

Wartości przed "*" oznaczają czas "osiadania".
@up w plikach tego busa nie ma door_kneel.osc.

w pliku bremse.osc znalazłem {macro:kneel}, lecz nie mogę się doszukać takich linijek jak podałeś

Kod PHP:
{macro:kneel}

'Kneeling Speed
   (L.L.kneel_speed) 0 =
   {if}
      (C.L.kneel_all_right_wheels)
      {if}
         (L.L.bremse_p_balg_0_R) (L.L.bremse_p_balg_1_R) + 2 / (C.L.kneel_target_pressure) - (C.L.kneel_time) / abs (S.L.kneel_speed)
      {else}
         (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) - (C.L.kneel_time) / abs (S.L.kneel_speed)
      {endif}
   {endif}

   (L.L.elec_busbar_main)
   {if}
      (L.L.door_20h_sw)
      (L.L.bremse_halte_sw) || 
      (L.L.kneel_allowed) &&
      
      {if}
         (C.L.kneel_all_right_wheels)
         {if}

            (L.L.kneel_old_F_pressure) 0 =
            (L.L.kneel_old_B_pressure) 0 = &&
            {if}
               (L.L.bremse_p_balg_0_R) (S.L.kneel_old_F_pressure)
               (L.L.bremse_p_balg_1_R) (S.L.kneel_old_B_pressure)
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) > 
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * - (C.L.kneel_target_pressure) max (S.L.bremse_p_balg_0_R) 
            {endif}

            (L.L.bremse_p_balg_1_R) (C.L.kneel_target_pressure) > 
            {if}
               (L.L.bremse_p_balg_1_R) (L.L.kneel_speed) (L.S.Timegap) * - (C.L.kneel_target_pressure) max (S.L.bremse_p_balg_1_R) 
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) = 
            (L.L.bremse_p_balg_1_R) (C.L.kneel_target_pressure) = &&
            {if}
               (L.L.kneel_old_F_pressure) (L.L.bremse_p_balg_0_R) - (L.L.kneel_old_B_pressure) (L.L.bremse_p_balg_1_R) - + 2 / (C.L.kneel_time) / abs (S.L.kneel_speed)
            {endif}
         
         {else}
            (L.L.kneel_old_F_pressure) 0 =
            {if}
               (L.L.bremse_p_balg_0_R) (S.L.kneel_old_F_pressure)
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) > 
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * - (C.L.kneel_target_pressure) max (S.L.bremse_p_balg_0_R) 
            {endif}

            (L.L.bremse_p_balg_0_R) (C.L.kneel_target_pressure) = 
            {if}
               (L.L.kneel_old_F_pressure) (L.L.bremse_p_balg_0_R) - (C.L.kneel_time) / abs (S.L.kneel_speed)
            {endif}
         {endif}
      {endif}

      (L.L.door_20h_sw) !
      (L.L.bremse_halte_sw) ! &&
      (L.L.kneel_allowed) ! &&
      {if}
         (C.L.kneel_all_right_wheels)
         {if}

            (L.L.kneel_old_F_pressure) ! 0 =
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) < 
               {if}
                  (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * + (L.L.kneel_old_F_pressure) min (S.L.bremse_p_balg_0_R) 
               {endif}
            {endif}
            
            (L.L.kneel_old_B_pressure) ! 0 =
            {if}
               (L.L.bremse_p_balg_1_R) (L.L.kneel_old_B_pressure) < 
               {if}
                  (L.L.bremse_p_balg_1_R) (L.L.kneel_speed) (L.S.Timegap) * + (L.L.kneel_old_B_pressure) min (S.L.bremse_p_balg_1_R) 
               {endif}
            {endif}

            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) = 
            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) > ||
            (L.L.bremse_p_balg_1_R) (L.L.kneel_old_B_pressure) =
            (L.L.bremse_p_balg_1_R) (L.L.kneel_old_B_pressure) > || &&
            {if}
               0 (S.L.kneel_old_F_pressure)
               0 (S.L.kneel_old_B_pressure)
               0 (S.L.kneel_speed)
            {endif}
            
         {else}
            (L.L.kneel_old_F_pressure) ! 0 =
            {if}
               (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) < 
               {if}
                  (L.L.bremse_p_balg_0_R) (L.L.kneel_speed) (L.S.Timegap) * + (L.L.kneel_old_F_pressure) min (S.L.bremse_p_balg_0_R) 
               {endif}
            {endif}
   
            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) =
            (L.L.bremse_p_balg_0_R) (L.L.kneel_old_F_pressure) > ||
            {if}
               0 (S.L.kneel_old_F_pressure)
               0 (S.L.kneel_speed)
            {endif}
         {endif}
      {endif}
   {endif}
{end} 
To może napisz o którego MAN'a NL202 chodzi, bo ten, którego ja mam, ma właśnie takie wpisy
Nie wiem kto jest autorem tego busa..

Oto link do google drive: https://drive.google.com/file/d/0B4mPTmw...sp=sharing
Przekierowanie