subroutine RTable_OffMode use RTable_VARIABLES use CDataDisplayConsoleVariables use CDrillingConsoleVariables use CSimulationVariables use CWarningsVariables use CSounds IMPLICIT NONE !================================================================== ! Rate limit for off Mode if (((RTable%N_old-0.0d0)/RTable%time_step)>386.0d0) then RTable%N_ref = (-386.0d0*RTable%time_step)+RTable%N_old !else ! RTable%N_ref=0.0d0 !end if CALL RTable_INPUTS CALL RTable_Solver RTable%N_old = RTable%N_ref if ( RT_OldTransMode==0 .and. RTTransmissionLever/=0 .and. RTable%w_new/=0.d0 ) then Call Activate_RotaryGearsAbuse() RTable%SoundGearCrash = .true. Call SetSoundRtGearCrash(RTable%SoundGearCrash) else RTable%SoundGearCrash = .false. Call SetSoundRtGearCrash(RTable%SoundGearCrash) end if RT_OldTransMode = RTTransmissionLever !================================================================== else RTable%N_ref = 0. RTable%N_new = 0. RTable%N_old = 0. RTable%ia = 0. RTable%ia_old = 0. RTable%ia_new = 0. RTable%x = 0. RTable%x_old = 0. RTable%x_new = 0. RTable%y = 0. RTable%y_old = 0. RTable%y_new = 0. RTable%w = 0. RTable%w_old = 0. RTable%w_new = 0. RTable%Speed = 0. RT_wOld = 0. Call Set_RotaryRPMGauge(sngl(1-RTable%RpmGaugeMalf)*real(RTable%Speed,8)) RTable%SoundRPM = INT(RTable%Speed) Call SetSoundRT( RTable%SoundRPM ) !RotaryRPMGauge=RTable%Speed !RPM=RotaryRPMGauge RTable%Output_Current = 0. RotaryTorqueGauge = ( ((RTable%J_coef+RTable%String_JCoef)*(((RTable%w_new/RTable%Conv_Ratio)-RT_wOld)/RTable%time_step))+(RTable%String_Torque) )*0.73756215 ![N.m]*0.73756215 = [ft.lbf] RTable%Torque = ( ((RTable%J_coef+RTable%String_JCoef)*(((RTable%w_new/RTable%Conv_Ratio)-RT_wOld)/RTable%time_step))+(RTable%String_Torque) )*0.73756215 ![N.m]*0.73756215 = [ft.lbf] Call Set_RotaryTorque(sngl(1-RTable%TorqueGaugeMalf)*real(RTable%Torque,8)) !RotaryTorqueGauge=(RTable%String_Torque)/12. end if end subroutine RTable_OffMode