Witam wszystkich,
mam pytanie do osób znających się na skryptach. A mianowicie mam sobie skrypt hamulców do N4016. Chciałbym zrobić coś, jak w Mercu z Hamburga, czyli, jeśli stoimy np. na światłach autobus lekko przysiada, i po pewnym czasie wraca do pierwotnego położenia. Nie musi być jakiś super skomplikowany, ale niestety moje próby kończyły się zawsze fiaskiem. Wiem, że za wys. zawieszenia odpowiada axle_springfactor, ale niestety nie wiem do końca jak go użyć. Mam też problem, ponieważ chciałbym zrobić, żeby to działo się np. co 30 sekund, ale nie umiem korzystać z (L.S.Timegap)... Wstawiam skrypt hamulców- to co najlepiej działało z moich testów. Działałoby dobrze, gdyby nie to, że cała operacja działa się parę razy na sekundę

Mam nadzieję, że jest na to sposób, oraz, że zapewniłem wystarczającą ilość materiałów. Z góry dziękuje za zainteresowanie. Dodam, że w skryptach jestem początkujący, ale szybko się uczę i całkiem sporo rozumiem
Kod:
'##############
'Brake Script
'##############
'Controls Brakes and includes air system (compressor)
'(c) 2007-2011 Rüdiger Hülsmann, Marcel Kuhnt
'Script Version: 1.0
'Omsi release: 1.0
'Needs:
'- Engine (for compressor)
'Revision History:
'- Rüdiger Hülsmann 11.05.2009 Last Change
'- Rüdiger Hülsmann 15.03.2010 Brake squeak
'- Marcel Kuhnt 15.04.2010 Pressure Calculation Stabilized
'- Rüdiger Hülsmann 06.11.2010 Automatic level control
'- Marcel Kuhnt 28.12.2010 Added wheel separated brake force variables
'- Rüdiger Hülsmann 01.01.2011 Added ABS function
'- Rüdiger Hülsmann 06.01.2011 separated brake force debugged (pipe diameter)
'- Rüdiger Hülsmann 23.01.2011 ABS relais sound
'- Rüdiger Hülsmann 31.01.2011 Random initial pressure, nonreturn valves for air suspension
'- Rüdiger Hülsmann 03.02.2011 Random squeak sound volume
'--------------------------------------------------------------
{trigger:parking_brake_toggle}
(L.L.bremse_feststell) ! (S.L.bremse_feststell) (S.L.bremse_feststell_sw)
{if}
(T.L.ev_bremse_feststell_ein)
{else}
(T.L.ev_bremse_feststell_aus)
{endif}
{end}
{trigger:parking_brake_set}
(L.L.bremse_feststell) !
{if}
(S.L.bremse_feststell)
(T.L.ev_bremse_feststell_ein)
1 (S.L.bremse_feststell_sw)
{endif}
{end}
{trigger:parking_brake_release}
(L.L.bremse_feststell)
{if}
! (S.L.bremse_feststell)
(T.L.ev_bremse_feststell_aus)
0 (S.L.bremse_feststell_sw)
{endif}
{end}
{trigger:parking_brake_mouse_drag}
(L.S.mouse_y) 200 / (L.L.bremse_feststell_sw) + (S.L.bremse_feststell_sw) s0
l0 0 <
{if}
0 (S.L.bremse_feststell_sw)
{endif}
l0 1 >
{if}
1 (S.L.bremse_feststell_sw)
{endif}
l0 0.6 > (L.L.bremse_feststell) 0 = &&
{if}
1 (S.L.bremse_feststell)
(T.L.ev_bremse_feststell_ein)
{endif}
l0 0.4 < (L.L.bremse_feststell) 1 = &&
{if}
0 (S.L.bremse_feststell)
(T.L.ev_bremse_feststell_aus)
{endif}
1 (S.L.bremse_feststell_klinke)
{end}
{trigger:parking_brake_mouse_off}
0 (S.L.bremse_feststell_klinke)
{end}
'----------------------
' Init
'----------------------
{macro:bremse_init}
1 (S.L.bremse_feststell_sw) (S.L.bremse_feststell) (S.L.bremse_UeVentil_1) (S.L.bremse_UeVentil_2)
' 900000 (S.L.bremse_p_tank01) (S.L.bremse_p_tank02) (S.L.bremse_p_tank03) (S.L.bremse_p_tank04) (S.L.bremse_p_leitung01) (S.L.bremse_p_leitung02)
'Kreis 1 zufällig befüllen
500000 random 400000 + (S.L.bremse_p_tank01) (S.L.bremse_p_leitung01) (S.L.bremse_p_leitung02) s0
'Kreis 2 in Abhängigkeit vom Druck in Kreis 1 befüllen: Wenn Druckausgleich vorhanden, dann p2=p1 ansonsten Zufallswert unterhalb des Sicherungsdrucks (5 bar)
(C.L.bremse_UeVentil_1_schliessdruck) >
{if}
l0 (S.L.bremse_p_tank02)
{else}
300000 random 300000 + (S.L.bremse_p_tank02)
{endif}
'Kreis 3 zufällig befüllen, aber mindestens Druck wie in Kreis
500000 random 400000 + l0 max (S.L.bremse_p_tank03) s0
'Kreis 4 in Abhängigkeit vom Druck in Kreis 3 befüllen: Wenn Druckausgleich vorhanden, dann p4=p3 ansonsten Zufallswert unterhalb des Sicherungsdrucks (5 bar)
(C.L.bremse_UeVentil_2_schliessdruck) >
{if}
l0 (S.L.bremse_p_tank04)
{else}
300000 random 300000 + (S.L.bremse_p_tank04) s0
{endif}
'Setzen der Luftfederbalgdrücke
300000 random 100000 + (S.L.bremse_p_balg_0_R)
300000 random 100000 + (S.L.bremse_p_balg_0_L)
300000 random 100000 + (S.L.bremse_p_balg_1_R)
300000 random 100000 + (S.L.bremse_p_balg_1_L)
'Setzen der Bremszylinderdrücke
100000 (S.L.bremse_p_luft) (S.L.bremse_p_brzyl_VA) (S.L.bremse_p_brzyl_VA_R) (S.L.bremse_p_brzyl_VA_L) (S.L.bremse_p_brzyl_HA) (S.L.bremse_p_brzyl_HA_R) (S.L.bremse_p_brzyl_HA_L) (S.L.bremse_p_Brzyl_FBA)
0 (S.L.bremse_loesezischbereitschaft) (S.L.bremse_bremszischbereitschaft) (S.L.bremse_zieldruckdifferenz)
0 (L.L.bremse_loesezischzeit)
' Setzen des Initial-Hup/Quietschvolumes
-2 (S.L.bremse_quietsch_volume)
{end}
'----------------------
' Frame
'----------------------
{macro:bremse_frame}
'Bremskraftberechnung Vorderachse
'Rechte Seite
(L.L.bremse_p_brzyl_VA_R) 100000 - 20000 - 850000 / (C.L.max_bremskraft) * s0
' Luftwiderstand:
(L.L.Velocity) 3.6 / (L.L.Velocity) 3.6 / * 9.5 0.8 0.6 * * * +
' Gesamtbremskraft auf 4 Räder aufteilen
4 /
(S.L.Axle_Brakeforce_0_R)
'Linke Seite
(L.L.bremse_p_brzyl_VA_L) 100000 - 20000 - 850000 / (C.L.max_bremskraft) * s0
' Luftwiderstand:
(L.L.Velocity) 3.6 / (L.L.Velocity) 3.6 / * 9.5 0.8 0.6 * * * +
' Gesamtbremskraft auf 4 Räder aufteilen
4 /
(S.L.Axle_Brakeforce_0_L)
'Bremskraftberechnung Hinterachse
'Rechte Seite
(L.L.bremse_p_brzyl_HA_R) 100000 - 20000 - 850000 / (C.L.max_bremskraft) * s0
' Luftwiderstand:
(L.L.Velocity) 3.6 / (L.L.Velocity) 3.6 / * 9.5 0.8 0.6 * * * +
' Gesamtbremskraft auf 4 Räder aufteilen
4 /
' Feststellbremse obendrauf
(L.L.bremse_p_Brzyl_FBA) (F.L.Bremskraft_FBA) 2 / +
(S.L.Axle_Brakeforce_1_R)
'Linke Seite
(L.L.bremse_p_brzyl_HA_L) 100000 - 20000 - 850000 / (C.L.max_bremskraft) * s0
' Luftwiderstand:
(L.L.Velocity) 3.6 / (L.L.Velocity) 3.6 / * 9.5 0.8 0.6 * * * +
' Gesamtbremskraft auf 4 Räder aufteilen
4 /
' Feststellbremse obendrauf
(L.L.bremse_p_Brzyl_FBA) (F.L.Bremskraft_FBA) 2 / +
(S.L.Axle_Brakeforce_1_L)
(M.L.bremse_kompressor)
(M.L.bremse_druckluftsound)
(M.L.bremse_levelcontrol)
(M.L.kneel)
' Setzen des Bremssollwertes (Pedalbetätigungen bis 0.1 bleiben unberücksichtigt => Rasten für Retarder)
(L.L.Brake) 0.1 - 1.1 * s0 0 <
{if}
0 (S.L.bremse_luft)
{else}
l0 (S.L.bremse_luft)
{endif}
{end}
{macro:kneel}
(L.L.kneel_direction_ist) 0 =
(L.L.kneel_direction_sound) 1 = &&
{if}
(T.L.ev_kneel_auf)
{endif}
(L.L.kneel_direction_ist) 1 =
(L.L.kneel_direction_sound) 0 = &&
{if}
(T.L.ev_kneel_ab)
{endif}
(L.L.kneel_direction_ist) (S.L.kneel_direction_sound)
'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.bremse_halte) ||
(L.L.kneel_allowed) &&
(L.L.elec_busbar_main) &&
{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)
1 (S.L.kneel_direction_ist)
{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)
1 (S.L.kneel_direction_ist)
{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)
1 (S.L.kneel_direction_ist)
{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.bremse_halte) ! &&
(L.L.kneel_allowed) ! ||
(L.L.elec_busbar_main) &&
{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)
0 (S.L.kneel_direction_ist)
{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)
0 (S.L.kneel_direction_ist)
{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)
0 (S.L.kneel_direction_ist)
{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}
{macro:bremse_kompressor}
' Berechnung des Massenstroms vom Kompressor in die Füllleitung zum Vierkreisschutzventil:
(L.L.bremse_kompressor) 1 =
{if}
(L.L.engine_n) (L.S.Timegap) * 60 / (C.L.bremse_m_kompressor) *
(C.L.RT_Luft) * (C.L.bremse_V_leitung01) / (L.L.bremse_p_leitung01) + (S.L.bremse_p_leitung01)
{endif}
'#################################################################
' Vierkreisschutzventil
' Berechnung der Querschnittsfläche der Überströmventile in Abhängigkeit der anliegenden Drücke von Bremskreis und Füllleitung:
(C.L.bremse_UeVentil_1_oeffnungsdruck) (C.L.bremse_UeVentil_1_schliessdruck) - (C.L.bremse_UeVentil_1_schliessdruck) / (L.L.bremse_p_Tank01) * (L.L.bremse_p_leitung01) + (C.L.bremse_UeVentil_1_oeffnungsdruck) - 200000000000000 / 0 max sqrt (S.L.bremse_A_UeVentil_1)
(C.L.bremse_UeVentil_2_oeffnungsdruck) (C.L.bremse_UeVentil_2_schliessdruck) - (C.L.bremse_UeVentil_2_schliessdruck) / (L.L.bremse_p_Tank02) * (L.L.bremse_p_leitung01) + (C.L.bremse_UeVentil_2_oeffnungsdruck) - 200000000000000 / 0 max sqrt (S.L.bremse_A_UeVentil_2)
(C.L.bremse_UeVentil_3_oeffnungsdruck) (C.L.bremse_UeVentil_3_schliessdruck) - (C.L.bremse_UeVentil_3_schliessdruck) / (L.L.bremse_p_Tank03) * (L.L.bremse_p_leitung02) + (C.L.bremse_UeVentil_3_oeffnungsdruck) - 200000000000000 / 0 max sqrt (S.L.bremse_A_UeVentil_3)
(C.L.bremse_UeVentil_4_oeffnungsdruck) (C.L.bremse_UeVentil_4_schliessdruck) - (C.L.bremse_UeVentil_4_schliessdruck) / (L.L.bremse_p_Tank04) * (L.L.bremse_p_leitung02) + (C.L.bremse_UeVentil_4_oeffnungsdruck) - 200000000000000 / 0 max sqrt (S.L.bremse_A_UeVentil_4)
'#################################################################
' Testleck in Kreis 2 beim Betätigen des Warnblinkers:
' (L.L.lights_sw_warnblinker)
' {if}
' (L.L.bremse_p_Tank02) s1
' (L.L.bremse_p_luft) s2
' (C.L.bremse_V_Tank02) s3
' 1000000 s4
' (C.L.bremse_A_Leck) s5
'
' (M.L.bremse_druckausgleich)
'
' l1 (S.L.bremse_p_Tank02)
' {endif}
'
' Testleck in Kreis 3 beim Betätigen der Hupe:
'
' (L.L.cockpit_hupe)
' {if}
' (L.L.bremse_p_Tank03) s1
' (L.L.bremse_p_luft) s2
' (C.L.bremse_V_Tank03) s3
' 1000000 s4
' (C.L.bremse_A_Leck) s5
'
' (M.L.bremse_druckausgleich)
'
' l1 (S.L.bremse_p_Tank03)
' {endif}
'#################################################################
'Kreise 1+2
'#################################################################
' Druckausgleich in Bremskreis 1 und 2 bei geöffneten Überstromventilen 1 und 2:
(L.L.bremse_A_UeVentil_1) 0 > (L.L.bremse_A_UeVentil_2) 0 > &&
{if}
(L.L.bremse_p_Tank01) s1
(L.L.bremse_p_Tank02) s2
(C.L.bremse_V_Tank01) s3
(C.L.bremse_V_Tank02) s4
(L.L.bremse_A_UeVentil_1) (L.L.bremse_A_UeVentil_2) min s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank01)
l2 (S.L.bremse_p_Tank02)
{endif}
' Befüllen von Bremskreis 1, mit Rückschlagventil gesichert
(L.L.bremse_A_UeVentil_1) 0 > (L.L.bremse_p_leitung01) (L.L.bremse_p_Tank01) > &&
{if}
' Druckausgleich Füllleitung - Bremskreis 1:
(L.L.bremse_p_leitung01) s1
(L.L.bremse_p_Tank01) s2
(C.L.bremse_V_leitung01) s3
(C.L.bremse_V_Tank01) s4
(L.L.bremse_A_UeVentil_1) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_leitung01)
l2 (S.L.bremse_p_Tank01)
{endif}
' Befüllen von Bremskreis 2, mit Rückschlagventil gesichert
(L.L.bremse_A_UeVentil_2) 0 > (L.L.bremse_p_leitung01) (L.L.bremse_p_Tank02) > &&
{if}
' Druckausgleich Füllleitung - Bremskreis 2:
(L.L.bremse_p_leitung01) s1
(L.L.bremse_p_Tank02) s2
(C.L.bremse_V_leitung01) s3
(C.L.bremse_V_Tank02) s4
(L.L.bremse_A_UeVentil_2) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_leitung01)
l2 (S.L.bremse_p_Tank02)
{endif}
'#################################################################
'Kreise 3+4
'#################################################################
'Füllen der Fülleitung für die Kreise 3+4 aus den Behältern 1 und 2 (jeweils dem mit dem höheren Druck), mit Rückschlagventil gesichert:
(L.L.bremse_p_Tank01) (L.L.bremse_p_Tank02) >
{if}
(L.L.bremse_p_Tank01) (L.L.bremse_p_leitung02) >
{if}
' Druckausgleich Bremskreis 1 - Füllleitung Kreis 3+4
(L.L.bremse_p_Tank01) s1
(L.L.bremse_p_leitung02) s2
(C.L.bremse_V_Tank01) s3
(C.L.bremse_V_leitung02) s4
(C.L.bremse_A_Rueckschlagventil_1) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank01)
l2 (S.L.bremse_p_leitung02)
{endif}
{else}
(L.L.bremse_p_Tank02) (L.L.bremse_p_leitung02) >
{if}
' Druckausgleich Bremskreis 2 - Füllleitung Kreis 3+4
(L.L.bremse_p_Tank02) s1
(L.L.bremse_p_leitung02) s2
(C.L.bremse_V_Tank02) s3
(C.L.bremse_V_leitung02) s4
(C.L.bremse_A_Rueckschlagventil_1) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank02)
l2 (S.L.bremse_p_leitung02)
{endif}
{endif}
' Druckausgleich in Bremskreis 3 und 4 bei geöffneten Überstromventilen 3 und 4:
(L.L.bremse_A_UeVentil_3) 0 > (L.L.bremse_A_UeVentil_4) 0 > &&
{if}
(L.L.bremse_p_Tank03) s1
(L.L.bremse_p_Tank04) s2
(C.L.bremse_V_Tank03) s3
(C.L.bremse_V_Tank04) s4
(L.L.bremse_A_UeVentil_3) (L.L.bremse_A_UeVentil_4) min s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank03)
l2 (S.L.bremse_p_Tank04)
{endif}
' Befüllen von Bremskreis 3, mit Rückschlagventil gesichert
(L.L.bremse_A_UeVentil_3) 0 > (L.L.bremse_p_leitung02) (L.L.bremse_p_Tank03) > &&
{if}
' Druckausgleich Füllleitung - Bremskreis 1:
(L.L.bremse_p_leitung02) s1
(L.L.bremse_p_Tank03) s2
(C.L.bremse_V_leitung02) s3
(C.L.bremse_V_Tank03) s4
(L.L.bremse_A_UeVentil_3) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_leitung02)
l2 (S.L.bremse_p_Tank03)
{endif}
' Befüllen von Bremskreis 4, mit Rückschlagventil gesichert
(L.L.bremse_A_UeVentil_4) 0 > (L.L.bremse_p_leitung02) (L.L.bremse_p_Tank04) > &&
{if}
' Druckausgleich Füllleitung - Bremskreis 2:
(L.L.bremse_p_leitung02) s1
(L.L.bremse_p_Tank04) s2
(C.L.bremse_V_leitung02) s3
(C.L.bremse_V_Tank04) s4
(L.L.bremse_A_UeVentil_4) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_leitung02)
l2 (S.L.bremse_p_Tank04)
{endif}
'#########################################################################
' Haltestellenbremse
' Setzen des Zieldruckes
(L.L.bremse_halte)
{if}
(C.L.bremse_pmax_halte) (L.L.bremse_p_Tank01) min (S.L.bremse_zieldruck_halte)
{else}
100000 (S.L.bremse_zieldruck_halte)
{endif}
' Setzen des Zieldrucks der Betriebsbremse für Kreis 1 (HA)
(L.L.bremse_luft) (L.L.bremse_p_tank01) * 1.1 * 100000 + (S.L.bremse_zieldruck_BBA)
' Setzen des Bremszylinderzieldruckes HA (Fuß- und Haltestellenbremse):
(L.L.bremse_zieldruck_BBA) (L.L.bremse_zieldruck_halte) max (S.L.bremse_zieldruck_HA) (S.L.bremse_zieldruck_HA_R) (S.L.bremse_zieldruck_HA_L)
' Setzen des Zustands des Wechselventils Fußbremse <> Haltestellenbremse
' 0 = Fußbremse, 1= Haltestellenbremse
(L.L.bremse_zieldruck_BBA) (L.L.bremse_p_brzyl_HA) >
{if}
0 (S.L.bremse_wechselventil_HA)
{endif}
(L.L.bremse_zieldruck_halte) (L.L.bremse_zieldruck_BBA) >
{if}
1 (S.L.bremse_wechselventil_HA)
{endif}
' Setzen des Bremszylinderzieldruckes VA:
(L.L.bremse_luft) (L.L.bremse_p_tank02) * 1.1 * 100000 + (S.L.bremse_zieldruck_VA) (S.L.bremse_zieldruck_VA_R) (S.L.bremse_zieldruck_VA_L)
' Setzen des Bremszylinderzieldruckes FBA (mit Überlastschutz)
1 (L.L.bremse_feststell_sw) - (L.L.bremse_p_tank03) * 1.1 * 100000 + s1
(L.L.bremse_zieldruck_HA) l1 max (S.L.bremse_zieldruck_FBA)
' ABS-Regelung
' Ist ABS überhaupt vorhanden und aktiv?
(C.L.bremse_ABS) (L.L.elec_busbar_main) &&
{if}
' Berechnen der Referenzdrehzahl
' Umrechnungsfaktor Geschwindigkeit (km/h) auf Raddrehzahl (1/min) = 5.64 bei Raddurchmesser 94cm
(L.L.Velocity_Ground) 5.64 * (S.L.bremse_ABS_referenzdrehzahl) s0
' Übersteigt die Drehzahldifferenz einen kritischen Wret, dann den entsprechenden Bremszylinder entlüften
l0 (L.L.Wheel_RotationSpeed_0_R) - 10 >
(L.L.Velocity_Ground) 6 > &&
{if}
(L.L.bremse_ABS_eingriff_0R) !
{if}
(T.L.ev_bremse_ABS_0R_on)
{endif}
100000 (S.L.bremse_zieldruck_VA_R)
1 (S.L.bremse_ABS_eingriff_0R)
{else}
(L.L.bremse_ABS_eingriff_0R)
{if}
(T.L.ev_bremse_ABS_0R_off)
{endif}
0 (S.L.bremse_ABS_eingriff_0R)
{endif}
l0 (L.L.Wheel_RotationSpeed_0_L) - 10 >
(L.L.Velocity_Ground) 6 > &&
{if}
(L.L.bremse_ABS_eingriff_0L) !
{if}
(T.L.ev_bremse_ABS_0L_on)
{endif}
100000 (S.L.bremse_zieldruck_VA_L)
1 (S.L.bremse_ABS_eingriff_0L)
{else}
(L.L.bremse_ABS_eingriff_0L)
{if}
(T.L.ev_bremse_ABS_0L_off)
{endif}
0 (S.L.bremse_ABS_eingriff_0L)
{endif}
l0 (L.L.Wheel_RotationSpeed_1_R) - 10 >
(L.L.Velocity_Ground) 6 > &&
{if}
(L.L.bremse_ABS_eingriff_1R) !
{if}
(T.L.ev_bremse_ABS_1R_on)
{endif}
100000 (S.L.bremse_zieldruck_HA_R)
1 (S.L.bremse_ABS_eingriff_1R)
{else}
(L.L.bremse_ABS_eingriff_1R)
{if}
(T.L.ev_bremse_ABS_1R_off)
{endif}
0 (S.L.bremse_ABS_eingriff_1R)
{endif}
l0 (L.L.Wheel_RotationSpeed_1_L) - 10 >
(L.L.Velocity_Ground) 6 > &&
{if}
(L.L.bremse_ABS_eingriff_1L) !
{if}
(T.L.ev_bremse_ABS_1L_on)
{endif}
100000 (S.L.bremse_zieldruck_HA_L)
1 (S.L.bremse_ABS_eingriff_1L)
{else}
(L.L.bremse_ABS_eingriff_1L)
{if}
(T.L.ev_bremse_ABS_1L_off)
{endif}
0 (S.L.bremse_ABS_eingriff_1L)
{endif}
(L.L.bremse_ABS_eingriff_0R)
(L.L.bremse_ABS_eingriff_0L) ||
(L.L.bremse_ABS_eingriff_1R) ||
(L.L.bremse_ABS_eingriff_1L) ||
(L.L.bremse_ABS_selftest) ||
(S.L.bremse_ABS_eingriff)
{else}
0 (S.L.bremse_ABS_eingriff)
{endif}
' ABS-Selbsttest erfolgreich bei V>6km/h
(L.L.velocity) 6 > (L.L.bremse_ABS_selftest) &&
{if}
0 (S.L.bremse_ABS_selftest)
{endif}
' a1) Hinterachse rechts
' Ist geforderter Bremsdruck höher als der aktuelle?
(L.L.bremse_zieldruck_HA_R) (L.L.bremse_p_brzyl_HA_R) >
{if}
(L.L.bremse_zieldruck_HA_R) (L.L.bremse_p_brzyl_HA_R) - 20000000000 / (S.L.bremse_A_BrVentil_HA_R)
' Berechnung des Massenstroms aus Behälter 1 zum Bremszylinder HA
(L.L.bremse_p_Tank01) s1
(L.L.bremse_p_Brzyl_HA_R) s2
(C.L.bremse_V_tank01) s3
(C.L.bremse_V_Brzyl_HA_R) s4
' Ventilwahl abhängig von der Stellung des Wechselventils
(L.L.bremse_wechselventil_HA)
{if}
(L.L.bremse_A_BrVentil_HA_R) 2 * s5
{else}
(L.L.bremse_A_BrVentil_HA_R) s5
{endif}
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank01)
l2 (S.L.bremse_p_Brzyl_HA_R)
{else}
(L.L.bremse_p_brzyl_HA_R) (L.L.bremse_zieldruck_HA_R) - sqrt 20000000 / (S.L.bremse_A_BrVentil_HA_R)
' Berechnung des Massenstroms aus Bremszylinder HA ins Freie
(L.L.bremse_p_Brzyl_HA_R) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_brzyl_HA_R) s3
1 s4
' Ventilwahl abhängig von der Stellung des Wechselventils
(L.L.bremse_wechselventil_HA)
{if}
(L.L.bremse_A_BrVentil_HA_R) 2 * s5
{else}
(L.L.bremse_A_BrVentil_HA_R) s5
{endif}
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Brzyl_HA_R)
{endif}
' a2) Hinterachse links
' Ist geforderter Bremsdruck höher als der aktuelle?
(L.L.bremse_zieldruck_HA_L) (L.L.bremse_p_brzyl_HA_L) >
{if}
(L.L.bremse_zieldruck_HA_L) (L.L.bremse_p_brzyl_HA_L) - 20000000000 / (S.L.bremse_A_BrVentil_HA_L)
' Berechnung des Massenstroms aus Behälter 1 zum Bremszylinder HA
(L.L.bremse_p_Tank01) s1
(L.L.bremse_p_Brzyl_HA_L) s2
(C.L.bremse_V_tank01) s3
(C.L.bremse_V_Brzyl_HA_L) s4
' Ventilwahl abhängig von der Stellung des Wechselventils
(L.L.bremse_wechselventil_HA)
{if}
(L.L.bremse_A_BrVentil_HA_L) 2 * s5
{else}
(L.L.bremse_A_BrVentil_HA_L) s5
{endif}
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank01)
l2 (S.L.bremse_p_Brzyl_HA_L)
{else}
(L.L.bremse_p_brzyl_HA_L) (L.L.bremse_zieldruck_HA_L) - sqrt 20000000 / (S.L.bremse_A_BrVentil_HA_L)
' Berechnung des Massenstroms aus Bremszylinder HA ins Freie
(L.L.bremse_p_Brzyl_HA_L) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_brzyl_HA_L) s3
1 s4
' Ventilwahl abhängig von der Stellung des Wechselventils
(L.L.bremse_wechselventil_HA)
{if}
(L.L.bremse_A_BrVentil_HA_L) 2 * s5
{else}
(L.L.bremse_A_BrVentil_HA_L) s5
{endif}
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Brzyl_HA_L)
{endif}
' Bildung des Mittelwertes für weitere Berechnungen
(L.L.bremse_p_Brzyl_HA_R) (L.L.bremse_p_Brzyl_HA_L) + 2 / (S.L.bremse_p_Brzyl_HA)
' b1) Vorderachse rechts
' Ist geforderter Bremsdruck höher als der aktuelle?
(L.L.bremse_zieldruck_VA_R) (L.L.bremse_p_brzyl_VA_R) >
{if}
(L.L.bremse_zieldruck_VA_R) (L.L.bremse_p_brzyl_VA_R) - 20000000000 / (S.L.bremse_A_BrVentil_VA_R)
' Berechnung des Massenstroms aus Behälter 2 zum Bremszylinder VA
(L.L.bremse_p_Tank02) s1
(L.L.bremse_p_Brzyl_VA_R) s2
(C.L.bremse_V_tank02) s3
(C.L.bremse_V_Brzyl_VA_R) s4
(L.L.bremse_A_BrVentil_VA_R) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank02)
l2 (S.L.bremse_p_Brzyl_VA_R)
{else}
(L.L.bremse_p_brzyl_VA_R) (L.L.bremse_zieldruck_VA_R) - sqrt 20000000 / (S.L.bremse_A_BrVentil_VA_R)
' Berechnung des Massenstroms aus Bremszylinder VA ins Freie
(L.L.bremse_p_Brzyl_VA_R) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_brzyl_VA_R) s3
1000000 s4
(L.L.bremse_A_BrVentil_VA_R) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Brzyl_VA_R)
{endif}
' b2) Vorderachse links
' Ist geforderter Bremsdruck höher als der aktuelle?
(L.L.bremse_zieldruck_VA_L) (L.L.bremse_p_brzyl_VA_L) >
{if}
(L.L.bremse_zieldruck_VA_L) (L.L.bremse_p_brzyl_VA_L) - 20000000000 / (S.L.bremse_A_BrVentil_VA_L)
' Berechnung des Massenstroms aus Behälter 2 zum Bremszylinder VA
(L.L.bremse_p_Tank02) s1
(L.L.bremse_p_Brzyl_VA_L) s2
(C.L.bremse_V_tank02) s3
(C.L.bremse_V_Brzyl_VA_L) s4
(L.L.bremse_A_BrVentil_VA_L) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank02)
l2 (S.L.bremse_p_Brzyl_VA_L)
{else}
(L.L.bremse_p_brzyl_VA_L) (L.L.bremse_zieldruck_VA_L) - sqrt 20000000 / (S.L.bremse_A_BrVentil_VA_L)
' Berechnung des Massenstroms aus Bremszylinder VA ins Freie
(L.L.bremse_p_Brzyl_VA_L) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_brzyl_VA_L) s3
1000000 s4
(L.L.bremse_A_BrVentil_VA_L) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Brzyl_VA_L)
{endif}
' Bildung des Mittelwertes für weitere Berechnungen
(L.L.bremse_p_Brzyl_VA_R) (L.L.bremse_p_Brzyl_VA_L) + 2 / (S.L.bremse_p_Brzyl_VA)
' c) Federspeicherbremse
' Ist geforderter Lösedruck höher als der aktuelle?
(L.L.bremse_zieldruck_FBA) (L.L.bremse_p_brzyl_FBA) >
{if}
(L.L.bremse_zieldruck_FBA) (L.L.bremse_p_brzyl_FBA) - 10000000000 / (S.L.bremse_A_BrVentil_FBA)
' Berechnung des Massenstroms aus Behälter 2 zum Bremszylinder FBA
(L.L.bremse_p_Tank03) s1
(L.L.bremse_p_Brzyl_FBA) s2
(C.L.bremse_V_tank03) s3
(C.L.bremse_V_Brzyl_FBA) s4
(L.L.bremse_A_BrVentil_FBA) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank03)
l2 (S.L.bremse_p_Brzyl_FBA)
{else}
(L.L.bremse_p_brzyl_FBA) (L.L.bremse_zieldruck_FBA) - sqrt 10000000 / (S.L.bremse_A_BrVentil_FBA)
' Berechnung des Massenstroms aus Bremszylinder FBA ins Freie
(L.L.bremse_p_Brzyl_FBA) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_brzyl_FBA) s3
1000000 s4
(L.L.bremse_A_BrVentil_FBA) s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Brzyl_FBA)
{endif}
' Überströmventile im Vierkreisschutzventil:
(L.L.bremse_p_Tank01) (C.L.bremse_UeVentil_1_schliessdruck) < (L.L.bremse_UeVentil_1) &&
{if}
0 (S.L.bremse_UeVentil_1)
{endif}
(L.L.bremse_p_leitung01) (C.L.bremse_UeVentil_1_oeffnungsdruck) >
{if}
1 (S.L.bremse_UeVentil_1)
{endif}
(L.L.bremse_p_Tank02) (C.L.bremse_UeVentil_2_schliessdruck) < (L.L.bremse_UeVentil_2) &&
{if}
0 (S.L.bremse_UeVentil_2)
{endif}
(L.L.bremse_p_leitung01) (C.L.bremse_UeVentil_2_oeffnungsdruck) >
{if}
1 (S.L.bremse_UeVentil_2)
{endif}
' Ein- und Abschaltdrücke des Druckreglers:
(L.L.bremse_p_leitung01) 950000 > (L.L.bremse_kompressor) 1 = &&
{if}
(T.L.ev_kompressor_aus)
0 (S.L.bremse_kompressor)
{endif}
(L.L.bremse_p_leitung01) 800000 < (L.L.bremse_kompressor) 0 = &&
{if}
(T.L.ev_kompressor_ein)
1 (S.L.bremse_kompressor)
{endif}
'**************************************************
'zawieszenie_dziury
'**************************************************
(L.L.antrieb_getr_gangwahl) 0 =
(L.L.throttle) 0.2 > &&
{if}
(L.L.Axle_Springfactor_0_R) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_0_R)
(L.L.Axle_Springfactor_1_R) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_1_R)
(L.L.Axle_Springfactor_0_L) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_0_L)
(L.L.Axle_Springfactor_1_L) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_1_L)
(L.S.Timegap) 3 *
(L.L.Axle_Springfactor_0_R) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_0_R)
(L.L.Axle_Springfactor_1_R) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_1_R)
(L.L.Axle_Springfactor_0_L) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_0_L)
(L.L.Axle_Springfactor_1_L) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_1_L)
(L.S.Timegap) 3 *
(L.L.Axle_Springfactor_0_R) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_0_R)
(L.L.Axle_Springfactor_1_R) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_1_R)
(L.L.Axle_Springfactor_0_L) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_0_L)
(L.L.Axle_Springfactor_1_L) (L.S.Timegap) 2 * - 0.1125 max (S.L.Axle_Springfactor_1_L)
(L.S.Timegap) 10 * + 0.5 min
(L.L.Axle_Springfactor_0_R) (L.S.Timegap) 2 * + 0.350 max (S.L.Axle_Springfactor_0_R)
(L.L.Axle_Springfactor_1_R) (L.S.Timegap) 2 * + 0.350 max (S.L.Axle_Springfactor_1_R)
(L.L.Axle_Springfactor_0_L) (L.S.Timegap) 2 * + 0.350 max (S.L.Axle_Springfactor_0_L)
(L.L.Axle_Springfactor_1_L) (L.S.Timegap) 2 * + 0.350 max (S.L.Axle_Springfactor_1_L)
{endif}
{end}
{macro:bremse_levelcontrol}
' Federweg Neutralposition: -0.105
'Vorne rechts
(C.L.bremse_level_setpoint) (L.L.Axle_Suspension_0_R) >
{if}
' Rückschlagventil der Luftfederung:
(L.L.bremse_p_Tank04) (L.L.bremse_p_balg_0_R) >
{if}
' Berechnung des Massenstroms aus Behälter 4 zum Federbalg 0 R
(L.L.bremse_p_Tank04) s1
(L.L.bremse_p_balg_0_R) s2
(C.L.bremse_V_tank04) s3
(C.L.bremse_V_balg_0_R) s4
(L.L.Axle_Suspension_0_R) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank04)
l2 (S.L.bremse_p_balg_0_R) 460000 / 0.5 max (S.L.Axle_Springfactor_0_R)
{endif}
{else}
' Berechnung des Massenstroms aus Federbalg 0 R ins Freie
(L.L.bremse_p_balg_0_R) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_balg_0_R) s3
1000000 s4
(L.L.Axle_Suspension_0_R) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_balg_0_R) 460000 / 0.5 max (S.L.Axle_Springfactor_0_R)
{endif}
'Vorne links
(C.L.bremse_level_setpoint) (L.L.Axle_Suspension_0_L) >
{if}
' Rückschlagventil der Luftfederung:
(L.L.bremse_p_Tank04) (L.L.bremse_p_balg_0_L) >
{if}
' Berechnung des Massenstroms aus Behälter 4 zum Federbalg 0 L
(L.L.bremse_p_Tank04) s1
(L.L.bremse_p_balg_0_L) s2
(C.L.bremse_V_tank04) s3
(C.L.bremse_V_balg_0_L) s4
(L.L.Axle_Suspension_0_L) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank04)
l2 (S.L.bremse_p_balg_0_L) 460000 / 0.5 max (S.L.Axle_Springfactor_0_L)
{endif}
{else}
' Berechnung des Massenstroms aus Federbalg 0 L ins Freie
(L.L.bremse_p_balg_0_L) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_balg_0_L) s3
1000000 s4
(L.L.Axle_Suspension_0_L) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_balg_0_L) 460000 / 0.5 max (S.L.Axle_Springfactor_0_L)
{endif}
'Hinten rechts
(C.L.bremse_level_setpoint) (L.L.Axle_Suspension_1_R) >
{if}
' Rückschlagventil der Luftfederung:
(L.L.bremse_p_Tank04) (L.L.bremse_p_balg_1_R) >
{if}
' Berechnung des Massenstroms aus Behälter 4 zum Federbalg 1 R
(L.L.bremse_p_Tank04) s1
(L.L.bremse_p_balg_1_R) s2
(C.L.bremse_V_tank04) s3
(C.L.bremse_V_balg_1_R) s4
(L.L.Axle_Suspension_1_R) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank04)
l2 (S.L.bremse_p_balg_1_R) 460000 / 0.5 max (S.L.Axle_Springfactor_1_R)
{endif}
{else}
' Berechnung des Massenstroms aus Federbalg 0 R ins Freie
(L.L.bremse_p_balg_1_R) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_balg_1_R) s3
1000000 s4
(L.L.Axle_Suspension_1_R) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_balg_1_R) 460000 / 0.5 max (S.L.Axle_Springfactor_1_R)
{endif}
'Vorne links
(C.L.bremse_level_setpoint) (L.L.Axle_Suspension_1_L) >
{if}
' Rückschlagventil der Luftfederung:
(L.L.bremse_p_Tank04) (L.L.bremse_p_balg_1_L) >
{if}
' Berechnung des Massenstroms aus Behälter 4 zum Federbalg 1 L
(L.L.bremse_p_Tank04) s1
(L.L.bremse_p_balg_1_L) s2
(C.L.bremse_V_tank04) s3
(C.L.bremse_V_balg_1_L) s4
(L.L.Axle_Suspension_1_L) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_Tank04)
l2 (S.L.bremse_p_balg_1_L) 460000 / 0.5 max (S.L.Axle_Springfactor_1_L)
{endif}
{else}
' Berechnung des Massenstroms aus Federbalg 0 L ins Freie
(L.L.bremse_p_balg_1_L) s1
(L.L.bremse_p_luft) s2
(C.L.bremse_V_balg_1_L) s3
1000000 s4
(L.L.Axle_Suspension_1_L) (C.L.bremse_level_setpoint) - 70000 / abs s5
(M.L.bremse_druckausgleich)
l1 (S.L.bremse_p_balg_1_L) 460000 / 0.5 max (S.L.Axle_Springfactor_1_L)
{endif}
'##################TESTKRAM####################################
' (L.L.cockpit_hupe)
' {if}
' 100000 (S.L.bremse_p_balg_0_R) (S.L.bremse_p_balg_0_L) (S.L.bremse_p_balg_1_R) (S.L.bremse_p_balg_1_L)
' {endif}
'
' (L.L.Axle_Springfactor_0_R) 10.97 * (S.L.gesamtmasse)
'##################/TESTKRAM####################################
{end}
{macro:bremse_druckausgleich}
' l1 Druck im Behälter 1
' l2 Druck im Behälter 2
' l3 Volumen Behälter 1
' l4 Volumen Behälter 2
' l5 Querschnittsfläche Verbindungsleitung
'...
' l6 temporäre Variable, die die maximale Zeitkonstante enthält
l1 l2 + 2 / l1 l2 - s0 * (C.L.RT_Luft) / abs sqrt l0 sgn * l5 * (C.L.RT_Luft) * s0
l1 l2 - 1 l3 / 1 l4 / + l0 * / s6
(L.S.Timegap) l6 min l0 * l4 / l2 + s2
(L.S.Timegap) l6 min l0 /-/ * l3 / l1 + s1
{end}
{macro:bremse_druckluftsound}
' Setzen der Druckdifferenz zur entsprechenden Sounduntermalung:
(L.L.bremse_zieldruck_VA) (L.L.bremse_p_brzyl_VA) - s1
(L.L.bremse_wechselventil_HA) !
{if}
(L.L.bremse_zieldruck_HA) (L.L.bremse_p_brzyl_HA) - s2
{else}
0 s2
{endif}
l1 l2 min (S.L.bremse_zieldruckdifferenz)
(L.L.bremse_p_brzyl_VA) (L.L.bremse_last_p_Brzyl) max s1
(L.L.bremse_wechselventil_HA) !
{if}
(L.L.bremse_p_brzyl_HA) (L.L.bremse_last_p_brzyl) max s2
{else}
0 s2
{endif}
l1 l2 max (S.L.bremse_last_p_Brzyl)
(L.L.bremse_zieldruckdifferenz) -40000 <
{if}
(L.L.bremse_loesezischbereitschaft) (L.L.bremse_loesezischzeit) 0.6 > &&
{if}
(L.L.bremse_last_p_Brzyl) (S.L.bremse_zischvolume)
(T.L.ev_loesezischen)
0 (S.L.bremse_loesezischzeit)
{endif}
0 (S.L.bremse_loesezischbereitschaft)
{else}
(L.L.bremse_loesezischbereitschaft) !
{if}
1 (S.L.bremse_loesezischbereitschaft)
(L.L.bremse_p_brzyl_VA) s1
(L.L.bremse_wechselventil_HA) !
{if}
(L.L.bremse_p_brzyl_HA) s2
{endif}
l1 l2 max (S.L.bremse_last_p_Brzyl)
{endif}
' Inkrementierung der vergangenen Zeit seit letztem Lösezischen:
(L.L.bremse_loesezischzeit) (L.S.Timegap) + (S.L.bremse_loesezischzeit)
{endif}
(L.L.bremse_zieldruckdifferenz) 100000 >
{if}
(L.L.bremse_bremszischbereitschaft)
{if}
(T.L.ev_bremszischen)
{endif}
0 (S.L.bremse_bremszischbereitschaft)
{else}
1 (S.L.bremse_bremszischbereitschaft)
{endif}
' Bremshupen Hinterachse
' Bestimmen der Gesamtlautstärke je nach Wagennummer:
(L.L.bremse_quietsch_volume) -1.5 <
{if}
(L.$.number) $StrToFloat 1000 * sin (S.L.bremse_quietsch_volume)
{endif}
' Triggern des Sounds jach Radumdrehung:
(L.L.Wheel_Rotation_1_R) 6.28318 / (L.L.Wheel_Rotation_1_R) 6.28318 / trunc - 0.5 >
{if}
(L.L.bremse_hupsound) !
{if}
(T.L.ev_bremse_hup)
1 (S.L.bremse_hupsound)
{endif}
{else}
0 (S.L.bremse_hupsound)
{endif}
{end}