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

Poprawione sprawdzanie flag w całych hamulcach

Poprawione sprawdzanie flag w całych hamulcach
This commit is contained in:
firleju
2017-01-06 23:43:53 +01:00
parent 67815379dd
commit 95f8bd3c27
2 changed files with 106 additions and 109 deletions

View File

@@ -118,9 +118,9 @@ void TRapid::Update(double dt)
} }
if ((BCP * RapidMult > P() * ActMult)) if ((BCP * RapidMult > P() * ActMult))
dV = -PFVd(BCP, 0, DL, P() * ActMult * 1.0 / RapidMult) * dt; dV = -PFVd(BCP, 0, DL, P() * ActMult / RapidMult) * dt;
else if ((BCP * RapidMult < P() * ActMult)) else if ((BCP * RapidMult < P() * ActMult))
dV = PFVa(BVP, BCP, DN, P() * ActMult * 1.0 / RapidMult) * dt; dV = PFVa(BVP, BCP, DN, P() * ActMult / RapidMult) * dt;
else else
dV = 0; dV = 0;
@@ -226,7 +226,7 @@ double TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora
VVP = ValveRes->P(); VVP = ValveRes->P();
// BCP:=BrakeCyl.P; // BCP:=BrakeCyl.P;
BCP = Przekladniki[1]->P(); BCP = Przekladniki[1]->P();
CVP = CntrlRes->P() - 0.0; CVP = CntrlRes->P();
MPP = Miedzypoj->P(); MPP = Miedzypoj->P();
dV1 = 0; dV1 = 0;
@@ -290,7 +290,7 @@ double TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora
// przeplyw ZS <-> PG // przeplyw ZS <-> PG
temp = CVs(BCP); temp = CVs(BCP);
dV = PF(CVP, MPP, temp) * dt; dV = PF(CVP, MPP, temp) * dt;
CntrlRes->Flow(+dV); CntrlRes->Flow(dV);
ValveRes->Flow(-0.02 * dV); ValveRes->Flow(-0.02 * dV);
dV1 += 0.98 * dV; dV1 += 0.98 * dV;
@@ -373,13 +373,13 @@ void TNESt3::CheckState(double BCP, double &dV1) // glowny przyrzad rozrzadczy
// sprawdzanie stanu // sprawdzanie stanu
// if ((BrakeStatus and 1)=1)and(BCP>0.25)then // if ((BrakeStatus and 1)=1)and(BCP>0.25)then
if ((VVP + 0.01 + BCP * 1.0 / BVM < CVP - 0.05) && (Przys_blok)) if ((VVP + 0.01 + BCP / BVM < CVP - 0.05) && (Przys_blok))
BrakeStatus |= 3; // hamowanie stopniowe; BrakeStatus |= 3; // hamowanie stopniowe;
else if ((VVP - 0.01 + (BCP - 0.1) * 1.0 / BVM > CVP - 0.05)) else if ((VVP - 0.01 + (BCP - 0.1) / BVM > CVP - 0.05))
BrakeStatus &= 252; // luzowanie; BrakeStatus &= 252; // luzowanie;
else if ((VVP + BCP * 1.0 / BVM > CVP - 0.05)) else if ((VVP + BCP / BVM > CVP - 0.05))
BrakeStatus &= 253; // zatrzymanie napelaniania; BrakeStatus &= 253; // zatrzymanie napelaniania;
else if ((VVP + (BCP - 0.1) * 1.0 / BVM < CVP - 0.05) && (BCP > 0.25)) // zatrzymanie luzowania else if ((VVP + (BCP - 0.1) / BVM < CVP - 0.05) && (BCP > 0.25)) // zatrzymanie luzowania
BrakeStatus |= 1; BrakeStatus |= 1;
if ((BrakeStatus & 1) == 0) if ((BrakeStatus & 1) == 0)
@@ -409,9 +409,9 @@ void TNESt3::CheckReleaser(double dt) // odluzniacz
CVP = CntrlRes->P(); CVP = CntrlRes->P();
// odluzniacz automatyczny // odluzniacz automatyczny
if ((BrakeStatus & b_rls == b_rls)) if ((BrakeStatus & b_rls) == b_rls)
{ {
CntrlRes->Flow(+PF(CVP, 0, 0.02) * dt); CntrlRes->Flow(PF(CVP, 0, 0.02) * dt);
if ((CVP < VVP + 0.3) || (!autom)) if ((CVP < VVP + 0.3) || (!autom))
BrakeStatus &= 247; BrakeStatus &= 247;
} }

View File

@@ -381,7 +381,7 @@ double TBrake::GetBCF()
bool TBrake::SetBDF(int nBDF) bool TBrake::SetBDF(int nBDF)
{ {
bool result; bool result;
if (((nBDF && BrakeDelays) == nBDF) && (nBDF != BrakeDelayFlag)) if (((nBDF & BrakeDelays) == nBDF) && (nBDF != BrakeDelayFlag))
{ {
BrakeDelayFlag = nBDF; BrakeDelayFlag = nBDF;
return true; return true;
@@ -457,15 +457,15 @@ double TWest::GetPF(double PP, double dt, double Vel)
if ((BrakeStatus & 1) == 1) if ((BrakeStatus & 1) == 1)
if ((VVP + 0.03 < BVP)) if ((VVP + 0.03 < BVP))
BrakeStatus = (BrakeStatus | 2); BrakeStatus |= 2;
else if ((VVP > BVP + 0.1)) else if ((VVP > BVP + 0.1))
BrakeStatus = (BrakeStatus & 252); BrakeStatus &= 252;
else if ((VVP > BVP)) else if ((VVP > BVP))
BrakeStatus = (BrakeStatus & 253); BrakeStatus &= 253;
else else
; ;
else if ((VVP + 0.25 < BVP)) else if ((VVP + 0.25 < BVP))
BrakeStatus = (BrakeStatus | 3); BrakeStatus |= 3;
if (((BrakeStatus & b_hld) == b_off) && (!DCV)) if (((BrakeStatus & b_hld) == b_off) && (!DCV))
dv = PF(0, CVP, 0.0068 * SizeBC) * dt; dv = PF(0, CVP, 0.0068 * SizeBC) * dt;
@@ -584,9 +584,9 @@ void TESt::CheckReleaser(double dt)
CVP = CntrlRes->P() - 0.0; CVP = CntrlRes->P() - 0.0;
// odluzniacz // odluzniacz
if ((BrakeStatus & b_rls == b_rls)) if ((BrakeStatus & b_rls) == b_rls)
if ((CVP - VVP < 0)) if ((CVP - VVP < 0))
BrakeStatus = BrakeStatus & 247; BrakeStatus &= 247;
else else
{ {
CntrlRes->Flow(+PF(CVP, 0, 0.1) * dt); CntrlRes->Flow(+PF(CVP, 0, 0.1) * dt);
@@ -608,11 +608,11 @@ void TESt::CheckState(double BCP, double &dV1)
// sprawdzanie stanu // sprawdzanie stanu
if (((BrakeStatus & 1) == 1) && (BCP > 0.25)) if (((BrakeStatus & 1) == 1) && (BCP > 0.25))
if ((VVP + 0.003 + BCP / BVM < CVP)) if ((VVP + 0.003 + BCP / BVM < CVP))
BrakeStatus = (BrakeStatus | 2); // hamowanie stopniowe BrakeStatus |= 2; // hamowanie stopniowe
else if ((VVP - 0.003 + (BCP - 0.1) / BVM > CVP)) else if ((VVP - 0.003 + (BCP - 0.1) / BVM > CVP))
BrakeStatus = (BrakeStatus & 252); // luzowanie BrakeStatus &= 252; // luzowanie
else if ((VVP + BCP / BVM > CVP)) else if ((VVP + BCP / BVM > CVP))
BrakeStatus = (BrakeStatus & 253); // zatrzymanie napelaniania BrakeStatus &= 253; // zatrzymanie napelaniania
else else
; ;
else if ((VVP + 0.10 < CVP) && (BCP < 0.25)) // poczatek hamowania else if ((VVP + 0.10 < CVP) && (BCP < 0.25)) // poczatek hamowania
@@ -620,20 +620,20 @@ void TESt::CheckState(double BCP, double &dV1)
if ((BrakeStatus & 1) == 0) if ((BrakeStatus & 1) == 0)
{ {
ValveRes->CreatePress(0.02 * VVP); ValveRes->CreatePress(0.02 * VVP);
SoundFlag = SoundFlag | sf_Acc; SoundFlag |= sf_Acc;
ValveRes->Act(); ValveRes->Act();
} }
BrakeStatus = (BrakeStatus | 3); BrakeStatus |= 3;
// ValveRes.CreatePress(0); // ValveRes.CreatePress(0);
// dV1:=1; // dV1:=1;
} }
else if ((VVP + (BCP - 0.1) / BVM < CVP) && ((CVP - VVP) * BVM > 0.25) && else if ((VVP + (BCP - 0.1) / BVM < CVP) && ((CVP - VVP) * BVM > 0.25) &&
(BCP > 0.25)) // zatrzymanie luzowanie (BCP > 0.25)) // zatrzymanie luzowanie
BrakeStatus = (BrakeStatus | 1); BrakeStatus |= 1;
if ((BrakeStatus & 1) == 0) if ((BrakeStatus & 1) == 0)
SoundFlag = SoundFlag | sf_CylU; SoundFlag |= sf_CylU;
} }
double TESt::CVs(double BP) double TESt::CVs(double BP)
@@ -812,25 +812,25 @@ double TEStEP2::GetPF(double PP, double dt, double Vel)
// sprawdzanie stanu // sprawdzanie stanu
if (((BrakeStatus & 1) == 1) && (BCP > 0.25)) if (((BrakeStatus & 1) == 1) && (BCP > 0.25))
if ((VVP + 0.003 + BCP / BVM < CVP - 0.12)) if ((VVP + 0.003 + BCP / BVM < CVP - 0.12))
BrakeStatus = (BrakeStatus | 2); // hamowanie stopniowe; BrakeStatus |= 2; // hamowanie stopniowe;
else if ((VVP - 0.003 + BCP / BVM > CVP - 0.12)) else if ((VVP - 0.003 + BCP / BVM > CVP - 0.12))
BrakeStatus = (BrakeStatus & 252); // luzowanie; BrakeStatus &= 252; // luzowanie;
else if ((VVP + BCP / BVM > CVP - 0.12)) else if ((VVP + BCP / BVM > CVP - 0.12))
BrakeStatus = (BrakeStatus & 253); // zatrzymanie napelaniania; BrakeStatus &= 253; // zatrzymanie napelaniania;
else else
; ;
else if ((VVP + 0.10 < CVP - 0.12) && (BCP < 0.25)) // poczatek hamowania else if ((VVP + 0.10 < CVP - 0.12) && (BCP < 0.25)) // poczatek hamowania
{ {
if ((BrakeStatus & 1) == 0) //if ((BrakeStatus & 1) == 0)
{ //{
// ValveRes.CreatePress(0.5*VVP); //110115 - konsultacje warszawa1 // // ValveRes.CreatePress(0.5*VVP); //110115 - konsultacje warszawa1
// SoundFlag:=SoundFlag or sf_Acc; // // SoundFlag:=SoundFlag or sf_Acc;
// ValveRes.Act; // // ValveRes.Act;
} //}
BrakeStatus = (BrakeStatus | 3); BrakeStatus |= 3;
} }
else if ((VVP + BCP / BVM < CVP - 0.12) && (BCP > 0.25)) // zatrzymanie luzowanie else if ((VVP + BCP / BVM < CVP - 0.12) && (BCP > 0.25)) // zatrzymanie luzowanie
BrakeStatus = (BrakeStatus | 1); BrakeStatus |= 1;
// przeplyw ZS <-> PG // przeplyw ZS <-> PG
if ((BVP < CVP - 0.2) || (BrakeStatus > 0) || (BCP > 0.25)) if ((BVP < CVP - 0.2) || (BrakeStatus > 0) || (BCP > 0.25))
@@ -1004,7 +1004,7 @@ double TESt4R::GetPF(double PP, double dt, double Vel)
BVP = BrakeRes->P(); BVP = BrakeRes->P();
VVP = ValveRes->P(); VVP = ValveRes->P();
BCP = ImplsRes->P(); BCP = ImplsRes->P();
CVP = CntrlRes->P() - 0.0; CVP = CntrlRes->P();
dv = 0; dv = 0;
dV1 = 0; dV1 = 0;
@@ -1225,9 +1225,9 @@ double TLSt::GetPF(double PP, double dt, double Vel)
dV1 = 0; dV1 = 0;
// sprawdzanie stanu // sprawdzanie stanu
if ((BrakeStatus & b_rls == b_rls)) if ((BrakeStatus & b_rls) == b_rls)
if ((CVP < 1 * 0)) if ((CVP < 0))
BrakeStatus = BrakeStatus & 247; BrakeStatus &= 247;
else else
{ // 008 { // 008
dv = PF1(CVP, BCP, 0.024) * dt; dv = PF1(CVP, BCP, 0.024) * dt;
@@ -1394,19 +1394,19 @@ double TEStED::GetPF(double PP, double dt, double Vel)
// sprawdzanie stanu // sprawdzanie stanu
if ((VVP + 0.002 + BCP / BVM < CVP - 0.05) && (Przys_blok)) if ((VVP + 0.002 + BCP / BVM < CVP - 0.05) && (Przys_blok))
BrakeStatus = (BrakeStatus | 3); // hamowanie stopniowe; BrakeStatus |= 3; // hamowanie stopniowe;
else if ((VVP - 0.002 + (BCP - 0.1) / BVM > CVP - 0.05)) else if ((VVP - 0.002 + (BCP - 0.1) / BVM > CVP - 0.05))
BrakeStatus = (BrakeStatus & 252); // luzowanie; BrakeStatus &= 252; // luzowanie;
else if ((VVP + BCP / BVM > CVP - 0.05)) else if ((VVP + BCP / BVM > CVP - 0.05))
BrakeStatus = (BrakeStatus & 253); // zatrzymanie napelaniania; BrakeStatus &= 253; // zatrzymanie napelaniania;
else if ((VVP + (BCP - 0.1) / BVM < CVP - 0.05) && (BCP > 0.25)) // zatrzymanie luzowania else if ((VVP + (BCP - 0.1) / BVM < CVP - 0.05) && (BCP > 0.25)) // zatrzymanie luzowania
BrakeStatus = (BrakeStatus | 1); BrakeStatus |= 1;
if ((VVP + 0.10 < CVP) && (BCP < 0.25)) // poczatek hamowania if ((VVP + 0.10 < CVP) && (BCP < 0.25)) // poczatek hamowania
if ((!Przys_blok)) if ((!Przys_blok))
{ {
ValveRes->CreatePress(0.75 * VVP); ValveRes->CreatePress(0.75 * VVP);
SoundFlag = SoundFlag | sf_Acc; SoundFlag |= sf_Acc;
ValveRes->Act(); ValveRes->Act();
Przys_blok = true; Przys_blok = true;
} }
@@ -1416,7 +1416,7 @@ double TEStED::GetPF(double PP, double dt, double Vel)
else if ((VVP - 0.6 < MPP)) else if ((VVP - 0.6 < MPP))
Zamykajacy = false; Zamykajacy = false;
if ((BrakeStatus & b_rls == b_rls)) if ((BrakeStatus & b_rls) == b_rls)
{ {
dv = PF(CVP, BCP, 0.024) * dt; dv = PF(CVP, BCP, 0.024) * dt;
CntrlRes->Flow(+dv); CntrlRes->Flow(+dv);
@@ -1520,21 +1520,21 @@ void TEStED::Init(double PP, double HPP, double LPP, double BP, int BDF)
TLSt::Init(PP, HPP, LPP, BP, BDF); TLSt::Init(PP, HPP, LPP, BP, BDF);
int i; int i;
ValveRes->CreatePress(1 * PP); ValveRes->CreatePress(PP);
BrakeCyl->CreatePress(1 * BP); BrakeCyl->CreatePress(BP);
// CntrlRes:=TReservoir.Create; // CntrlRes:=TReservoir.Create;
// CntrlRes.CreateCap(15); // CntrlRes.CreateCap(15);
// CntrlRes.CreatePress(1*HPP); // CntrlRes.CreatePress(1*HPP);
BrakeStatus = int(BP > 1) * 1; BrakeStatus = int(BP > 1);
Miedzypoj->CreateCap(5); Miedzypoj->CreateCap(5);
Miedzypoj->CreatePress(PP); Miedzypoj->CreatePress(PP);
ImplsRes->CreateCap(1); ImplsRes->CreateCap(1);
ImplsRes->CreatePress(BP); ImplsRes->CreatePress(BP);
BVM = 1 / (HPP - 0.05 - LPP) * MaxBP; BVM = 1.0 / (HPP - 0.05 - LPP) * MaxBP;
BrakeDelayFlag = BDF; BrakeDelayFlag = BDF;
Zamykajacy = false; Zamykajacy = false;
@@ -1553,8 +1553,7 @@ void TEStED::Init(double PP, double HPP, double LPP, double BP, int BDF)
Nozzles[6] = 0.9; Nozzles[6] = 0.9;
{ {
long i_end = 11; for (i = 0; i < 11; ++i)
for (i = 0; i < i_end; ++i)
{ {
Nozzles[i] = Nozzles[i] * Nozzles[i] * 3.14159 / 4000; Nozzles[i] = Nozzles[i] * Nozzles[i] * 3.14159 / 4000;
} }
@@ -1590,29 +1589,29 @@ void TCV1::CheckState(double BCP, double &dV1)
BVP = BrakeRes->P(); BVP = BrakeRes->P();
VVP = Min0R(ValveRes->P(), BVP + 0.05); VVP = Min0R(ValveRes->P(), BVP + 0.05);
CVP = CntrlRes->P() - 0.0; CVP = CntrlRes->P();
// odluzniacz // odluzniacz
if ((BrakeStatus & b_rls == b_rls) && (CVP - VVP < 0)) if (((BrakeStatus & b_rls) == b_rls) && (CVP - VVP < 0))
BrakeStatus = BrakeStatus & 247; BrakeStatus &= 247;
// sprawdzanie stanu // sprawdzanie stanu
if ((BrakeStatus & b_hld) == b_hld) if ((BrakeStatus & b_hld) == b_hld)
if ((VVP + 0.003 + BCP / BVM < CVP)) if ((VVP + 0.003 + BCP / BVM < CVP))
BrakeStatus = (BrakeStatus | 2); // hamowanie stopniowe; BrakeStatus |= 2; // hamowanie stopniowe;
else if ((VVP - 0.003 + BCP * 1.0 / BVM > CVP)) else if ((VVP - 0.003 + BCP * 1.0 / BVM > CVP))
BrakeStatus = (BrakeStatus & 252); // luzowanie; BrakeStatus &= 252; // luzowanie;
else if ((VVP + BCP * 1.0 / BVM > CVP)) else if ((VVP + BCP * 1.0 / BVM > CVP))
BrakeStatus = (BrakeStatus & 253); // zatrzymanie napelaniania; BrakeStatus &= 253; // zatrzymanie napelaniania;
else else
; ;
else if ((VVP + 0.10 < CVP) && (BCP < 0.1)) // poczatek hamowania else if ((VVP + 0.10 < CVP) && (BCP < 0.1)) // poczatek hamowania
{ {
BrakeStatus = (BrakeStatus | 3); BrakeStatus |= 3;
dV1 = 1.25; dV1 = 1.25;
} }
else if ((VVP + BCP / BVM < CVP) && (BCP > 0.25)) // zatrzymanie luzowanie else if ((VVP + BCP / BVM < CVP) && (BCP > 0.25)) // zatrzymanie luzowanie
BrakeStatus = (BrakeStatus | 1); BrakeStatus |= 1;
} }
double TCV1::CVs(double BP) double TCV1::CVs(double BP)
@@ -1656,7 +1655,7 @@ double TCV1::GetPF(double PP, double dt, double Vel)
BVP = BrakeRes->P(); BVP = BrakeRes->P();
VVP = Min0R(ValveRes->P(), BVP + 0.05); VVP = Min0R(ValveRes->P(), BVP + 0.05);
BCP = BrakeCyl->P(); BCP = BrakeCyl->P();
CVP = CntrlRes->P() - 0.0; CVP = CntrlRes->P();
dv = 0; dv = 0;
dV1 = 0; dV1 = 0;
@@ -1720,7 +1719,7 @@ void TCV1::Init(double PP, double HPP, double LPP, double BP, int BDF)
CntrlRes->CreatePress(HPP); CntrlRes->CreatePress(HPP);
BrakeStatus = 0; BrakeStatus = 0;
BVM = 1 / (HPP - LPP) * MaxBP; BVM = 1.0 / (HPP - LPP) * MaxBP;
BrakeDelayFlag = BDF; BrakeDelayFlag = BDF;
} }
@@ -1768,7 +1767,7 @@ double TCV1L_TR::GetPF(double PP, double dt, double Vel)
BVP = BrakeRes->P(); BVP = BrakeRes->P();
VVP = Min0R(ValveRes->P(), BVP + 0.05); VVP = Min0R(ValveRes->P(), BVP + 0.05);
BCP = ImplsRes->P(); BCP = ImplsRes->P();
CVP = CntrlRes->P() - 0.0; CVP = CntrlRes->P();
dv = 0; dv = 0;
dV1 = 0; dV1 = 0;
@@ -1850,13 +1849,11 @@ void TKE::CheckReleaser(double dt)
CVP = CntrlRes->P(); CVP = CntrlRes->P();
// odluzniacz // odluzniacz
if ((BrakeStatus && b_rls == b_rls)) if ((BrakeStatus && b_rls) == b_rls)
if ((CVP - VVP < 0)) if ((CVP - VVP < 0))
BrakeStatus = BrakeStatus && 247; BrakeStatus &= 247;
else else
{
CntrlRes->Flow(+PF(CVP, 0, 0.1) * dt); CntrlRes->Flow(+PF(CVP, 0, 0.1) * dt);
}
} }
void TKE::CheckState(double BCP, double &dV1) void TKE::CheckState(double BCP, double &dV1)
@@ -1872,20 +1869,20 @@ void TKE::CheckState(double BCP, double &dV1)
// sprawdzanie stanu // sprawdzanie stanu
if ((BrakeStatus && 1) == 1) if ((BrakeStatus && 1) == 1)
if ((VVP + 0.003 + BCP / BVM < CVP)) if ((VVP + 0.003 + BCP / BVM < CVP))
BrakeStatus = (BrakeStatus || 2); // hamowanie stopniowe; BrakeStatus |= 2; // hamowanie stopniowe;
else if ((VVP - 0.003 + BCP / BVM > CVP)) else if ((VVP - 0.003 + BCP / BVM > CVP))
BrakeStatus = (BrakeStatus && 252); // luzowanie; BrakeStatus &= 252; // luzowanie;
else if ((VVP + BCP / BVM > CVP)) else if ((VVP + BCP / BVM > CVP))
BrakeStatus = (BrakeStatus && 253); // zatrzymanie napelaniania; BrakeStatus &= 253; // zatrzymanie napelaniania;
else else
; ;
else if ((VVP + 0.10 < CVP) && (BCP < 0.1)) // poczatek hamowania else if ((VVP + 0.10 < CVP) && (BCP < 0.1)) // poczatek hamowania
{ {
BrakeStatus = (BrakeStatus || 3); BrakeStatus |= 3;
ValveRes->CreatePress(0.8 * VVP); // przyspieszacz ValveRes->CreatePress(0.8 * VVP); // przyspieszacz
} }
else if ((VVP + BCP / BVM < CVP) && ((CVP - VVP) * BVM > 0.25)) // zatrzymanie luzowanie else if ((VVP + BCP / BVM < CVP) && ((CVP - VVP) * BVM > 0.25)) // zatrzymanie luzowanie
BrakeStatus = (BrakeStatus || 1); BrakeStatus |= 1;
} }
double TKE::CVs(double BP) double TKE::CVs(double BP)
@@ -1986,8 +1983,8 @@ double TKE::GetPF(double PP, double dt, double Vel)
ImplsRes->Flow(-dv); ImplsRes->Flow(-dv);
// rapid // rapid
if (!((typeid(FM) == typeid(TDisk1)) || if (!((typeid(*FM) == typeid(TDisk1)) ||
(typeid(FM) == typeid(TDisk2)))) // jesli zeliwo to schodz (typeid(*FM) == typeid(TDisk2)))) // jesli zeliwo to schodz
RapidStatus = ((BrakeDelayFlag & bdelay_R) == bdelay_R) && RapidStatus = ((BrakeDelayFlag & bdelay_R) == bdelay_R) &&
(((Vel > 50) && (RapidStatus)) || (Vel > 70)); (((Vel > 50) && (RapidStatus)) || (Vel > 70));
else // jesli tarczowki, to zostan else // jesli tarczowki, to zostan
@@ -2057,7 +2054,7 @@ void TKE::Init(double PP, double HPP, double LPP, double BP, int BDF)
BrakeStatus = 0; BrakeStatus = 0;
BVM = 1 / (HPP - LPP) * MaxBP; BVM = 1.0 / (HPP - LPP) * MaxBP;
BrakeDelayFlag = BDF; BrakeDelayFlag = BDF;
} }
@@ -2093,7 +2090,7 @@ void TKE::SetLP(double TM, double LM, double TBP)
void TKE::SetRM(double RMR) void TKE::SetRM(double RMR)
{ {
RM = 1 - RMR; RM = 1.0 - RMR;
} }
void TKE::SetLBP(double P) void TKE::SetLBP(double P)
@@ -2161,11 +2158,11 @@ double TFV4a::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
LimPP = CP; LimPP = CP;
dpPipe = Min0R(HP, LimPP); dpPipe = Min0R(HP, LimPP);
dpMainValve = PF(dpPipe, PP, ActFlowSpeed / (LBDelay)) * dt; dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
if ((CP > RP + 0.05)) if ((CP > RP + 0.05))
dpMainValve = PF(Min0R(CP + 0.1, HP), PP, 1.1 * (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(Min0R(CP + 0.1, HP), PP, 1.1 * ActFlowSpeed / LBDelay) * dt;
if ((CP < RP - 0.05)) if ((CP < RP - 0.05))
dpMainValve = PF(CP - 0.1, PP, 1.1 * (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(CP - 0.1, PP, 1.1 * ActFlowSpeed / LBDelay) * dt;
if (lround(i_bcp) == -1) if (lround(i_bcp) == -1)
{ {
@@ -2175,15 +2172,15 @@ double TFV4a::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
TP = TP + dt; TP = TP + dt;
// if(cp+0.03<5.4)then // if(cp+0.03<5.4)then
if ((RP + 0.03 < 5.4) || (CP + 0.03 < 5.4)) // fala if ((RP + 0.03 < 5.4) || (CP + 0.03 < 5.4)) // fala
dpMainValve = PF(Min0R(HP, 17.1), PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(Min0R(HP, 17.1), PP, ActFlowSpeed / LBDelay) * dt;
// dpMainValve:=20*Min0R(abs(ep-7.1),0.05)*PF(HP,pp,(ActFlowSpeed)/(LBDelay))*dt; // dpMainValve:=20*Min0R(abs(ep-7.1),0.05)*PF(HP,pp,ActFlowSpeed/LBDelay)*dt;
else else
{ {
RP = 5.45; RP = 5.45;
if ((CP < PP - 0.01)) //: /34*9 if ((CP < PP - 0.01)) //: /34*9
dpMainValve = PF(dpPipe, PP, (ActFlowSpeed)*1.0 / 34 * 9 / (LBDelay)) * dt; dpMainValve = PF(dpPipe, PP, ActFlowSpeed / 34 * 9 / LBDelay) * dt;
else else
dpMainValve = PF(dpPipe, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
} }
} }
@@ -2195,16 +2192,16 @@ double TFV4a::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
TP = TP - dt / 12 / 2; TP = TP - dt / 12 / 2;
} }
if ((CP > RP + 0.1) && (CP <= 5)) if ((CP > RP + 0.1) && (CP <= 5))
dpMainValve = PF(Min0R(CP + 0.25, HP), PP, 2 * (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(Min0R(CP + 0.25, HP), PP, 2 * ActFlowSpeed / LBDelay) * dt;
else if (CP > 5) else if (CP > 5)
dpMainValve = PF(Min0R(CP, HP), PP, 2 * (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(Min0R(CP, HP), PP, 2 * ActFlowSpeed / LBDelay) * dt;
else else
dpMainValve = PF(dpPipe, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
} }
if ((lround(i_bcp) == i_bcpno)) if ((lround(i_bcp) == i_bcpno))
{ {
dpMainValve = PF(0, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(0, PP, ActFlowSpeed / LBDelay) * dt;
} }
return dpMainValve; return dpMainValve;
@@ -2294,9 +2291,9 @@ double TFV4aM::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
dpPipe = Min0R(HP, LimPP + XP * xpM); dpPipe = Min0R(HP, LimPP + XP * xpM);
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
dpMainValve = PFVd(PP, 0, ActFlowSpeed / (LBDelay), dpPipe, 0.4); dpMainValve = PFVd(PP, 0, ActFlowSpeed / LBDelay, dpPipe, 0.4);
if (EQ(i_bcp, -1)) if (EQ(i_bcp, -1))
{ {
@@ -2305,14 +2302,14 @@ double TFV4aM::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
if ((TP < 1)) if ((TP < 1))
TP = TP - 0.5 * dt; // 5/10 TP = TP - 0.5 * dt; // 5/10
// dpMainValve:=dpMainValve*2; // dpMainValve:=dpMainValve*2;
//+1*PF(dpPipe,pp,(ActFlowSpeed)/(LBDelay))//coby //+1*PF(dpPipe,pp,ActFlowSpeed/LBDelay)//coby
// nie przeszkadzal przy ladowaniu z zaworu obok // nie przeszkadzal przy ladowaniu z zaworu obok
} }
if (EQ(i_bcp, 0)) if (EQ(i_bcp, 0))
{ {
if ((TP > 2)) if ((TP > 2))
dpMainValve = dpMainValve * 1.5; //+0.5*PF(dpPipe,pp,(ActFlowSpeed)/(LBDelay))//coby nie dpMainValve = dpMainValve * 1.5; //+0.5*PF(dpPipe,pp,ActFlowSpeed/LBDelay)//coby nie
// przeszkadzal przy ladowaniu z zaworu obok // przeszkadzal przy ladowaniu z zaworu obok
} }
@@ -2331,7 +2328,7 @@ double TFV4aM::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
if ((EQ(i_bcp, i_bcpno)) || (EQ(i_bcp, -2))) if ((EQ(i_bcp, i_bcpno)) || (EQ(i_bcp, -2)))
{ {
DP = PF(0, PP, (ActFlowSpeed)*1.0 / (LBDelay)); DP = PF(0, PP, ActFlowSpeed / LBDelay);
dpMainValve = DP; dpMainValve = DP;
Sounds[s_fv4a_e] = DP; Sounds[s_fv4a_e] = DP;
Sounds[s_fv4a_u] = 0; Sounds[s_fv4a_u] = 0;
@@ -2453,9 +2450,9 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep
dpPipe = Min0R(HP, LimPP); dpPipe = Min0R(HP, LimPP);
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
dpMainValve = PFVd(PP, 0, ActFlowSpeed / (LBDelay), dpPipe, 0.4); dpMainValve = PFVd(PP, 0, ActFlowSpeed / LBDelay, dpPipe, 0.4);
if (EQ(i_bcp, -1)) if (EQ(i_bcp, -1))
{ {
@@ -2467,7 +2464,7 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep
if ((EQ(i_bcp, 10)) || (EQ(i_bcp, -2))) if ((EQ(i_bcp, 10)) || (EQ(i_bcp, -2)))
{ {
DP = PF(0, PP, 2 * (ActFlowSpeed)*1.0 / (LBDelay)); DP = PF(0, PP, 2 * ActFlowSpeed / LBDelay);
dpMainValve = DP; dpMainValve = DP;
Sounds[s_fv4a_e] = DP; Sounds[s_fv4a_e] = DP;
Sounds[s_fv4a_u] = 0; Sounds[s_fv4a_u] = 0;
@@ -2585,15 +2582,15 @@ double TM394::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
dpPipe = Min0R(HP, LimPP); dpPipe = Min0R(HP, LimPP);
// if(dpPipe>pp)then //napelnianie // if(dpPipe>pp)then //napelnianie
// dpMainValve:=PF(dpPipe,pp,ActFlowSpeed/(LBDelay))*dt // dpMainValve:=PF(dpPipe,pp,ActFlowSpeed/LBDelay)*dt
// else //spuszczanie // else //spuszczanie
dpMainValve = PF(dpPipe, PP, ActFlowSpeed / (LBDelay)) * dt; dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
if (BCP == -1) if (BCP == -1)
dpMainValve = PF(HP, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(HP, PP, ActFlowSpeed / LBDelay) * dt;
if (BCP == i_bcpno) if (BCP == i_bcpno)
dpMainValve = PF(0, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(0, PP, ActFlowSpeed / LBDelay) * dt;
return dpMainValve; return dpMainValve;
} }
@@ -2653,13 +2650,13 @@ double TH14K1::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
dpMainValve = 0; dpMainValve = 0;
if (BCP == -1) if (BCP == -1)
dpMainValve = PF(HP, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(HP, PP, ActFlowSpeed / LBDelay) * dt;
if ((BCP == 0)) if ((BCP == 0))
dpMainValve = -PFVa(HP, PP, (ActFlowSpeed)*1.0 / (LBDelay), NomPress + RedAdj) * dt; dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, NomPress + RedAdj) * dt;
if ((BCP > 1) && (PP > CP)) if ((BCP > 1) && (PP > CP))
dpMainValve = PFVd(PP, 0, (ActFlowSpeed)*1.0 / (LBDelay), CP) * dt; dpMainValve = PFVd(PP, 0, ActFlowSpeed / LBDelay, CP) * dt;
if (BCP == i_bcpno) if (BCP == i_bcpno)
dpMainValve = PF(0, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(0, PP, ActFlowSpeed / LBDelay) * dt;
return dpMainValve; return dpMainValve;
} }
@@ -2723,13 +2720,13 @@ double TSt113::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
dpMainValve = 0; dpMainValve = 0;
if (BCP == -1) if (BCP == -1)
dpMainValve = PF(HP, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(HP, PP, ActFlowSpeed / LBDelay) * dt;
if ((BCP == 0)) if ((BCP == 0))
dpMainValve = -PFVa(HP, PP, (ActFlowSpeed)*1.0 / (LBDelay), NomPress + RedAdj) * dt; dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, NomPress + RedAdj) * dt;
if ((BCP > 1) && (PP > CP)) if ((BCP > 1) && (PP > CP))
dpMainValve = PFVd(PP, 0, (ActFlowSpeed)*1.0 / (LBDelay), CP) * dt; dpMainValve = PFVd(PP, 0, ActFlowSpeed / LBDelay, CP) * dt;
if (BCP == i_bcpno) if (BCP == i_bcpno)
dpMainValve = PF(0, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(0, PP, ActFlowSpeed / LBDelay) * dt;
return dpMainValve; return dpMainValve;
} }
@@ -2777,11 +2774,11 @@ double Ttest::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
LimPP = CP; LimPP = CP;
dpPipe = Min0R(HP, LimPP); dpPipe = Min0R(HP, LimPP);
dpMainValve = PF(dpPipe, PP, ActFlowSpeed / (LBDelay)) * dt; dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
if ((lround(i_bcp) == i_bcpno)) if ((lround(i_bcp) == i_bcpno))
{ {
dpMainValve = PF(0, PP, (ActFlowSpeed)*1.0 / (LBDelay)) * dt; dpMainValve = PF(0, PP, ActFlowSpeed / LBDelay) * dt;
} }
return dpMainValve; return dpMainValve;
@@ -2885,7 +2882,7 @@ double TFVel6::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
ActFlowSpeed = 2; ActFlowSpeed = 2;
else else
ActFlowSpeed = 4; ActFlowSpeed = 4;
dpMainValve = PF(LimPP, PP, ActFlowSpeed / (LBDelay)) * dt; dpMainValve = PF(LimPP, PP, ActFlowSpeed / LBDelay) * dt;
Sounds[s_fv4a_e] = 0; Sounds[s_fv4a_e] = 0;
Sounds[s_fv4a_u] = 0; Sounds[s_fv4a_u] = 0;