Czyli jedna z tych, co się nie chcą do maxa wczytywać. Zakładam jednak poprawne przypisanie wszystkiego. Istotnie mamy taką lampkę, dodaną przez Huntera i pewnie włączoną do głównej linii rozwojowej przez Ra przy okazji megapacka.
btLampkaNadmWent.Turn((mvControlled->RventRot < 5.0) && mvControlled->ResistorsFlagCheck());
Czyli świeci, gdy wiatraki się nie kręcą a mamy włączone w obwód opory rozruchowe. Chyba poprawnie. ;) By wentylatory się nie włączyły, to kolega musiałby wyłączyć przetwornicę.
Jak działają uszkodzenia silnika u nas, to nie bardzo wiem. Nie przytrafiają mi się takie przygody. Tak to wygląda w kodzie.
{awarie}
MotorCurrent:=Abs(Im); {zmienna pomocnicza}
if Motorcurrent>0 then
begin
if FuzzyLogic(Abs(n),nmax*1.1,p_elengproblem) then
if MainSwitch(false) then
EventFlag:=true; {zbyt duze obroty - wywalanie wskutek ognia okreznego}
if TestFlag(DamageFlag,dtrain_engine) then
if FuzzyLogic(MotorCurrent,ImaxLo/10.0,p_elengproblem) then
if MainSwitch(false) then
EventFlag:=true; {uszkodzony silnik (uplywy)}
if (FuzzyLogic(Abs(Im),Imax*2,p_elengproblem) or FuzzyLogic(Abs(n),nmax*1.11,p_elengproblem)) then
{ or FuzzyLogic(Abs(U/Mn),2*NominalVoltage,1)) then } {poprawic potem}
if (SetFlag(DamageFlag,dtrain_engine)) then
EventFlag:=true;
{! dorobic grzanie oporow rozruchowych i silnika}
end;
Co kolega zepsuł, to musiałbym zobaczyć, by coś kombinować.