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.
 
 
 
 
 
 

117 lines
3.1 KiB

  1. module CBopControlPanelVariables
  2. implicit none
  3. public
  4. Type, Public:: BopControlPanelType
  5. ! Input vars
  6. real(8) :: AnnularRegulatorSetControl
  7. real(8) :: AirMasterValve
  8. real(8) :: ByePassValve
  9. real(8) :: AnnularValve
  10. real(8) :: UpperRamsValve
  11. real(8) :: MiddleRamsValve
  12. real(8) :: KillLineValve
  13. real(8) :: ChokeLineValve
  14. real(8) :: LowerRamsValve
  15. ! Output vars
  16. real(8) :: ManifoldPressureGauge
  17. real(8) :: AirSupplyPressureGauge
  18. real(8) :: AccumulatorPressureGauge
  19. real(8) :: AnnularPressureGauge
  20. integer :: AnnularOpenLED
  21. integer :: AnnularCloseLED
  22. integer :: UpperRamsOpenLED
  23. integer :: UpperRamsCloseLED
  24. integer :: MiddleRamsOpenLED
  25. integer :: MiddleRamsCloseLED
  26. integer :: KillLineOpenLED
  27. integer :: KillLineCloseLED
  28. integer :: ChokeLineOpenLED
  29. integer :: ChokeLineCloseLED
  30. integer :: LowerRamsOpenLED
  31. integer :: LowerRamsCloseLED
  32. real(8) :: AnnularStatus
  33. real(8) :: UpperRamsStatus
  34. real(8) :: MiddleRamsStatus
  35. real(8) :: LowerRamsStatus
  36. end type
  37. type(BopControlPanelType) :: BopControlPanel
  38. contains
  39. subroutine OpenAnnular()
  40. use CManifolds
  41. implicit none
  42. call ChangeValve(52, .true.)
  43. end subroutine
  44. subroutine CloseAnnular()
  45. use CManifolds
  46. implicit none
  47. call ChangeValve(52, .false.)
  48. end subroutine
  49. subroutine OpenUpperRams()
  50. use CManifolds
  51. implicit none
  52. call ChangeValve(51, .true.)
  53. end subroutine
  54. subroutine CloseUpperRams()
  55. use CManifolds
  56. implicit none
  57. call ChangeValve(51, .false.)
  58. end subroutine
  59. subroutine OpenMiddleRams()
  60. use CManifolds
  61. implicit none
  62. call ToggleMiddleRams(.true.)
  63. end subroutine
  64. subroutine CloseMiddleRams()
  65. use CManifolds
  66. implicit none
  67. call ToggleMiddleRams(.false.)
  68. end subroutine
  69. subroutine OpenKillLine()
  70. use CManifolds
  71. implicit none
  72. call ChangeValve(46, .true.)
  73. end subroutine
  74. subroutine CloseKillLine()
  75. use CManifolds
  76. implicit none
  77. call ChangeValve(46, .false.)
  78. end subroutine
  79. subroutine OpenChokeLine()
  80. use CManifolds
  81. implicit none
  82. call ChangeValve(47, .true.)
  83. !WRITE (*,*) ' valve 47 true '
  84. end subroutine
  85. subroutine CloseChokeLine()
  86. use CManifolds
  87. implicit none
  88. call ChangeValve(47, .false.)
  89. !WRITE (*,*) ' valve 47 false '
  90. end subroutine
  91. subroutine OpenLowerRams()
  92. use CManifolds
  93. implicit none
  94. call ChangeValve(49, .true.)
  95. !WRITE (*,*) ' valve 49 true '
  96. end subroutine
  97. subroutine CloseLowerRams()
  98. use CManifolds
  99. implicit none
  100. call ChangeValve(49, .false.)
  101. !WRITE (*,*) ' valve 49 false '
  102. end subroutine
  103. end module CBopControlPanelVariables