16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-21 22:59:19 +02:00

Fix for EP/MED brake after LBP changes

This commit is contained in:
Królik Uszasty
2018-07-16 18:46:07 +02:00
committed by tmj-fstate
parent 3751c8a0a8
commit 387f396ecb
3 changed files with 11 additions and 8 deletions

View File

@@ -3206,20 +3206,20 @@ bool TDynamicObject::Update(double dt, double dt1)
p->MoverParameters->Hamulec->GetFC( p->MoverParameters->Hamulec->GetFC(
Nmax / (p->MoverParameters->NAxles * p->MoverParameters->NBpA), VelC) * Nmax / (p->MoverParameters->NAxles * p->MoverParameters->NBpA), VelC) *
1000; // sila hamowania pn 1000; // sila hamowania pn
p->MoverParameters->LocalBrakePosA = (p->MoverParameters->SlippingWheels ? 0 : FzEP[i] / FmaxPoj); p->MoverParameters->LocalBrakePosAEIM = (p->MoverParameters->SlippingWheels ? 0 : FzEP[i] / FmaxPoj);
if (p->MoverParameters->LocalBrakePosA>0.009) if (p->MoverParameters->LocalBrakePosAEIM>0.009)
if (p->MoverParameters->P2FTrans * p->MoverParameters->BrakeCylMult[0] * if (p->MoverParameters->P2FTrans * p->MoverParameters->BrakeCylMult[0] *
p->MoverParameters->MaxBrakePress[0] != 0) p->MoverParameters->MaxBrakePress[0] != 0)
{ {
float x = (p->MoverParameters->BrakeSlckAdj / p->MoverParameters->BrakeCylMult[0] + float x = (p->MoverParameters->BrakeSlckAdj / p->MoverParameters->BrakeCylMult[0] +
p->MoverParameters->BrakeCylSpring) / (p->MoverParameters->P2FTrans * p->MoverParameters->BrakeCylSpring) / (p->MoverParameters->P2FTrans *
p->MoverParameters->MaxBrakePress[0]); p->MoverParameters->MaxBrakePress[0]);
p->MoverParameters->LocalBrakePosA = x + (1 - x) * p->MoverParameters->LocalBrakePosA; p->MoverParameters->LocalBrakePosAEIM = x + (1 - x) * p->MoverParameters->LocalBrakePosAEIM;
} }
else else
p->MoverParameters->LocalBrakePosA = p->MoverParameters->LocalBrakePosA; p->MoverParameters->LocalBrakePosAEIM = p->MoverParameters->LocalBrakePosAEIM;
else else
p->MoverParameters->LocalBrakePosA = 0; p->MoverParameters->LocalBrakePosAEIM = 0;
++i; ++i;
} }

View File

@@ -1025,7 +1025,8 @@ public:
double BrakeCtrlPosR = 0.0; /*nastawa hamulca zespolonego - plynna dla FV4a*/ double BrakeCtrlPosR = 0.0; /*nastawa hamulca zespolonego - plynna dla FV4a*/
double BrakeCtrlPos2 = 0.0; /*nastawa hamulca zespolonego - kapturek dla FV4a*/ double BrakeCtrlPos2 = 0.0; /*nastawa hamulca zespolonego - kapturek dla FV4a*/
int ManualBrakePos = 0; /*nastawa hamulca recznego*/ int ManualBrakePos = 0; /*nastawa hamulca recznego*/
double LocalBrakePosA = 0.0; double LocalBrakePosA = 0.0; /*nastawa hamulca pomocniczego*/
double LocalBrakePosAEIM = 0.0; /*pozycja hamulca pomocniczego ep dla asynchronicznych ezt*/
/* /*
int BrakeStatus = b_off; //0 - odham, 1 - ham., 2 - uszk., 4 - odluzniacz, 8 - antyposlizg, 16 - uzyte EP, 32 - pozycja R, 64 - powrot z R int BrakeStatus = b_off; //0 - odham, 1 - ham., 2 - uszk., 4 - odluzniacz, 8 - antyposlizg, 16 - uzyte EP, 32 - pozycja R, 64 - powrot z R
*/ */

View File

@@ -3462,8 +3462,10 @@ void TMoverParameters::UpdatePipePressure(double dt)
if ((BrakeCtrlPosNo > 1) /*&& (ActiveCab != 0)*/) if ((BrakeCtrlPosNo > 1) /*&& (ActiveCab != 0)*/)
// with BrakePressureTable[BrakeCtrlPos] do // with BrakePressureTable[BrakeCtrlPos] do
{ {
dpLocalValve = LocHandle->GetPF(LocalBrakePosA, Hamulec->GetBCP(), ScndPipePress, dt, 0); if ((EngineType != TEngineType::ElectricInductionMotor))
dpLocalValve = LocHandle->GetPF(std::max(LocalBrakePosA, LocalBrakePosAEIM), Hamulec->GetBCP(), ScndPipePress, dt, 0);
else
dpLocalValve = LocHandle->GetPF(LocalBrakePosAEIM, Hamulec->GetBCP(), ScndPipePress, dt, 0);
if( ( BrakeHandle == TBrakeHandle::FV4a ) if( ( BrakeHandle == TBrakeHandle::FV4a )
&& ( ( PipePress < 2.75 ) && ( ( PipePress < 2.75 )
&& ( ( Hamulec->GetStatus() & b_rls ) == 0 ) ) && ( ( Hamulec->GetStatus() & b_rls ) == 0 ) )