mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
Poprawki inicjalizacji hamulców
This commit is contained in:
@@ -1050,7 +1050,6 @@ public:
|
||||
TPowerSource PowerSourceDecode(std::string s); //Q 20160719
|
||||
TPowerType PowerDecode(std::string s); //Q 20160719
|
||||
TEngineTypes EngineDecode(std::string s); //Q 20160721
|
||||
bool CreateBrakeSys(bool ReadyFlag = true); //Q 20160722
|
||||
bool CheckLocomotiveParameters(bool ReadyFlag, int Dir);
|
||||
std::string EngineDescription(int what);
|
||||
};
|
||||
|
||||
@@ -6642,8 +6642,8 @@ bool TMoverParameters::LoadFIZ(std::string chkpath)
|
||||
WriteLog("NBpA " + IntToStr(NBpA));
|
||||
WriteLog("MaxBrakeForce " + FloatToStr(MaxBrakeForce));
|
||||
WriteLog("TrackBrakeForce " + FloatToStr(TrackBrakeForce));
|
||||
WriteLog("MaxBrakePress[3] " + FloatToStr(MaxBrakePress[3]));
|
||||
WriteLog("BrakeCylNo " + IntToStr(BrakeCylNo));
|
||||
WriteLog("MaxBrakePress[3] " + to_string(MaxBrakePress[3]));
|
||||
/*WriteLog("BrakeCylNo " + IntToStr(BrakeCylNo));
|
||||
WriteLog("BCD " + FloatToStr(eBCD));
|
||||
WriteLog("BCR " + FloatToStr(eBCR));
|
||||
WriteLog("BCS " + FloatToStr(eBCS));
|
||||
@@ -6663,7 +6663,7 @@ bool TMoverParameters::LoadFIZ(std::string chkpath)
|
||||
BrakeValveSize = eSize;
|
||||
TrackBrakeForce = eTBF * 1000;
|
||||
MaxBrakePress[3] = eMaxBP;
|
||||
// WriteLog("eMaxBP " + FloatToStr(MaxBrakePress[3]));
|
||||
WriteLog("eMaxBP " + to_string(MaxBrakePress[3]));
|
||||
if (MaxBrakePress[3] > 0)
|
||||
{
|
||||
BrakeCylNo = eBCN;
|
||||
@@ -7206,36 +7206,6 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
|
||||
int DefBrakeTable[8] = { 15, 4, 25, 25, 13, 3, 12, 2 };
|
||||
|
||||
// checking ready flag
|
||||
// to dac potem do init
|
||||
if (ReadyFlag) // gotowy do drogi
|
||||
{
|
||||
WriteLog("Ready to depart");
|
||||
CompressedVolume = VeselVolume * MinCompressor * (9.8) / 10;
|
||||
ScndPipePress = CompressedVolume / VeselVolume;
|
||||
PipePress = CntrlPipePress;
|
||||
BrakePress = 0;
|
||||
MainSwitch(false);
|
||||
PantFront(true);
|
||||
PantRear(true);
|
||||
MainSwitch(true);
|
||||
ActiveDir = 0; // Dir; //nastawnik kierunkowy - musi być ustawiane osobno!
|
||||
DirAbsolute = ActiveDir * CabNo; // kierunek jazdy względem sprzęgów
|
||||
LimPipePress = CntrlPipePress;
|
||||
}
|
||||
else
|
||||
{ // zahamowany}
|
||||
WriteLog("Braked");
|
||||
Volume = BrakeVVolume * MaxBrakePress[3];
|
||||
CompressedVolume = VeselVolume * MinCompressor * 0.55;
|
||||
ScndPipePress = 5.1;
|
||||
PipePress = LowPipePress;
|
||||
PipeBrakePress = MaxBrakePress[3];
|
||||
BrakePress = MaxBrakePress[3];
|
||||
LocalBrakePos = 0;
|
||||
LimPipePress = LowPipePress;
|
||||
}
|
||||
|
||||
if (LoadFlag > 0)
|
||||
{
|
||||
if (Load < MaxLoad * 0.45)
|
||||
@@ -7276,8 +7246,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT W, K");
|
||||
Hamulec = new TWest(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
if (MBPM < 2) // jesli przystawka wazaca
|
||||
Hamulec->SetLP(0, MaxBrakePress[3], 0);
|
||||
else
|
||||
@@ -7288,8 +7257,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT WKE");
|
||||
Hamulec = new TKE(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress, HighPipePress,
|
||||
LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
Hamulec->SetRM(RapidMult);
|
||||
if (MBPM < 2) // jesli przystawka wazaca
|
||||
Hamulec->SetLP(0, MaxBrakePress[3], 0);
|
||||
@@ -7304,8 +7272,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT NESt3, ESt3, ESt3AL2, ESt4");
|
||||
Hamulec = new TNESt3(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
(static_cast<TNESt3 *>(Hamulec))->SetSize(BrakeValveSize, BrakeValveParams);
|
||||
if (MBPM < 2) // jesli przystawka wazaca
|
||||
Hamulec->SetLP(0, MaxBrakePress[3], 0);
|
||||
@@ -7318,8 +7285,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT LSt");
|
||||
Hamulec = new TLSt(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress, HighPipePress,
|
||||
LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
Hamulec->SetRM(RapidMult);
|
||||
break;
|
||||
}
|
||||
@@ -7327,8 +7293,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT EStED");
|
||||
Hamulec = new TEStED(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
Hamulec->SetRM(RapidMult);
|
||||
break;
|
||||
}
|
||||
@@ -7336,8 +7301,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT EP2");
|
||||
Hamulec = new TEStEP2(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
Hamulec->SetLP(Mass, MBPM, MaxBrakePress[1]);
|
||||
break;
|
||||
}
|
||||
@@ -7346,23 +7310,20 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
{
|
||||
WriteLog("XBT CV1");
|
||||
Hamulec = new TCV1(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress, HighPipePress,
|
||||
LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
break;
|
||||
}
|
||||
case CV1_L_TR:
|
||||
{
|
||||
WriteLog("XBT CV1_L_T");
|
||||
Hamulec = new TCV1L_TR(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
Hamulec = new TBrake(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA);
|
||||
}
|
||||
|
||||
Hamulec->SetASBP(MaxBrakePress[4]);
|
||||
@@ -7418,6 +7379,41 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
if (LightsPosNo > 0)
|
||||
LightsPos = LightsDefPos;
|
||||
|
||||
// checking ready flag
|
||||
// to dac potem do init
|
||||
if (ReadyFlag) // gotowy do drogi
|
||||
{
|
||||
WriteLog("Ready to depart");
|
||||
CompressedVolume = VeselVolume * MinCompressor * (9.8) / 10;
|
||||
ScndPipePress = CompressedVolume / VeselVolume;
|
||||
PipePress = CntrlPipePress;
|
||||
BrakePress = 0;
|
||||
LocalBrakePos = 0;
|
||||
if (CabNo == 0)
|
||||
BrakeCtrlPos = Handle->GetPos(bh_NP);
|
||||
else
|
||||
BrakeCtrlPos = Handle->GetPos(bh_RP);
|
||||
MainSwitch(false);
|
||||
PantFront(true);
|
||||
PantRear(true);
|
||||
MainSwitch(true);
|
||||
ActiveDir = 0; // Dir; //nastawnik kierunkowy - musi być ustawiane osobno!
|
||||
DirAbsolute = ActiveDir * CabNo; // kierunek jazdy względem sprzęgów
|
||||
LimPipePress = CntrlPipePress;
|
||||
}
|
||||
else
|
||||
{ // zahamowany}
|
||||
WriteLog("Braked");
|
||||
Volume = BrakeVVolume * MaxBrakePress[3];
|
||||
CompressedVolume = VeselVolume * MinCompressor * 0.55;
|
||||
ScndPipePress = 5.1;
|
||||
PipePress = LowPipePress;
|
||||
PipeBrakePress = MaxBrakePress[3] / 2;
|
||||
BrakePress = MaxBrakePress[3] / 2;
|
||||
LocalBrakePos = 0;
|
||||
LimPipePress = LowPipePress;
|
||||
}
|
||||
|
||||
ActFlowSpeed = 0;
|
||||
BrakeCtrlPosR = BrakeCtrlPos;
|
||||
|
||||
@@ -7438,7 +7434,7 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
if (TrainType == dt_ET22)
|
||||
CompressorPower = 0;
|
||||
|
||||
// Hamulec->Init(PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
Hamulec->Init(PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
|
||||
ScndPipePress = Compressor;
|
||||
|
||||
@@ -7448,305 +7444,6 @@ bool TMoverParameters::CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
return OK;
|
||||
}
|
||||
|
||||
// *************************************************************************************************
|
||||
// Q: 20160717
|
||||
// Funkcja pelniaca role pierwotnej CheckLocomotiveParameters(bool ReadyFlag, int Dir)
|
||||
// wywolywana w dynobj.cpp w double TDynamicObject::Init()
|
||||
// *************************************************************************************************
|
||||
bool TMoverParameters::CreateBrakeSys(bool ReadyFlag)
|
||||
{
|
||||
WriteLog("check locomotive parameters...");
|
||||
int b;
|
||||
bool OK = true;
|
||||
|
||||
AutoRelayFlag = (AutoRelayType == 1);
|
||||
|
||||
Sand = SandCapacity;
|
||||
|
||||
// WriteLog("aa = " + AxleArangement + " " + std::string( Pos("o", AxleArangement)) );
|
||||
|
||||
if ((Pos("o", AxleArangement) > 0) && (EngineType == ElectricSeriesMotor))
|
||||
OK = (RList[1].Bn * RList[1].Mn ==
|
||||
NPoweredAxles); // test poprawnosci ilosci osi indywidualnie napedzanych
|
||||
// WriteLogSS("aa ok", BoolToYN(OK));
|
||||
|
||||
if (BrakeSystem == Individual)
|
||||
if (BrakeSubsystem != ss_None)
|
||||
OK = false; //!
|
||||
|
||||
if ((BrakeVVolume == 0) && (MaxBrakePress[3] > 0) && (BrakeSystem != Individual))
|
||||
BrakeVVolume = MaxBrakePress[3] / (5 - MaxBrakePress[3]) *
|
||||
(BrakeCylRadius * BrakeCylRadius * BrakeCylDist * BrakeCylNo * PI) * 1000;
|
||||
if (BrakeVVolume == 0)
|
||||
BrakeVVolume = 0.01;
|
||||
|
||||
// WriteLog("BVV = " + FloatToStr(BrakeVVolume));
|
||||
|
||||
if ((TestFlag(BrakeDelays, bdelay_G)) &&
|
||||
((!TestFlag(BrakeDelays, bdelay_R)) ||
|
||||
(Power > 1))) // ustalanie srednicy przewodu glownego (lokomotywa lub napędowy
|
||||
Spg = 0.792;
|
||||
else
|
||||
Spg = 0.507;
|
||||
|
||||
// taki mini automat - powinno byc ladnie dobrze :)
|
||||
BrakeDelayFlag = bdelay_P;
|
||||
if ((TestFlag(BrakeDelays, bdelay_G)) && !(TestFlag(BrakeDelays, bdelay_R)))
|
||||
BrakeDelayFlag = bdelay_G;
|
||||
if ((TestFlag(BrakeDelays, bdelay_R)) && !(TestFlag(BrakeDelays, bdelay_G)))
|
||||
BrakeDelayFlag = bdelay_R;
|
||||
|
||||
int DefBrakeTable[8] = {15, 4, 25, 25, 13, 3, 12, 2};
|
||||
|
||||
// checking ready flag
|
||||
// to dac potem do init
|
||||
if (ReadyFlag) // gotowy do drogi
|
||||
{
|
||||
// WriteLog("Ready to depart");
|
||||
CompressedVolume = VeselVolume * MinCompressor * (9.8) / 10;
|
||||
ScndPipePress = CompressedVolume / VeselVolume;
|
||||
PipePress = CntrlPipePress;
|
||||
BrakePress = 0;
|
||||
LocalBrakePos = 0;
|
||||
|
||||
if (CabNo == 0)
|
||||
BrakeCtrlPos = floor(Handle->GetPos(bh_NP)); // Q: TODO: Trunc na floor
|
||||
else
|
||||
BrakeCtrlPos = floor(Handle->GetPos(bh_RP));
|
||||
MainSwitch(false);
|
||||
PantFront(true);
|
||||
PantRear(true);
|
||||
MainSwitch(true);
|
||||
ActiveDir = 0; // Dir; //nastawnik kierunkowy - musi być ustawiane osobno!
|
||||
DirAbsolute = ActiveDir * CabNo; // kierunek jazdy względem sprzęgów
|
||||
LimPipePress = CntrlPipePress;
|
||||
}
|
||||
else
|
||||
{ // zahamowany}
|
||||
WriteLog("Bracked");
|
||||
Volume = BrakeVVolume * MaxBrakePress[3];
|
||||
CompressedVolume = VeselVolume * MinCompressor * 0.55;
|
||||
ScndPipePress = 5.1;
|
||||
PipePress = LowPipePress;
|
||||
PipeBrakePress = MaxBrakePress[3];
|
||||
BrakePress = MaxBrakePress[3];
|
||||
LocalBrakePos = 0;
|
||||
BrakeCtrlPos = Trunc(Handle->GetPos(bh_NP)); // Q: TODO: Trunc na floor
|
||||
LimPipePress = LowPipePress;
|
||||
}
|
||||
|
||||
if (LoadFlag > 0)
|
||||
{
|
||||
if (Load < MaxLoad * 0.45)
|
||||
{
|
||||
IncBrakeMult();
|
||||
IncBrakeMult();
|
||||
DecBrakeMult(); // TODO: przeinesiono do mover.cpp
|
||||
if (Load < MaxLoad * 0.35)
|
||||
DecBrakeMult();
|
||||
}
|
||||
if (Load >= MaxLoad * 0.45)
|
||||
{
|
||||
IncBrakeMult(); // TODO: przeinesiono do mover.cpp
|
||||
if (Load >= MaxLoad * 0.55)
|
||||
IncBrakeMult();
|
||||
}
|
||||
}
|
||||
|
||||
if (BrakeOpModes & bom_PS)
|
||||
BrakeOpModeFlag = bom_PS;
|
||||
else
|
||||
BrakeOpModeFlag = bom_PN;
|
||||
|
||||
// yB: jesli pojazdy nie maja zadeklarowanych czasow, to wsadz z przepisow +-16,(6)%
|
||||
for (b = 1; b < 4; b++)
|
||||
{
|
||||
if (BrakeDelay[b] == 0)
|
||||
BrakeDelay[b] = DefBrakeTable[b];
|
||||
BrakeDelay[b] = BrakeDelay[b] * (2.5 + Random(0.0, 0.2)) / 3.0;
|
||||
}
|
||||
|
||||
// WriteLog("SPG = " + FloatToStr(Spg));
|
||||
|
||||
switch (BrakeValve)
|
||||
{
|
||||
case W:
|
||||
case K:
|
||||
{
|
||||
WriteLog("XBT W, K");
|
||||
Hamulec = new TWest(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
if (MBPM < 2) // jesli przystawka wazaca
|
||||
Hamulec->SetLP(0, MaxBrakePress[3], 0);
|
||||
else
|
||||
Hamulec->SetLP(Mass, MBPM, MaxBrakePress[1]);
|
||||
break;
|
||||
}
|
||||
case KE:
|
||||
{
|
||||
WriteLog("XBT WKE");
|
||||
Hamulec = new TKE(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress, HighPipePress,
|
||||
LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
Hamulec->SetRM(RapidMult);
|
||||
if (MBPM < 2) // jesli przystawka wazaca
|
||||
Hamulec->SetLP(0, MaxBrakePress[3], 0);
|
||||
else
|
||||
Hamulec->SetLP(Mass, MBPM, MaxBrakePress[1]);
|
||||
break;
|
||||
}
|
||||
case NESt3:
|
||||
case ESt3:
|
||||
case ESt3AL2:
|
||||
case ESt4:
|
||||
{
|
||||
WriteLog("XBT NESt3, ESt3, ESt3AL2, ESt4");
|
||||
Hamulec = new TNESt3(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
(static_cast<TNESt3 *>(Hamulec))->SetSize(BrakeValveSize, BrakeValveParams);
|
||||
if (MBPM < 2) // jesli przystawka wazaca
|
||||
Hamulec->SetLP(0, MaxBrakePress[3], 0);
|
||||
else
|
||||
Hamulec->SetLP(Mass, MBPM, MaxBrakePress[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
case LSt:
|
||||
{
|
||||
WriteLog("XBT LSt");
|
||||
Hamulec = new TLSt(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress, HighPipePress,
|
||||
LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
Hamulec->SetRM(RapidMult);
|
||||
break;
|
||||
}
|
||||
case EStED:
|
||||
{
|
||||
WriteLog("XBT EStED");
|
||||
Hamulec = new TEStED(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
Hamulec->SetRM(RapidMult);
|
||||
break;
|
||||
}
|
||||
case EP2:
|
||||
{
|
||||
WriteLog("XBT EP2");
|
||||
Hamulec = new TEStEP2(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
Hamulec->SetLP(Mass, MBPM, MaxBrakePress[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
case CV1:
|
||||
{
|
||||
WriteLog("XBT CV1");
|
||||
Hamulec = new TCV1(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
|
||||
BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress, HighPipePress,
|
||||
LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
break;
|
||||
}
|
||||
case CV1_L_TR:
|
||||
{
|
||||
WriteLog("XBT CV1_L_T");
|
||||
Hamulec = new TCV1L_TR(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
Hamulec = new TBrake(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
|
||||
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA, PipePress,
|
||||
HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
}
|
||||
|
||||
Hamulec->SetASBP(MaxBrakePress[4]);
|
||||
|
||||
switch (BrakeHandle)
|
||||
{
|
||||
case FV4a:
|
||||
Handle = new TFV4aM();
|
||||
break;
|
||||
case FVel6:
|
||||
Handle = new TFVel6();
|
||||
break;
|
||||
case testH:
|
||||
Handle = new Ttest();
|
||||
break;
|
||||
case M394:
|
||||
Handle = new TM394();
|
||||
break;
|
||||
case Knorr:
|
||||
Handle = new TH14K1();
|
||||
break;
|
||||
case St113:
|
||||
Handle = new TSt113();
|
||||
break;
|
||||
default:
|
||||
Handle = new TDriverHandle();
|
||||
}
|
||||
|
||||
switch (BrakeLocHandle)
|
||||
{
|
||||
case FD1:
|
||||
{
|
||||
LocHandle = new TFD1();
|
||||
LocHandle->Init(MaxBrakePress[0]);
|
||||
break;
|
||||
}
|
||||
case Knorr:
|
||||
{
|
||||
LocHandle = new TH1405();
|
||||
LocHandle->Init(MaxBrakePress[0]);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
LocHandle = new TDriverHandle();
|
||||
}
|
||||
|
||||
Pipe = new TReservoir();
|
||||
Pipe2 = new TReservoir(); // zabezpieczenie, bo sie PG wywala... :(
|
||||
Pipe->CreateCap((Max0R(Dim.L, 14) + 0.5) * Spg * 1); // dlugosc x przekroj x odejscia i takie
|
||||
// tam
|
||||
Pipe2->CreateCap((Max0R(Dim.L, 14) + 0.5) * Spg * 1);
|
||||
|
||||
if (LightsPosNo > 0)
|
||||
LightsPos = LightsDefPos;
|
||||
|
||||
ActFlowSpeed = 0;
|
||||
BrakeCtrlPosR = BrakeCtrlPos;
|
||||
|
||||
if (BrakeLocHandle == Knorr)
|
||||
LocalBrakePos = 5;
|
||||
|
||||
Pipe->CreatePress(PipePress);
|
||||
Pipe2->CreatePress(ScndPipePress);
|
||||
Pipe->Act();
|
||||
Pipe2->Act();
|
||||
|
||||
EqvtPipePress = PipePress;
|
||||
|
||||
Handle->Init(PipePress);
|
||||
|
||||
ComputeConstans();
|
||||
|
||||
if (TrainType == dt_ET22)
|
||||
CompressorPower = 0;
|
||||
|
||||
// Hamulec->Init(PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
|
||||
|
||||
ScndPipePress = Compressor;
|
||||
|
||||
// WriteLogSS("OK=", BoolTo10(OK));
|
||||
// WriteLog("");
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
// *************************************************************************************************
|
||||
// Q: 20160714
|
||||
// Wstawia komendę z parametrem, od sprzęgu i w lokalizacji do pojazdu
|
||||
|
||||
@@ -324,7 +324,8 @@ void TNESt3::EStParams(double i_crc) // parametry charakterystyczne dla ESt
|
||||
|
||||
void TNESt3::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ValveRes->CreatePress(PP);
|
||||
TBrake::Init(PP, HPP, LPP, BP, BDF);
|
||||
ValveRes->CreatePress(PP);
|
||||
BrakeCyl->CreatePress(BP);
|
||||
BrakeRes->CreatePress(PP);
|
||||
CntrlRes = new TReservoir();
|
||||
|
||||
@@ -74,6 +74,8 @@ class TPrzekladnik : public TReservoir // przekladnik (powtarzacz)
|
||||
public:
|
||||
TReservoir *BrakeRes;
|
||||
TReservoir *Next;
|
||||
|
||||
TPrzekladnik() : TReservoir() {};
|
||||
virtual void Update(double dt);
|
||||
void SetPoslizg(bool flag) {};
|
||||
void SetP(double P) {};
|
||||
@@ -88,6 +90,7 @@ class TRura : public TPrzekladnik // nieprzekladnik, rura laczaca
|
||||
{
|
||||
private:
|
||||
public:
|
||||
TRura() : TPrzekladnik() {};
|
||||
virtual double P(void) /*override*/;
|
||||
virtual void Update(double dt) /*override*/;
|
||||
};
|
||||
@@ -101,7 +104,7 @@ class TPrzeciwposlizg : public TRura // przy napelnianiu - rura, przy poslizgu -
|
||||
public:
|
||||
void SetPoslizg(bool flag);
|
||||
void Update(double dt) /*override*/;
|
||||
inline TPrzeciwposlizg()
|
||||
inline TPrzeciwposlizg() : TRura()
|
||||
{
|
||||
Poslizg = false;
|
||||
}
|
||||
@@ -121,7 +124,7 @@ class TRapid : public TPrzekladnik // przekladnik dwustopniowy
|
||||
void SetRapidParams(double mult, double size);
|
||||
void SetRapidStatus(bool rs);
|
||||
void Update(double dt) /*override*/;
|
||||
inline TRapid()
|
||||
inline TRapid() : TPrzekladnik()
|
||||
{
|
||||
RapidStatus = false;
|
||||
RapidMult, DN, DL = 0.0;
|
||||
@@ -137,7 +140,7 @@ class TPrzekCiagly : public TPrzekladnik // AL2
|
||||
public:
|
||||
void SetMult(double m);
|
||||
void Update(double dt) /*override*/;
|
||||
inline TPrzekCiagly()
|
||||
inline TPrzekCiagly() : TPrzekladnik()
|
||||
{
|
||||
mult = 0.0;
|
||||
}
|
||||
@@ -152,7 +155,7 @@ class TPrzek_PZZ : public TPrzekladnik // podwojny zawor zwrotny
|
||||
public:
|
||||
void SetLBP(double P);
|
||||
void Update(double dt) /*override*/;
|
||||
inline TPrzek_PZZ()
|
||||
inline TPrzek_PZZ() : TPrzekladnik()
|
||||
{
|
||||
LBP = 0.0;
|
||||
}
|
||||
@@ -163,6 +166,7 @@ class TPrzekZalamany : public TPrzekladnik // Knicksventil
|
||||
{
|
||||
private:
|
||||
public:
|
||||
TPrzekZalamany() : TPrzekladnik() {};
|
||||
};
|
||||
|
||||
class TPrzekED : public TRura // przy napelnianiu - rura, przy hamowaniu - upust
|
||||
@@ -174,7 +178,7 @@ class TPrzekED : public TRura // przy napelnianiu - rura, przy hamowaniu - upust
|
||||
public:
|
||||
void SetP(double P);
|
||||
void Update(double dt) /*override*/;
|
||||
inline TPrzekED()
|
||||
inline TPrzekED() : TRura()
|
||||
{
|
||||
MaxP = 0.0;
|
||||
}
|
||||
@@ -205,16 +209,14 @@ class TNESt3 : public TBrake
|
||||
bool autom; // odluzniacz samoczynny
|
||||
double LBP; // cisnienie hamulca pomocniczego
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF) /*override*/;
|
||||
|
||||
public:
|
||||
inline TNESt3(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
}
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF) /*override*/;
|
||||
virtual double GetPF(double PP, double dt,
|
||||
double Vel) /*override*/; // przeplyw miedzy komora wstepna i PG
|
||||
void EStParams(double i_crc); // parametry charakterystyczne dla ESt
|
||||
|
||||
@@ -251,8 +251,7 @@ begin
|
||||
end ; */
|
||||
|
||||
TBrake::TBrake(double i_mbp, double i_bcr, double i_bcd, double i_brc, int i_bcn, int i_BD,
|
||||
int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF)
|
||||
int i_mat, int i_ba, int i_nbpa)
|
||||
{
|
||||
// inherited:: Create;
|
||||
MaxBP = i_mbp;
|
||||
@@ -430,7 +429,8 @@ void TBrake::ForceEmptiness()
|
||||
|
||||
void TWest::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ValveRes->CreatePress(PP);
|
||||
TBrake::Init(PP, HPP, LPP, BP, BDF);
|
||||
ValveRes->CreatePress(PP);
|
||||
BrakeCyl->CreatePress(BP);
|
||||
BrakeRes->CreatePress(PP / 2 + HPP / 2);
|
||||
// BrakeStatus:=3*int(BP>0.1);
|
||||
@@ -749,10 +749,10 @@ double TESt::GetPF(double PP, double dt, double Vel)
|
||||
|
||||
void TESt::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ValveRes->CreatePress(PP);
|
||||
TBrake::Init(PP, HPP, LPP, BP, BDF);
|
||||
ValveRes->CreatePress(PP);
|
||||
BrakeCyl->CreatePress(BP);
|
||||
BrakeRes->CreatePress(PP);
|
||||
CntrlRes = new TReservoir();
|
||||
CntrlRes->CreateCap(15);
|
||||
CntrlRes->CreatePress(HPP);
|
||||
BrakeStatus = 0;
|
||||
@@ -775,7 +775,8 @@ double TESt::GetCRP()
|
||||
|
||||
void TEStEP2::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ImplsRes->CreateCap(1);
|
||||
TLSt::Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes->CreateCap(1);
|
||||
ImplsRes->CreatePress(BP);
|
||||
|
||||
BrakeRes->CreatePress(PP);
|
||||
@@ -1084,7 +1085,7 @@ double TESt4R::GetPF(double PP, double dt, double Vel)
|
||||
|
||||
void TESt4R::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ImplsRes = new TReservoir();
|
||||
TESt::Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes->CreateCap(1);
|
||||
ImplsRes->CreatePress(BP);
|
||||
|
||||
@@ -1194,8 +1195,8 @@ void TESt3AL2::SetLP(double TM, double LM, double TBP)
|
||||
|
||||
void TESt3AL2::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ImplsRes = new TReservoir();
|
||||
ImplsRes->CreateCap(1);
|
||||
TESt::Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes->CreateCap(1);
|
||||
ImplsRes->CreatePress(BP);
|
||||
}
|
||||
|
||||
@@ -1318,6 +1319,7 @@ double TLSt::GetPF(double PP, double dt, double Vel)
|
||||
|
||||
void TLSt::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
TESt4R::Init(PP, HPP, LPP, BP, BDF);
|
||||
ValveRes->CreateCap(1);
|
||||
ImplsRes->CreateCap(8);
|
||||
ImplsRes->CreatePress(PP);
|
||||
@@ -1516,7 +1518,8 @@ double TEStED::GetPF(double PP, double dt, double Vel)
|
||||
|
||||
void TEStED::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
int i;
|
||||
TLSt::Init(PP, HPP, LPP, BP, BDF);
|
||||
int i;
|
||||
|
||||
ValveRes->CreatePress(1 * PP);
|
||||
BrakeCyl->CreatePress(1 * BP);
|
||||
@@ -1526,7 +1529,6 @@ void TEStED::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
// CntrlRes.CreatePress(1*HPP);
|
||||
|
||||
BrakeStatus = int(BP > 1) * 1;
|
||||
Miedzypoj = new TReservoir();
|
||||
Miedzypoj->CreateCap(5);
|
||||
Miedzypoj->CreatePress(PP);
|
||||
|
||||
@@ -1713,10 +1715,10 @@ double TCV1::GetPF(double PP, double dt, double Vel)
|
||||
|
||||
void TCV1::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ValveRes->CreatePress(PP);
|
||||
TBrake::Init(PP, HPP, LPP, BP, BDF);
|
||||
ValveRes->CreatePress(PP);
|
||||
BrakeCyl->CreatePress(BP);
|
||||
BrakeRes->CreatePress(PP);
|
||||
CntrlRes = new TReservoir();
|
||||
CntrlRes->CreateCap(15);
|
||||
CntrlRes->CreatePress(HPP);
|
||||
BrakeStatus = 0;
|
||||
@@ -1750,8 +1752,8 @@ double TCV1L_TR::GetHPFlow(double HP, double dt)
|
||||
|
||||
void TCV1L_TR::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ImplsRes = new TReservoir();
|
||||
ImplsRes->CreateCap(2.5);
|
||||
TCV1::Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes->CreateCap(2.5);
|
||||
ImplsRes->CreatePress(BP);
|
||||
}
|
||||
|
||||
@@ -2043,15 +2045,14 @@ double TKE::GetPF(double PP, double dt, double Vel)
|
||||
|
||||
void TKE::Init(double PP, double HPP, double LPP, double BP, int BDF)
|
||||
{
|
||||
ValveRes->CreatePress(PP);
|
||||
TBrake::Init(PP, HPP, LPP, BP, BDF);
|
||||
ValveRes->CreatePress(PP);
|
||||
BrakeCyl->CreatePress(BP);
|
||||
BrakeRes->CreatePress(PP);
|
||||
|
||||
CntrlRes = new TReservoir(); // komora sterujaca
|
||||
CntrlRes->CreateCap(5);
|
||||
CntrlRes->CreatePress(HPP);
|
||||
|
||||
ImplsRes = new TReservoir(); // komora zastepcza silownika
|
||||
ImplsRes->CreateCap(1);
|
||||
ImplsRes->CreatePress(BP);
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ Knorr/West EP -
|
||||
public:
|
||||
virtual double pa()/*override*/;
|
||||
virtual double P()/*override*/;
|
||||
|
||||
TBrakeCyl() : TReservoir() {};
|
||||
};
|
||||
|
||||
|
||||
@@ -199,14 +199,13 @@ Knorr/West EP -
|
||||
int BrakeStatus; //flaga stanu
|
||||
int SoundFlag;
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF); //inicjalizacja hamulca
|
||||
|
||||
public:
|
||||
TBrake(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF);
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa);
|
||||
//maksymalne cisnienie, promien, skok roboczy, pojemnosc ZP;
|
||||
//ilosc cylindrow, opoznienia hamulca, material klockow, osie hamowane, klocki na os;
|
||||
virtual void Init(double PP, double HPP, double LPP, double BP, int BDF); //inicjalizacja hamulca
|
||||
|
||||
double GetFC(double Vel, double N); //wspolczynnik tarcia - hamulec wie lepiej
|
||||
virtual double GetPF(double PP, double dt, double Vel); //przeplyw miedzy komora wstepna i PG
|
||||
@@ -248,8 +247,8 @@ Knorr/West EP -
|
||||
double TareBP; //cisnienie dla proznego
|
||||
double LoadC; //wspolczynnik przystawki wazacej
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
void SetLBP(double P); //cisnienie z hamulca pomocniczego
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
double GetHPFlow(double HP, double dt)/*override*/;
|
||||
@@ -258,12 +257,10 @@ Knorr/West EP -
|
||||
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
|
||||
|
||||
inline TWest(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
LBP, dVP, EPS, TareM, TareBP, LoadM, LoadC = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -273,13 +270,13 @@ Knorr/West EP -
|
||||
|
||||
{
|
||||
private:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
protected:
|
||||
TReservoir *CntrlRes; //zbiornik steruj¹cy
|
||||
double BVM; //przelozenie PG-CH
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
void EStParams(double i_crc); //parametry charakterystyczne dla ESt
|
||||
double GetCRP()/*override*/;
|
||||
@@ -289,11 +286,10 @@ Knorr/West EP -
|
||||
double BVs(double BCP); //napelniacz pomocniczego
|
||||
|
||||
inline TESt(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
CntrlRes = new TReservoir();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -309,9 +305,8 @@ Knorr/West EP -
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
|
||||
inline TESt3(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF) { }
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||
};
|
||||
|
||||
|
||||
@@ -324,21 +319,19 @@ Knorr/West EP -
|
||||
double TareBP; //cisnienie dla proznego
|
||||
double LoadC;
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
public:
|
||||
TReservoir *ImplsRes; //komora impulsowa
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
|
||||
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
|
||||
|
||||
inline TESt3AL2(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TESt3(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TESt3(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
TareM, TareBP, LoadM, LoadC = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -349,22 +342,21 @@ Knorr/West EP -
|
||||
{
|
||||
private:
|
||||
bool RapidStatus;
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
protected:
|
||||
TReservoir *ImplsRes; //komora impulsowa
|
||||
double RapidTemp; //aktualne, zmienne przelozenie
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
|
||||
inline TESt4R(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
RapidTemp = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes = new TReservoir();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -375,7 +367,6 @@ Knorr/West EP -
|
||||
{
|
||||
private:
|
||||
// double CylFlowSpeed[2][2]; // zmienna nie u¿ywana
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
protected:
|
||||
double LBP; //cisnienie hamulca pomocniczego
|
||||
@@ -383,6 +374,7 @@ Knorr/West EP -
|
||||
double EDFlag; //luzowanie hamulca z powodu zalaczonego ED
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
void SetLBP(double P); //cisnienie z hamulca pomocniczego
|
||||
void SetRM(double RMR); //ustalenie przelozenia rapida
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
@@ -391,11 +383,9 @@ Knorr/West EP -
|
||||
virtual void SetED(double EDstate); //stan hamulca ED do luzowania
|
||||
|
||||
inline TLSt(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TESt4R(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TESt4R(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -413,22 +403,21 @@ Knorr/West EP -
|
||||
double TareBP; //cisnienie dla proznego
|
||||
double LoadC;
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
double GetEDBCP()/*override*/; //cisnienie tylko z hamulca zasadniczego, uzywane do hamulca ED
|
||||
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
|
||||
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
|
||||
|
||||
inline TEStED(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
Przys_blok = false;
|
||||
TareM, TareBP, LoadM, LoadC = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
Miedzypoj = new TReservoir();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -443,21 +432,19 @@ Knorr/West EP -
|
||||
double LoadC;
|
||||
double EPS;
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/; //inicjalizacja
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/; //inicjalizacja
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
|
||||
void SetEPS(double nEPS)/*override*/; //stan hamulca EP
|
||||
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
|
||||
|
||||
inline TEStEP2(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
TareM, TareBP, LoadM, LoadC, EPS = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -469,12 +456,12 @@ Knorr/West EP -
|
||||
private:
|
||||
double BVM; //przelozenie PG-CH
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
protected:
|
||||
TReservoir *CntrlRes; //zbiornik steruj¹cy
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
double GetCRP()/*override*/;
|
||||
void CheckState(double BCP, double & dV1);
|
||||
@@ -482,11 +469,10 @@ Knorr/West EP -
|
||||
double BVs(double BCP);
|
||||
|
||||
inline TCV1(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
CntrlRes = new TReservoir();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -518,20 +504,19 @@ Knorr/West EP -
|
||||
TReservoir *ImplsRes; //komora impulsowa
|
||||
double LBP; //cisnienie hamulca pomocniczego
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
void SetLBP(double P); //cisnienie z hamulca pomocniczego
|
||||
double GetHPFlow(double HP, double dt)/*override*/; //przeplyw - 8 bar
|
||||
|
||||
inline TCV1L_TR(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
, int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||
, i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
LBP = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes = new TReservoir();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -552,9 +537,9 @@ Knorr/West EP -
|
||||
double RM; //przelozenie rapida
|
||||
double LBP; //cisnienie hamulca pomocniczego
|
||||
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
|
||||
public:
|
||||
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
|
||||
void SetRM(double RMR); //ustalenie przelozenia rapida
|
||||
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
|
||||
double GetHPFlow(double HP, double dt)/*override*/; //przeplyw - 8 bar
|
||||
@@ -568,13 +553,14 @@ Knorr/West EP -
|
||||
void SetLBP(double P); //cisnienie z hamulca pomocniczego
|
||||
|
||||
inline TKE(double i_mbp, double i_bcr, double i_bcd, double i_brc, int
|
||||
i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
|
||||
double PP, double HPP, double LPP, double BP, int BDF) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn,
|
||||
i_BD, i_mat, i_ba, i_nbpa, PP, HPP, LPP, BP, BDF)
|
||||
i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn,
|
||||
i_BD, i_mat, i_ba, i_nbpa)
|
||||
{
|
||||
RapidStatus = false;
|
||||
TareM, TareBP, LoadM, LoadC, RM, LBP = 0.0;
|
||||
Init(PP, HPP, LPP, BP, BDF);
|
||||
ImplsRes = new TReservoir();
|
||||
CntrlRes = new TReservoir();
|
||||
Brak2Res = new TReservoir();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user