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.
 
 
 
 
 
 

149 lines
5.9 KiB

  1. subroutine Drawworks_Direction
  2. Use CDrillingConsoleVariables
  3. Use CDataDisplayConsoleVariables
  4. Use Drawworks_VARIABLES
  5. IMPLICIT NONE
  6. if (Drawworks%Switch==1) then !Up
  7. Drawworks%motion = +1
  8. Drawworks%w_old_drum = Drawworks%w_drum !(pi*(Drawworks%N_old/Drawworks%Conv_Ratio)/30.d0) ?
  9. Drawworks%w_drum = (pi*(Drawworks%Speed/Drawworks%Conv_Ratio)/30.d0) ![rad/s]
  10. Drawworks%Hook_Height = Drawworks%Hook_Height+(((Drawworks%Diameter/2.0)*(Drawworks%time_step*0.5d0*(Drawworks%w_drum+Drawworks%w_old_drum)))/Drawworks%NumberOfLine) ![m]
  11. else if (Drawworks%Switch==-1) then !Down
  12. Drawworks%motion = -1
  13. Drawworks%w_old_drum = Drawworks%w_drum !(pi*(Drawworks%N_old/Drawworks%Conv_Ratio)/30.d0) ?
  14. Drawworks%w_drum = (pi*(Drawworks%Speed/Drawworks%Conv_Ratio)/30.d0) ![rad/s]
  15. Drawworks%Hook_Height = Drawworks%Hook_Height-(((Drawworks%Diameter/2.0)*(Drawworks%time_step*0.5d0*(Drawworks%w_drum+Drawworks%w_old_drum)))/Drawworks%NumberOfLine) ![m]
  16. !else if (Drawworks%Switch==0) then !Off
  17. ! Drawworks%motion = 0
  18. ! Drawworks%w_old_drum = 0.d0
  19. ! Drawworks%w_drum = 0.d0
  20. ! Drawworks%Hook_Height = Drawworks%Hook_Height
  21. end if
  22. !if (Drawworks%Conv_Ratio==1.d0) then
  23. !
  24. !
  25. ! IF (Drawworks%motion==+1) THEN
  26. ! Call Drawworks_Free_Traction_motor_Dir
  27. ! if (Drawworks%w_drum_Dir<=0.) then
  28. ! Drawworks%motion = 0
  29. ! else
  30. ! Drawworks%motion = +1
  31. ! Call Drawworks_Free_Traction_motor
  32. ! Drawworks%w = Drawworks%w_drum*Drawworks%Conv_Ratio
  33. ! Drawworks%w_old = Drawworks%w_old_drum*Drawworks%Conv_Ratio
  34. ! end if
  35. ! ELSE
  36. ! if (((Drawworks%F_fastline*(Drawworks%Diameter/2.0d0))-(((Drawworks%Diameter/2.0d0)*Drawworks%BreakLoad)*(Drawworks%ManualBreak/100.0d0)))<=0.) then
  37. ! Drawworks%motion = 0
  38. ! Drawworks%w_drum = 0.0d0
  39. ! Drawworks%w_old_drum = 0.0d0
  40. ! Drawworks%w = Drawworks%w_drum*Drawworks%Conv_Ratio
  41. ! Drawworks%w_old = Drawworks%w_old_drum*Drawworks%Conv_Ratio
  42. ! Drawworks%Hook_Height = Drawworks%Hook_Height
  43. !
  44. ! Drawworks%ia = 0.
  45. ! Drawworks%ia_old = 0.
  46. ! Drawworks%x = 0.
  47. ! Drawworks%x_old = 0.
  48. ! Drawworks%y = 0.
  49. ! Drawworks%y_old = 0.
  50. ! else
  51. ! Drawworks%motion = -1
  52. ! Call Drawworks_Free_Traction_motor_dawn_motion
  53. ! Drawworks%w = Drawworks%w_drum*Drawworks%Conv_Ratio
  54. ! Drawworks%w_old = Drawworks%w_old_drum*Drawworks%Conv_Ratio
  55. ! end if
  56. !
  57. ! END IF
  58. !
  59. !
  60. !else
  61. !
  62. ! IF (Drawworks%motion==-1) THEN
  63. ! Drawworks%w = -Drawworks%w
  64. ! Drawworks%w_old = -Drawworks%w_old
  65. ! Drawworks%w_drum = -Drawworks%w_drum
  66. ! Drawworks%w_old_drum = -Drawworks%w_old_drum
  67. ! END IF
  68. ! Call Drawworks_Traction_motor_ClutchMode_Dir
  69. ! IF (Drawworks%w_Dir>0.d0) then
  70. !
  71. ! Drawworks%motion = +1
  72. ! Call Drawworks_Traction_motor_ClutchMode
  73. ! Drawworks%w_drum = Drawworks%w/Drawworks%Conv_Ratio
  74. ! Drawworks%w_old_drum = Drawworks%w_old/Drawworks%Conv_Ratio
  75. ! ELSE
  76. ! Drawworks%EddyTorque = (1.039d5*exp(4.343d-4*(30.0d0*(Drawworks%w/Drawworks%Conv_Ratio)/pi)))+(-1.036d5*exp(-.047920d0*(30.0d0*(Drawworks%w/Drawworks%Conv_Ratio)/pi))) !Lbf.ft
  77. ! if (Drawworks%EddyTorque>115000.) then
  78. ! Drawworks%EddyTorque = 115000.0d0
  79. ! end if
  80. ! Drawworks%EddyTorque = 1.355817948*Drawworks%EddyTorque ![N.m]
  81. ! if ((Drawworks%F_fastline*(Drawworks%Diameter/2.0d0))>((((Drawworks%Diameter/2.0d0)*Drawworks%BreakLoad)*(Drawworks%ManualBreak/100.0d0))+(Drawworks%EddyTorque*(Drawworks%EddyBreak/100.0d0)))) then
  82. ! Drawworks%motion = -1
  83. !
  84. ! IF (Drawworks%w_drum<0.) THEN
  85. ! Drawworks%w = -Drawworks%w
  86. ! Drawworks%w_old = -Drawworks%w_old
  87. ! !Drawworks%w = 0. !???????????????
  88. ! !Drawworks%w_old = 0. !???????????????
  89. ! Drawworks%w_drum = -Drawworks%w_drum
  90. ! Drawworks%w_old_drum = -Drawworks%w_old_drum
  91. ! END IF
  92. !
  93. ! Drawworks%Conv_Ratio = 1.
  94. ! Call Drawworks_Free_Traction_motor_dawn_motion
  95. ! Drawworks%w = Drawworks%w_drum*Drawworks%Conv_Ratio
  96. ! Drawworks%w_old = Drawworks%w_old_drum*Drawworks%Conv_Ratio
  97. ! !Drawworks%w_drum = Drawworks%w/Drawworks%Conv_Ratio
  98. ! !Drawworks%w_old_drum = Drawworks%w_old/Drawworks%Conv_Ratio
  99. ! else
  100. ! Drawworks%motion = 0
  101. ! Drawworks%w_drum = 0.0d0
  102. ! Drawworks%w_old_drum = 0.0d0
  103. ! Drawworks%w = Drawworks%w_drum*Drawworks%Conv_Ratio
  104. ! Drawworks%w_old = Drawworks%w_old_drum*Drawworks%Conv_Ratio
  105. ! Drawworks%Hook_Height = Drawworks%Hook_Height
  106. !
  107. ! Drawworks%ia = 0.
  108. ! Drawworks%ia_old = 0.
  109. ! Drawworks%x = 0.
  110. ! Drawworks%x_old = 0.
  111. ! Drawworks%y = 0.
  112. ! Drawworks%y_old = 0.
  113. ! end if
  114. !
  115. ! END IF
  116. !
  117. !end if
  118. !Call DWBrakeSound
  119. end subroutine Drawworks_Direction