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

Small fix to eimic and speedcontrol interaction

This commit is contained in:
Królik Uszasty
2019-03-14 18:58:31 +01:00
committed by tmj-fstate
parent 3de04fdb67
commit 8d67338950
4 changed files with 5 additions and 4 deletions

View File

@@ -2705,7 +2705,7 @@ bool TDynamicObject::Update(double dt, double dt1)
MoverParameters->CheckSpeedCtrl(); MoverParameters->CheckSpeedCtrl();
auto eimic = Min0R(MoverParameters->eimic, MoverParameters->eimicSpeedCtrl); auto eimic = Min0R(MoverParameters->eimic, MoverParameters->eimicSpeedCtrl);
MoverParameters->eimic = eimic; MoverParameters->eimic_real = eimic;
MoverParameters->SendCtrlToNext("EIMIC", Max0R(0, eimic), MoverParameters->CabNo); MoverParameters->SendCtrlToNext("EIMIC", Max0R(0, eimic), MoverParameters->CabNo);
auto LBR = Max0R(-eimic, 0); auto LBR = Max0R(-eimic, 0);

View File

@@ -1282,6 +1282,7 @@ public:
/*- zmienne dla lokomotyw z silnikami indukcyjnymi -*/ /*- zmienne dla lokomotyw z silnikami indukcyjnymi -*/
double eimic = 0; /*aktualna pozycja zintegrowanego sterowania jazda i hamowaniem*/ double eimic = 0; /*aktualna pozycja zintegrowanego sterowania jazda i hamowaniem*/
double eimic_real = 0; /*faktycznie uzywana pozycja zintegrowanego sterowania jazda i hamowaniem*/
int EIMCtrlType = 0; /*rodzaj wariantu zadajnika jazdy*/ int EIMCtrlType = 0; /*rodzaj wariantu zadajnika jazdy*/
double eimv_pr = 0; /*realizowany procent dostepnej sily rozruchu/hamowania*/ double eimv_pr = 0; /*realizowany procent dostepnej sily rozruchu/hamowania*/
double eimv[21]; double eimv[21];

View File

@@ -5055,7 +5055,7 @@ double TMoverParameters::TractionForce( double dt ) {
} }
else else
{ {
PosRatio = Max0R(eimic, 0); PosRatio = Max0R(eimic_real, 0);
eimv[eimv_Fzad] = PosRatio; eimv[eimv_Fzad] = PosRatio;
if ((Flat) && (eimc[eimc_p_F0] * eimv[eimv_Fful] > 0)) if ((Flat) && (eimc[eimc_p_F0] * eimv[eimv_Fful] > 0))
PosRatio = Min0R(PosRatio * eimc[eimc_p_F0] / eimv[eimv_Fful], 1); PosRatio = Min0R(PosRatio * eimc[eimc_p_F0] / eimv[eimv_Fful], 1);
@@ -9554,7 +9554,7 @@ bool TMoverParameters::RunCommand( std::string Command, double CValue1, double C
end */ end */
else if (Command == "EIMIC") // ElectricInductionMotor Integrated Control - propulsion and brakes in relative values else if (Command == "EIMIC") // ElectricInductionMotor Integrated Control - propulsion and brakes in relative values
{ {
eimic = CValue1; eimic_real = CValue1;
OK = SendCtrlToNext(Command, CValue1, CValue2, Couplertype); OK = SendCtrlToNext(Command, CValue1, CValue2, Couplertype);
} }
else if (Command == "Brake") // youBy - jak sie EP hamuje, to trza sygnal wyslac... else if (Command == "Brake") // youBy - jak sie EP hamuje, to trza sygnal wyslac...

View File

@@ -5309,7 +5309,7 @@ bool TTrain::Update( double const Deltatime )
// else // else
// fEIMParams[0][3] = // fEIMParams[0][3] =
// mvControlled->eimv[eimv_Fzad] - mvOccupied->LocalBrakeRatio(); // procent zadany // mvControlled->eimv[eimv_Fzad] - mvOccupied->LocalBrakeRatio(); // procent zadany
fEIMParams[0][3] = mvOccupied->eimic; fEIMParams[0][3] = mvOccupied->eimic_real;
fEIMParams[0][4] = Max0R(fEIMParams[0][3], 0); fEIMParams[0][4] = Max0R(fEIMParams[0][3], 0);
fEIMParams[0][5] = -Min0R(fEIMParams[0][3], 0); fEIMParams[0][5] = -Min0R(fEIMParams[0][3], 0);
fEIMParams[0][1] = fEIMParams[0][4] * mvControlled->eimv[eimv_Fful]; fEIMParams[0][1] = fEIMParams[0][4] * mvControlled->eimv[eimv_Fful];