mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 19:49:19 +02:00
Small fix to eimic and speedcontrol interaction
This commit is contained in:
committed by
tmj-fstate
parent
3de04fdb67
commit
8d67338950
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|||||||
@@ -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...
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|||||||
Reference in New Issue
Block a user