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.
 
 
 
 
 
 

162 lines
5.7 KiB

  1. module CChokeControlPanel
  2. use CChokeControlPanelVariables
  3. use ConfigurationVariables
  4. implicit none
  5. public
  6. contains
  7. ! Input routines
  8. subroutine SetChokePanelPumpSelectorSwitch(v)
  9. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelPumpSelectorSwitch
  10. !DEC$ ATTRIBUTES ALIAS: 'SetChokePanelPumpSelectorSwitch' :: SetChokePanelPumpSelectorSwitch
  11. implicit none
  12. integer, intent(in) :: v
  13. data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch = v
  14. #ifdef deb
  15. print*, 'ChokePanelPumpSelectorSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch
  16. #endif
  17. end subroutine
  18. subroutine SetChokePanelStrokeResetSwitch(v)
  19. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelStrokeResetSwitch
  20. !DEC$ ATTRIBUTES ALIAS: 'SetChokePanelStrokeResetSwitch' :: SetChokePanelStrokeResetSwitch
  21. implicit none
  22. logical, intent(in) :: v
  23. data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch = v
  24. #ifdef deb
  25. print*, 'ChokePanelStrokeResetSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch
  26. #endif
  27. end subroutine
  28. subroutine SetChokeSelectorSwitch(v)
  29. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeSelectorSwitch
  30. !DEC$ ATTRIBUTES ALIAS: 'SetChokeSelectorSwitch' :: SetChokeSelectorSwitch
  31. implicit none
  32. logical, intent(in) :: v
  33. data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch = v
  34. #ifdef deb
  35. print*, 'ChokeSelectorSwitch=', data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch
  36. #endif
  37. end subroutine
  38. subroutine SetChokeRateControlKnob(v)
  39. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeRateControlKnob
  40. !DEC$ ATTRIBUTES ALIAS: 'SetChokeRateControlKnob' :: SetChokeRateControlKnob
  41. implicit none
  42. real*8, intent(in) :: v
  43. !character(8) :: date
  44. !character(10) :: time
  45. !character(5) :: zone
  46. !integer,dimension(8) :: values
  47. data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob = v
  48. #ifdef deb
  49. !call date_and_time(date,time,zone,values)
  50. !!print '(a,2x,a,2x,a)', date, time, zone
  51. !print '(8i5)', values
  52. print*, 'ChokeRateControlKnob=', data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob
  53. #endif
  54. end subroutine
  55. subroutine SetChokeControlLever(v)
  56. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeControlLever
  57. !DEC$ ATTRIBUTES ALIAS: 'SetChokeControlLever' :: SetChokeControlLever
  58. implicit none
  59. real*8, intent(in) :: v
  60. data%EquipmentControl%ChokeControlPanel%ChokeControlLever = v
  61. #ifdef deb
  62. print*, 'ChokeControlLever=', data%EquipmentControl%ChokeControlPanel%ChokeControlLever
  63. #endif
  64. end subroutine
  65. subroutine SetChokePanelRigAirSwitch(v)
  66. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelRigAirSwitch
  67. !DEC$ ATTRIBUTES ALIAS: 'SetChokePanelRigAirSwitch' :: SetChokePanelRigAirSwitch
  68. implicit none
  69. logical, intent(in) :: v
  70. data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch = v
  71. #ifdef deb
  72. print*, 'ChokePanelRigAirSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch
  73. #endif
  74. end subroutine
  75. subroutine SetEnableAutoChoke(v)
  76. !DEC$ ATTRIBUTES DLLEXPORT :: SetEnableAutoChoke
  77. !DEC$ ATTRIBUTES ALIAS: 'SetEnableAutoChoke' :: SetEnableAutoChoke
  78. implicit none
  79. logical, intent(in) :: v
  80. data%EquipmentControl%ChokeControlPanel%EnableAutoChoke = v
  81. #ifdef deb
  82. print*, 'EnableAutoChoke=', data%EquipmentControl%ChokeControlPanel%EnableAutoChoke
  83. #endif
  84. end subroutine
  85. ! Output routines
  86. real(8) function GetStandPipePressure()
  87. !DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipePressure
  88. !DEC$ ATTRIBUTES ALIAS: 'GetStandPipePressure' :: GetStandPipePressure
  89. implicit none
  90. GetStandPipePressure = data%EquipmentControl%ChokeControlPanel%StandPipePressure
  91. end function
  92. real(8) function GetCasingPressure()
  93. !DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressure
  94. !DEC$ ATTRIBUTES ALIAS: 'GetCasingPressure' :: GetCasingPressure
  95. implicit none
  96. GetCasingPressure = data%EquipmentControl%ChokeControlPanel%CasingPressure
  97. end function
  98. real(8) function GetChokePosition()
  99. !DEC$ ATTRIBUTES DLLEXPORT :: GetChokePosition
  100. !DEC$ ATTRIBUTES ALIAS: 'GetChokePosition' :: GetChokePosition
  101. implicit none
  102. GetChokePosition = data%EquipmentControl%ChokeControlPanel%ChokePosition
  103. end function
  104. real(8) function GetChokePanelSPMCounter()
  105. !DEC$ ATTRIBUTES DLLEXPORT :: GetChokePanelSPMCounter
  106. !DEC$ ATTRIBUTES ALIAS: 'GetChokePanelSPMCounter' :: GetChokePanelSPMCounter
  107. implicit none
  108. !GetChokePanelSPMCounter = 0
  109. GetChokePanelSPMCounter = data%EquipmentControl%ChokeControlPanel%ChokePanelSPMCounter
  110. end function
  111. real(8) function GetChokePanelTotalStrokeCounter()
  112. !DEC$ ATTRIBUTES DLLEXPORT :: GetChokePanelTotalStrokeCounter
  113. !DEC$ ATTRIBUTES ALIAS: 'GetChokePanelTotalStrokeCounter' :: GetChokePanelTotalStrokeCounter
  114. implicit none
  115. !GetChokePanelTotalStrokeCounter = 0
  116. GetChokePanelTotalStrokeCounter = data%EquipmentControl%ChokeControlPanel%ChokePanelTotalStrokeCounter
  117. end function
  118. integer function GetChoke1LED()
  119. !DEC$ ATTRIBUTES DLLEXPORT :: GetChoke1LED
  120. !DEC$ ATTRIBUTES ALIAS: 'GetChoke1LED' :: GetChoke1LED
  121. implicit none
  122. GetChoke1LED = data%EquipmentControl%ChokeControlPanel%Choke1LED
  123. end function
  124. integer function GetChoke2LED()
  125. !DEC$ ATTRIBUTES DLLEXPORT :: GetChoke2LED
  126. !DEC$ ATTRIBUTES ALIAS: 'GetChoke2LED' :: GetChoke2LED
  127. implicit none
  128. GetChoke2LED = data%EquipmentControl%ChokeControlPanel%Choke2LED
  129. end function
  130. end module CChokeControlPanel