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

Disintegration of brakes from UniCtrl

This commit is contained in:
Królik Uszasty
2019-09-06 18:02:00 +02:00
committed by tmj-fstate
parent bda879bdca
commit bb229bbac9
2 changed files with 20 additions and 9 deletions

View File

@@ -979,6 +979,8 @@ public:
TSecuritySystem SecuritySystem; TSecuritySystem SecuritySystem;
TUniversalCtrlTable UniCtrlList; /*lista pozycji uniwersalnego nastawnika*/ TUniversalCtrlTable UniCtrlList; /*lista pozycji uniwersalnego nastawnika*/
int UniCtrlListSize = 0; /*wielkosc listy pozycji uniwersalnego nastawnika*/ int UniCtrlListSize = 0; /*wielkosc listy pozycji uniwersalnego nastawnika*/
bool UniCtrlIntegratedBrakePNCtrl = false; /*zintegrowany nastawnik JH obsluguje hamulec PN*/
bool UniCtrlIntegratedBrakeCtrl = false; /*zintegrowany nastawnik JH obsluguje hamowanie*/
/*-sekcja parametrow dla lokomotywy elektrycznej*/ /*-sekcja parametrow dla lokomotywy elektrycznej*/
TSchemeTable RList; /*lista rezystorow rozruchowych i polaczen silnikow, dla dizla: napelnienia*/ TSchemeTable RList; /*lista rezystorow rozruchowych i polaczen silnikow, dla dizla: napelnienia*/

View File

@@ -6336,6 +6336,8 @@ void TMoverParameters::CheckEIMIC(double dt)
} }
break; break;
case 3: case 3:
if (UniCtrlIntegratedBrakePNCtrl)
{
if ((UniCtrlList[MainCtrlPos].mode != BrakeCtrlPos) && (MainCtrlActualPos == MainCtrlPos)) //there was no move of controller, but brake only if ((UniCtrlList[MainCtrlPos].mode != BrakeCtrlPos) && (MainCtrlActualPos == MainCtrlPos)) //there was no move of controller, but brake only
{ {
if (BrakeCtrlPos < UniCtrlList[MainCtrlPosNo].mode) if (BrakeCtrlPos < UniCtrlList[MainCtrlPosNo].mode)
@@ -6347,6 +6349,7 @@ void TMoverParameters::CheckEIMIC(double dt)
} }
else //controller was moved else //controller was moved
BrakeLevelSet(UniCtrlList[MainCtrlPos].mode); BrakeLevelSet(UniCtrlList[MainCtrlPos].mode);
}
if ((MainCtrlActualPos != MainCtrlPos) || (LastRelayTime>InitialCtrlDelay)) if ((MainCtrlActualPos != MainCtrlPos) || (LastRelayTime>InitialCtrlDelay))
{ {
@@ -6363,6 +6366,10 @@ void TMoverParameters::CheckEIMIC(double dt)
} }
if (Hamulec->GetEDBCP() > 0.3 && eimic < 0) //when braking with pneumatic brake if (Hamulec->GetEDBCP() > 0.3 && eimic < 0) //when braking with pneumatic brake
eimic = 0; //shut off retarder eimic = 0; //shut off retarder
if (UniCtrlIntegratedBrakeCtrl == false)
{
eimic = (LocalBrakeRatio() > 0.01 ? -LocalBrakeRatio() : eimic);
}
} }
auto const eimicpowerenabled { auto const eimicpowerenabled {
@@ -9533,6 +9540,8 @@ void TMoverParameters::LoadFIZ_RList( std::string const &Input ) {
void TMoverParameters::LoadFIZ_UCList(std::string const &Input) { void TMoverParameters::LoadFIZ_UCList(std::string const &Input) {
extract_value(UniCtrlListSize, "Size", Input, ""); extract_value(UniCtrlListSize, "Size", Input, "");
UniCtrlIntegratedBrakeCtrl = (extract_value("IntegratedBrake", Input) == "Yes");
UniCtrlIntegratedBrakePNCtrl = (extract_value("IntegratedBrakePN", Input) == "Yes");
} }