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

Merge remote-tracking branch 'youby/master' into sim

This commit is contained in:
milek7
2022-01-14 16:39:20 +01:00
4 changed files with 38 additions and 14 deletions

View File

@@ -2203,8 +2203,8 @@ void TMoverParameters::MotorBlowersCheck( double const Timestep ) {
// activation check
for( auto &blower : MotorBlowers ) {
auto disable = blower.is_disabled;
auto const start { ( Vel >= blower.min_start_velocity && Im > 0.5 ) };
auto const stop { ( Vel < 0.5 && Im < 0.5 ) };
auto const start { ( Vel >= blower.min_start_velocity && std::abs(Im) > 0.5 ) };
auto const stop { ( Vel < 0.5 && std::abs(Im) < 0.5 ) };
if (blower.min_start_velocity >= 0)
{
if ( stop )

View File

@@ -2800,6 +2800,19 @@ double TMHZ_K5P::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
dpPipe = Min0R(HP, CP + TP + RedAdj);
if (EQ(i_bcp, -1))
{
if (Fala)
{
dpPipe = 5.0 + TP + RedAdj + uop;
ActFlowSpeed = 12;
}
else
{
ActFlowSpeed *= FillingStrokeFactor;
}
}
if (dpPipe > PP)
dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, dpPipe, 0.4);
else
@@ -2866,7 +2879,7 @@ double TMHZ_K5P::GetRP()
return 5.0 + TP + RedAdj;
}
void TMHZ_K5P::SetParams(bool AO, bool MO, double OverP, double, double OMP, double OPD)
void TMHZ_K5P::SetParams(bool AO, bool MO, double OverP, double FSF, double OMP, double OPD)
{
AutoOvrld = AO;
ManualOvrld = MO;
@@ -2874,6 +2887,7 @@ void TMHZ_K5P::SetParams(bool AO, bool MO, double OverP, double, double OMP, dou
Fala = (OverP > 0.01);
OverloadMaxPressure = OMP;
OverloadPressureDecrease = OPD;
FillingStrokeFactor = 1 + FSF;
}
@@ -2935,10 +2949,17 @@ double TMHZ_6P::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
if (ManualOvrld && !ManualOvrldActive) //no overpressure for not pressed button if it does not exists
uop = 0;
if (Fala && EQ(i_bcp, -1))
if (EQ(i_bcp, -1))
{
dpPipe = 5.0 + TP + RedAdj + uop;
ActFlowSpeed = 12;
if (Fala)
{
dpPipe = 5.0 + TP + RedAdj + uop;
ActFlowSpeed = 12;
}
else
{
ActFlowSpeed *= FillingStrokeFactor;
}
}
if (dpPipe > PP)
@@ -3007,7 +3028,7 @@ double TMHZ_6P::GetRP()
return 5.0 + TP + RedAdj;
}
void TMHZ_6P::SetParams(bool AO, bool MO, double OverP, double, double OMP, double OPD)
void TMHZ_6P::SetParams(bool AO, bool MO, double OverP, double FSF, double OMP, double OPD)
{
AutoOvrld = AO;
ManualOvrld = MO;
@@ -3015,6 +3036,7 @@ void TMHZ_6P::SetParams(bool AO, bool MO, double OverP, double, double OMP, doub
Fala = (OverP > 0.01);
OverloadMaxPressure = OMP;
OverloadPressureDecrease = OPD;
FillingStrokeFactor = 1 + FSF;
}

View File

@@ -639,6 +639,7 @@ private:
double UnbrakeOverPressure = 0.0;
double OverloadMaxPressure = 1.0; //maksymalne zwiekszenie cisnienia przy asymilacji
double OverloadPressureDecrease = 0.002; //predkosc spadku cisnienia przy asymilacji
double FillingStrokeFactor = 1.0; //mnożnik otwarcia zaworu przy uderzeniowym (bez fali)
static double const pos_table[11]; //= { -2, 10, -1, 0, 0, 2, 9, 10, 0, 0, 0 };
bool EQ(double pos, double i_pos);
@@ -669,6 +670,7 @@ private:
double UnbrakeOverPressure = 0.0; //wartosc napelniania uderzeniowego
double OverloadMaxPressure = 1.0; //maksymalne zwiekszenie cisnienia przy asymilacji
double OverloadPressureDecrease = 0.002; //predkosc spadku cisnienia przy asymilacji
double FillingStrokeFactor = 1.0; //mnożnik otwarcia zaworu przy uderzeniowym (bez fali)
static double const pos_table[11]; //= { -2, 10, -1, 0, 0, 2, 9, 10, 0, 0, 0 };
bool EQ(double pos, double i_pos);