|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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
|