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

Dodany nagłowek typeinfo do stdafx.

Sformatowane hamulce.
This commit is contained in:
firleju
2017-01-19 17:41:40 +01:00
parent 800d4f46fd
commit 3dec967d30
2 changed files with 757 additions and 768 deletions

View File

@@ -17,7 +17,6 @@ http://mozilla.org/MPL/2.0/.
Copyright (C) 2007-2014 Maciej Cierniak
*/
/*
(C) youBy
Co brakuje:
@@ -39,8 +38,6 @@ Knorr/West EP -
#include "mctools.h" // Pascal unit
//#include <array>
static int const LocalBrakePosNo = 10; /*ilosc nastaw hamulca recznego lub pomocniczego*/
static int const MainBrakeMaxPos = 10; /*max. ilosc nastaw hamulca zasadniczego*/
@@ -51,7 +48,6 @@ Knorr/West EP -
static int const bdelay_M = 8; // Mg
static int const bdelay_GR = 128; // G-R
/*stan hamulca*/
static int const b_off = 0; // luzowanie
static int const b_hld = 1; // trzymanie
@@ -116,10 +112,10 @@ Knorr/West EP -
static int const bh_FB = 6; // pelne
static int const bh_EB = 7; // nagle
static int const bh_EPR = 8; // ep - luzowanie //pelny luz dla ep k¹towego
static int const bh_EPN = 9; //ep - utrzymanie //jesli rowne luzowaniu, wtedy sterowanie przyciskiem
static int const bh_EPN = 9; // ep - utrzymanie //jesli rowne luzowaniu, wtedy sterowanie
// przyciskiem
static int const bh_EPB = 10; // ep - hamowanie //pelne hamowanie dla ep k¹towego
static double const SpgD = 0.7917;
static double const SpO = 0.5067; // przekroj przewodu 1" w l/m
// wyj: jednostka dosyc dziwna, ale wszystkie obliczenia
@@ -127,20 +123,25 @@ Knorr/West EP -
// zas dlugosc pojazdow jest podana w metrach
// a predkosc przeplywu w m/s //3.5
// 7//1.5
// BPT: array[-2..6] of array [0..1] of real= ((0, 5.0), (14, 5.4), (9, 5.0), (6, 4.6), (9, 4.5), (9, 4.0), (9, 3.5), (9, 2.8), (34, 2.8));
// BPT: array[-2..6] of array [0..1] of real= ((0, 5.0), (7, 5.0), (2.0, 5.0), (4.5, 4.6), (4.5, 4.2), (4.5, 3.8), (4.5, 3.4), (4.5, 2.8), (8, 2.8));
static double BPT[9][2] = { {0 , 5.0} , {7 , 5.0} , {2.0 , 5.0} , {4.5 , 4.6} , {4.5 , 4.2} , {4.5 , 3.8} , {4.5 , 3.4} , {4.5 , 2.8} , {8 , 2.8} };
static double BPT_394[7][2] = { {13 , 10.0} , {5 , 5.0} , {0 , -1} , {5 , -1} , {5 , 0.0} , {5 , 0.0} , {18 , 0.0} };
// BPT: array[-2..6] of array [0..1] of real= ((0, 5.0), (14, 5.4), (9, 5.0), (6, 4.6), (9, 4.5),
// (9, 4.0), (9, 3.5), (9, 2.8), (34, 2.8));
// BPT: array[-2..6] of array [0..1] of real= ((0, 5.0), (7, 5.0), (2.0, 5.0), (4.5, 4.6), (4.5,
// 4.2), (4.5, 3.8), (4.5, 3.4), (4.5, 2.8), (8, 2.8));
static double BPT[9][2] = {{0, 5.0}, {7, 5.0}, {2.0, 5.0}, {4.5, 4.6}, {4.5, 4.2},
{4.5, 3.8}, {4.5, 3.4}, {4.5, 2.8}, {8, 2.8}};
static double BPT_394[7][2] = {{13, 10.0}, {5, 5.0}, {0, -1}, {5, -1},
{5, 0.0}, {5, 0.0}, {18, 0.0}};
// double *BPT = zero_based_BPT[2]; //tablica pozycji hamulca dla zakresu -2..6
// double *BPT_394 = zero_based_BPT_394[1]; //tablica pozycji hamulca dla zakresu -1..5
// BPT: array[-2..6] of array [0..1] of real= ((0, 5.0), (12, 5.4), (9, 5.0), (9, 4.6), (9, 4.2), (9, 3.8), (9, 3.4), (9, 2.8), (34, 2.8));
// BPT: array[-2..6] of array [0..1] of real= ((0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0));
// BPT: array[-2..6] of array [0..1] of real= ((0, 5.0), (12, 5.4), (9, 5.0), (9, 4.6), (9, 4.2),
// (9, 3.8), (9, 3.4), (9, 2.8), (34, 2.8));
// BPT: array[-2..6] of array [0..1] of real= ((0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0,
// 0),(0, 0),(0, 0));
static int const i_bcpno = 6;
// static double const pi = 3.141592653589793; //definicja w mctools
// klasa obejmujaca pojedyncze zbiorniki
class TReservoir
{
protected:
@@ -156,13 +157,10 @@ Knorr/West EP -
virtual double P();
void Flow(double dv);
void Act();
};
typedef TReservoir *PReservoir;
class TBrakeCyl : public TReservoir
{
@@ -172,10 +170,8 @@ Knorr/West EP -
TBrakeCyl() : TReservoir(){};
};
// klasa obejmujaca uklad hamulca zespolonego pojazdu
class TBrake
{
protected:
@@ -199,20 +195,21 @@ Knorr/West EP -
int BrakeStatus; // flaga stanu
int SoundFlag;
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);
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);
// 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
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
double GetBCF(); // sila tlokowa z tloka
virtual double GetHPFlow(double HP, double dt); // przeplyw - 8 bar
double GetBCP(); // cisnienie cylindrow hamulcowych
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
double GetBRP(); // cisnienie zbiornika pomocniczego
double GetVRP(); // cisnienie komory wstepnej rozdzielacza
virtual double GetCRP(); // cisnienie zbiornika sterujacego
@@ -231,11 +228,8 @@ Knorr/West EP -
virtual void SetED(double EDstate){}; // stan hamulca ED do luzowania
// procedure
};
class TWest : public TBrake
{
@@ -243,41 +237,41 @@ Knorr/West EP -
double LBP; // cisnienie hamulca pomocniczego
double dVP; // pobor powietrza wysokiego cisnienia
double EPS; // stan elektropneumatyka
double TareM; double LoadM; //masa proznego i pelnego
double TareM;
double LoadM; // masa proznego i pelnego
double TareBP; // cisnienie dla proznego
double LoadC; // wspolczynnik przystawki wazacej
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 GetPF(double PP, double dt,
double Vel) /*override*/; // przeplyw miedzy komora wstepna i PG
double GetHPFlow(double HP, double dt) /*override*/;
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 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
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
LBP, dVP, EPS, TareM, TareBP, LoadM, LoadC = 0.0;
LBP = 0, dVP = 0, EPS = 0, TareM = 0, TareBP = 0, LoadM = 0, LoadC = 0.0;
}
};
class TESt : public TBrake
{
private:
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
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*/;
void CheckState(double BCP, double &dV1); // glowny przyrzad rozrzadczy
@@ -285,16 +279,14 @@ Knorr/West EP -
double CVs(double BP); // napelniacz sterujacego
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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
CntrlRes = new TReservoir();
}
};
class TESt3 : public TESt
{
@@ -302,41 +294,41 @@ Knorr/West EP -
// double CylFlowSpeed[2][2]; //zmienna nie uzywana
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
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
, i_BD, i_mat, i_ba, i_nbpa) { }
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, i_BD, i_mat, i_ba, i_nbpa)
{
}
};
class TESt3AL2 : public TESt3
{
private:
double TareM; double LoadM; //masa proznego i pelnego
double TareM;
double LoadM; // masa proznego i pelnego
double TareBP; // cisnienie dla proznego
double LoadC;
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
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) : TESt3(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
TareM, TareBP, LoadM, LoadC = 0.0;
TareM = 0, TareBP = 0, LoadM = 0, LoadC = 0.0;
}
};
class TESt4R : public TESt
{
@@ -349,19 +341,18 @@ Knorr/West EP -
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 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) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
RapidTemp = 0.0;
ImplsRes = new TReservoir();
}
};
class TLSt : public TESt4R
{
@@ -377,21 +368,22 @@ Knorr/West EP -
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
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
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
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) : TESt4R(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
}
};
class TEStED : public TLSt //zawor z EP09 - Est4 z oddzielnym przekladnikiem, kontrola rapidu i takie tam
class TEStED
: public TLSt // zawor z EP09 - Est4 z oddzielnym przekladnikiem, kontrola rapidu i takie tam
{
private:
@@ -399,85 +391,81 @@ Knorr/West EP -
bool Zamykajacy; // pamiec zaworka zamykajacego
bool Przys_blok; // blokada przyspieszacza
TReservoir *Miedzypoj; // pojemnosc posrednia (urojona) do napelniania ZP i ZS
double TareM; double LoadM; //masa proznego i pelnego
double TareM;
double LoadM; // masa proznego i pelnego
double TareBP; // cisnienie dla proznego
double LoadC;
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 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) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
Przys_blok = false;
TareM, TareBP, LoadM, LoadC = 0.0;
TareM = 0, TareBP = 0, LoadM = 0, LoadC = 0.0;
Miedzypoj = new TReservoir();
}
};
class TEStEP2 : public TLSt
{
private:
double TareM; double LoadM; //masa proznego i pelnego
double TareM;
double LoadM; // masa proznego i pelnego
double TareBP; // cisnienie dla proznego
double LoadC;
double EPS;
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
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) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
TareM, TareBP, LoadM, LoadC, EPS = 0.0;
TareM = 0, TareBP = 0, LoadM = 0, LoadC = 0, EPS = 0.0;
}
};
class TCV1 : public TBrake
{
private:
double BVM; // przelozenie PG-CH
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 GetPF(double PP, double dt,
double Vel) /*override*/; // przeplyw miedzy komora wstepna i PG
double GetCRP() /*override*/;
void CheckState(double BCP, double &dV1);
double CVs(double BP);
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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
CntrlRes = new TReservoir();
}
};
// class TCV1R : public TCV1
//{
@@ -486,17 +474,17 @@ Knorr/West EP -
// bool RapidStatus;
// public:
// // function GetPF(PP, dt, Vel: real): real; override; //przeplyw miedzy komora wstepna i PG
// // 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
// 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
{
@@ -504,24 +492,22 @@ Knorr/West EP -
TReservoir *ImplsRes; // komora impulsowa
double LBP; // cisnienie hamulca pomocniczego
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 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) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
, i_BD, i_mat, i_ba, i_nbpa)
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, i_BD, i_mat, i_ba, i_nbpa)
{
LBP = 0.0;
ImplsRes = new TReservoir();
}
};
class TKE : public TBrake // Knorr Einheitsbauart — jeden do wszystkiego
{
@@ -531,17 +517,18 @@ Knorr/West EP -
TReservoir *CntrlRes; // zbiornik steruj¹cy
TReservoir *Brak2Res; // zbiornik pomocniczy 2
double BVM; // przelozenie PG-CH
double TareM; double LoadM; //masa proznego i pelnego
double TareM;
double LoadM; // masa proznego i pelnego
double TareBP; // cisnienie dla proznego
double LoadC; // wspolczynnik zaladowania
double RM; // przelozenie rapida
double LBP; // cisnienie hamulca pomocniczego
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 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 GetCRP() /*override*/;
void CheckState(double BCP, double &dV1);
@@ -552,25 +539,20 @@ Knorr/West EP -
void SetLP(double TM, double LM, double TBP); // parametry przystawki wazacej
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) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn,
i_BD, i_mat, i_ba, i_nbpa)
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_BD, i_mat, i_ba, i_nbpa)
{
RapidStatus = false;
TareM, TareBP, LoadM, LoadC, RM, LBP = 0.0;
TareM = 0, TareBP = 0, LoadM = 0, LoadC = 0, RM = 0, LBP = 0.0;
ImplsRes = new TReservoir();
CntrlRes = new TReservoir();
Brak2Res = new TReservoir();
}
};
// klasa obejmujaca krany
class TDriverHandle
{
private:
@@ -587,32 +569,32 @@ Knorr/West EP -
virtual double GetSound(int i);
virtual double GetPos(int i);
virtual double GetEP(double pos);
};
class TFV4a : public TDriverHandle
{
private:
double CP; double TP; double RP; //zbiornik steruj¹cy, czasowy, redukcyjny
double CP;
double TP;
double RP; // zbiornik steruj¹cy, czasowy, redukcyjny
public:
double GetPF(double i_bcp, double PP, double HP, double dt, double ep) /*override*/;
void Init(double Press) /*override*/;
inline TFV4a(void) : TDriverHandle() { }
inline TFV4a(void) : TDriverHandle()
{
}
};
class TFV4aM : public TDriverHandle
{
private:
double CP; double TP; double RP; //zbiornik steruj¹cy, czasowy, redukcyjny
double CP;
double TP;
double RP; // zbiornik steruj¹cy, czasowy, redukcyjny
double XP; // komora powietrzna w reduktorze — jest potrzebna do odwzorowania fali
double RedAdj; // dostosowanie reduktora cisnienia (krecenie kapturkiem)
// Sounds: array[0..4] of real; //wielkosci przeplywow dla dzwiekow
@@ -622,6 +604,7 @@ Knorr/West EP -
static double pos_table[11];
double LPP_RP(double pos);
bool EQ(double pos, double i_pos);
public:
double GetPF(double i_bcp, double PP, double HP, double dt, double ep) /*override*/;
void Init(double Press) /*override*/;
@@ -629,16 +612,18 @@ Knorr/West EP -
double GetSound(int i) /*override*/;
double GetPos(int i) /*override*/;
inline TFV4aM(void) : TDriverHandle() { }
inline TFV4aM(void) : TDriverHandle()
{
}
};
class TMHZ_EN57 : public TDriverHandle
{
private:
double CP; double TP; double RP; //zbiornik steruj¹cy, czasowy, redukcyjny
double CP;
double TP;
double RP; // zbiornik steruj¹cy, czasowy, redukcyjny
double RedAdj; // dostosowanie reduktora cisnienia (krecenie kapturkiem)
bool Fala;
// const double pos_table[11] = { -2, 10, -1, 0, 0, 2, 9, 10, 0, 0, 0 };
@@ -655,15 +640,16 @@ Knorr/West EP -
double GetCP() /*override*/;
double GetEP(double pos);
inline TMHZ_EN57(void) : TDriverHandle() { }
inline TMHZ_EN57(void) : TDriverHandle()
{
}
};
/* FBS2= class(TTDriverHandle)
private
CP, TP, RP: real; //zbiornik steruj¹cy, czasowy, redukcyjny
XP: real; //komora powietrzna w reduktorze — jest potrzebna do odwzorowania fali
XP: real; //komora powietrzna w reduktorze — jest potrzebna do
odwzorowania fali
RedAdj: real; //dostosowanie reduktora cisnienia (krecenie kapturkiem)
// Sounds: array[0..4] of real; //wielkosci przeplywow dla dzwiekow
Fala: boolean;
@@ -678,7 +664,8 @@ Knorr/West EP -
/* TD2= class(TTDriverHandle)
private
CP, TP, RP: real; //zbiornik steruj¹cy, czasowy, redukcyjny
XP: real; //komora powietrzna w reduktorze — jest potrzebna do odwzorowania fali
XP: real; //komora powietrzna w reduktorze — jest potrzebna do
odwzorowania fali
RedAdj: real; //dostosowanie reduktora cisnienia (krecenie kapturkiem)
// Sounds: array[0..4] of real; //wielkosci przeplywow dla dzwiekow
Fala: boolean;
@@ -690,7 +677,6 @@ Knorr/West EP -
function GetPos(i: int): real; override;
end;*/
class TM394 : public TDriverHandle
{
@@ -707,11 +693,11 @@ Knorr/West EP -
double GetCP() /*override*/;
double GetPos(int i) /*override*/;
inline TM394(void) : TDriverHandle() { }
inline TM394(void) : TDriverHandle()
{
}
};
class TH14K1 : public TDriverHandle
{
@@ -730,11 +716,11 @@ Knorr/West EP -
double GetCP() /*override*/;
double GetPos(int i) /*override*/;
inline TH14K1(void) : TDriverHandle() { }
inline TH14K1(void) : TDriverHandle()
{
}
};
class TSt113 : public TH14K1
{
@@ -751,11 +737,11 @@ Knorr/West EP -
double GetPos(int i) /*override*/;
void Init(double Press) /*override*/;
inline TSt113(void) : TH14K1() { }
inline TSt113(void) : TH14K1()
{
}
};
class Ttest : public TDriverHandle
{
@@ -766,11 +752,11 @@ Knorr/West EP -
double GetPF(double i_bcp, double PP, double HP, double dt, double ep) /*override*/;
void Init(double Press) /*override*/;
inline Ttest(void) : TDriverHandle() { }
inline Ttest(void) : TDriverHandle()
{
}
};
class TFD1 : public TDriverHandle
{
@@ -786,11 +772,11 @@ Knorr/West EP -
void SetSpeed(double nSpeed);
// procedure Init(press: real; MaxBP: real); overload;
inline TFD1(void) : TDriverHandle() { }
inline TFD1(void) : TDriverHandle()
{
}
};
class TH1405 : public TDriverHandle
{
@@ -804,12 +790,11 @@ Knorr/West EP -
double GetCP() /*override*/;
// procedure Init(press: real; MaxBP: real); overload;
inline TH1405(void) : TDriverHandle() { }
inline TH1405(void) : TDriverHandle()
{
}
};
class TFVel6 : public TDriverHandle
{
@@ -825,15 +810,18 @@ Knorr/West EP -
double GetSound(int i) /*override*/;
void Init(double Press) /*override*/;
inline TFVel6(void) : TDriverHandle() { }
inline TFVel6(void) : TDriverHandle()
{
}
};
extern double PF(double P1, double P2, double S, double DP = 0.25);
extern double PF1(double P1, double P2, double S);
extern double PFVa(double PH, double PL, double S, double LIM, double DP = 0.1); //zawor napelniajacy z PH do PL, PL do LIM
extern double PFVd(double PH, double PL, double S, double LIM, double DP = 0.1); //zawor wypuszczajacy z PH do PL, PH do LIM
extern double PFVa(double PH, double PL, double S, double LIM,
double DP = 0.1); // zawor napelniajacy z PH do PL, PL do LIM
extern double PFVd(double PH, double PL, double S, double LIM,
double DP = 0.1); // zawor wypuszczajacy z PH do PL, PH do LIM
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
#endif

View File

@@ -48,3 +48,4 @@
#include <thread>
#include <mutex>
#include <condition_variable>
#include <typeinfo>