mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 15:09:19 +02:00
Poprawione pliki. Kompiluje się, ale nie buduje. Problem z linkerem.
This commit is contained in:
21
EU07.bpr
21
EU07.bpr
@@ -4,17 +4,16 @@
|
|||||||
<MACROS>
|
<MACROS>
|
||||||
<VERSION value="BCB.05.03"/>
|
<VERSION value="BCB.05.03"/>
|
||||||
<PROJECT value="E:\Gry\MaSzyna_15_04\EU07.exe"/>
|
<PROJECT value="E:\Gry\MaSzyna_15_04\EU07.exe"/>
|
||||||
<OBJFILES value="QueryParserComp.obj McZapkie\_mover.obj McZapkie\hamulce.obj EU07.obj
|
<OBJFILES value="QueryParserComp.obj McZapkie\_mover.obj EU07.obj dumb3d.obj Camera.obj
|
||||||
dumb3d.obj Camera.obj Texture.obj World.obj Model3d.obj MdlMngr.obj
|
Texture.obj World.obj Model3d.obj MdlMngr.obj Train.obj wavread.obj
|
||||||
Train.obj wavread.obj Timer.obj Event.obj MemCell.obj Logs.obj Spring.obj
|
Timer.obj Event.obj MemCell.obj Logs.obj Spring.obj Button.obj Globals.obj
|
||||||
Button.obj Globals.obj Gauge.obj AnimModel.obj Ground.obj TrkFoll.obj
|
Gauge.obj AnimModel.obj Ground.obj TrkFoll.obj Segment.obj Sound.obj
|
||||||
Segment.obj Sound.obj AdvSound.obj Track.obj DynObj.obj RealSound.obj
|
AdvSound.obj Track.obj DynObj.obj RealSound.obj EvLaunch.obj FadeSound.obj
|
||||||
EvLaunch.obj FadeSound.obj Traction.obj TractionPower.obj parser.obj
|
Traction.obj TractionPower.obj parser.obj sky.obj AirCoupler.obj
|
||||||
sky.obj AirCoupler.obj opengl\glew.obj ResourceManager.obj VBO.obj
|
opengl\glew.obj ResourceManager.obj VBO.obj mtable.obj TextureDDS.obj
|
||||||
mtable.obj TextureDDS.obj opengl\ARB_Multisample.obj Float3d.obj
|
opengl\ARB_Multisample.obj Float3d.obj Classes.obj Driver.obj Names.obj
|
||||||
Classes.obj Driver.obj Names.obj Console.obj Mover.obj
|
Console.obj Mover.obj McZapkie\hamulce.obj McZapkie\Oerlikon_ESt.obj
|
||||||
McZapkie\Oerlikon_ESt.obj Console\PoKeys55.obj Forth.obj Console\LPT.obj
|
Console\PoKeys55.obj Forth.obj Console\LPT.obj PyInt.obj"/>
|
||||||
PyInt.obj"/>
|
|
||||||
<RESFILES value="EU07.res"/>
|
<RESFILES value="EU07.res"/>
|
||||||
<IDLFILES value=""/>
|
<IDLFILES value=""/>
|
||||||
<IDLGENFILES value=""/>
|
<IDLGENFILES value=""/>
|
||||||
|
|||||||
2
EU07.cpp
2
EU07.cpp
@@ -81,7 +81,7 @@ USEUNIT("Names.cpp");
|
|||||||
USEUNIT("Console.cpp");
|
USEUNIT("Console.cpp");
|
||||||
USEUNIT("Mover.cpp");
|
USEUNIT("Mover.cpp");
|
||||||
USEUNIT("McZapkie\_mover.pas");
|
USEUNIT("McZapkie\_mover.pas");
|
||||||
USEUNIT("McZapkie\hamulce.pas");
|
USEUNIT("McZapkie\hamulce.cpp");
|
||||||
USEUNIT("McZapkie\Oerlikon_ESt.cpp");
|
USEUNIT("McZapkie\Oerlikon_ESt.cpp");
|
||||||
USEUNIT("Console\PoKeys55.cpp");
|
USEUNIT("Console\PoKeys55.cpp");
|
||||||
USEUNIT("Forth.cpp");
|
USEUNIT("Forth.cpp");
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
// All rights reserved
|
// All rights reserved
|
||||||
|
|
||||||
// (DO NOT EDIT: machine generated header) '_mover.pas' rev: 5.00
|
// (DO NOT EDIT: machine generated header) '_mover.pas' rev: 5.00
|
||||||
//Ra: eee... tam, sam siê generuje b³êdnie i trzeba rêcznie poprawiaæ!
|
//Ra: eee... tam, sam si<EFBFBD> generuje b<EFBFBD><EFBFBD>dnie i trzeba r<EFBFBD>cznie poprawia<EFBFBD>!
|
||||||
|
|
||||||
#ifndef _moverHPP
|
#ifndef _moverHPP
|
||||||
#define _moverHPP
|
#define _moverHPP
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
#pragma option push -w-
|
#pragma option push -w-
|
||||||
#pragma option push -Vx
|
#pragma option push -Vx
|
||||||
#include <Oerlikon_ESt.h> // Pascal unit
|
#include <Oerlikon_ESt.h> // Pascal unit
|
||||||
#include <hamulce.hpp> // Pascal unit
|
#include <hamulce.h> // Pascal unit
|
||||||
#include <SysUtils.hpp> // Pascal unit
|
#include <SysUtils.hpp> // Pascal unit
|
||||||
#include <mctools.hpp> // Pascal unit
|
#include <mctools.hpp> // Pascal unit
|
||||||
#include <SysInit.hpp> // Pascal unit
|
#include <SysInit.hpp> // Pascal unit
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ double d2A(double d)
|
|||||||
|
|
||||||
// ------ RURA ------
|
// ------ RURA ------
|
||||||
|
|
||||||
double __fastcall TRura::P(void)
|
double TRura::P(void)
|
||||||
{
|
{
|
||||||
return Next->P();
|
return Next->P();
|
||||||
}
|
}
|
||||||
@@ -209,7 +209,7 @@ void TPrzekED::Update(double dt)
|
|||||||
|
|
||||||
// ------ OERLIKON EST NA BOGATO ------
|
// ------ OERLIKON EST NA BOGATO ------
|
||||||
|
|
||||||
double __fastcall TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora wstepna i PG
|
double TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora wstepna i PG
|
||||||
{
|
{
|
||||||
double dV;
|
double dV;
|
||||||
double dV1;
|
double dV1;
|
||||||
@@ -322,7 +322,7 @@ void TNESt3::EStParams(double i_crc) // parametry charakterystyczne dla ESt
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void __fastcall TNESt3::Init(double PP, double HPP, double LPP, double BP, unsigned char BDF)
|
void TNESt3::Init(double PP, double HPP, double LPP, double BP, unsigned char BDF)
|
||||||
{
|
{
|
||||||
ValveRes->CreatePress(1 * PP);
|
ValveRes->CreatePress(1 * PP);
|
||||||
BrakeCyl->CreatePress(1 * BP);
|
BrakeCyl->CreatePress(1 * BP);
|
||||||
@@ -347,7 +347,7 @@ void __fastcall TNESt3::Init(double PP, double HPP, double LPP, double BP, unsig
|
|||||||
RapidStaly = true;
|
RapidStaly = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
double __fastcall TNESt3::GetCRP()
|
double TNESt3::GetCRP()
|
||||||
{
|
{
|
||||||
return CntrlRes->P();
|
return CntrlRes->P();
|
||||||
// return Przekladniki[1].P;
|
// return Przekladniki[1].P;
|
||||||
@@ -462,7 +462,7 @@ void TNESt3::PLC(double mass)
|
|||||||
1);
|
1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __fastcall TNESt3::ForceEmptiness()
|
void TNESt3::ForceEmptiness()
|
||||||
{
|
{
|
||||||
ValveRes->CreatePress(0);
|
ValveRes->CreatePress(0);
|
||||||
BrakeRes->CreatePress(0);
|
BrakeRes->CreatePress(0);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ http://mozilla.org/MPL/2.0/.
|
|||||||
Copyright (C) 2007-2014 Maciej Cierniak
|
Copyright (C) 2007-2014 Maciej Cierniak
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <hamulce.hpp> // Pascal unit
|
#include "hamulce.h" // Pascal unit
|
||||||
#include <friction.hpp> // Pascal unit
|
#include <friction.hpp> // Pascal unit
|
||||||
#include <SysUtils.hpp> // Pascal unit
|
#include <SysUtils.hpp> // Pascal unit
|
||||||
#include <mctools.hpp> // Pascal unit
|
#include <mctools.hpp> // Pascal unit
|
||||||
@@ -93,7 +93,7 @@ class TRura : public TPrzekladnik // nieprzekladnik, rura laczaca
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
public:
|
public:
|
||||||
virtual __fastcall double P(void) /*override*/;
|
virtual double P(void) /*override*/;
|
||||||
virtual void Update(double dt) /*override*/;
|
virtual void Update(double dt) /*override*/;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -190,11 +190,11 @@ class TNESt3 : public TBrake
|
|||||||
double LBP; // cisnienie hamulca pomocniczego
|
double LBP; // cisnienie hamulca pomocniczego
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual double __fastcall GetPF(double PP, double dt,
|
virtual double GetPF(double PP, double dt,
|
||||||
double Vel) /*override*/; // przeplyw miedzy komora wstepna i PG
|
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
|
||||||
virtual void __fastcall Init(double PP, double HPP, double LPP, double BP, unsigned char BDF) /*override*/;
|
virtual void Init(double PP, double HPP, double LPP, double BP, unsigned char BDF) /*override*/;
|
||||||
virtual double __fastcall GetCRP() /*override*/;
|
virtual 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
|
||||||
double CVs(double BP); // napelniacz sterujacego
|
double CVs(double BP); // napelniacz sterujacego
|
||||||
@@ -202,7 +202,7 @@ class TNESt3 : public TBrake
|
|||||||
void SetSize(int size, std::string params); // ustawianie dysz (rozmiaru ZR), przekladniki
|
void SetSize(int size, std::string params); // ustawianie dysz (rozmiaru ZR), przekladniki
|
||||||
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
|
||||||
virtual void __fastcall ForceEmptiness() /*override*/; // wymuszenie bycia pustym
|
virtual void ForceEmptiness() /*override*/; // wymuszenie bycia pustym
|
||||||
void SetLBP(double P); // cisnienie z hamulca pomocniczego
|
void SetLBP(double P); // cisnienie z hamulca pomocniczego
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
#pragma delphiheader begin
|
#pragma delphiheader begin
|
||||||
#pragma option push -w-
|
#pragma option push -w-
|
||||||
#pragma option push -Vx
|
#pragma option push -Vx
|
||||||
#include <hamulce.hpp> // Pascal unit
|
#include <hamulce.h> // Pascal unit
|
||||||
#include <friction.hpp> // Pascal unit
|
#include <friction.hpp> // Pascal unit
|
||||||
#include <SysUtils.hpp> // Pascal unit
|
#include <SysUtils.hpp> // Pascal unit
|
||||||
#include <mctools.hpp> // Pascal unit
|
#include <mctools.hpp> // Pascal unit
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#pragma option push -w-
|
#pragma option push -w-
|
||||||
#pragma option push -Vx
|
#pragma option push -Vx
|
||||||
#include <Oerlikon_ESt.h> // Pascal unit
|
#include <Oerlikon_ESt.h> // Pascal unit
|
||||||
#include <hamulce.hpp> // Pascal unit
|
#include <hamulce.h> // Pascal unit
|
||||||
#include <SysUtils.hpp> // Pascal unit
|
#include <SysUtils.hpp> // Pascal unit
|
||||||
#include <mctools.hpp> // Pascal unit
|
#include <mctools.hpp> // Pascal unit
|
||||||
#include <SysInit.hpp> // Pascal unit
|
#include <SysInit.hpp> // Pascal unit
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ Copyright (C) 2007-2014 Maciej Cierniak
|
|||||||
|
|
||||||
#include "hamulce.h"
|
#include "hamulce.h"
|
||||||
#include "../Mover.h"
|
#include "../Mover.h"
|
||||||
#include <math.h>
|
|
||||||
#include <typeinfo>
|
#include <typeinfo>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
@@ -46,7 +45,7 @@ double PF(double P1, double P2, double S, double DP = 0.25)
|
|||||||
double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne
|
double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne
|
||||||
double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne
|
double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne
|
||||||
double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien
|
double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien
|
||||||
double FM = PH * 197 * S * sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem
|
double FM = PH * 197 * S * Sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem
|
||||||
if ((sg > 0.5)) // jesli ponizej stosunku krytycznego
|
if ((sg > 0.5)) // jesli ponizej stosunku krytycznego
|
||||||
if ((PH - PL) < DP) // niewielka roznica cisnien
|
if ((PH - PL) < DP) // niewielka roznica cisnien
|
||||||
return (1 - sg) * 1.0 / DPL * FM * 2 * sqrt((DP) * (PH - DP));
|
return (1 - sg) * 1.0 / DPL * FM * 2 * sqrt((DP) * (PH - DP));
|
||||||
@@ -64,7 +63,7 @@ double PF1(double P1, double P2, double S)
|
|||||||
double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne
|
double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne
|
||||||
double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne
|
double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne
|
||||||
double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien
|
double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien
|
||||||
double FM = PH * 197 * S * sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem
|
double FM = PH * 197 * S * Sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem
|
||||||
if ((sg > 0.5)) // jesli ponizej stosunku krytycznego
|
if ((sg > 0.5)) // jesli ponizej stosunku krytycznego
|
||||||
if ((sg < DPS)) // niewielka roznica cisnien
|
if ((sg < DPS)) // niewielka roznica cisnien
|
||||||
return (1 - sg) * 1.0 / DPS * FM * 2 * sqrt((DPS) * (1 - DPS));
|
return (1 - sg) * 1.0 / DPS * FM * 2 * sqrt((DPS) * (1 - DPS));
|
||||||
@@ -74,6 +73,11 @@ double PF1(double P1, double P2, double S)
|
|||||||
return FM;
|
return FM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long lround(double value)
|
||||||
|
{
|
||||||
|
return floorl(value + 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
double PFVa(double PH, double PL, double S, double LIM,
|
double PFVa(double PH, double PL, double S, double LIM,
|
||||||
double DP = 0.1) // zawor napelniajacy z PH do PL, PL do LIM
|
double DP = 0.1) // zawor napelniajacy z PH do PL, PL do LIM
|
||||||
{
|
{
|
||||||
@@ -1841,24 +1845,24 @@ void TKE::CheckState(double BCP, double &dV1)
|
|||||||
// sprawdzanie stanu
|
// sprawdzanie stanu
|
||||||
if ((BrakeStatus && 1) == 1)
|
if ((BrakeStatus && 1) == 1)
|
||||||
if ((VVP + 0.003 + BCP * 1.0 / BVM < CVP))
|
if ((VVP + 0.003 + BCP * 1.0 / BVM < CVP))
|
||||||
BrakeStatus =
|
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;else if( ( VVP+BCP*1.0/BVM>CVP ) )
|
BrakeStatus = (BrakeStatus && 252); // luzowanie;
|
||||||
BrakeStatus = (BrakeStatus && 253) // zatrzymanie napelaniania;else
|
else if ((VVP + BCP * 1.0 / BVM > CVP))
|
||||||
|
BrakeStatus = (BrakeStatus && 253); // zatrzymanie napelaniania;
|
||||||
|
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 = (BrakeStatus || 3);
|
||||||
ValveRes.CreatePress(0.8 * VVP); // przyspieszacz
|
ValveRes->CreatePress(0.8 * VVP); // przyspieszacz
|
||||||
}
|
}
|
||||||
else if ((VVP + BCP * 1.0 / BVM < CVP) &&
|
else if ((VVP + BCP * 1.0 / BVM < CVP) && ((CVP - VVP) * BVM > 0.25)) // zatrzymanie luzowanie
|
||||||
((CVP - VVP) * BVM > 0.25)) // zatrzymanie luzowanie
|
|
||||||
BrakeStatus = (BrakeStatus || 1);
|
BrakeStatus = (BrakeStatus || 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
double TKE::CVs(double BP)
|
double TKE::CVs(double BP)
|
||||||
{
|
{
|
||||||
double result;
|
|
||||||
double VVP;
|
double VVP;
|
||||||
double BVP;
|
double BVP;
|
||||||
double CVP;
|
double CVP;
|
||||||
@@ -1869,17 +1873,15 @@ double TKE::CVs(double BP)
|
|||||||
|
|
||||||
// przeplyw ZS <-> PG
|
// przeplyw ZS <-> PG
|
||||||
if ((BP > 0.2))
|
if ((BP > 0.2))
|
||||||
CVs = 0;
|
return 0;
|
||||||
else if ((VVP > CVP + 0.4))
|
else if ((VVP > CVP + 0.4))
|
||||||
CVs = 0.05;
|
return 0.05;
|
||||||
else
|
else
|
||||||
CVs = 0.23;
|
return 0.23;
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double TKE::BVs(double BCP)
|
double TKE::BVs(double BCP)
|
||||||
{
|
{
|
||||||
double result;
|
|
||||||
double VVP;
|
double VVP;
|
||||||
double BVP;
|
double BVP;
|
||||||
double CVP;
|
double CVP;
|
||||||
@@ -1890,12 +1892,11 @@ double TKE::BVs(double BCP)
|
|||||||
|
|
||||||
// przeplyw ZP <-> rozdzielacz
|
// przeplyw ZP <-> rozdzielacz
|
||||||
if ((BVP > VVP))
|
if ((BVP > VVP))
|
||||||
BVs = 0;
|
return 0;
|
||||||
else if ((BVP < CVP - 0.3))
|
else if ((BVP < CVP - 0.3))
|
||||||
BVs = 0.6;
|
return 0.6;
|
||||||
else
|
else
|
||||||
BVs = 0.13;
|
return 0.13;
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double TKE::GetPF(double PP, double dt, double Vel)
|
double TKE::GetPF(double PP, double dt, double Vel)
|
||||||
@@ -2077,32 +2078,32 @@ void TKE::SetLBP(double P)
|
|||||||
|
|
||||||
//---KRANY---
|
//---KRANY---
|
||||||
|
|
||||||
double HANDLE::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
double THandle::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HANDLE::Init(double Press)
|
void THandle::Init(double Press)
|
||||||
{
|
{
|
||||||
Time = false;
|
Time = false;
|
||||||
TimeEP = false;
|
TimeEP = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HANDLE::SetReductor(double nAdj)
|
void THandle::SetReductor(double nAdj)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
double HANDLE::GetCP()
|
double THandle::GetCP()
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double HANDLE::GetSound(Byte i)
|
double THandle::GetSound(Byte i)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double HANDLE::GetPos(Byte i)
|
double THandle::GetPos(Byte i)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,9 @@ Knorr/West EP -
|
|||||||
|
|
||||||
using namespace Friction;
|
using namespace Friction;
|
||||||
|
|
||||||
|
namespace Hamulce
|
||||||
|
{
|
||||||
|
|
||||||
static int const LocalBrakePosNo = 10; /*ilosc nastaw hamulca recznego lub pomocniczego*/
|
static int const LocalBrakePosNo = 10; /*ilosc nastaw hamulca recznego lub pomocniczego*/
|
||||||
static int const MainBrakeMaxPos = 10; /*max. ilosc nastaw hamulca zasadniczego*/
|
static int const MainBrakeMaxPos = 10; /*max. ilosc nastaw hamulca zasadniczego*/
|
||||||
|
|
||||||
@@ -136,12 +139,12 @@ using namespace Friction;
|
|||||||
// 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, 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, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0),(0, 0));
|
||||||
static int const i_bcpno = 6;
|
static int const i_bcpno = 6;
|
||||||
|
static double const pi = 3.141592653589793;
|
||||||
|
|
||||||
//klasa obejmujaca pojedyncze zbiorniki
|
//klasa obejmujaca pojedyncze zbiorniki
|
||||||
|
|
||||||
|
|
||||||
class TReservoir: public TObject
|
class TReservoir
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
double Cap;
|
double Cap;
|
||||||
@@ -167,8 +170,8 @@ class TBrakeCyl: public TReservoir
|
|||||||
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
double pa()/*override*/;
|
virtual double pa()/*override*/;
|
||||||
double P()/*override*/;
|
virtual double P()/*override*/;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -176,7 +179,7 @@ public:
|
|||||||
//klasa obejmujaca uklad hamulca zespolonego pojazdu
|
//klasa obejmujaca uklad hamulca zespolonego pojazdu
|
||||||
|
|
||||||
|
|
||||||
class TBrake: public TObject
|
class TBrake
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
TReservoir *BrakeCyl; //silownik
|
TReservoir *BrakeCyl; //silownik
|
||||||
@@ -248,6 +251,9 @@ public:
|
|||||||
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,
|
||||||
|
Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -269,6 +275,9 @@ public:
|
|||||||
double CVs(double BP); //napelniacz sterujacego
|
double CVs(double BP); //napelniacz sterujacego
|
||||||
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,
|
||||||
|
Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -282,6 +291,9 @@ private:
|
|||||||
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
|
||||||
|
|
||||||
|
inline TESt3(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||||
|
Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -301,6 +313,9 @@ public:
|
|||||||
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, Byte BDF)/*override*/;
|
void Init(double PP, double HPP, double LPP, double BP, Byte BDF)/*override*/;
|
||||||
|
|
||||||
|
inline TESt3AL2(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||||
|
, Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TESt3(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -318,6 +333,9 @@ 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, Byte BDF)/*override*/;
|
void Init(double PP, double HPP, double LPP, double BP, Byte BDF)/*override*/;
|
||||||
|
|
||||||
|
inline TESt4R(double i_mbp, double i_bcr, double i_bcd, double i_brc
|
||||||
|
, Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TESt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -341,6 +359,9 @@ public:
|
|||||||
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,
|
||||||
|
Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TESt4R(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -364,6 +385,9 @@ public:
|
|||||||
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
|
||||||
|
, Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -384,6 +408,9 @@ public:
|
|||||||
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
|
||||||
|
, Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TLSt(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -404,6 +431,9 @@ public:
|
|||||||
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,
|
||||||
|
Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -419,6 +449,9 @@ 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: byte); override;
|
// procedure Init(PP, HPP, LPP, BP: real; BDF: byte); override;
|
||||||
|
|
||||||
|
inline TCV1R(double i_mbp, double i_bcr, double i_bcd, double i_brc,
|
||||||
|
Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -436,6 +469,9 @@ public:
|
|||||||
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
|
||||||
|
, Byte i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TCV1(i_mbp, i_bcr, i_bcd, i_brc, i_bcn
|
||||||
|
, i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -469,6 +505,9 @@ public:
|
|||||||
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
|
void SetLP(double TM, double LM, double TBP); //parametry przystawki wazacej
|
||||||
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, Byte
|
||||||
|
i_bcn, Byte i_BD, Byte i_mat, Byte i_ba, Byte i_nbpa) : TBrake(i_mbp, i_bcr, i_bcd, i_brc, i_bcn,
|
||||||
|
i_BD, i_mat, i_ba, i_nbpa) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -478,7 +517,7 @@ public:
|
|||||||
//klasa obejmujaca krany
|
//klasa obejmujaca krany
|
||||||
|
|
||||||
|
|
||||||
class HANDLE: public TObject
|
class THandle
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
// BCP: integer;
|
// BCP: integer;
|
||||||
@@ -498,7 +537,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TFV4a: public HANDLE
|
class TFV4a : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -508,11 +547,13 @@ public:
|
|||||||
double GetPF(double i_bcp, double PP, double HP, double dt, double ep)/*override*/;
|
double GetPF(double i_bcp, double PP, double HP, double dt, double ep)/*override*/;
|
||||||
void Init(double Press)/*override*/;
|
void Init(double Press)/*override*/;
|
||||||
|
|
||||||
|
inline TFV4a(void) : THandle() { }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TFV4aM: public HANDLE
|
class TFV4aM : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -530,11 +571,12 @@ public:
|
|||||||
double GetSound(Byte i)/*override*/;
|
double GetSound(Byte i)/*override*/;
|
||||||
double GetPos(Byte i)/*override*/;
|
double GetPos(Byte i)/*override*/;
|
||||||
|
|
||||||
|
inline TFV4aM(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TMHZ_EN57: public HANDLE
|
class TMHZ_EN57 : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -553,11 +595,12 @@ public:
|
|||||||
double GetCP()/*override*/;
|
double GetCP()/*override*/;
|
||||||
double GetEP(double pos);
|
double GetEP(double pos);
|
||||||
|
|
||||||
|
inline TMHZ_EN57(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* FBS2= class(THandle)
|
/* FBS2= class(TTHandle)
|
||||||
private
|
private
|
||||||
CP, TP, RP: real; //zbiornik steruj¹cy, czasowy, redukcyjny
|
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
|
||||||
@@ -572,7 +615,7 @@ public:
|
|||||||
function GetPos(i: byte): real; override;
|
function GetPos(i: byte): real; override;
|
||||||
end; */
|
end; */
|
||||||
|
|
||||||
/* TD2= class(THandle)
|
/* TD2= class(TTHandle)
|
||||||
private
|
private
|
||||||
CP, TP, RP: real; //zbiornik steruj¹cy, czasowy, redukcyjny
|
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
|
||||||
@@ -588,7 +631,7 @@ public:
|
|||||||
end;*/
|
end;*/
|
||||||
|
|
||||||
|
|
||||||
class TM394: public HANDLE
|
class TM394 : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -602,11 +645,12 @@ public:
|
|||||||
double GetCP()/*override*/;
|
double GetCP()/*override*/;
|
||||||
double GetPos(Byte i)/*override*/;
|
double GetPos(Byte i)/*override*/;
|
||||||
|
|
||||||
|
inline TM394(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TH14K1: public HANDLE
|
class TH14K1 : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
@@ -620,6 +664,7 @@ public:
|
|||||||
double GetCP()/*override*/;
|
double GetCP()/*override*/;
|
||||||
double GetPos(Byte i)/*override*/;
|
double GetPos(Byte i)/*override*/;
|
||||||
|
|
||||||
|
inline TH14K1(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -636,11 +681,12 @@ public:
|
|||||||
double GetPos(Byte i)/*override*/;
|
double GetPos(Byte i)/*override*/;
|
||||||
void Init(double Press)/*override*/;
|
void Init(double Press)/*override*/;
|
||||||
|
|
||||||
|
inline TSt113(void) : TH14K1() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Ttest: public HANDLE
|
class Ttest : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -650,11 +696,12 @@ public:
|
|||||||
double GetPF(double i_bcp, double PP, double HP, double dt, double ep)/*override*/;
|
double GetPF(double i_bcp, double PP, double HP, double dt, double ep)/*override*/;
|
||||||
void Init(double Press)/*override*/;
|
void Init(double Press)/*override*/;
|
||||||
|
|
||||||
|
inline Ttest(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TFD1: public HANDLE
|
class TFD1 : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -669,11 +716,12 @@ public:
|
|||||||
void SetSpeed(double nSpeed);
|
void SetSpeed(double nSpeed);
|
||||||
// procedure Init(press: real; MaxBP: real); overload;
|
// procedure Init(press: real; MaxBP: real); overload;
|
||||||
|
|
||||||
|
inline TFD1(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TH1405: public HANDLE
|
class TH1405 : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -686,12 +734,13 @@ public:
|
|||||||
double GetCP()/*override*/;
|
double GetCP()/*override*/;
|
||||||
// procedure Init(press: real; MaxBP: real); overload;
|
// procedure Init(press: real; MaxBP: real); overload;
|
||||||
|
|
||||||
|
inline TH1405(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TFVel6: public HANDLE
|
class TFVel6 : public THandle
|
||||||
|
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -704,6 +753,7 @@ public:
|
|||||||
double GetSound(Byte i)/*override*/;
|
double GetSound(Byte i)/*override*/;
|
||||||
void Init(double Press)/*override*/;
|
void Init(double Press)/*override*/;
|
||||||
|
|
||||||
|
inline TFVel6(void) : THandle() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -713,7 +763,10 @@ 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 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 PFVd(double PH, double PL, double S, double LIM, double DP = 0.1); //zawor wypuszczajacy z PH do PL, PH do LIM
|
||||||
|
|
||||||
|
extern long lround(double value); //zastepuje funkcje nieobecna w C++99
|
||||||
|
}
|
||||||
|
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
|
||||||
|
using namespace Hamulce;
|
||||||
|
#endif
|
||||||
#endif//INCLUDED_HAMULCE_H
|
#endif//INCLUDED_HAMULCE_H
|
||||||
//END
|
//END
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ http://mozilla.org/MPL/2.0/.
|
|||||||
#include "Timer.h"
|
#include "Timer.h"
|
||||||
#include "Driver.h"
|
#include "Driver.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
#include "McZapkie\hamulce.h"
|
||||||
|
#include <typeinfo>
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
#pragma package(smart_init)
|
#pragma package(smart_init)
|
||||||
@@ -321,7 +323,7 @@ PyObject *TTrain::GetTrainState()
|
|||||||
bool bEP, bPN;
|
bool bEP, bPN;
|
||||||
bEP = (mvControlled->LocHandle->GetCP()>0.2) || (fEIMParams[0][2]>0.01);
|
bEP = (mvControlled->LocHandle->GetCP()>0.2) || (fEIMParams[0][2]>0.01);
|
||||||
PyDict_SetItemString(dict, "dir_brake", PyGetBool(bEP));
|
PyDict_SetItemString(dict, "dir_brake", PyGetBool(bEP));
|
||||||
if (mvControlled->Hamulec->ClassNameIs("TLSt") || mvControlled->Hamulec->ClassNameIs("TEStED"))
|
if (typeid(mvControlled->Hamulec) == typeid(TLSt) || typeid(mvControlled->Hamulec) == typeid(TEStED))
|
||||||
{
|
{
|
||||||
TBrake* temp_ham = mvControlled->Hamulec;
|
TBrake* temp_ham = mvControlled->Hamulec;
|
||||||
// TLSt* temp_ham2 = temp_ham;
|
// TLSt* temp_ham2 = temp_ham;
|
||||||
|
|||||||
Reference in New Issue
Block a user