Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
2.0 KiB

  1. subroutine TopDrive_OffMode
  2. use TopDrive_VARIABLES
  3. !use CDataDisplayConsoleVariables
  4. !use CDrillingConsoleVariables
  5. use CSimulationVariables
  6. use CWarningsVariables
  7. use CSounds
  8. use CTopDrivePanelVariables
  9. IMPLICIT NONE
  10. !==================================================================
  11. ! Rate limit for off Mode
  12. if ( ((TDS%N_old-0.0d0)/TDS%time_step)>386.0d0 ) then
  13. TDS%N_ref = (-386.0d0*TDS%time_step)+TDS%N_old
  14. !else
  15. ! TDS%N_ref=0.0d0
  16. !end if
  17. CALL TopDrive_INPUTS
  18. CALL TopDrive_Solver
  19. TDS%N_old = TDS%N_ref
  20. !if ( TDS_OldTransMode==0 .and. TDS%w_new/=0.d0 ) then
  21. ! Call Activate_RotaryGearsAbuse()
  22. ! TDS%SoundGearCrash = .true.
  23. ! Call SetSoundRtGearCrash(TDS%SoundGearCrash)
  24. !else
  25. ! TDS%SoundGearCrash = .false.
  26. ! Call SetSoundRtGearCrash(TDS%SoundGearCrash)
  27. !end if
  28. !TDS_OldTransMode = RTTransmissionLever
  29. !==================================================================
  30. else
  31. TDS%N_ref = 0.
  32. TDS%N_new = 0.
  33. TDS%N_old = 0.
  34. TDS%ia = 0.
  35. TDS%ia_old = 0.
  36. TDS%ia_new = 0.
  37. TDS%x = 0.
  38. TDS%x_old = 0.
  39. TDS%x_new = 0.
  40. TDS%y = 0.
  41. TDS%y_old = 0.
  42. TDS%y_new = 0.
  43. TDS%w = 0.
  44. TDS%w_old = 0.
  45. TDS%w_new = 0.
  46. TDS%Speed = 0.
  47. TDS_wOld = 0.
  48. TopDriveOperationFaultLed = 0
  49. TDS%Speed = 0.d0 !Speed [RPM]
  50. TopDriveRpmGauge = TDS%Speed
  51. TD_RPMUnityOutput = -TopDriveRpmGauge
  52. TDS%SoundRPM = 0
  53. !Call SetSound( TDS%SoundRPM )
  54. TDS%Torque = 0.d0 ![ft.lbf]
  55. TopDriveTorqueGauge = 0.d0 ![ft.lbf]
  56. TDS_OldPowerMode = 1
  57. TDS_OldPowerMode = 0
  58. End if
  59. end subroutine