mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 11:39:19 +02:00
Added increased flow factor for filling stroke positions for handles K5P and 6P
This commit is contained in:
@@ -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);
|
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)
|
if (dpPipe > PP)
|
||||||
dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, dpPipe, 0.4);
|
dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, dpPipe, 0.4);
|
||||||
else
|
else
|
||||||
@@ -2866,7 +2879,7 @@ double TMHZ_K5P::GetRP()
|
|||||||
return 5.0 + TP + RedAdj;
|
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;
|
AutoOvrld = AO;
|
||||||
ManualOvrld = MO;
|
ManualOvrld = MO;
|
||||||
@@ -2874,6 +2887,7 @@ void TMHZ_K5P::SetParams(bool AO, bool MO, double OverP, double, double OMP, dou
|
|||||||
Fala = (OverP > 0.01);
|
Fala = (OverP > 0.01);
|
||||||
OverloadMaxPressure = OMP;
|
OverloadMaxPressure = OMP;
|
||||||
OverloadPressureDecrease = OPD;
|
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
|
if (ManualOvrld && !ManualOvrldActive) //no overpressure for not pressed button if it does not exists
|
||||||
uop = 0;
|
uop = 0;
|
||||||
|
|
||||||
if (Fala && EQ(i_bcp, -1))
|
if (EQ(i_bcp, -1))
|
||||||
{
|
{
|
||||||
dpPipe = 5.0 + TP + RedAdj + uop;
|
if (Fala)
|
||||||
ActFlowSpeed = 12;
|
{
|
||||||
|
dpPipe = 5.0 + TP + RedAdj + uop;
|
||||||
|
ActFlowSpeed = 12;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ActFlowSpeed *= FillingStrokeFactor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dpPipe > PP)
|
if (dpPipe > PP)
|
||||||
@@ -3007,7 +3028,7 @@ double TMHZ_6P::GetRP()
|
|||||||
return 5.0 + TP + RedAdj;
|
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;
|
AutoOvrld = AO;
|
||||||
ManualOvrld = MO;
|
ManualOvrld = MO;
|
||||||
@@ -3015,6 +3036,7 @@ void TMHZ_6P::SetParams(bool AO, bool MO, double OverP, double, double OMP, doub
|
|||||||
Fala = (OverP > 0.01);
|
Fala = (OverP > 0.01);
|
||||||
OverloadMaxPressure = OMP;
|
OverloadMaxPressure = OMP;
|
||||||
OverloadPressureDecrease = OPD;
|
OverloadPressureDecrease = OPD;
|
||||||
|
FillingStrokeFactor = 1 + FSF;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -639,6 +639,7 @@ private:
|
|||||||
double UnbrakeOverPressure = 0.0;
|
double UnbrakeOverPressure = 0.0;
|
||||||
double OverloadMaxPressure = 1.0; //maksymalne zwiekszenie cisnienia przy asymilacji
|
double OverloadMaxPressure = 1.0; //maksymalne zwiekszenie cisnienia przy asymilacji
|
||||||
double OverloadPressureDecrease = 0.002; //predkosc spadku 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 };
|
static double const pos_table[11]; //= { -2, 10, -1, 0, 0, 2, 9, 10, 0, 0, 0 };
|
||||||
|
|
||||||
bool EQ(double pos, double i_pos);
|
bool EQ(double pos, double i_pos);
|
||||||
@@ -669,6 +670,7 @@ private:
|
|||||||
double UnbrakeOverPressure = 0.0; //wartosc napelniania uderzeniowego
|
double UnbrakeOverPressure = 0.0; //wartosc napelniania uderzeniowego
|
||||||
double OverloadMaxPressure = 1.0; //maksymalne zwiekszenie cisnienia przy asymilacji
|
double OverloadMaxPressure = 1.0; //maksymalne zwiekszenie cisnienia przy asymilacji
|
||||||
double OverloadPressureDecrease = 0.002; //predkosc spadku 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 };
|
static double const pos_table[11]; //= { -2, 10, -1, 0, 0, 2, 9, 10, 0, 0, 0 };
|
||||||
|
|
||||||
bool EQ(double pos, double i_pos);
|
bool EQ(double pos, double i_pos);
|
||||||
|
|||||||
Reference in New Issue
Block a user