{init}
	1 (S.L.Druckluft_Front) (S.L.Druckluft_Back) (S.L.Steuerkabel_Front) (S.L.Steuerkabel_Back)
{end}


{frame}



'#########################################
'	Bremskraft:
'#########################################

	(L.L.Brake)
	(S.L.CCW_Bremse)
	(L.L.CCR_Bremse)
	(L.L.Velocity) abs 4 / min s0
	(L.L.Bremshebel) >
	{if}
		l0 (S.L.Bremshebel)
	{endif}
	l0 0.01 <
	{if}
		0 (S.L.Bremshebel)
	{endif}

	(L.L.Bremshebel) s0
	(L.L.Bremse_Druck) s1
	3.0 s2
	2.5 s3
	(M.L.traegheit)
	(S.L.Bremse_Druck)
	l5 1000 * 1 min (S.L.Bremse_Luftstrom) s0

	l0 0 >
	{if}
		1 (S.L.Bremse_ReleaseSound)
	{endif}
	l0 -0.1 <
	(L.L.Bremse_Druck) 0.01 > &&
	(L.L.Bremse_ReleaseSound) &&
	(L.L.Velocity) abs 5 < &&
	{if}
		(T.L.ev_bremseloesen)
		0 (S.L.Bremse_ReleaseSound)		
	{endif}

	(L.L.Bremse_Druck) (C.L.AI_F_brems_max) * (S.L.Brakeforce)

'#########################################
'Traktionssteuerung: Fahrbefehl in Steuerleitung einspeisen

	(L.L.Throttle) (S.L.CCW_Throttle)

'#########################################
' Falls Stationen, setze immer auf 0:
	(L.L.AI_Scheduled_AtStation) 0 <
	{if}
		0 (S.L.AI_Scheduled_AtStation)
	{endif}

'#########################################
'Steuerung von Spitzen- und Zugschlusssignal

	(L.L.AI_Engine) 0.5 > (S.L.Lights_white) ! (L.L.train_frontcoupling) ! && (S.L.Lights_red_Front)
	(L.L.train_backcoupling) ! (S.L.Lights_Red_Rear)

'#########################################
'Setzen der Absolutgeschwindigkeit f r Soundzwecke

	(L.L.Velocity) abs (S.L.Abs_Velocity)

'#########################################
'Testbereich

	(L.L.Bremse_Druck) (S.L.Debug_0)


{end}

{trigger:railbond_0}
	(T.L.ev_railbond_a)
{end}

{trigger:railbond_1}
	(T.L.ev_railbond_a)
{end}

{trigger:railbond_2}
'	Nix, da dritte Achse vom DGBgqe-Endwagen bereits zum Portalteil geh rt
{end}

{trigger:railbond_3}
'	Nix, da vierte Achse beim DGBgqe nicht vorhanden
{end}

{macro:traegheit}

'Simuliert tr ges Verhalten (exponentiell)

'(c) R diger H lsmann, edited by Marcel Kuhnt

'Ladekonventionen:
'	Sollwert		l0
'	Istwert			l1
'	Konstante Anlauf	l2
'	Konstante Ablauf	l3

'Ausgabe:
'	neuer Istwert:		direkt
'	Ableitung:		l5

'Anlauf oder Auslauf?
	l0 l1 > 
	{if}
		l2 s4
	{else}
		l3 s4
	{endif}


'Sollwert:
	l0
'Istwert:
	l1
'Beschleunigung:
	- s4 * s5 (L.S.Timegap) *
'Addition zum Istwert:
	l1 + s1
{end}


