Simulation Core
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

146 righe
4.4 KiB

  1. module CSimulationThreads
  2. use iso_c_binding
  3. implicit none
  4. public
  5. ! Thread Related Variables
  6. integer(INT_PTR_KIND()), parameter :: ThreadSecurity = 0
  7. integer(INT_PTR_KIND()), parameter :: ThreadStackSize = 0
  8. integer(4) :: ApiResult
  9. integer(4) :: WaitForStopMs = 500
  10. !BopStack
  11. integer(INT_PTR_KIND()) :: BopStackThreadHandle
  12. integer(INT_PTR_KIND()) :: BopStackThreadId
  13. integer(4) :: BopStackThreadParam = 0
  14. !Pumps
  15. integer(INT_PTR_KIND()) :: Pump1ThreadHandle
  16. integer(INT_PTR_KIND()) :: Pump2ThreadHandle
  17. integer(INT_PTR_KIND()) :: Pump3ThreadHandle
  18. integer(INT_PTR_KIND()) :: Pump1ThreadId
  19. integer(INT_PTR_KIND()) :: Pump2ThreadId
  20. integer(INT_PTR_KIND()) :: Pump3ThreadId
  21. integer(4) :: Pump1ThreadParam = 0
  22. integer(4) :: Pump2ThreadParam = 0
  23. integer(4) :: Pump3ThreadParam = 0
  24. !ChokeControl
  25. integer(INT_PTR_KIND()) :: ChokeControlThreadHandle
  26. integer(INT_PTR_KIND()) :: ChokeControlThreadId
  27. integer(4) :: ChokeControlThreadParam = 0
  28. !Rop
  29. integer(INT_PTR_KIND()) :: RopThreadHandle
  30. integer(INT_PTR_KIND()) :: RopThreadId
  31. integer(4) :: RopThreadParam = 0
  32. !RotaryTable
  33. integer(INT_PTR_KIND()) :: RotaryTableThreadHandle
  34. integer(INT_PTR_KIND()) :: RotaryTableThreadId
  35. integer(4) :: RotaryTableThreadParam = 0
  36. !FluidFlow
  37. integer(INT_PTR_KIND()) :: FluidFlowThreadHandle
  38. integer(INT_PTR_KIND()) :: FluidFlowThreadId
  39. integer(4) :: FluidFlowThreadParam = 0
  40. !TorqueDrag
  41. integer(INT_PTR_KIND()) :: TorqueDragThreadHandle
  42. integer(INT_PTR_KIND()) :: TorqueDragThreadId
  43. integer(4) :: TorqueDragThreadParam = 0
  44. !TopDrive
  45. integer(INT_PTR_KIND()) :: TopDriveThreadHandle
  46. integer(INT_PTR_KIND()) :: TopDriveThreadId
  47. integer(4) :: TopDriveThreadParam = 0
  48. !Drawworks
  49. integer(INT_PTR_KIND()) :: DrawworksThreadHandle
  50. integer(INT_PTR_KIND()) :: DrawworksThreadId
  51. integer(4) :: DrawworksThreadParam = 0
  52. !Geo
  53. integer(INT_PTR_KIND()) :: GeoThreadHandle
  54. integer(INT_PTR_KIND()) :: GeoThreadId
  55. integer(4) :: GeoThreadParam = 0
  56. !MudFlowFillIndicator
  57. integer(INT_PTR_KIND()) :: MudFlowFillIndicatorThreadHandle
  58. integer(INT_PTR_KIND()) :: MudFlowFillIndicatorThreadId
  59. integer(4) :: MudFlowFillIndicatorThreadParam = 0
  60. !MudSystem
  61. integer(INT_PTR_KIND()) :: MudSystemThreadHandle
  62. integer(INT_PTR_KIND()) :: MudSystemThreadId
  63. integer(4) :: MudSystemThreadParam = 0
  64. !PipeRams1
  65. integer(INT_PTR_KIND()) :: PipeRams1ThreadHandle
  66. integer(INT_PTR_KIND()) :: PipeRams1ThreadId
  67. integer(4) :: PipeRams1ThreadParam = 0
  68. !PipeRams2
  69. integer(INT_PTR_KIND()) :: PipeRams2ThreadHandle
  70. integer(INT_PTR_KIND()) :: PipeRams2ThreadId
  71. integer(4) :: PipeRams2ThreadParam = 0
  72. !KillLine
  73. integer(INT_PTR_KIND()) :: KillLineThreadHandle
  74. integer(INT_PTR_KIND()) :: KillLineThreadId
  75. integer(4) :: KillLineThreadParam = 0
  76. !ChokeLine
  77. integer(INT_PTR_KIND()) :: ChokeLineThreadHandle
  78. integer(INT_PTR_KIND()) :: ChokeLineThreadId
  79. integer(4) :: ChokeLineThreadParam = 0
  80. !BlindRams
  81. integer(INT_PTR_KIND()) :: BlindRamsThreadHandle
  82. integer(INT_PTR_KIND()) :: BlindRamsThreadId
  83. integer(4) :: BlindRamsThreadParam = 0
  84. !Annular
  85. integer(INT_PTR_KIND()) :: AnnularThreadHandle
  86. integer(INT_PTR_KIND()) :: AnnularThreadId
  87. integer(4) :: AnnularThreadParam = 0
  88. !OperationScenarios
  89. integer(INT_PTR_KIND()) :: OperationScenariosThreadHandle
  90. integer(INT_PTR_KIND()) :: OperationScenariosThreadId
  91. integer(4) :: OperationScenariosThreadParam = 0
  92. !PathFinding
  93. integer(INT_PTR_KIND()) :: PathFindingThreadHandle
  94. integer(INT_PTR_KIND()) :: PathFindingThreadId
  95. integer(4) :: PathFindingThreadParam = 0
  96. ! just for now
  97. !Sample
  98. integer(INT_PTR_KIND()) :: SampleThreadHandle
  99. integer(INT_PTR_KIND()) :: SampleThreadId
  100. integer(4) :: SampleThreadParam = 0
  101. #ifdef disEnableSimulation
  102. !Test
  103. integer(INT_PTR_KIND()) :: TestThreadHandle
  104. integer(INT_PTR_KIND()) :: TestThreadId
  105. integer(4) :: TestThreadParam = 0
  106. #endif
  107. contains
  108. end module CSimulationThreads