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

Funkcje Init przesunięte do kontruktora dla wszystkich zaworów roz.

This commit is contained in:
firleju
2016-11-06 21:45:46 +01:00
parent 3ff4dd04a1
commit 97ba33b3ea
3 changed files with 122 additions and 57 deletions

View File

@@ -7196,7 +7196,8 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT W, K"); WriteLog("XBT W, K");
Hamulec = new TWest(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, Hamulec = new TWest(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
if (MBPM < 2) // jesli przystawka wazaca if (MBPM < 2) // jesli przystawka wazaca
(static_cast<TWest *>(Hamulec))->SetLP(0, MaxBrakePress[3], 0); (static_cast<TWest *>(Hamulec))->SetLP(0, MaxBrakePress[3], 0);
else else
@@ -7207,7 +7208,8 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT WKE"); WriteLog("XBT WKE");
Hamulec = new TKE(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo, Hamulec = new TKE(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
(static_cast<TKE *>(Hamulec))->SetRM(RapidMult); (static_cast<TKE *>(Hamulec))->SetRM(RapidMult);
if (MBPM < 2) // jesli przystawka wazaca if (MBPM < 2) // jesli przystawka wazaca
(static_cast<TKE *>(Hamulec))->SetLP(0, MaxBrakePress[3], 0); (static_cast<TKE *>(Hamulec))->SetLP(0, MaxBrakePress[3], 0);
@@ -7222,7 +7224,8 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT NESt3, ESt3, ESt3AL2, ESt4"); WriteLog("XBT NESt3, ESt3, ESt3AL2, ESt4");
Hamulec = new TNESt3(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, Hamulec = new TNESt3(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
(static_cast<TNESt3 *>(Hamulec))->SetSize(BrakeValveSize, BrakeValveParams); (static_cast<TNESt3 *>(Hamulec))->SetSize(BrakeValveSize, BrakeValveParams);
if (MBPM < 2) // jesli przystawka wazaca if (MBPM < 2) // jesli przystawka wazaca
(static_cast<TNESt3 *>(Hamulec))->SetLP(0, MaxBrakePress[3], 0); (static_cast<TNESt3 *>(Hamulec))->SetLP(0, MaxBrakePress[3], 0);
@@ -7235,7 +7238,8 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT LSt"); WriteLog("XBT LSt");
Hamulec = new TLSt(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo, Hamulec = new TLSt(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
(static_cast<TLSt *>(Hamulec))->SetRM(RapidMult); (static_cast<TLSt *>(Hamulec))->SetRM(RapidMult);
break; break;
} }
@@ -7243,7 +7247,8 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT EStED"); WriteLog("XBT EStED");
Hamulec = new TEStED(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, Hamulec = new TEStED(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
(static_cast<TEStED *>(Hamulec))->SetRM(RapidMult); (static_cast<TEStED *>(Hamulec))->SetRM(RapidMult);
break; break;
} }
@@ -7251,7 +7256,8 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT EP2"); WriteLog("XBT EP2");
Hamulec = new TEStEP2(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, Hamulec = new TEStEP2(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
(static_cast<TEStEP2 *>(Hamulec))->SetLP(Mass, MBPM, MaxBrakePress[1]); (static_cast<TEStEP2 *>(Hamulec))->SetLP(Mass, MBPM, MaxBrakePress[1]);
break; break;
} }
@@ -7260,20 +7266,23 @@ bool TMoverParameters::CreateBrakeSys()
{ {
WriteLog("XBT CV1"); WriteLog("XBT CV1");
Hamulec = new TCV1(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo, Hamulec = new TCV1(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, BrakeCylNo,
BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
break; break;
} }
case CV1_L_TR: case CV1_L_TR:
{ {
WriteLog("XBT CV1_L_T"); WriteLog("XBT CV1_L_T");
Hamulec = new TCV1L_TR(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, Hamulec = new TCV1L_TR(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
break; break;
} }
default: default:
Hamulec = new TBrake(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume, Hamulec = new TBrake(MaxBrakePress[3], BrakeCylRadius, BrakeCylDist, BrakeVVolume,
BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA); BrakeCylNo, BrakeDelays, BrakeMethod, NAxles, NBpA,
PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
} }
Hamulec->SetASBP(MaxBrakePress[4]); Hamulec->SetASBP(MaxBrakePress[4]);
@@ -7402,7 +7411,7 @@ bool TMoverParameters::CreateBrakeSys()
// if(TrainType == dt_ET22) // if(TrainType == dt_ET22)
// CompressorPower = 0; // CompressorPower = 0;
Hamulec->Init(PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag); //Hamulec->Init(PipePress, HighPipePress, LowPipePress, BrakePress, BrakeDelayFlag);
ScndPipePress = Compressor; ScndPipePress = Compressor;

View File

@@ -250,7 +250,8 @@ begin
end ; */ end ; */
TBrake::TBrake(double i_mbp, double i_bcr, double i_bcd, double i_brc, int i_bcn, int i_BD, 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) int i_mat, int i_ba, int i_nbpa,
double PP, double HPP, double LPP, double BP, int BDF)
{ {
// inherited:: Create; // inherited:: Create;
MaxBP = i_mbp; MaxBP = i_mbp;

View File

@@ -199,9 +199,12 @@ Knorr/West EP -
int BrakeStatus; //flaga stanu int BrakeStatus; //flaga stanu
int SoundFlag; int SoundFlag;
void Init(double PP, double HPP, double LPP, double BP, int BDF); //inicjalizacja hamulca
public: public:
TBrake(double i_mbp, double i_bcr, double i_bcd, double i_brc, 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); 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);
//maksymalne cisnienie, promien, skok roboczy, pojemnosc ZP; //maksymalne cisnienie, promien, skok roboczy, pojemnosc ZP;
//ilosc cylindrow, opoznienia hamulca, material klockow, osie hamowane, klocki na os; //ilosc cylindrow, opoznienia hamulca, material klockow, osie hamowane, klocki na os;
@@ -213,7 +216,6 @@ Knorr/West EP -
double GetBRP(); //cisnienie zbiornika pomocniczego double GetBRP(); //cisnienie zbiornika pomocniczego
double GetVRP(); //cisnienie komory wstepnej rozdzielacza double GetVRP(); //cisnienie komory wstepnej rozdzielacza
virtual double GetCRP(); //cisnienie zbiornika sterujacego virtual double GetCRP(); //cisnienie zbiornika sterujacego
virtual void Init(double PP, double HPP, double LPP, double BP, int BDF); //inicjalizacja hamulca
bool SetBDF(int nBDF); //nastawiacz GPRM bool SetBDF(int nBDF); //nastawiacz GPRM
void Releaser(int state); //odluzniacz void Releaser(int state); //odluzniacz
virtual void SetEPS(double nEPS); //hamulec EP virtual void SetEPS(double nEPS); //hamulec EP
@@ -239,18 +241,22 @@ Knorr/West EP -
double TareBP; //cisnienie dla proznego double TareBP; //cisnienie dla proznego
double LoadC; //wspolczynnik przystawki wazacej double LoadC; //wspolczynnik przystawki wazacej
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
public: public:
void SetLBP(double P); //cisnienie z hamulca pomocniczego void SetLBP(double P); //cisnienie z hamulca pomocniczego
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
double GetHPFlow(double HP, double dt)/*override*/; double GetHPFlow(double HP, double dt)/*override*/;
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
void SetEPS(double nEPS)/*override*/; //stan hamulca EP void SetEPS(double nEPS)/*override*/; //stan hamulca EP
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej 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, 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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -258,6 +264,9 @@ Knorr/West EP -
class TESt : public TBrake class TESt : public TBrake
{ {
private:
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
protected: protected:
TReservoir *CntrlRes; //zbiornik steruj¹cy TReservoir *CntrlRes; //zbiornik steruj¹cy
double BVM; //przelozenie PG-CH double BVM; //przelozenie PG-CH
@@ -265,7 +274,6 @@ Knorr/West EP -
public: public:
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void EStParams(double i_crc); //parametry charakterystyczne dla ESt void EStParams(double i_crc); //parametry charakterystyczne dla ESt
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
double GetCRP()/*override*/; double GetCRP()/*override*/;
void CheckState(double BCP, double & dV1); //glowny przyrzad rozrzadczy void CheckState(double BCP, double & dV1); //glowny przyrzad rozrzadczy
void CheckReleaser(double dt); //odluzniacz void CheckReleaser(double dt); //odluzniacz
@@ -273,8 +281,12 @@ Knorr/West EP -
double BVs(double BCP); //napelniacz pomocniczego double BVs(double BCP); //napelniacz pomocniczego
inline TESt(double i_mbp, double i_bcr, double i_bcd, double i_brc, 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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -289,8 +301,9 @@ Knorr/West EP -
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG 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, 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) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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) { }
}; };
@@ -303,16 +316,21 @@ Knorr/West EP -
double TareBP; //cisnienie dla proznego double TareBP; //cisnienie dla proznego
double LoadC; double LoadC;
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
public: public:
TReservoir *ImplsRes; //komora impulsowa TReservoir *ImplsRes; //komora impulsowa
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
inline TESt3AL2(double i_mbp, double i_bcr, double i_bcd, double i_brc 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) : TESt3(i_mbp, i_bcr, i_bcd, i_brc, i_bcn , int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -322,17 +340,22 @@ Knorr/West EP -
{ {
private: private:
bool RapidStatus; bool RapidStatus;
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
protected: protected:
TReservoir *ImplsRes; //komora impulsowa TReservoir *ImplsRes; //komora impulsowa
double RapidTemp; //akrualne, zmienne przelozenie double RapidTemp; //akrualne, zmienne przelozenie
public: public:
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
inline TESt4R(double i_mbp, double i_bcr, double i_bcd, double i_brc 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) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn , int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -342,6 +365,8 @@ Knorr/West EP -
{ {
private: private:
double CylFlowSpeed[2][2]; double CylFlowSpeed[2][2];
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
protected: protected:
double LBP; //cisnienie hamulca pomocniczego double LBP; //cisnienie hamulca pomocniczego
double RM; //przelozenie rapida double RM; //przelozenie rapida
@@ -352,13 +377,16 @@ Knorr/West EP -
void SetRM(double RMR); //ustalenie przelozenia rapida void SetRM(double RMR); //ustalenie przelozenia rapida
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG 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 double GetHPFlow(double HP, double dt)/*override*/; //przeplyw - 8 bar
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
virtual double GetEDBCP(); //cisnienie tylko z hamulca zasadniczego, uzywane do hamulca ED w EP09 virtual double GetEDBCP(); //cisnienie tylko z hamulca zasadniczego, uzywane do hamulca ED w EP09
void SetED(double EDstate); //stan hamulca ED do luzowania void SetED(double EDstate); //stan hamulca ED do luzowania
inline TLSt(double i_mbp, double i_bcr, double i_bcd, double i_brc, 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) : TESt4R(i_mbp, i_bcr, i_bcd, i_brc, i_bcn int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -375,16 +403,21 @@ Knorr/West EP -
double TareBP; //cisnienie dla proznego double TareBP; //cisnienie dla proznego
double LoadC; double LoadC;
public:
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/; void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
public:
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG 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 double GetEDBCP()/*override*/; //cisnienie tylko z hamulca zasadniczego, uzywane do hamulca ED
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
void SetLP(double TM, double LM, double TBP); //parametry 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 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) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn , int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -398,16 +431,21 @@ Knorr/West EP -
double LoadC; double LoadC;
double EPS; double EPS;
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/; //inicjalizacja
public: public:
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/; //inicjalizacja
void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej void PLC(double mass); //wspolczynnik cisnienia przystawki wazacej
void SetEPS(double nEPS)/*override*/; //stan hamulca EP void SetEPS(double nEPS)/*override*/; //stan hamulca EP
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej 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 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) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn , int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -417,42 +455,49 @@ Knorr/West EP -
{ {
private: private:
double BVM; //przelozenie PG-CH double BVM; //przelozenie PG-CH
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
protected: protected:
TReservoir *CntrlRes; //zbiornik steruj¹cy TReservoir *CntrlRes; //zbiornik steruj¹cy
public: public:
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
double GetCRP()/*override*/; double GetCRP()/*override*/;
void CheckState(double BCP, double & dV1); void CheckState(double BCP, double & dV1);
double CVs(double BP); double CVs(double BP);
double BVs(double BCP); double BVs(double BCP);
inline TCV1(double i_mbp, double i_bcr, double i_bcd, double i_brc, 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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
class TCV1R : public TCV1
{ {
private: Init(PP, HPP, LPP, BP, BDF);
TReservoir *ImplsRes; //komora impulsowa }
bool RapidStatus;
public:
// function GetPF(PP, dt, Vel: real): real; override; //przeplyw miedzy komora wstepna i PG
// procedure Init(PP, HPP, LPP, BP: real; BDF: int); override;
inline TCV1R(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) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa) { }
}; };
//class TCV1R : public TCV1
//{
//private:
// TReservoir *ImplsRes; //komora impulsowa
// bool RapidStatus;
//public:
// // function GetPF(PP, dt, Vel: real): real; override; //przeplyw miedzy komora wstepna i PG
// // procedure Init(PP, HPP, LPP, BP: real; BDF: int); override;
// inline TCV1R(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) { }
//};
class TCV1L_TR : public TCV1 class TCV1L_TR : public TCV1
{ {
@@ -460,15 +505,20 @@ Knorr/West EP -
TReservoir *ImplsRes; //komora impulsowa TReservoir *ImplsRes; //komora impulsowa
double LBP; //cisnienie hamulca pomocniczego double LBP; //cisnienie hamulca pomocniczego
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
public: public:
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
void SetLBP(double P); //cisnienie z hamulca pomocniczego void SetLBP(double P); //cisnienie z hamulca pomocniczego
double GetHPFlow(double HP, double dt)/*override*/; //przeplyw - 8 bar 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 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) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn , int i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
, i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };
@@ -488,10 +538,11 @@ Knorr/West EP -
double RM; //przelozenie rapida double RM; //przelozenie rapida
double LBP; //cisnienie hamulca pomocniczego double LBP; //cisnienie hamulca pomocniczego
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
public: public:
void SetRM(double RMR); //ustalenie przelozenia rapida void SetRM(double RMR); //ustalenie przelozenia rapida
double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG double GetPF(double PP, double dt, double Vel)/*override*/; //przeplyw miedzy komora wstepna i PG
void Init(double PP, double HPP, double LPP, double BP, int BDF)/*override*/;
double GetHPFlow(double HP, double dt)/*override*/; //przeplyw - 8 bar double GetHPFlow(double HP, double dt)/*override*/; //przeplyw - 8 bar
double GetCRP()/*override*/; double GetCRP()/*override*/;
void CheckState(double BCP, double & dV1); void CheckState(double BCP, double & dV1);
@@ -503,8 +554,12 @@ Knorr/West EP -
void SetLBP(double P); //cisnienie z hamulca pomocniczego void SetLBP(double P); //cisnienie z hamulca pomocniczego
inline TKE(double i_mbp, double i_bcr, double i_bcd, double i_brc, int 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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn, i_bcn, int i_BD, int i_mat, int i_ba, int i_nbpa,
i_BD, i_mat, i_ba, 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)
{
Init(PP, HPP, LPP, BP, BDF);
}
}; };