Browse Source

Basic Input variables put into the types

najafi
mahmood19227 1 year ago
parent
commit
c6cda164a8
100 changed files with 2048 additions and 2024 deletions
  1. +24
    -24
      CSharp/BasicInputs/Bha/CStringConfiguration.f90
  2. +7
    -6
      CSharp/BasicInputs/Bha/CStringConfigurationVariables.f90
  3. BIN
     
  4. +42
    -42
      CSharp/BasicInputs/CMudProperties.f90
  5. +52
    -49
      CSharp/BasicInputs/CMudPropertiesVariables.f90
  6. +9
    -9
      CSharp/BasicInputs/Geology/CFormation.f90
  7. +5
    -4
      CSharp/BasicInputs/Geology/CFormationVariables.f90
  8. +15
    -15
      CSharp/BasicInputs/Geology/CReservoir.f90
  9. +15
    -15
      CSharp/BasicInputs/Geology/CReservoirVariables.f90
  10. +6
    -6
      CSharp/BasicInputs/Geology/CShoe.f90
  11. +10
    -8
      CSharp/BasicInputs/Geology/CShoeVariables.f90
  12. BIN
     
  13. +11
    -11
      CSharp/BasicInputs/RigSpecifications/CAccumulator.f90
  14. +14
    -14
      CSharp/BasicInputs/RigSpecifications/CAccumulatorVariables.f90
  15. +14
    -14
      CSharp/BasicInputs/RigSpecifications/CBopStack.f90
  16. +27
    -27
      CSharp/BasicInputs/RigSpecifications/CBopStackVariables.f90
  17. +8
    -8
      CSharp/BasicInputs/RigSpecifications/CHoisting.f90
  18. +10
    -7
      CSharp/BasicInputs/RigSpecifications/CHoistingVariables.f90
  19. +8
    -8
      CSharp/BasicInputs/RigSpecifications/CPower.f90
  20. +11
    -9
      CSharp/BasicInputs/RigSpecifications/CPowerVariables.f90
  21. +59
    -59
      CSharp/BasicInputs/RigSpecifications/CPumps.f90
  22. +61
    -58
      CSharp/BasicInputs/RigSpecifications/CPumpsVariables.f90
  23. +4
    -4
      CSharp/BasicInputs/RigSpecifications/CRigSize.f90
  24. +7
    -5
      CSharp/BasicInputs/RigSpecifications/CRigSizeVariables.f90
  25. BIN
     
  26. BIN
     
  27. +17
    -17
      CSharp/BasicInputs/WellProfile/CCasingLinerChoke.f90
  28. +21
    -19
      CSharp/BasicInputs/WellProfile/CCasingLinerChokeVariables.f90
  29. +16
    -16
      CSharp/BasicInputs/WellProfile/CPathGeneration.f90
  30. +10
    -8
      CSharp/BasicInputs/WellProfile/CPathGenerationVariables.f90
  31. +10
    -10
      CSharp/BasicInputs/WellProfile/CWellSurveyData.f90
  32. +6
    -3
      CSharp/BasicInputs/WellProfile/CWellSurveyDataVariables.f90
  33. BIN
     
  34. +38
    -38
      CSharp/Equipments/ControlPanels/CBopControlPanel.f90
  35. +35
    -35
      CSharp/Equipments/ControlPanels/CBopControlPanelVariables.f90
  36. +21
    -21
      CSharp/Equipments/ControlPanels/CChokeControlPanel.f90
  37. +20
    -21
      CSharp/Equipments/ControlPanels/CChokeControlPanelVariables.f90
  38. +19
    -19
      CSharp/Equipments/ControlPanels/CChokeManifold.f90
  39. +34
    -31
      CSharp/Equipments/ControlPanels/CChokeManifoldVariables.f90
  40. +121
    -123
      CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90
  41. +149
    -155
      CSharp/Equipments/ControlPanels/CDataDisplayConsoleVariables.f90
  42. +128
    -128
      CSharp/Equipments/ControlPanels/CDrillingConsole.f90
  43. +124
    -123
      CSharp/Equipments/ControlPanels/CDrillingConsoleVariables.f90
  44. +21
    -20
      CSharp/Equipments/ControlPanels/CHookVariables.f90
  45. +32
    -32
      CSharp/Equipments/ControlPanels/CStandPipeManifold.f90
  46. +22
    -21
      CSharp/Equipments/ControlPanels/CStandPipeManifoldVariables.f90
  47. +45
    -45
      CSharp/Equipments/ControlPanels/CTopDrivePanel.f90
  48. +20
    -18
      CSharp/Equipments/ControlPanels/CTopDrivePanelVariables.f90
  49. BIN
     
  50. BIN
     
  51. +19
    -19
      CSharp/Equipments/DrillWatch/CDrillWatch.f90
  52. +25
    -24
      CSharp/Equipments/DrillWatch/CDrillWatchVariables.f90
  53. +495
    -494
      CSharp/Equipments/MudPathFinding/CManifolds.f90
  54. +35
    -35
      CSharp/Equipments/Tanks/CTanks.f90
  55. +24
    -25
      CSharp/Equipments/Tanks/CTanksVariables.f90
  56. +1
    -1
      CSharp/OperationScenarios/Common/COperationScenariosMain.f90
  57. +3
    -3
      CSharp/OperationScenarios/Common/COperationScenariosSettings.f90
  58. +6
    -6
      CSharp/OperationScenarios/Enums/CElevatorConnectionEnum.f90
  59. +2
    -2
      CSharp/OperationScenarios/Enums/CKellyConnectionEnum.f90
  60. +4
    -4
      CSharp/OperationScenarios/Enums/CTdsConnectionModesEnum.f90
  61. +2
    -2
      CSharp/OperationScenarios/Enums/CTdsElevatorModesEnum.f90
  62. +2
    -2
      CSharp/OperationScenarios/Notifications/CCloseKellyCockLedNotification.f90
  63. +1
    -1
      CSharp/OperationScenarios/Notifications/CCloseKellyCockLedNotificationVariables.f90
  64. +2
    -2
      CSharp/OperationScenarios/Notifications/CCloseSafetyValveLedNotification.f90
  65. +5
    -5
      CSharp/OperationScenarios/Notifications/CCloseSafetyValveLedNotificationVariables.f90
  66. +2
    -2
      CSharp/OperationScenarios/Notifications/CFillMouseHoleLedNotification.f90
  67. +3
    -3
      CSharp/OperationScenarios/Notifications/CFillMouseHoleLedNotificationVariables.f90
  68. +2
    -2
      CSharp/OperationScenarios/Notifications/CIrIBopLedNotification.f90
  69. +3
    -3
      CSharp/OperationScenarios/Notifications/CIrIBopLedNotificationVariables.f90
  70. +4
    -4
      CSharp/OperationScenarios/Notifications/CIrSafetyValveLedNotification.f90
  71. +10
    -10
      CSharp/OperationScenarios/Notifications/CIrSafetyValveLedNotificationVariables.f90
  72. +2
    -2
      CSharp/OperationScenarios/Notifications/CLatchLedNotification.f90
  73. +3
    -3
      CSharp/OperationScenarios/Notifications/CLatchLedNotificationVariables.f90
  74. +2
    -2
      CSharp/OperationScenarios/Notifications/COpenKellyCockLedNotification.f90
  75. +1
    -1
      CSharp/OperationScenarios/Notifications/COpenKellyCockLedNotificationVariables.f90
  76. +2
    -2
      CSharp/OperationScenarios/Notifications/COpenSafetyValveLedNotification.f90
  77. +5
    -5
      CSharp/OperationScenarios/Notifications/COpenSafetyValveLedNotificationVariables.f90
  78. +2
    -2
      CSharp/OperationScenarios/Notifications/CSlipsNotification.f90
  79. +2
    -2
      CSharp/OperationScenarios/Notifications/CSwingLedNotification.f90
  80. +3
    -3
      CSharp/OperationScenarios/Notifications/CSwingLedNotificationVariables.f90
  81. +5
    -5
      CSharp/OperationScenarios/Notifications/CTdsIbopLedNotification.f90
  82. +3
    -3
      CSharp/OperationScenarios/Notifications/CTdsIbopLedNotificationVariables.f90
  83. +2
    -2
      CSharp/OperationScenarios/Notifications/CTdsPowerLedNotification.f90
  84. +3
    -3
      CSharp/OperationScenarios/Notifications/CTdsPowerLedNotificationVariables.f90
  85. +2
    -2
      CSharp/OperationScenarios/Notifications/CTdsTorqueWrenchLedNotification.f90
  86. +2
    -2
      CSharp/OperationScenarios/Notifications/CTdsTorqueWrenchLedNotificationVariables.f90
  87. +2
    -2
      CSharp/OperationScenarios/Notifications/CTongNotification.f90
  88. +2
    -2
      CSharp/OperationScenarios/Notifications/CUnlatchLedNotification.f90
  89. +3
    -3
      CSharp/OperationScenarios/Notifications/CUnlatchLedNotificationVariables.f90
  90. +1
    -1
      CSharp/OperationScenarios/Permissions/CFillupHeadPermission.f90
  91. +2
    -2
      CSharp/OperationScenarios/Permissions/CInstallFillupHeadPermission.f90
  92. +2
    -2
      CSharp/OperationScenarios/Permissions/CIrIbopPermission.f90
  93. +2
    -2
      CSharp/OperationScenarios/Permissions/CIrSafetyValvePermission.f90
  94. +1
    -1
      CSharp/OperationScenarios/Permissions/CSwingDrillPermission.f90
  95. +1
    -1
      CSharp/OperationScenarios/Permissions/CSwingOffPermission.f90
  96. +1
    -1
      CSharp/OperationScenarios/Permissions/CSwingTiltPermission.f90
  97. +3
    -3
      CSharp/OperationScenarios/Test/TestOperationScenarios.f90
  98. +1
    -1
      CSharp/OperationScenarios/Unity/CUnityOutputs.f90
  99. +4
    -4
      CSharp/OperationScenarios/UnitySignals/CBucketEnum.f90
  100. +6
    -6
      CSharp/OperationScenarios/UnitySignals/CHeadEnum.f90

+ 24
- 24
CSharp/BasicInputs/Bha/CStringConfiguration.f90 View File

@@ -14,41 +14,41 @@ module CStringConfiguration
type(CStringItem), intent(inout), target :: array(count)
type(CBitInfo), intent(inout) :: bit
type(CStringItem), pointer :: item
BitDefinition%BitType = bit%BitType
BitDefinition%BitSize = bit%BitSize
BitDefinition%BitCodeHundreds = bit%BitCodeHundreds
BitDefinition%BitCodeTens = bit%BitCodeTens
BitDefinition%BitCodeOnes = bit%BitCodeOnes
BitDefinition%BitNozzleSize = bit%BitNozzleSize
BitDefinition%BitLength = bit%BitLength
BitDefinition%BitWeightPerLength = bit%BitWeightPerLength
BitDefinition%BitNozzleNo = bit%BitNozzleNo
BitDefinition%FloatValve = bit%FloatValve
StringConfigurationCount = count
StringConfiguration%BitDefinition%BitType = bit%BitType
StringConfiguration%BitDefinition%BitSize = bit%BitSize
StringConfiguration%BitDefinition%BitCodeHundreds = bit%BitCodeHundreds
StringConfiguration%BitDefinition%BitCodeTens = bit%BitCodeTens
StringConfiguration%BitDefinition%BitCodeOnes = bit%BitCodeOnes
StringConfiguration%BitDefinition%BitNozzleSize = bit%BitNozzleSize
StringConfiguration%BitDefinition%BitLength = bit%BitLength
StringConfiguration%BitDefinition%BitWeightPerLength = bit%BitWeightPerLength
StringConfiguration%BitDefinition%BitNozzleNo = bit%BitNozzleNo
StringConfiguration%BitDefinition%FloatValve = bit%FloatValve
StringConfiguration%StringConfigurationCount = count
if(BitDefinition%FloatValve) then
if(StringConfiguration%BitDefinition%FloatValve) then
call InstallFloatValve()
else
call RemoveFloatValve()
endif
if(size(StringConfigurations) > 0) then
deallocate(StringConfigurations)
if(size(StringConfiguration%StringConfigurations) > 0) then
deallocate(StringConfiguration%StringConfigurations)
end if
if(count > 0) then
allocate(StringConfigurations(count))
allocate(StringConfiguration%StringConfigurations(count))
!j = count
do i = 1, count
item => array(i)
StringConfigurations(i)%ComponentType = item%ComponentType
StringConfigurations(i)%NumberOfJoint = item%NumberOfJoint
StringConfigurations(i)%LengthPerJoint = item%LengthPerJoint
StringConfigurations(i)%NominalOd = item%NominalOd
StringConfigurations(i)%NominalId = item%NominalId
StringConfigurations(i)%WeightPerLength = item%WeightPerLength
StringConfigurations(i)%ComponentLength = item%ComponentLength
StringConfigurations(i)%NominalToolJointOd = item%NominalToolJointOd
StringConfigurations(i)%Grade = item%Grade
StringConfiguration%StringConfigurations(i)%ComponentType = item%ComponentType
StringConfiguration%StringConfigurations(i)%NumberOfJoint = item%NumberOfJoint
StringConfiguration%StringConfigurations(i)%LengthPerJoint = item%LengthPerJoint
StringConfiguration%StringConfigurations(i)%NominalOd = item%NominalOd
StringConfiguration%StringConfigurations(i)%NominalId = item%NominalId
StringConfiguration%StringConfigurations(i)%WeightPerLength = item%WeightPerLength
StringConfiguration%StringConfigurations(i)%ComponentLength = item%ComponentLength
StringConfiguration%StringConfigurations(i)%NominalToolJointOd = item%NominalToolJointOd
StringConfiguration%StringConfigurations(i)%Grade = item%Grade
!print*, 'type=', StringConfigurations(i)%ComponentType
!print*, 'NumberOfJoint=', StringConfigurations(i)%NumberOfJoint
!print*, '-----------------------------------------------------------'


+ 7
- 6
CSharp/BasicInputs/Bha/CStringConfigurationVariables.f90 View File

@@ -44,11 +44,12 @@ module CStringConfigurationVariables
logical :: FloatValve
end type CBitInfo
integer :: StringConfigurationCount = 0
type(CStringItem), allocatable :: StringConfigurations(:)
type(CBitInfo) :: BitDefinition
Type :: StringConfigurationType
integer :: StringConfigurationCount = 0
type(CStringItem), allocatable :: StringConfigurations(:)
type(CBitInfo) :: BitDefinition
End type StringConfigurationType
Type(StringConfigurationType)::StringConfiguration
contains
end module CStringConfigurationVariables

BIN
View File


+ 42
- 42
CSharp/BasicInputs/CMudProperties.f90 View File

@@ -9,7 +9,7 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveMudType' :: SetActiveMudType
implicit none
integer, intent(in) :: v
ActiveMudType = v
MudProperties%ActiveMudType = v
end subroutine
subroutine SetActiveRheologyModel(v)
@@ -17,9 +17,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveRheologyModel' :: SetActiveRheologyModel
implicit none
integer, intent(in) :: v
ActiveRheologyModel = v
MudProperties%ActiveRheologyModel = v
#ifdef deb
call Log_4( '=====ActiveRheologyModel=', ActiveRheologyModel)
call Log_4( '=====ActiveRheologyModel=', MudProperties%ActiveRheologyModel)
#endif
end subroutine
@@ -28,12 +28,12 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveMudVolume' :: SetActiveMudVolume
implicit none
real*8, intent(in) :: v
ActiveMudVolume = v
MudProperties%ActiveMudVolume = v
!call Log_5('ActiveDensity=', ActiveDensity)
#ifdef deb
print*, 'ActiveMudVolume=', ActiveMudVolume
print*, 'ActiveMudVolume=', MudProperties%ActiveMudVolume
#endif
ActiveMudVolumeGal = v * 42.0
MudProperties%ActiveMudVolumeGal = v * 42.0
call OnActiveMudVolumeChange%RunAll(v * 42.0d0)
end subroutine
@@ -42,10 +42,10 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveDensity' :: SetActiveDensity
implicit none
real*8, intent(in) :: v
ActiveDensity = v
MudProperties%ActiveDensity = v
!call Log_5('ActiveDensity=', ActiveDensity)
#ifdef deb
print*, 'ActiveDensity=', ActiveDensity
print*, 'ActiveDensity=', MudProperties%ActiveDensity
#endif
call OnActiveDensityChange%RunAll(v)
end subroutine
@@ -55,7 +55,7 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveThetaThreeHundred' :: SetActiveThetaThreeHundred
implicit none
real*8, intent(in) :: v
ActiveThetaThreeHundred = v
MudProperties%ActiveThetaThreeHundred = v
end subroutine
subroutine SetActiveThetaSixHundred(v)
@@ -63,7 +63,7 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveThetaSixHundred' :: SetActiveThetaSixHundred
implicit none
real*8, intent(in) :: v
ActiveThetaSixHundred = v
MudProperties%ActiveThetaSixHundred = v
end subroutine
@@ -72,7 +72,7 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReserveMudType' :: SetReserveMudType
implicit none
integer, intent(in) :: v
ReserveMudType = v
MudProperties%ReserveMudType = v
end subroutine
subroutine SetReserveMudVolume(v)
@@ -80,13 +80,13 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReserveMudVolume' :: SetReserveMudVolume
implicit none
real*8, intent(in) :: v
ReserveMudVolume = v
MudProperties%ReserveMudVolume = v
!call Log_5('ReserveMudVolume=', ReserveMudVolume)
#ifdef deb
print*, 'ReserveMudVolume=', ReserveMudVolume
print*, 'ReserveMudVolume=', MudProperties%ReserveMudVolume
#endif

ReserveMudVolumeGal = v * 42.0
MudProperties%ReserveMudVolumeGal = v * 42.0
call OnReserveMudVolumeChange%RunAll(v * 42.0d0)
end subroutine
@@ -95,10 +95,10 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReserveDensity' :: SetReserveDensity
implicit none
real*8, intent(in) :: v
ReserveDensity = v
MudProperties%ReserveDensity = v
!call Log_5('ReserveDensity=', ReserveDensity)
#ifdef deb
print*, 'ReserveDensity=', ReserveDensity
print*, 'ReserveDensity=', MudProperties%ReserveDensity
#endif
call OnReserveDensityChange%RunAll(v)
end subroutine
@@ -108,7 +108,7 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReserveThetaThreeHundred' :: SetReserveThetaThreeHundred
implicit none
real*8, intent(in) :: v
ReserveThetaThreeHundred = v
MudProperties%ReserveThetaThreeHundred = v
end subroutine
subroutine SetReserveThetaSixHundred(v)
@@ -116,7 +116,7 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReserveThetaSixHundred' :: SetReserveThetaSixHundred
implicit none
real*8, intent(in) :: v
ReserveThetaSixHundred = v
MudProperties%ReserveThetaSixHundred = v
end subroutine
@@ -125,10 +125,10 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveTotalTankCapacity' :: SetActiveTotalTankCapacity
implicit none
real*8, intent(in) :: v
ActiveTotalTankCapacity = v
ActiveTotalTankCapacityGal = v * 42.0
MudProperties%ActiveTotalTankCapacity = v
MudProperties%ActiveTotalTankCapacityGal = v * 42.0
#ifdef deb
print*, 'ActiveTotalTankCapacity=', ActiveTotalTankCapacity
print*, 'ActiveTotalTankCapacity=', MudProperties%ActiveTotalTankCapacity
#endif
end subroutine

@@ -137,10 +137,10 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveSettledContents' :: SetActiveSettledContents
implicit none
real*8, intent(in) :: v
ActiveSettledContents = v
ActiveSettledContentsGal = v * 42.0
MudProperties%ActiveSettledContents = v
MudProperties%ActiveSettledContentsGal = v * 42.0
#ifdef deb
print*, 'ActiveSettledContents=', ActiveSettledContents
print*, 'ActiveSettledContents=', MudProperties%ActiveSettledContents
#endif
end subroutine

@@ -149,10 +149,10 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveTotalContents' :: SetActiveTotalContents
implicit none
real*8, intent(in) :: v
ActiveTotalContents = v
ActiveTotalContentsGal = v * 42.0
MudProperties%ActiveTotalContents = v
MudProperties%ActiveTotalContentsGal = v * 42.0
#ifdef deb
print*, 'ActiveTotalContents=', ActiveTotalContents
print*, 'ActiveTotalContents=', MudProperties%ActiveTotalContents
#endif
end subroutine

@@ -161,9 +161,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActivePlasticViscosity' :: SetActivePlasticViscosity
implicit none
real*8, intent(in) :: v
ActivePlasticViscosity = v
MudProperties%ActivePlasticViscosity = v
#ifdef deb
print*, 'ActivePlasticViscosity=', ActivePlasticViscosity
print*, 'ActivePlasticViscosity=', MudProperties%ActivePlasticViscosity
#endif
end subroutine

@@ -172,9 +172,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveYieldPoint' :: SetActiveYieldPoint
implicit none
real*8, intent(in) :: v
ActiveYieldPoint = v
MudProperties%ActiveYieldPoint = v
#ifdef deb
print*, 'ActiveYieldPoint=', ActiveYieldPoint
print*, 'ActiveYieldPoint=', MudProperties%ActiveYieldPoint
#endif
end subroutine

@@ -183,9 +183,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetActiveAutoDensity' :: SetActiveAutoDensity
implicit none
logical, intent(in) :: v
ActiveAutoDensity = v
MudProperties%ActiveAutoDensity = v
#ifdef deb
print*, 'ActiveAutoDensity=', ActiveAutoDensity
print*, 'ActiveAutoDensity=', MudProperties%ActiveAutoDensity
#endif
end subroutine

@@ -194,9 +194,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReservePlasticViscosity' :: SetReservePlasticViscosity
implicit none
real*8, intent(in) :: v
ReservePlasticViscosity = v
MudProperties%ReservePlasticViscosity = v
#ifdef deb
print*, 'ReservePlasticViscosity=', ReservePlasticViscosity
print*, 'ReservePlasticViscosity=', MudProperties%ReservePlasticViscosity
#endif
end subroutine

@@ -205,9 +205,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetReserveYieldPoint' :: SetReserveYieldPoint
implicit none
real*8, intent(in) :: v
ReserveYieldPoint = v
MudProperties%ReserveYieldPoint = v
#ifdef deb
print*, 'ReserveYieldPoint=', ReserveYieldPoint
print*, 'ReserveYieldPoint=', MudProperties%ReserveYieldPoint
#endif
end subroutine

@@ -216,10 +216,10 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetInitialTripTankMudVolume' :: SetInitialTripTankMudVolume
implicit none
real*8, intent(in) :: v
InitialTripTankMudVolume = v
InitialTripTankMudVolumeGal = v * 42.0
MudProperties%InitialTripTankMudVolume = v
MudProperties%InitialTripTankMudVolumeGal = v * 42.0
#ifdef deb
print*, 'InitialTripTankMudVolume=', InitialTripTankMudVolume
print*, 'InitialTripTankMudVolume=', MudProperties%InitialTripTankMudVolume
#endif
end subroutine

@@ -228,9 +228,9 @@ module CMudProperties
!DEC$ ATTRIBUTES ALIAS: 'SetPedalFlowMeter' :: SetPedalFlowMeter
implicit none
real*8, intent(in) :: v
PedalFlowMeter = v
MudProperties%PedalFlowMeter = v
#ifdef deb
print*, 'PedalFlowMeter=', PedalFlowMeter
print*, 'PedalFlowMeter=', MudProperties%PedalFlowMeter
#endif
end subroutine

+ 52
- 49
CSharp/BasicInputs/CMudPropertiesVariables.f90 View File

@@ -24,83 +24,86 @@ module CMudPropertiesVariables
INTEGER, PARAMETER :: Herschel_Bulkley_RheologyModel = 3
! variables
integer :: ActiveMudType
integer :: ActiveRheologyModel
real(8) :: ActiveMudVolume
real(8) :: ActiveMudVolumeGal
real(8) :: ActiveDensity
real(8) :: ActivePlasticViscosity
real(8) :: ActiveYieldPoint
real(8) :: ActiveThetaThreeHundred
real(8) :: ActiveThetaSixHundred
integer :: ReserveMudType
real(8) :: ReserveMudVolume
real(8) :: ReserveMudVolumeGal
real(8) :: ReserveDensity
real(8) :: ReservePlasticViscosity
real(8) :: ReserveYieldPoint
real(8) :: ReserveThetaThreeHundred
real(8) :: ReserveThetaSixHundred
real(8) :: ActiveTotalTankCapacity
real(8) :: ActiveTotalTankCapacityGal
real(8) :: ActiveSettledContents
real(8) :: ActiveSettledContentsGal
real(8) :: ActiveTotalContents
real(8) :: ActiveTotalContentsGal
logical :: ActiveAutoDensity
!real(8) :: ReserveTotalTankCapacity
!real(8) :: ReserveTotalTankCapacityGal
!real(8) :: ReserveSettledContents
!real(8) :: ReserveSettledContentsGal
!real(8) :: ReserveTotalContents
!real(8) :: ReserveTotalContentsGal
real(8) :: InitialTripTankMudVolume
real(8) :: InitialTripTankMudVolumeGal
real(8) :: PedalFlowMeter
Type::MudPropertiesType
integer :: ActiveMudType
integer :: ActiveRheologyModel
real(8) :: ActiveMudVolume
real(8) :: ActiveMudVolumeGal
real(8) :: ActiveDensity
real(8) :: ActivePlasticViscosity
real(8) :: ActiveYieldPoint
real(8) :: ActiveThetaThreeHundred
real(8) :: ActiveThetaSixHundred
integer :: ReserveMudType
real(8) :: ReserveMudVolume
real(8) :: ReserveMudVolumeGal
real(8) :: ReserveDensity
real(8) :: ReservePlasticViscosity
real(8) :: ReserveYieldPoint
real(8) :: ReserveThetaThreeHundred
real(8) :: ReserveThetaSixHundred
real(8) :: ActiveTotalTankCapacity
real(8) :: ActiveTotalTankCapacityGal
real(8) :: ActiveSettledContents
real(8) :: ActiveSettledContentsGal
real(8) :: ActiveTotalContents
real(8) :: ActiveTotalContentsGal
logical :: ActiveAutoDensity
!real(8) :: ReserveTotalTankCapacity
!real(8) :: ReserveTotalTankCapacityGal
!real(8) :: ReserveSettledContents
!real(8) :: ReserveSettledContentsGal
!real(8) :: ReserveTotalContents
!real(8) :: ReserveTotalContentsGal
real(8) :: InitialTripTankMudVolume
real(8) :: InitialTripTankMudVolumeGal
real(8) :: PedalFlowMeter
End type MudPropertiesType
Type(MudPropertiesType)::MudProperties


contains
subroutine Set_ActiveMudVolume_StudentStation(v)
implicit none
real*8, intent(in) :: v
#ifdef ExcludeExtraChanges
if(ActiveMudVolume == v) return
if(MudProperties%ActiveMudVolume == v) return
#endif
ActiveMudVolume = v
if(associated(ActiveMudVolumePtr)) call ActiveMudVolumePtr(ActiveMudVolume)
MudProperties%ActiveMudVolume = v
if(associated(ActiveMudVolumePtr)) call ActiveMudVolumePtr(MudProperties%ActiveMudVolume)
end subroutine
subroutine Set_ActiveDensity_StudentStation(v)
implicit none
real*8, intent(in) :: v
#ifdef ExcludeExtraChanges
if(ActiveDensity == v) return
if(MudProperties%ActiveDensity == v) return
#endif
ActiveDensity = v
if(associated(ActiveDensityPtr)) call ActiveDensityPtr(ActiveDensity)
MudProperties%ActiveDensity = v
if(associated(ActiveDensityPtr)) call ActiveDensityPtr(MudProperties%ActiveDensity)
end subroutine
subroutine Set_ReserveMudVolume_StudentStation(v)
implicit none
real*8, intent(in) :: v
#ifdef ExcludeExtraChanges
if(ReserveMudVolume == v) return
if(MudProperties%ReserveMudVolume == v) return
#endif
ReserveMudVolume = v
if(associated(ReserveMudVolumePtr)) call ReserveMudVolumePtr(ReserveMudVolume)
MudProperties%ReserveMudVolume = v
if(associated(ReserveMudVolumePtr)) call ReserveMudVolumePtr(MudProperties%ReserveMudVolume)
end subroutine
subroutine Set_ReserveDensity_StudentStation(v)
implicit none
real*8, intent(in) :: v
#ifdef ExcludeExtraChanges
if(ReserveDensity == v) return
if(MudProperties%ReserveDensity == v) return
#endif
ReserveDensity = v
if(associated(ReserveDensityPtr)) call ReserveDensityPtr(ReserveDensity)
MudProperties%ReserveDensity = v
if(associated(ReserveDensityPtr)) call ReserveDensityPtr(MudProperties%ReserveDensity)
end subroutine


+ 9
- 9
CSharp/BasicInputs/Geology/CFormation.f90 View File

@@ -12,19 +12,19 @@ module CFormation
type(CFormationItem), intent(inout), target :: array(count)
type(CFormationItem), pointer :: item
FormationCount = count
if(size(Formations) > 0) then
deallocate(Formations)
if(size(Formation%Formations) > 0) then
deallocate(Formation%Formations)
end if
if(count > 0) then
allocate(Formations(count))
allocate(Formation%Formations(count))
do i = 1, count
item => array(i)
Formations(i)%Top = item%Top
Formations(i)%Thickness = item%Thickness
Formations(i)%Drillablity = item%Drillablity
Formations(i)%Abrasiveness = item%Abrasiveness
Formations(i)%ThresholdWeight = item%ThresholdWeight
Formations(i)%PorePressureGradient = item%PorePressureGradient
Formation%Formations(i)%Top = item%Top
Formation%Formations(i)%Thickness = item%Thickness
Formation%Formations(i)%Drillablity = item%Drillablity
Formation%Formations(i)%Abrasiveness = item%Abrasiveness
Formation%Formations(i)%ThresholdWeight = item%ThresholdWeight
Formation%Formations(i)%PorePressureGradient = item%PorePressureGradient
!print*, "==========================="
!print*, "Formations(", i, ")%Top=", Formations(i)%Top
!print*, "Formations(",i,")%Thickness", Formations(i)%Thickness


+ 5
- 4
CSharp/BasicInputs/Geology/CFormationVariables.f90 View File

@@ -12,9 +12,10 @@ module CFormationVariables
real(8) :: ThresholdWeight
real(8) :: PorePressureGradient
end type CFormationItem
integer :: FormationCount = 0
type(CFormationItem), allocatable :: Formations(:)
Type::FormationType
integer :: Formation%Count = 0
type(CFormationItem), allocatable :: Formation%Formations(:)
End type FormationType
Type(FormationType) :: Formation
contains
end module CFormationVariables

+ 15
- 15
CSharp/BasicInputs/Geology/CReservoir.f90 View File

@@ -9,7 +9,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetReservoirFormationNo' :: SetReservoirFormationNo
implicit none
integer, intent(in) :: v
FormationNo = v
Reservoir%FormationNo = v
end subroutine
subroutine SetFormationTop(v)
@@ -17,7 +17,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetFormationTop' :: SetFormationTop
implicit none
real*8, intent(in) :: v
FormationTop = v
Reservoir%FormationTop = v
end subroutine
subroutine SetPressureGradient(v)
@@ -25,7 +25,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetPressureGradient' :: SetPressureGradient
implicit none
real*8, intent(in) :: v
PressureGradient = v
Reservoir%PressureGradient = v
end subroutine
subroutine SetFormationPermeability(v)
@@ -33,7 +33,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetFormationPermeability' :: SetFormationPermeability
implicit none
real*8, intent(in) :: v
FormationPermeability = v
Reservoir%FormationPermeability = v
end subroutine
subroutine SetGeothermalGradient(v)
@@ -41,7 +41,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetGeothermalGradient' :: SetGeothermalGradient
implicit none
real*8, intent(in) :: v
GeothermalGradient = v
Reservoir%GeothermalGradient = v
end subroutine
subroutine SetFluidType(v)
@@ -49,7 +49,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetFluidType' :: SetFluidType
implicit none
integer, intent(in) :: v
FluidType = v
Reservoir%FluidType = v
end subroutine
subroutine SetFluidGradient(v)
@@ -57,7 +57,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetFluidGradient' :: SetFluidGradient
implicit none
real*8, intent(in) :: v
FluidGradient = v
Reservoir%FluidGradient = v
end subroutine
subroutine SetFluidViscosity(v)
@@ -65,7 +65,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetFluidViscosity' :: SetFluidViscosity
implicit none
real*8, intent(in) :: v
FluidViscosity = v
Reservoir%FluidViscosity = v
end subroutine
subroutine SetInactiveInflux(v)
@@ -73,7 +73,7 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetInactiveInflux' :: SetInactiveInflux
implicit none
logical, intent(in) :: v
InactiveInflux = v
Reservoir%InactiveInflux = v
end subroutine
subroutine SetMakeKickSinglePacket(v)
@@ -81,9 +81,9 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetMakeKickSinglePacket' :: SetMakeKickSinglePacket
implicit none
logical, intent(in) :: v
MakeKickSinglePacket = v
Reservoir%MakeKickSinglePacket = v
#ifdef deb
print*, 'MakeKickSinglePacket=', MakeKickSinglePacket
print*, 'MakeKickSinglePacket=', Reservoir%MakeKickSinglePacket
#endif
end subroutine
@@ -92,9 +92,9 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetIsAutoMigrationRateSelected' :: SetIsAutoMigrationRateSelected
implicit none
logical, intent(in) :: v
IsAutoMigrationRateSelected = v
Reservoir%IsAutoMigrationRateSelected = v
#ifdef deb
print*, 'IsAutoMigrationRateSelected=', IsAutoMigrationRateSelected
print*, 'IsAutoMigrationRateSelected=', Reservoir%IsAutoMigrationRateSelected
#endif
end subroutine

@@ -103,9 +103,9 @@ module CReservoir
!DEC$ ATTRIBUTES ALIAS: 'SetAutoMigrationRate' :: SetAutoMigrationRate
implicit none
real*8, intent(in) :: v
AutoMigrationRate = v
Reservoir%AutoMigrationRate = v
#ifdef deb
print*, 'AutoMigrationRate=', AutoMigrationRate
print*, 'AutoMigrationRate=', Reservoir%AutoMigrationRate
#endif
end subroutine


+ 15
- 15
CSharp/BasicInputs/Geology/CReservoirVariables.f90 View File

@@ -6,20 +6,20 @@ module CReservoirVariables
integer :: Oil_FluidType = 1
integer :: Water_FluidType = 2
Type :: ReservoirType
! variables
integer :: FormationNo
real(8) :: FormationTop
real(8) :: PressureGradient
real(8) :: FormationPermeability
real(8) :: GeothermalGradient
integer :: FluidType
real(8) :: FluidGradient
real(8) :: FluidViscosity
logical :: InactiveInflux
logical :: IsAutoMigrationRateSelected
real(8) :: AutoMigrationRate
logical :: MakeKickSinglePacket
contains
integer :: FormationNo
real(8) :: FormationTop
real(8) :: PressureGradient
real(8) :: FormationPermeability
real(8) :: GeothermalGradient
integer :: FluidType
real(8) :: FluidGradient
real(8) :: FluidViscosity
logical :: InactiveInflux
logical :: IsAutoMigrationRateSelected
real(8) :: AutoMigrationRate
logical :: MakeKickSinglePacket
End type ReservoirType
Type(ReservoirType)::Reservoir
end module CReservoirVariables

+ 6
- 6
CSharp/BasicInputs/Geology/CShoe.f90 View File

@@ -9,7 +9,7 @@ module CShoe
!DEC$ ATTRIBUTES ALIAS: 'SetShoeFormationNo' :: SetShoeFormationNo
implicit none
integer, intent(in) :: v
FormationNo = v
Shoe%FormationNo = v
end subroutine
subroutine SetShoeDepth(v)
@@ -17,7 +17,7 @@ module CShoe
!DEC$ ATTRIBUTES ALIAS: 'SetShoeDepth' :: SetShoeDepth
implicit none
real*8, intent(in) :: v
ShoeDepth = v
Shoe%ShoeDepth = v
end subroutine
subroutine SetLeakOff(v)
@@ -25,7 +25,7 @@ module CShoe
!DEC$ ATTRIBUTES ALIAS: 'SetLeakOff' :: SetLeakOff
implicit none
real*8, intent(in) :: v
LeakOff = v
Shoe%LeakOff = v
end subroutine
subroutine SetBreakdown(v)
@@ -33,7 +33,7 @@ module CShoe
!DEC$ ATTRIBUTES ALIAS: 'SetBreakdown' :: SetBreakdown
implicit none
real*8, intent(in) :: v
Breakdown = v
Shoe%Breakdown = v
end subroutine
subroutine SetFracturePropagation(v)
@@ -41,7 +41,7 @@ module CShoe
!DEC$ ATTRIBUTES ALIAS: 'SetFracturePropagation' :: SetFracturePropagation
implicit none
real*8, intent(in) :: v
FracturePropagation = v
Shoe%FracturePropagation = v
end subroutine
subroutine SetInactiveFracture(v)
@@ -49,7 +49,7 @@ module CShoe
!DEC$ ATTRIBUTES ALIAS: 'SetInactiveFracture' :: SetInactiveFracture
implicit none
logical, intent(in) :: v
InactiveFracture = v
Shoe%InactiveFracture = v
end subroutine
end module CShoe

+ 10
- 8
CSharp/BasicInputs/Geology/CShoeVariables.f90 View File

@@ -1,12 +1,14 @@
module CShoeVariables
implicit none
public
public
! variables
integer :: FormationNo
real(8) :: ShoeDepth
real(8) :: LeakOff
real(8) :: Breakdown
real(8) :: FracturePropagation
logical :: InactiveFracture
contains
Type::ShoeType
integer :: FormationNo
real(8) :: ShoeDepth
real(8) :: LeakOff
real(8) :: Breakdown
real(8) :: FracturePropagation
logical :: InactiveFracture
End type Reservoir
Type(ShoeType)::Shoe
end module CShoeVariables

BIN
View File


+ 11
- 11
CSharp/BasicInputs/RigSpecifications/CAccumulator.f90 View File

@@ -9,7 +9,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetNumberOfBottels' :: SetNumberOfBottels
implicit none
integer, intent(in) :: v
NumberOfBottels = v
Accumulator%NumberOfBottels = v
end subroutine
subroutine SetAccumulatorSystemSize(v)
@@ -17,7 +17,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorSystemSize' :: SetAccumulatorSystemSize
implicit none
real*8, intent(in) :: v
AccumulatorSystemSize = v
Accumulator%AccumulatorSystemSize = v
end subroutine
subroutine SetOilTankVolume(v)
@@ -25,7 +25,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetOilTankVolume' :: SetOilTankVolume
implicit none
real*8, intent(in) :: v
OilTankVolume = v
Accumulator%OilTankVolume = v
end subroutine
subroutine SetPrechargePressure(v)
@@ -33,7 +33,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetPrechargePressure' :: SetPrechargePressure
implicit none
real*8, intent(in) :: v
PrechargePressure = v
Accumulator%PrechargePressure = v
end subroutine
subroutine SetAccumulatorMinimumOperatingPressure(v)
@@ -41,7 +41,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorMinimumOperatingPressure' :: SetAccumulatorMinimumOperatingPressure
implicit none
real*8, intent(in) :: v
AccumulatorMinimumOperatingPressure = v
Accumulator%AccumulatorMinimumOperatingPressure = v
end subroutine
subroutine SetElectricPumpOutput(v)
@@ -49,7 +49,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetElectricPumpOutput' :: SetElectricPumpOutput
implicit none
real*8, intent(in) :: v
ElectricPumpOutput = v
Accumulator%ElectricPumpOutput = v
end subroutine
subroutine SetStartPressure(v)
@@ -57,7 +57,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetStartPressure' :: SetStartPressure
implicit none
real*8, intent(in) :: v
StartPressure = v
Accumulator%StartPressure = v
end subroutine
subroutine SetStopPressure(v)
@@ -65,7 +65,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetStopPressure' :: SetStopPressure
implicit none
real*8, intent(in) :: v
StopPressure = v
Accumulator%StopPressure = v
end subroutine
subroutine SetAirPlungerPumpOutput(v)
@@ -73,7 +73,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetAirPlungerPumpOutput' :: SetAirPlungerPumpOutput
implicit none
real*8, intent(in) :: v
AirPlungerPumpOutput = v
Accumulator%AirPlungerPumpOutput = v
end subroutine
subroutine SetStartPressure2(v)
@@ -81,7 +81,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetStartPressure2' :: SetStartPressure2
implicit none
real*8, intent(in) :: v
StartPressure2 = v
Accumulator%StartPressure2 = v
end subroutine
subroutine SetStopPressure2(v)
@@ -89,7 +89,7 @@ module CAccumulator
!DEC$ ATTRIBUTES ALIAS: 'SetStopPressure2' :: SetStopPressure2
implicit none
real*8, intent(in) :: v
StopPressure2 = v
Accumulator%StopPressure2 = v
end subroutine
end module CAccumulator

+ 14
- 14
CSharp/BasicInputs/RigSpecifications/CAccumulatorVariables.f90 View File

@@ -1,18 +1,18 @@
module CAccumulatorVariables
implicit none
public
integer :: NumberOfBottels
real(8) :: AccumulatorSystemSize
real(8) :: OilTankVolume
real(8) :: PrechargePressure
real(8) :: AccumulatorMinimumOperatingPressure
real(8) :: ElectricPumpOutput
real(8) :: StartPressure
real(8) :: StopPressure
real(8) :: AirPlungerPumpOutput
real(8) :: StartPressure2
real(8) :: StopPressure2
contains
Type:: AccumulatorType
integer :: NumberOfBottels
real(8) :: AccumulatorSystemSize
real(8) :: OilTankVolume
real(8) :: PrechargePressure
real(8) :: AccumulatorMinimumOperatingPressure
real(8) :: ElectricPumpOutput
real(8) :: StartPressure
real(8) :: StopPressure
real(8) :: AirPlungerPumpOutput
real(8) :: StartPressure2
real(8) :: StopPressure2
End Type AccumulatorType
Type(AccumulatorType)::Accumulator
end module CAccumulatorVariables

+ 14
- 14
CSharp/BasicInputs/RigSpecifications/CBopStack.f90 View File

@@ -91,7 +91,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetLowerRamOpen' :: SetLowerRamOpen
implicit none
real*8, intent(in) :: v
LowerRamOpen = v
BopStackSpecification%LowerRamOpen = v
end subroutine
subroutine SetLowerRamClose(v)
@@ -99,7 +99,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetLowerRamClose' :: SetLowerRamClose
implicit none
real*8, intent(in) :: v
LowerRamClose = v
BopStackSpecification%LowerRamClose = v
end subroutine
subroutine SetChokeOpen(v)
@@ -107,7 +107,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetChokeOpen' :: SetChokeOpen
implicit none
real*8, intent(in) :: v
ChokeOpen = v
BopStackSpecification%ChokeOpen = v
end subroutine
subroutine SetChokeClose(v)
@@ -115,7 +115,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetChokeClose' :: SetChokeClose
implicit none
real*8, intent(in) :: v
ChokeClose = v
BopStackSpecification%ChokeClose = v
end subroutine
subroutine SetBlindRamOpen(v)
@@ -123,7 +123,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetBlindRamOpen' :: SetBlindRamOpen
implicit none
real*8, intent(in) :: v
BlindRamOpen = v
BopStackSpecification%BlindRamOpen = v
end subroutine
subroutine SetBlindRamClose(v)
@@ -131,7 +131,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetBlindRamClose' :: SetBlindRamClose
implicit none
real*8, intent(in) :: v
BlindRamClose = v
BopStackSpecification%BlindRamClose = v
end subroutine
subroutine SetUpperRamOpen(v)
@@ -139,7 +139,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetUpperRamOpen' :: SetUpperRamOpen
implicit none
real*8, intent(in) :: v
UpperRamOpen = v
BopStackSpecification%UpperRamOpen = v
end subroutine
subroutine SetUpperRamClose(v)
@@ -147,7 +147,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetUpperRamClose' :: SetUpperRamClose
implicit none
real*8, intent(in) :: v
UpperRamClose = v
BopStackSpecification%UpperRamClose = v
end subroutine
subroutine SetAnnularPreventerOpen(v)
@@ -155,7 +155,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetAnnularPreventerOpen' :: SetAnnularPreventerOpen
implicit none
real*8, intent(in) :: v
AnnularPreventerOpen = v
BopStackSpecification%AnnularPreventerOpen = v
end subroutine
subroutine SetAnnularPreventerClose(v)
@@ -163,7 +163,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetAnnularPreventerClose' :: SetAnnularPreventerClose
implicit none
real*8, intent(in) :: v
AnnularPreventerClose = v
BopStackSpecification%AnnularPreventerClose = v
end subroutine
subroutine SetRamStringDrag(v)
@@ -171,7 +171,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetRamStringDrag' :: SetRamStringDrag
implicit none
real*8, intent(in) :: v
RamStringDrag = v
BopStackSpecification%RamStringDrag = v
end subroutine
subroutine SetAnnularStringDrag(v)
@@ -179,7 +179,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetAnnularStringDrag' :: SetAnnularStringDrag
implicit none
real*8, intent(in) :: v
AnnularStringDrag = v
BopStackSpecification%AnnularStringDrag = v
end subroutine
subroutine SetChokeLineLength(v)
@@ -187,7 +187,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetChokeLineLength' :: SetChokeLineLength
implicit none
real*8, intent(in) :: v
ChokeLineLength = v
BopStackSpecification%ChokeLineLength = v
end subroutine
subroutine SetChokeLineId(v)
@@ -195,7 +195,7 @@ module CBopStack
!DEC$ ATTRIBUTES ALIAS: 'SetChokeLineId' :: SetChokeLineId
implicit none
real*8, intent(in) :: v
ChokeLineId = v
BopStackSpecification%ChokeLineId = v
end subroutine
end module CBopStack

+ 27
- 27
CSharp/BasicInputs/RigSpecifications/CBopStackVariables.f90 View File

@@ -1,31 +1,31 @@
module CBopStackVariables
implicit none
public
real(8) :: AboveAnnularHeight = 10.0d0
real(8) :: AnnularPreventerHeight = 10.2d0
real(8) :: UpperRamHeight = 14.632d0
real(8) :: LowerRamHeight = 21.35d0
real(8) :: BlindRamHeight = 16.24d0
real(8) :: KillHeight = 18.8d0
real(8) :: KillOpen = 1.5d0
real(8) :: KillClose = 1.5d0
real(8) :: GroundLevel = 30.0d0
real(8) :: LowerRamOpen
real(8) :: LowerRamClose
real(8) :: ChokeOpen
real(8) :: ChokeClose
real(8) :: BlindRamOpen
real(8) :: BlindRamClose
real(8) :: UpperRamOpen
real(8) :: UpperRamClose
real(8) :: AnnularPreventerOpen
real(8) :: AnnularPreventerClose
real(8) :: RamStringDrag
real(8) :: AnnularStringDrag
real(8) :: ChokeLineLength
real(8) :: ChokeLineId
contains
Type::BopStackSpecificationType
real(8) :: AboveAnnularHeight = 10.0d0
real(8) :: AnnularPreventerHeight = 10.2d0
real(8) :: UpperRamHeight = 14.632d0
real(8) :: LowerRamHeight = 21.35d0
real(8) :: BlindRamHeight = 16.24d0
real(8) :: KillHeight = 18.8d0
real(8) :: KillOpen = 1.5d0
real(8) :: KillClose = 1.5d0
real(8) :: GroundLevel = 30.0d0
real(8) :: LowerRamOpen
real(8) :: LowerRamClose
real(8) :: ChokeOpen
real(8) :: ChokeClose
real(8) :: BlindRamOpen
real(8) :: BlindRamClose
real(8) :: UpperRamOpen
real(8) :: UpperRamClose
real(8) :: AnnularPreventerOpen
real(8) :: AnnularPreventerClose
real(8) :: RamStringDrag
real(8) :: AnnularStringDrag
real(8) :: ChokeLineLength
real(8) :: ChokeLineId
End Type BopStackType
Type(BopStackSpecificationType)::BopStackSpecification
end module CBopStackVariables

+ 8
- 8
CSharp/BasicInputs/RigSpecifications/CHoisting.f90 View File

@@ -10,9 +10,9 @@ module CHoisting
use CIrSafetyValveLedNotificationVariables, only: Set_IrSafetyValveLed
implicit none
integer, intent(in) :: v
DriveType = v
Hoisting%DriveType = v
#ifdef deb
print*, 'DriveType=', DriveType
print*, 'DriveType=', Hoisting%DriveType
#endif
if(v == TopDrive_DriveType) then ! top drive mode
call RemoveKellyCock()
@@ -36,7 +36,7 @@ module CHoisting
!DEC$ ATTRIBUTES ALIAS: 'SetTravelingBlockWeight' :: SetTravelingBlockWeight
implicit none
real*8, intent(in) :: v
TravelingBlockWeight = v
Hoisting%TravelingBlockWeight = v
end subroutine
subroutine SetTopDriveWeight(v)
@@ -44,7 +44,7 @@ module CHoisting
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveWeight' :: SetTopDriveWeight
implicit none
real*8, intent(in) :: v
TopDriveWeight = v
Hoisting%TopDriveWeight = v
end subroutine
subroutine SetKellyWeight(v)
@@ -52,7 +52,7 @@ module CHoisting
!DEC$ ATTRIBUTES ALIAS: 'SetKellyWeight' :: SetKellyWeight
implicit none
real*8, intent(in) :: v
KellyWeight = v
Hoisting%KellyWeight = v
end subroutine
subroutine SetNumberOfLine(v)
@@ -60,9 +60,9 @@ module CHoisting
!DEC$ ATTRIBUTES ALIAS: 'SetNumberOfLine' :: SetNumberOfLine
implicit none
integer, intent(in) :: v
NumberOfLine = v
Hoisting%NumberOfLine = v
#ifdef deb
print*, 'NumberOfLine=', NumberOfLine
print*, 'NumberOfLine=', Hoisting%NumberOfLine
#endif
end subroutine
@@ -71,6 +71,6 @@ module CHoisting
!DEC$ ATTRIBUTES ALIAS: 'SetDrillingLineBreakingLoad' :: SetDrillingLineBreakingLoad
implicit none
real*8, intent(in) :: v
DrillingLineBreakingLoad = v
Hoisting%DrillingLineBreakingLoad = v
end subroutine
end module CHoisting

+ 10
- 7
CSharp/BasicInputs/RigSpecifications/CHoistingVariables.f90 View File

@@ -5,12 +5,15 @@ module CHoistingVariables
integer :: TopDrive_DriveType = 0
integer :: Kelly_DriveType = 1

! variables
integer :: DriveType
real(8) :: TravelingBlockWeight
real(8) :: TopDriveWeight
real(8) :: KellyWeight
integer :: NumberOfLine
real(8) :: DrillingLineBreakingLoad
contains
Type::HoistingType
integer :: DriveType
real(8) :: TravelingBlockWeight
real(8) :: TopDriveWeight
real(8) :: KellyWeight
integer :: NumberOfLine
real(8) :: DrillingLineBreakingLoad
End type HoistingType
Type(HoistingType)::Hoisting
end module CHoistingVariables

+ 8
- 8
CSharp/BasicInputs/RigSpecifications/CPower.f90 View File

@@ -9,7 +9,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetNumberOfgenerators' :: SetNumberOfgenerators
implicit none
integer, intent(in) :: v
NumberOfgenerators = v
Power%NumberOfgenerators = v
end subroutine
subroutine SetGeneratorPowerRating(v)
@@ -17,7 +17,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetGeneratorPowerRating' :: SetGeneratorPowerRating
implicit none
real*8, intent(in) :: v
GeneratorPowerRating = v
Power%GeneratorPowerRating = v
end subroutine
subroutine SetMudPump1(v)
@@ -25,7 +25,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1' :: SetMudPump1
implicit none
real*8, intent(in) :: v
MudPump1 = v
Power%MudPump1 = v
end subroutine
subroutine SetMudPump2(v)
@@ -33,7 +33,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2' :: SetMudPump2
implicit none
real*8, intent(in) :: v
MudPump2 = v
Power%MudPump2 = v
end subroutine
subroutine SetCementPump(v)
@@ -41,7 +41,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetCementPump' :: SetCementPump
implicit none
real*8, intent(in) :: v
CementPump = v
Power%CementPump = v
end subroutine
subroutine SetRotaryTable(v)
@@ -49,7 +49,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetRotaryTable' :: SetRotaryTable
implicit none
real*8, intent(in) :: v
RotaryTable = v
Power%RotaryTable = v
end subroutine
subroutine SetDrawworks(v)
@@ -57,7 +57,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetDrawworks' :: SetDrawworks
implicit none
real*8, intent(in) :: v
Drawworks = v
Power%Drawworks = v
end subroutine
subroutine SetTopDrive(v)
@@ -65,7 +65,7 @@ module CPower
!DEC$ ATTRIBUTES ALIAS: 'SetTopDrive' :: SetTopDrive
implicit none
real*8, intent(in) :: v
TopDrive = v
Power%TopDrive = v
end subroutine
end module CPower

+ 11
- 9
CSharp/BasicInputs/RigSpecifications/CPowerVariables.f90 View File

@@ -2,13 +2,15 @@ module CPowerVariables
implicit none
public
! variables
integer :: NumberOfgenerators
real(8) :: GeneratorPowerRating
real(8) :: MudPump1
real(8) :: MudPump2
real(8) :: CementPump
real(8) :: RotaryTable
real(8) :: Drawworks
real(8) :: TopDrive
contains
Type::PowerType
integer :: NumberOfgenerators
real(8) :: GeneratorPowerRating
real(8) :: MudPump1
real(8) :: MudPump2
real(8) :: CementPump
real(8) :: RotaryTable
real(8) :: Drawworks
real(8) :: TopDrive
End type PowerType
Type(PowerType)::Power
end module CPowerVariables

+ 59
- 59
CSharp/BasicInputs/RigSpecifications/CPumps.f90 View File

@@ -10,10 +10,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1LinerDiameter' :: SetMudPump1LinerDiameter
implicit none
real*8, intent(in) :: v
MudPump1LinerDiameter = v
PumpsSpecification%MudPump1LinerDiameter = v
call CalcPump1OutputBblStroke()
#ifdef deb
call Log_4( 'MudPump1LinerDiameter=', MudPump1LinerDiameter)
call Log_4( 'MudPump1LinerDiameter=', PumpsSpecification%MudPump1LinerDiameter)
#endif
end subroutine
@@ -22,7 +22,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1Stroke' :: SetMudPump1Stroke
implicit none
real*8, intent(in) :: v
MudPump1Stroke = v
PumpsSpecification%MudPump1Stroke = v
!call CalcMudPump1LinerDiameter()
call CalcPump1OutputBblStroke()
#ifdef deb
@@ -35,7 +35,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1MechanicalEfficiency' :: SetMudPump1MechanicalEfficiency
implicit none
real*8, intent(in) :: v
MudPump1MechanicalEfficiency = v
PumpsSpecification%MudPump1MechanicalEfficiency = v
end subroutine
subroutine SetMudPump1VolumetricEfficiency(v)
@@ -43,11 +43,11 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1VolumetricEfficiency' :: SetMudPump1VolumetricEfficiency
implicit none
real*8, intent(in) :: v
MudPump1VolumetricEfficiency = v
PumpsSpecification%MudPump1VolumetricEfficiency = v
!call CalcMudPump1LinerDiameter()
call CalcPump1OutputBblStroke()
#ifdef deb
call Log_4( 'MudPump1VolumetricEfficiency=', MudPump1VolumetricEfficiency)
call Log_4( 'MudPump1VolumetricEfficiency=', PumpsSpecification%MudPump1VolumetricEfficiency)
#endif
end subroutine
@@ -56,9 +56,9 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1Output' :: SetMudPump1Output
implicit none
real*8, intent(in) :: v
MudPump1Output = v
PumpsSpecification%MudPump1Output = v
#ifdef deb
print*, 'MudPump1Output=', MudPump1Output
print*, 'MudPump1Output=', PumpsSpecification%MudPump1Output
#endif
end subroutine
@@ -67,10 +67,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1OutputBblStroke' :: SetMudPump1OutputBblStroke
implicit none
real*8, intent(in) :: v
MudPump1OutputBblStroke = v
PumpsSpecification%MudPump1OutputBblStroke = v
call CalcMudPump1LinerDiameter()
#ifdef deb
print*, 'MudPump1OutputBblStroke=', MudPump1OutputBblStroke
print*, 'MudPump1OutputBblStroke=', PumpsSpecification%MudPump1OutputBblStroke
#endif
end subroutine
@@ -79,7 +79,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1Maximum' :: SetMudPump1Maximum
implicit none
real*8, intent(in) :: v
MudPump1Maximum = v
PumpsSpecification%MudPump1Maximum = v
end subroutine
subroutine SetMudPump1ReliefValvePressure(v)
@@ -87,7 +87,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1ReliefValvePressure' :: SetMudPump1ReliefValvePressure
implicit none
real*8, intent(in) :: v
MudPump1ReliefValvePressure = v
PumpsSpecification%MudPump1ReliefValvePressure = v
end subroutine
@@ -97,10 +97,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2LinerDiameter' :: SetMudPump2LinerDiameter
implicit none
real*8, intent(in) :: v
MudPump2LinerDiameter = v
PumpsSpecification%MudPump2LinerDiameter = v
call CalcPump2OutputBblStroke()
#ifdef deb
call Log_4( 'MudPump2LinerDiameter=', MudPump2LinerDiameter)
call Log_4( 'MudPump2LinerDiameter=', PumpsSpecification%MudPump2LinerDiameter)
#endif
end subroutine
@@ -109,11 +109,11 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2Stroke' :: SetMudPump2Stroke
implicit none
real*8, intent(in) :: v
MudPump2Stroke = v
PumpsSpecification%MudPump2Stroke = v
!call CalcMudPump2LinerDiameter()
call CalcPump2OutputBblStroke()
#ifdef deb
call Log_4( 'MudPump2Stroke=', MudPump2Stroke)
call Log_4( 'MudPump2Stroke=', PumpsSpecification%MudPump2Stroke)
#endif
end subroutine
@@ -122,7 +122,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2MechanicalEfficiency' :: SetMudPump2MechanicalEfficiency
implicit none
real*8, intent(in) :: v
MudPump2MechanicalEfficiency = v
PumpsSpecification%MudPump2MechanicalEfficiency = v
end subroutine
subroutine SetMudPump2VolumetricEfficiency(v)
@@ -130,11 +130,11 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2VolumetricEfficiency' :: SetMudPump2VolumetricEfficiency
implicit none
real*8, intent(in) :: v
MudPump2VolumetricEfficiency = v
PumpsSpecification%MudPump2VolumetricEfficiency = v
!call CalcMudPump2LinerDiameter()
call CalcPump2OutputBblStroke()
#ifdef deb
call Log_4( 'MudPump2VolumetricEfficiency=', MudPump2VolumetricEfficiency)
call Log_4( 'MudPump2VolumetricEfficiency=', PumpsSpecification%MudPump2VolumetricEfficiency)
#endif
end subroutine
@@ -143,9 +143,9 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2Output' :: SetMudPump2Output
implicit none
real*8, intent(in) :: v
MudPump2Output = v
PumpsSpecification%MudPump2Output = v
#ifdef deb
print*, 'MudPump2Output=', MudPump2Output
print*, 'MudPump2Output=', PumpsSpecification%MudPump2Output
#endif
end subroutine
@@ -154,10 +154,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2OutputBblStroke' :: SetMudPump2OutputBblStroke
implicit none
real*8, intent(in) :: v
MudPump2OutputBblStroke = v
PumpsSpecification%MudPump2OutputBblStroke = v
call CalcMudPump2LinerDiameter()
#ifdef deb
print*, 'MudPump2OutputBblStroke=', MudPump2OutputBblStroke
print*, 'MudPump2OutputBblStroke=', PumpsSpecification%MudPump2OutputBblStroke
#endif
end subroutine
@@ -166,7 +166,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2Maximum' :: SetMudPump2Maximum
implicit none
real*8, intent(in) :: v
MudPump2Maximum = v
PumpsSpecification%MudPump2Maximum = v
end subroutine
subroutine SetMudPump2ReliefValvePressure(v)
@@ -174,7 +174,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2ReliefValvePressure' :: SetMudPump2ReliefValvePressure
implicit none
real*8, intent(in) :: v
MudPump2ReliefValvePressure = v
PumpsSpecification%MudPump2ReliefValvePressure = v
end subroutine
@@ -184,10 +184,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpLinerDiameter' :: SetCementPumpLinerDiameter
implicit none
real*8, intent(in) :: v
CementPumpLinerDiameter = v
PumpsSpecification%CementPumpLinerDiameter = v
call CalcPump3OutputBblStroke()
#ifdef deb
call Log_4( 'CementPumpLinerDiameter=', CementPumpLinerDiameter)
call Log_4( 'CementPumpLinerDiameter=', PumpsSpecification%CementPumpLinerDiameter)
#endif
end subroutine

@@ -196,11 +196,11 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpStroke' :: SetCementPumpStroke
implicit none
real*8, intent(in) :: v
CementPumpStroke = v
PumpsSpecification%CementPumpStroke = v
!call CalcMudPump3LinerDiameter()
call CalcPump3OutputBblStroke()
#ifdef deb
call Log_4( 'CementPumpStroke=', CementPumpStroke)
call Log_4( 'CementPumpStroke=', PumpsSpecification%CementPumpStroke)
#endif
end subroutine
@@ -209,7 +209,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpMechanicalEfficiency' :: SetCementPumpMechanicalEfficiency
implicit none
real*8, intent(in) :: v
CementPumpMechanicalEfficiency = v
PumpsSpecification%CementPumpMechanicalEfficiency = v
end subroutine
subroutine SetCementPumpVolumetricEfficiency(v)
@@ -217,11 +217,11 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpVolumetricEfficiency' :: SetCementPumpVolumetricEfficiency
implicit none
real*8, intent(in) :: v
CementPumpVolumetricEfficiency = v
PumpsSpecification%CementPumpVolumetricEfficiency = v
!call CalcMudPump3LinerDiameter()
call CalcPump3OutputBblStroke()
#ifdef deb
call Log_4( 'CementPumpVolumetricEfficiency=', CementPumpVolumetricEfficiency)
call Log_4( 'CementPumpVolumetricEfficiency=', PumpsSpecification%CementPumpVolumetricEfficiency)
#endif
end subroutine
@@ -230,9 +230,9 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpOutput' :: SetCementPumpOutput
implicit none
real*8, intent(in) :: v
CementPumpOutput = v
PumpsSpecification%CementPumpOutput = v
#ifdef deb
print*, 'CementPumpOutput=', CementPumpOutput
print*, 'CementPumpOutput=', PumpsSpecification%CementPumpOutput
#endif
end subroutine
@@ -241,10 +241,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpOutputBblStroke' :: SetCementPumpOutputBblStroke
implicit none
real*8, intent(in) :: v
CementPumpOutputBblStroke = v
PumpsSpecification%CementPumpOutputBblStroke = v
call CalcMudPump3LinerDiameter()
#ifdef deb
print*, 'CementPumpOutputBblStroke=', CementPumpOutputBblStroke
print*, 'CementPumpOutputBblStroke=', PumpsSpecification%CementPumpOutputBblStroke
#endif
end subroutine
@@ -253,7 +253,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpMaximum' :: SetCementPumpMaximum
implicit none
real*8, intent(in) :: v
CementPumpMaximum = v
PumpsSpecification%CementPumpMaximum = v
end subroutine
subroutine SetCementPumpReliefValvePressure(v)
@@ -261,7 +261,7 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpReliefValvePressure' :: SetCementPumpReliefValvePressure
implicit none
real*8, intent(in) :: v
CementPumpReliefValvePressure = v
PumpsSpecification%CementPumpReliefValvePressure = v
end subroutine
subroutine SetMudPump1ReliefValveIsSet(v)
@@ -269,10 +269,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump1ReliefValveIsSet' :: SetMudPump1ReliefValveIsSet
implicit none
logical, intent(in) :: v
if (MudPump1ReliefValveIsSet == v) return
MudPump1ReliefValveIsSet = v
if (PumpsSpecification%MudPump1ReliefValveIsSet == v) return
PumpsSpecification%MudPump1ReliefValveIsSet = v
#ifdef deb
print*, 'MudPump1ReliefValveIsSet=', MudPump1ReliefValveIsSet
print*, 'MudPump1ReliefValveIsSet=', PumpsSpecification%MudPump1ReliefValveIsSet
#endif
end subroutine

@@ -281,10 +281,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetMudPump2ReliefValveIsSet' :: SetMudPump2ReliefValveIsSet
implicit none
logical, intent(in) :: v
if (MudPump2ReliefValveIsSet == v) return
MudPump2ReliefValveIsSet = v
if (PumpsSpecification%MudPump2ReliefValveIsSet == v) return
PumpsSpecification%MudPump2ReliefValveIsSet = v
#ifdef deb
print*, 'MudPump2ReliefValveIsSet=', MudPump2ReliefValveIsSet
print*, 'MudPump2ReliefValveIsSet=', PumpsSpecification%MudPump2ReliefValveIsSet
#endif
end subroutine

@@ -293,10 +293,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetCementPumpReliefValveIsSet' :: SetCementPumpReliefValveIsSet
implicit none
logical, intent(in) :: v
if (CementPumpReliefValveIsSet == v) return
CementPumpReliefValveIsSet = v
if (PumpsSpecification%CementPumpReliefValveIsSet == v) return
PumpsSpecification%CementPumpReliefValveIsSet = v
#ifdef deb
print*, 'CementPumpReliefValveIsSet=', CementPumpReliefValveIsSet
print*, 'CementPumpReliefValveIsSet=', PumpsSpecification%CementPumpReliefValveIsSet
#endif
end subroutine
@@ -310,10 +310,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetManualPumpPower' :: SetManualPumpPower
implicit none
logical, intent(in) :: v
ManualPumpPower = v
PumpsSpecification%ManualPumpPower = v
call ChangeValve(23, v)
#ifdef deb
print*, 'ManualPumpPower=', ManualPumpPower
print*, 'ManualPumpPower=', PumpsSpecification%ManualPumpPower
#endif
end subroutine

@@ -322,10 +322,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetValve1' :: SetValve1
implicit none
logical, intent(in) :: v
Valve1 = v
PumpsSpecification%Valve1 = v
call ChangeValve(22, v)
#ifdef deb
print*, 'Valve1=', Valve1
print*, 'Valve1=', PumpsSpecification%Valve1
#endif
end subroutine

@@ -334,10 +334,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetValve2' :: SetValve2
implicit none
logical, intent(in) :: v
Valve2 = v
PumpsSpecification%Valve2 = v
call ChangeValve(19, v)
#ifdef deb
print*, 'Valve2=', Valve2
print*, 'Valve2=', PumpsSpecification%Valve2
#endif
end subroutine

@@ -346,10 +346,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetValve3' :: SetValve3
implicit none
logical, intent(in) :: v
Valve3 = v
PumpsSpecification%Valve3 = v
call ChangeValve(21, v)
#ifdef deb
print*, 'Valve3=', Valve3
print*, 'Valve3=', PumpsSpecification%Valve3
#endif
end subroutine

@@ -358,10 +358,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetValve4' :: SetValve4
implicit none
logical, intent(in) :: v
Valve4 = v
PumpsSpecification%Valve4 = v
call ChangeValve(20, v)
#ifdef deb
print*, 'Valve4=', Valve4
print*, 'Valve4=', PumpsSpecification%Valve4
#endif
end subroutine

@@ -370,10 +370,10 @@ module CPumps
!DEC$ ATTRIBUTES ALIAS: 'SetValve5' :: SetValve5
implicit none
logical, intent(in) :: v
Valve5 = v
PumpsSpecification%Valve5 = v
call ChangeValve(24, v)
#ifdef deb
print*, 'Valve5=', Valve5
print*, 'Valve5=', PumpsSpecification%Valve5
#endif
end subroutine


+ 61
- 58
CSharp/BasicInputs/RigSpecifications/CPumpsVariables.f90 View File

@@ -5,43 +5,46 @@ module CPumpsVariables
! Pumps Specifications
real(8) :: MudPump1LinerDiameter
real(8) :: MudPump1Stroke
real(8) :: MudPump1MechanicalEfficiency
real(8) :: MudPump1VolumetricEfficiency
real(8) :: MudPump1Output
real(8) :: MudPump1OutputBblStroke
real(8) :: MudPump1Maximum
real(8) :: MudPump1ReliefValvePressure
real(8) :: MudPump2LinerDiameter
real(8) :: MudPump2Stroke
real(8) :: MudPump2MechanicalEfficiency
real(8) :: MudPump2VolumetricEfficiency
real(8) :: MudPump2Output
real(8) :: MudPump2OutputBblStroke
real(8) :: MudPump2Maximum
real(8) :: MudPump2ReliefValvePressure
real(8) :: CementPumpLinerDiameter
real(8) :: CementPumpStroke
real(8) :: CementPumpMechanicalEfficiency
real(8) :: CementPumpVolumetricEfficiency
real(8) :: CementPumpOutput
real(8) :: CementPumpOutputBblStroke
real(8) :: CementPumpMaximum
real(8) :: CementPumpReliefValvePressure
logical :: MudPump1ReliefValveIsSet
logical :: MudPump2ReliefValveIsSet
logical :: CementPumpReliefValveIsSet
logical :: ManualPumpPower
logical :: Valve1
logical :: Valve2
logical :: Valve3
logical :: Valve4
logical :: Valve5
Type::PumpSpecificationType
real(8) :: MudPump1LinerDiameter
real(8) :: MudPump1Stroke
real(8) :: MudPump1MechanicalEfficiency
real(8) :: MudPump1VolumetricEfficiency
real(8) :: MudPump1Output
real(8) :: MudPump1OutputBblStroke
real(8) :: MudPump1Maximum
real(8) :: MudPump1ReliefValvePressure
real(8) :: MudPump2LinerDiameter
real(8) :: MudPump2Stroke
real(8) :: MudPump2MechanicalEfficiency
real(8) :: MudPump2VolumetricEfficiency
real(8) :: MudPump2Output
real(8) :: MudPump2OutputBblStroke
real(8) :: MudPump2Maximum
real(8) :: MudPump2ReliefValvePressure
real(8) :: CementPumpLinerDiameter
real(8) :: CementPumpStroke
real(8) :: CementPumpMechanicalEfficiency
real(8) :: CementPumpVolumetricEfficiency
real(8) :: CementPumpOutput
real(8) :: CementPumpOutputBblStroke
real(8) :: CementPumpMaximum
real(8) :: CementPumpReliefValvePressure
logical :: MudPump1ReliefValveIsSet
logical :: MudPump2ReliefValveIsSet
logical :: CementPumpReliefValveIsSet
logical :: ManualPumpPower
logical :: Valve1
logical :: Valve2
logical :: Valve3
logical :: Valve4
logical :: Valve5
End type PumpSpecificationType
Type(PumpSpecificationType)::PumpsSpecification
procedure (ActionDouble), pointer :: MudPump1LinerDiameterPtr
procedure (ActionDouble), pointer :: MudPump2LinerDiameterPtr
@@ -199,62 +202,62 @@ module CPumpsVariables
use, intrinsic :: IEEE_ARITHMETIC
implicit none
real(8) :: a
a = (MathPI / 4.d0) * MudPump1Stroke * 3.0d0 * MudPump1VolumetricEfficiency / 9702.03d0
a = dsqrt(MudPump1OutputBblStroke / a)
a = (MathPI / 4.d0) * PumpsSpecification%MudPump1Stroke * 3.0d0 * PumpsSpecification%MudPump1VolumetricEfficiency / 9702.03d0
a = dsqrt(PumpsSpecification%MudPump1OutputBblStroke / a)
if (.not.IEEE_IS_FINITE(a) .or. IEEE_IS_NAN(a)) then
MudPump1LinerDiameter = 0.0
PumpsSpecification%MudPump1LinerDiameter = 0.0
else
MudPump1LinerDiameter = a
PumpsSpecification%MudPump1LinerDiameter = a
endif
call SetMudPump1LinerDiameterN(MudPump1LinerDiameter)
call SetMudPump1LinerDiameterN(PumpsSpecification%MudPump1LinerDiameter)
end subroutine
subroutine CalcMudPump2LinerDiameter()
use, intrinsic :: IEEE_ARITHMETIC
implicit none
real(8) :: a
a = (MathPI / 4.d0) * MudPump2Stroke * 3.0d0 * MudPump2VolumetricEfficiency / 9702.03d0
a = dsqrt(MudPump2OutputBblStroke / a)
a = (MathPI / 4.d0) * PumpsSpecification%MudPump2Stroke * 3.0d0 * PumpsSpecification%MudPump2VolumetricEfficiency / 9702.03d0
a = dsqrt(PumpsSpecification%MudPump2OutputBblStroke / a)
if (.not.IEEE_IS_FINITE(a) .or. IEEE_IS_NAN(a)) then
MudPump2LinerDiameter = 0.0
PumpsSpecification%MudPump2LinerDiameter = 0.0
else
MudPump2LinerDiameter = a
PumpsSpecification%MudPump2LinerDiameter = a
endif
call SetMudPump2LinerDiameterN(MudPump2LinerDiameter)
call SetMudPump2LinerDiameterN(PumpsSpecification%MudPump2LinerDiameter)
end subroutine
subroutine CalcMudPump3LinerDiameter()
use, intrinsic :: IEEE_ARITHMETIC
implicit none
real(8) :: a
a = (MathPI / 4.d0) * CementPumpStroke * 3.0d0 * CementPumpVolumetricEfficiency / 9702.03d0
a = dsqrt(CementPumpOutputBblStroke / a)
a = (MathPI / 4.d0) * PumpsSpecification%CementPumpStroke * 3.0d0 * PumpsSpecification%CementPumpVolumetricEfficiency / 9702.03d0
a = dsqrt(PumpsSpecification%CementPumpOutputBblStroke / a)
if (.not.IEEE_IS_FINITE(a) .or. IEEE_IS_NAN(a)) then
CementPumpLinerDiameter = 0.0
PumpsSpecification%CementPumpLinerDiameter = 0.0
else
CementPumpLinerDiameter = a
PumpsSpecification%CementPumpLinerDiameter = a
endif
call SetMudPump3LinerDiameterN(CementPumpLinerDiameter)
call SetMudPump3LinerDiameterN(PumpsSpecification%CementPumpLinerDiameter)
end subroutine
subroutine CalcPump1OutputBblStroke()
implicit none
MudPump1OutputBblStroke = (MathPI / 4.d0) * (MudPump1LinerDiameter**2) * MudPump1Stroke * 3.0d0 * MudPump1VolumetricEfficiency / 9702.03d0
call SetMudPump1OutputBblStrokeN(MudPump1OutputBblStroke)
PumpsSpecification%MudPump1OutputBblStroke = (MathPI / 4.d0) * (PumpsSpecification%MudPump1LinerDiameter**2) * PumpsSpecification%MudPump1Stroke * 3.0d0 * PumpsSpecification%MudPump1VolumetricEfficiency / 9702.03d0
call SetMudPump1OutputBblStrokeN(PumpsSpecification%MudPump1OutputBblStroke)
end subroutine
subroutine CalcPump2OutputBblStroke()
implicit none
MudPump2OutputBblStroke = (MathPI / 4.d0) * (MudPump2LinerDiameter**2) * MudPump2Stroke * 3.0d0 * MudPump2VolumetricEfficiency / 9702.03d0
call SetMudPump2OutputBblStrokeN(MudPump2OutputBblStroke)
PumpsSpecification%MudPump2OutputBblStroke = (MathPI / 4.d0) * (PumpsSpecification%MudPump2LinerDiameter**2) * PumpsSpecification%MudPump2Stroke * 3.0d0 * PumpsSpecification%MudPump2VolumetricEfficiency / 9702.03d0
call SetMudPump2OutputBblStrokeN(PumpsSpecification%MudPump2OutputBblStroke)
end subroutine
subroutine CalcPump3OutputBblStroke()
implicit none
CementPumpOutputBblStroke = (MathPI / 4.d0) * (CementPumpLinerDiameter**2) * CementPumpStroke * 3.0d0 * CementPumpVolumetricEfficiency / 9702.03d0
call SetMudPump3OutputBblStrokeN(CementPumpOutputBblStroke)
PumpsSpecification%CementPumpOutputBblStroke = (MathPI / 4.d0) * (PumpsSpecification%CementPumpLinerDiameter**2) * PumpsSpecification%CementPumpStroke * 3.0d0 * PumpsSpecification%CementPumpVolumetricEfficiency / 9702.03d0
call SetMudPump3OutputBblStrokeN(PumpsSpecification%CementPumpOutputBblStroke)
end subroutine
end module CPumpsVariables

+ 4
- 4
CSharp/BasicInputs/RigSpecifications/CRigSize.f90 View File

@@ -8,7 +8,7 @@ module CRigSize
!DEC$ ATTRIBUTES ALIAS: 'SetRigType' :: SetRigType
implicit none
integer, intent(in) :: v
RigType = v
RigSize%RigType = v
end subroutine
subroutine SetCrownHeight(v)
@@ -16,7 +16,7 @@ module CRigSize
!DEC$ ATTRIBUTES ALIAS: 'SetCrownHeight' :: SetCrownHeight
implicit none
real*8, intent(in) :: v
CrownHeight = v
RigSize%CrownHeight = v
end subroutine
subroutine SetMonkeyBoandHeight(v)
@@ -24,7 +24,7 @@ module CRigSize
!DEC$ ATTRIBUTES ALIAS: 'SetMonkeyBoandHeight' :: SetMonkeyBoandHeight
implicit none
real*8, intent(in) :: v
MonkeyBoandHeight = v
RigSize%MonkeyBoandHeight = v
end subroutine
subroutine SetRigFloorHeight(v)
@@ -32,6 +32,6 @@ module CRigSize
!DEC$ ATTRIBUTES ALIAS: 'SetRigFloorHeight' :: SetRigFloorHeight
implicit none
real*8, intent(in) :: v
RigFloorHeight = v
RigSize%RigFloorHeight = v
end subroutine
end module CRigSize

+ 7
- 5
CSharp/BasicInputs/RigSpecifications/CRigSizeVariables.f90 View File

@@ -5,9 +5,11 @@ module CRigSizeVariables
integer :: Convensional_RigSize = 0
! variables
integer :: RigType
real(8) :: CrownHeight
real(8) :: MonkeyBoandHeight
real(8) :: RigFloorHeight
contains
Type:: RigSizeType
integer :: RigType
real(8) :: CrownHeight
real(8) :: MonkeyBoandHeight
real(8) :: RigFloorHeight
End type RigSizeType
Type(RigSizeType)::RigSize
end module CRigSizeVariables

BIN
View File


BIN
View File


+ 17
- 17
CSharp/BasicInputs/WellProfile/CCasingLinerChoke.f90 View File

@@ -9,7 +9,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetCasingDepth' :: SetCasingDepth
implicit none
real*8, intent(in) :: v
CasingDepth = v
CasingLinerChoke%CasingDepth = v
end subroutine
subroutine SetCasingId(v)
@@ -17,7 +17,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetCasingId' :: SetCasingId
implicit none
real*8, intent(in) :: v
CasingId = v
CasingLinerChoke%CasingId = v
end subroutine
subroutine SetCasingOd(v)
@@ -25,7 +25,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetCasingOd' :: SetCasingOd
implicit none
real*8, intent(in) :: v
CasingOd = v
CasingLinerChoke%CasingOd = v
end subroutine
subroutine SetCasingWeight(v)
@@ -33,7 +33,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetCasingWeight' :: SetCasingWeight
implicit none
real*8, intent(in) :: v
CasingWeight = v
CasingLinerChoke%CasingWeight = v
end subroutine
subroutine SetCasingCollapsePressure(v)
@@ -41,7 +41,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetCasingCollapsePressure' :: SetCasingCollapsePressure
implicit none
real*8, intent(in) :: v
CasingCollapsePressure = v
CasingLinerChoke%CasingCollapsePressure = v
end subroutine
subroutine SetCasingTensileStrength(v)
@@ -49,7 +49,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetCasingTensileStrength' :: SetCasingTensileStrength
implicit none
real*8, intent(in) :: v
CasingTensileStrength = v
CasingLinerChoke%CasingTensileStrength = v
end subroutine
@@ -64,7 +64,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerTopDepth' :: SetLinerTopDepth
implicit none
real*8, intent(in) :: v
LinerTopDepth = v
CasingLinerChoke%LinerTopDepth = v
end subroutine
subroutine SetLinerLength(v)
@@ -72,7 +72,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerLength' :: SetLinerLength
implicit none
real*8, intent(in) :: v
LinerLength = v
CasingLinerChoke%LinerLength = v
end subroutine
subroutine SetLinerId(v)
@@ -80,7 +80,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerId' :: SetLinerId
implicit none
real*8, intent(in) :: v
LinerId = v
CasingLinerChoke%LinerId = v
end subroutine
subroutine SetLinerOd(v)
@@ -88,7 +88,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerOd' :: SetLinerOd
implicit none
real*8, intent(in) :: v
LinerOd = v
CasingLinerChoke%LinerOd = v
end subroutine
subroutine SetLinerWeight(v)
@@ -96,7 +96,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerWeight' :: SetLinerWeight
implicit none
real*8, intent(in) :: v
LinerWeight = v
CasingLinerChoke%LinerWeight = v
end subroutine
subroutine SetLinerCollapsePressure(v)
@@ -104,7 +104,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerCollapsePressure' :: SetLinerCollapsePressure
implicit none
real*8, intent(in) :: v
LinerCollapsePressure = v
CasingLinerChoke%LinerCollapsePressure = v
end subroutine
subroutine SetLinerTensileStrength(v)
@@ -112,7 +112,7 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetLinerTensileStrength' :: SetLinerTensileStrength
implicit none
real*8, intent(in) :: v
LinerTensileStrength = v
CasingLinerChoke%LinerTensileStrength = v
end subroutine
@@ -122,9 +122,9 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetOpenHoleId' :: SetOpenHoleId
implicit none
real*8, intent(in) :: v
OpenHoleId = v
CasingLinerChoke%OpenHoleId = v
#ifdef deb
print*, 'OpenHoleId=', OpenHoleId
print*, 'OpenHoleId=', CasingLinerChoke%OpenHoleId
#endif
end subroutine

@@ -133,9 +133,9 @@ module CCasingLinerChoke
!DEC$ ATTRIBUTES ALIAS: 'SetOpenHoleLength' :: SetOpenHoleLength
implicit none
real*8, intent(in) :: v
OpenHoleLength = v
CasingLinerChoke%OpenHoleLength = v
#ifdef deb
print*, 'OpenHoleLength=', OpenHoleLength
print*, 'OpenHoleLength=', CasingLinerChoke%OpenHoleLength
#endif
end subroutine


+ 21
- 19
CSharp/BasicInputs/WellProfile/CCasingLinerChokeVariables.f90 View File

@@ -1,24 +1,26 @@
module CCasingLinerChokeVariables
implicit none
implicit none
public
! variables
real(8) :: CasingDepth
real(8) :: CasingId
real(8) :: CasingOd
real(8) :: CasingWeight
real(8) :: CasingCollapsePressure
real(8) :: CasingTensileStrength
real(8) :: LinerTopDepth
real(8) :: LinerLength
real(8) :: LinerId
real(8) :: LinerOd
real(8) :: LinerWeight
real(8) :: LinerCollapsePressure
real(8) :: LinerTensileStrength
real(8) :: OpenHoleId
real(8) :: OpenHoleLength
Type::CasingLinerChokeType
real(8) :: CasingDepth
real(8) :: CasingId
real(8) :: CasingOd
real(8) :: CasingWeight
real(8) :: CasingCollapsePressure
real(8) :: CasingTensileStrength
real(8) :: LinerTopDepth
real(8) :: LinerLength
real(8) :: LinerId
real(8) :: LinerOd
real(8) :: LinerWeight
real(8) :: LinerCollapsePressure
real(8) :: LinerTensileStrength
real(8) :: OpenHoleId
real(8) :: OpenHoleLength
End Type CasingLinerChokeType
Type(CasingLinerChokeType)::CasingLinerChoke
contains
end module CCasingLinerChokeVariables

+ 16
- 16
CSharp/BasicInputs/WellProfile/CPathGeneration.f90 View File

@@ -12,20 +12,20 @@ module CPathGeneration
type(CPathGenerationItem), intent(inout), target :: array(count)
type(CPathGenerationItem), pointer :: item
PathGenerationCount = count
if(size(PathGenerations) > 0) then
deallocate(PathGenerations)
if(size(PathGeneration%Items) > 0) then
deallocate(PathGeneration%Items)
end if
if(count > 0) then
allocate(PathGenerations(count))
allocate(PathGeneration%Items(count))
do i = 1, count
item => array(i)
PathGenerations(i)%HoleType = item%HoleType
PathGenerations(i)%Angle = item%Angle
PathGenerations(i)%Length = item%Length
PathGenerations(i)%FinalAngle = item%FinalAngle
PathGenerations(i)%TotalLength = item%TotalLength
PathGenerations(i)%MeasuredDepth = item%MeasuredDepth
PathGenerations(i)%TotalVerticalDepth = item%TotalVerticalDepth
PathGeneration%Items(i)%HoleType = item%HoleType
PathGeneration%Items(i)%Angle = item%Angle
PathGeneration%Items(i)%Length = item%Length
PathGeneration%Items(i)%FinalAngle = item%FinalAngle
PathGeneration%Items(i)%TotalLength = item%TotalLength
PathGeneration%Items(i)%MeasuredDepth = item%MeasuredDepth
PathGeneration%Items(i)%TotalVerticalDepth = item%TotalVerticalDepth
end do
end if

@@ -41,16 +41,16 @@ module CPathGeneration
integer :: i
type(CDataPointItem), intent(inout), target :: array(count)
type(CDataPointItem), pointer :: item
PathGenerationDataPointsCount = count
if(size(PathGenerationDataPoints) > 0) then
deallocate(PathGenerationDataPoints)
PathGeneration%DataPointsCount = count
if(size(PathGeneration%DataPoints) > 0) then
deallocate(PathGeneration%DataPoints)
end if
if(count > 0) then
allocate(PathGenerationDataPoints(count))
allocate(PathGeneration%DataPoints(count))
do i = 1, count
item => array(i)
PathGenerationDataPoints(i)%X = item%X
PathGenerationDataPoints(i)%Y = item%Y
PathGeneration%DataPoints(i)%X = item%X
PathGeneration%DataPoints(i)%Y = item%Y
end do
end if



+ 10
- 8
CSharp/BasicInputs/WellProfile/CPathGenerationVariables.f90 View File

@@ -17,12 +17,14 @@ module CPathGenerationVariables
real(8) :: X
real(8) :: Y
end type CDataPointItem
integer :: PathGenerationCount = 0
type(CPathGenerationItem), allocatable :: PathGenerations(:)
integer :: PathGenerationDataPointsCount = 0
type(CDataPointItem), allocatable :: PathGenerationDataPoints(:)
contains

Type :: PathGenerationType
integer :: ItemCount = 0
type(CPathGenerationItem), allocatable :: Items(:)
integer :: DataPointsCount = 0
type(CDataPointItem), allocatable :: DataPoints(:)
End type PathGenerationType
Type(PathGenerationType)::PathGeneration

end module CPathGenerationVariables

+ 10
- 10
CSharp/BasicInputs/WellProfile/CWellSurveyData.f90 View File

@@ -12,20 +12,20 @@ module CWellSurveyData
type(CSurveyDataItem), intent(inout), target :: array(count)
type(CSurveyDataItem), pointer :: item
SurveyDataCount = count
if(size(WellSurveyData) > 0) then
deallocate(WellSurveyData)
if(size(WellSurveyData%Items) > 0) then
deallocate(WellSurveyData%Items)
end if
if(count > 0) then
allocate(WellSurveyData(count))
allocate(WellSurveyData%Items(count))
do i = 1, count
item => array(i)
WellSurveyData(i)%MeasuredDepth = item%MeasuredDepth
WellSurveyData(i)%Inclination = item%Inclination
WellSurveyData(i)%Azimoth = item%Azimoth
WellSurveyData(i)%TotalVerticalDepth = item%TotalVerticalDepth
WellSurveyData(i)%X = item%X
WellSurveyData(i)%Y = item%Y
WellSurveyData(i)%Z = item%Z
WellSurveyData%Items(i)%MeasuredDepth = item%MeasuredDepth
WellSurveyData%Items(i)%Inclination = item%Inclination
WellSurveyData%Items(i)%Azimoth = item%Azimoth
WellSurveyData%Items(i)%TotalVerticalDepth = item%TotalVerticalDepth
WellSurveyData%Items(i)%X = item%X
WellSurveyData%Items(i)%Y = item%Y
WellSurveyData%Items(i)%Z = item%Z
end do
end if



+ 6
- 3
CSharp/BasicInputs/WellProfile/CWellSurveyDataVariables.f90 View File

@@ -12,9 +12,12 @@ module CWellSurveyDataVariables
real(8) :: Y
real(8) :: Z
end type CSurveyDataItem

Type :: WellSurveyDataType
integer :: Count = 0
type(CSurveyDataItem), allocatable :: Items(:)
End Type WellSurveyDataType
integer :: SurveyDataCount = 0
type(CSurveyDataItem), allocatable :: WellSurveyData(:)
Type(WellSurveyDataType)::WellSurveyData
contains
end module CWellSurveyDataVariables

BIN
View File


+ 38
- 38
CSharp/Equipments/ControlPanels/CBopControlPanel.f90 View File

@@ -10,9 +10,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetAnnularRegulatorSetControl' :: SetAnnularRegulatorSetControl
implicit none
real*8, intent(in) :: v
AnnularRegulatorSetControl = v
BopControlPanel%AnnularRegulatorSetControl = v
#ifdef deb
print*, 'AnnularRegulatorSetControl=', AnnularRegulatorSetControl
print*, 'AnnularRegulatorSetControl=', BopControlPanel%AnnularRegulatorSetControl
#endif
end subroutine

@@ -21,9 +21,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetAirMasterValve' :: SetAirMasterValve
implicit none
real*8, intent(in) :: v
AirMasterValve = v
BopControlPanel%AirMasterValve = v
#ifdef deb
print*, 'AirMasterValve=', AirMasterValve
print*, 'AirMasterValve=', BopControlPanel%AirMasterValve
#endif
end subroutine

@@ -32,9 +32,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetByePassValve' :: SetByePassValve
implicit none
real*8, intent(in) :: v
ByePassValve = v
BopControlPanel%ByePassValve = v
#ifdef deb
print*, 'ByePassValve=', ByePassValve
print*, 'ByePassValve=', BopControlPanel%ByePassValve
#endif
end subroutine

@@ -43,9 +43,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetAnnularValve' :: SetAnnularValve
implicit none
real*8, intent(in) :: v
AnnularValve = v
BopControlPanel%AnnularValve = v
#ifdef deb
print*, 'AnnularValve=', AnnularValve
print*, 'AnnularValve=', BopControlPanel%AnnularValve
#endif
end subroutine

@@ -54,9 +54,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetUpperRamsValve' :: SetUpperRamsValve
implicit none
real*8, intent(in) :: v
UpperRamsValve = v
BopControlPanel%UpperRamsValve = v
#ifdef deb
print*, 'UpperRamsValve=', UpperRamsValve
print*, 'UpperRamsValve=', BopControlPanel%UpperRamsValve
#endif
end subroutine

@@ -65,9 +65,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetMiddleRamsValve' :: SetMiddleRamsValve
implicit none
real*8, intent(in) :: v
MiddleRamsValve = v
BopControlPanel%MiddleRamsValve = v
#ifdef deb
print*, 'MiddleRamsValve=', MiddleRamsValve
print*, 'MiddleRamsValve=', BopControlPanel%MiddleRamsValve
#endif
end subroutine

@@ -76,9 +76,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetKillLineValve' :: SetKillLineValve
implicit none
real*8, intent(in) :: v
KillLineValve = v
BopControlPanel%KillLineValve = v
#ifdef deb
print*, 'KillLineValve=', KillLineValve
print*, 'KillLineValve=', BopControlPanel%KillLineValve
#endif
end subroutine

@@ -87,9 +87,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetChokeLineValve' :: SetChokeLineValve
implicit none
real*8, intent(in) :: v
ChokeLineValve = v
BopControlPanel%ChokeLineValve = v
#ifdef deb
print*, 'ChokeLineValve=', ChokeLineValve
print*, 'ChokeLineValve=', BopControlPanel%ChokeLineValve
#endif
end subroutine

@@ -98,9 +98,9 @@ module CBopControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetLowerRamsValve' :: SetLowerRamsValve
implicit none
real*8, intent(in) :: v
LowerRamsValve = v
BopControlPanel%LowerRamsValve = v
#ifdef deb
print*, 'LowerRamsValve=', LowerRamsValve
print*, 'LowerRamsValve=', BopControlPanel%LowerRamsValve
#endif
end subroutine

@@ -110,21 +110,21 @@ module CBopControlPanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetManifoldPressureGauge
!DEC$ ATTRIBUTES ALIAS: 'GetManifoldPressureGauge' :: GetManifoldPressureGauge
implicit none
GetManifoldPressureGauge = ManifoldPressureGauge
GetManifoldPressureGauge = BopControlPanel%ManifoldPressureGauge
end function

real(8) function GetAirSupplyPressureGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAirSupplyPressureGauge
!DEC$ ATTRIBUTES ALIAS: 'GetAirSupplyPressureGauge' :: GetAirSupplyPressureGauge
implicit none
GetAirSupplyPressureGauge = AirSupplyPressureGauge
GetAirSupplyPressureGauge = BopControlPanel%AirSupplyPressureGauge
end function

real(8) function GetAccumulatorPressureGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAccumulatorPressureGauge
!DEC$ ATTRIBUTES ALIAS: 'GetAccumulatorPressureGauge' :: GetAccumulatorPressureGauge
implicit none
GetAccumulatorPressureGauge = AccumulatorPressureGauge
GetAccumulatorPressureGauge = BopControlPanel%AccumulatorPressureGauge
!GetAccumulatorPressureGauge = 2000.0d0
end function

@@ -132,119 +132,119 @@ module CBopControlPanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetAnnularPressureGauge
!DEC$ ATTRIBUTES ALIAS: 'GetAnnularPressureGauge' :: GetAnnularPressureGauge
implicit none
GetAnnularPressureGauge = AnnularPressureGauge
GetAnnularPressureGauge = BopControlPanel%AnnularPressureGauge
end function

integer function GetAnnularOpenLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAnnularOpenLED
!DEC$ ATTRIBUTES ALIAS: 'GetAnnularOpenLED' :: GetAnnularOpenLED
implicit none
GetAnnularOpenLED = AnnularOpenLED
GetAnnularOpenLED = BopControlPanel%AnnularOpenLED
end function

integer function GetAnnularCloseLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAnnularCloseLED
!DEC$ ATTRIBUTES ALIAS: 'GetAnnularCloseLED' :: GetAnnularCloseLED
implicit none
GetAnnularCloseLED = AnnularCloseLED
GetAnnularCloseLED = BopControlPanel%AnnularCloseLED
end function

integer function GetUpperRamsOpenLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetUpperRamsOpenLED
!DEC$ ATTRIBUTES ALIAS: 'GetUpperRamsOpenLED' :: GetUpperRamsOpenLED
implicit none
GetUpperRamsOpenLED = UpperRamsOpenLED
GetUpperRamsOpenLED = BopControlPanel%UpperRamsOpenLED
end function

integer function GetUpperRamsCloseLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetUpperRamsCloseLED
!DEC$ ATTRIBUTES ALIAS: 'GetUpperRamsCloseLED' :: GetUpperRamsCloseLED
implicit none
GetUpperRamsCloseLED = UpperRamsCloseLED
GetUpperRamsCloseLED = BopControlPanel%UpperRamsCloseLED
end function

integer function GetMiddleRamsOpenLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMiddleRamsOpenLED
!DEC$ ATTRIBUTES ALIAS: 'GetMiddleRamsOpenLED' :: GetMiddleRamsOpenLED
implicit none
GetMiddleRamsOpenLED = MiddleRamsOpenLED
GetMiddleRamsOpenLED = BopControlPanel%MiddleRamsOpenLED
end function

integer function GetMiddleRamsCloseLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMiddleRamsCloseLED
!DEC$ ATTRIBUTES ALIAS: 'GetMiddleRamsCloseLED' :: GetMiddleRamsCloseLED
implicit none
GetMiddleRamsCloseLED = MiddleRamsCloseLED
GetMiddleRamsCloseLED = BopControlPanel%MiddleRamsCloseLED
end function

integer function GetKillLineOpenLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetKillLineOpenLED
!DEC$ ATTRIBUTES ALIAS: 'GetKillLineOpenLED' :: GetKillLineOpenLED
implicit none
GetKillLineOpenLED = KillLineOpenLED
GetKillLineOpenLED = BopControlPanel%KillLineOpenLED
end function

integer function GetKillLineCloseLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetKillLineCloseLED
!DEC$ ATTRIBUTES ALIAS: 'GetKillLineCloseLED' :: GetKillLineCloseLED
implicit none
GetKillLineCloseLED = KillLineCloseLED
GetKillLineCloseLED = BopControlPanel%KillLineCloseLED
end function

integer function GetChokeLineOpenLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetChokeLineOpenLED
!DEC$ ATTRIBUTES ALIAS: 'GetChokeLineOpenLED' :: GetChokeLineOpenLED
implicit none
GetChokeLineOpenLED = ChokeLineOpenLED
GetChokeLineOpenLED = BopControlPanel%ChokeLineOpenLED
end function

integer function GetChokeLineCloseLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetChokeLineCloseLED
!DEC$ ATTRIBUTES ALIAS: 'GetChokeLineCloseLED' :: GetChokeLineCloseLED
implicit none
GetChokeLineCloseLED = ChokeLineCloseLED
GetChokeLineCloseLED = BopControlPanel%ChokeLineCloseLED
end function

integer function GetLowerRamsOpenLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetLowerRamsOpenLED
!DEC$ ATTRIBUTES ALIAS: 'GetLowerRamsOpenLED' :: GetLowerRamsOpenLED
implicit none
GetLowerRamsOpenLED = LowerRamsOpenLED
GetLowerRamsOpenLED = BopControlPanel%LowerRamsOpenLED
end function

integer function GetLowerRamsCloseLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetLowerRamsCloseLED
!DEC$ ATTRIBUTES ALIAS: 'GetLowerRamsCloseLED' :: GetLowerRamsCloseLED
implicit none
GetLowerRamsCloseLED = LowerRamsCloseLED
GetLowerRamsCloseLED = BopControlPanel%LowerRamsCloseLED
end function

real(8) function GetAnnularStatus()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAnnularStatus
!DEC$ ATTRIBUTES ALIAS: 'GetAnnularStatus' :: GetAnnularStatus
implicit none
GetAnnularStatus = AnnularStatus
GetAnnularStatus = BopControlPanel%AnnularStatus
end function

real(8) function GetUpperRamsStatus()
!DEC$ ATTRIBUTES DLLEXPORT :: GetUpperRamsStatus
!DEC$ ATTRIBUTES ALIAS: 'GetUpperRamsStatus' :: GetUpperRamsStatus
implicit none
GetUpperRamsStatus = UpperRamsStatus
GetUpperRamsStatus = BopControlPanel%UpperRamsStatus
end function

real(8) function GetMiddleRamsStatus()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMiddleRamsStatus
!DEC$ ATTRIBUTES ALIAS: 'GetMiddleRamsStatus' :: GetMiddleRamsStatus
implicit none
GetMiddleRamsStatus = MiddleRamsStatus
GetMiddleRamsStatus = BopControlPanel%MiddleRamsStatus
end function

real(8) function GetLowerRamsStatus()
!DEC$ ATTRIBUTES DLLEXPORT :: GetLowerRamsStatus
!DEC$ ATTRIBUTES ALIAS: 'GetLowerRamsStatus' :: GetLowerRamsStatus
implicit none
GetLowerRamsStatus = LowerRamsStatus
GetLowerRamsStatus = BopControlPanel%LowerRamsStatus
end function

end module CBopControlPanel

+ 35
- 35
CSharp/Equipments/ControlPanels/CBopControlPanelVariables.f90 View File

@@ -1,42 +1,42 @@
module CBopControlPanelVariables
implicit none
public
! Input vars
real(8) :: AnnularRegulatorSetControl
real(8) :: AirMasterValve
real(8) :: ByePassValve
real(8) :: AnnularValve
real(8) :: UpperRamsValve
real(8) :: MiddleRamsValve
real(8) :: KillLineValve
real(8) :: ChokeLineValve
real(8) :: LowerRamsValve

! Output vars
real(8) :: ManifoldPressureGauge
real(8) :: AirSupplyPressureGauge
real(8) :: AccumulatorPressureGauge
real(8) :: AnnularPressureGauge
integer :: AnnularOpenLED
integer :: AnnularCloseLED
integer :: UpperRamsOpenLED
integer :: UpperRamsCloseLED
integer :: MiddleRamsOpenLED
integer :: MiddleRamsCloseLED
integer :: KillLineOpenLED
integer :: KillLineCloseLED
integer :: ChokeLineOpenLED
integer :: ChokeLineCloseLED
integer :: LowerRamsOpenLED
integer :: LowerRamsCloseLED
real(8) :: AnnularStatus
real(8) :: UpperRamsStatus
real(8) :: MiddleRamsStatus
real(8) :: LowerRamsStatus
Type, Public:: BopControlPanelType
! Input vars
real(8) :: AnnularRegulatorSetControl
real(8) :: AirMasterValve
real(8) :: ByePassValve
real(8) :: AnnularValve
real(8) :: UpperRamsValve
real(8) :: MiddleRamsValve
real(8) :: KillLineValve
real(8) :: ChokeLineValve
real(8) :: LowerRamsValve

contains
! Output vars
real(8) :: ManifoldPressureGauge
real(8) :: AirSupplyPressureGauge
real(8) :: AccumulatorPressureGauge
real(8) :: AnnularPressureGauge
integer :: AnnularOpenLED
integer :: AnnularCloseLED
integer :: UpperRamsOpenLED
integer :: UpperRamsCloseLED
integer :: MiddleRamsOpenLED
integer :: MiddleRamsCloseLED
integer :: KillLineOpenLED
integer :: KillLineCloseLED
integer :: ChokeLineOpenLED
integer :: ChokeLineCloseLED
integer :: LowerRamsOpenLED
integer :: LowerRamsCloseLED
real(8) :: AnnularStatus
real(8) :: UpperRamsStatus
real(8) :: MiddleRamsStatus
real(8) :: LowerRamsStatus
end type
type(BopControlPanelType) :: BopControlPanel
contains
subroutine OpenAnnular()
use CManifolds
implicit none


+ 21
- 21
CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 View File

@@ -10,9 +10,9 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetChokePanelPumpSelectorSwitch' :: SetChokePanelPumpSelectorSwitch
implicit none
integer, intent(in) :: v
ChokePanelPumpSelectorSwitch = v
ChokeControlPanel%ChokePanelPumpSelectorSwitch = v
#ifdef deb
print*, 'ChokePanelPumpSelectorSwitch=', ChokePanelPumpSelectorSwitch
print*, 'ChokePanelPumpSelectorSwitch=', ChokeControlPanel%ChokePanelPumpSelectorSwitch
#endif
end subroutine

@@ -21,9 +21,9 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetChokePanelStrokeResetSwitch' :: SetChokePanelStrokeResetSwitch
implicit none
logical, intent(in) :: v
ChokePanelStrokeResetSwitch = v
ChokeControlPanel%ChokePanelStrokeResetSwitch = v
#ifdef deb
print*, 'ChokePanelStrokeResetSwitch=', ChokePanelStrokeResetSwitch
print*, 'ChokePanelStrokeResetSwitch=', ChokeControlPanel%ChokePanelStrokeResetSwitch
#endif
end subroutine

@@ -32,9 +32,9 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetChokeSelectorSwitch' :: SetChokeSelectorSwitch
implicit none
logical, intent(in) :: v
ChokeSelectorSwitch = v
ChokeControlPanel%ChokeSelectorSwitch = v
#ifdef deb
print*, 'ChokeSelectorSwitch=', ChokeSelectorSwitch
print*, 'ChokeSelectorSwitch=', ChokeControlPanel%ChokeSelectorSwitch
#endif
end subroutine

@@ -49,12 +49,12 @@ module CChokeControlPanel
!character(5) :: zone
!integer,dimension(8) :: values
ChokeRateControlKnob = v
ChokeControlPanel%ChokeRateControlKnob = v
#ifdef deb
!call date_and_time(date,time,zone,values)
!!print '(a,2x,a,2x,a)', date, time, zone
!print '(8i5)', values
print*, 'ChokeRateControlKnob=', ChokeRateControlKnob
print*, 'ChokeRateControlKnob=', ChokeControlPanel%ChokeRateControlKnob
#endif
end subroutine

@@ -63,9 +63,9 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetChokeControlLever' :: SetChokeControlLever
implicit none
real*8, intent(in) :: v
ChokeControlLever = v
ChokeControlPanel%ChokeControlLever = v
#ifdef deb
print*, 'ChokeControlLever=', ChokeControlLever
print*, 'ChokeControlLever=', ChokeControlPanel%ChokeControlLever
#endif
end subroutine

@@ -74,9 +74,9 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetChokePanelRigAirSwitch' :: SetChokePanelRigAirSwitch
implicit none
logical, intent(in) :: v
ChokePanelRigAirSwitch = v
ChokeControlPanel%ChokePanelRigAirSwitch = v
#ifdef deb
print*, 'ChokePanelRigAirSwitch=', ChokePanelRigAirSwitch
print*, 'ChokePanelRigAirSwitch=', ChokeControlPanel%ChokePanelRigAirSwitch
#endif
end subroutine

@@ -86,9 +86,9 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'SetEnableAutoChoke' :: SetEnableAutoChoke
implicit none
logical, intent(in) :: v
EnableAutoChoke = v
ChokeControlPanel%EnableAutoChoke = v
#ifdef deb
print*, 'EnableAutoChoke=', EnableAutoChoke
print*, 'EnableAutoChoke=', ChokeControlPanel%EnableAutoChoke
#endif
end subroutine
@@ -108,21 +108,21 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipePressure
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipePressure' :: GetStandPipePressure
implicit none
GetStandPipePressure = StandPipePressure
GetStandPipePressure = ChokeControlPanel%StandPipePressure
end function

real(8) function GetCasingPressure()
!DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressure
!DEC$ ATTRIBUTES ALIAS: 'GetCasingPressure' :: GetCasingPressure
implicit none
GetCasingPressure = CasingPressure
GetCasingPressure = ChokeControlPanel%CasingPressure
end function

real(8) function GetChokePosition()
!DEC$ ATTRIBUTES DLLEXPORT :: GetChokePosition
!DEC$ ATTRIBUTES ALIAS: 'GetChokePosition' :: GetChokePosition
implicit none
GetChokePosition = ChokePosition
GetChokePosition = ChokeControlPanel%ChokePosition
end function

real(8) function GetChokePanelSPMCounter()
@@ -130,7 +130,7 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'GetChokePanelSPMCounter' :: GetChokePanelSPMCounter
implicit none
!GetChokePanelSPMCounter = 0
GetChokePanelSPMCounter = ChokePanelSPMCounter
GetChokePanelSPMCounter = ChokeControlPanel%ChokePanelSPMCounter
end function

real(8) function GetChokePanelTotalStrokeCounter()
@@ -138,21 +138,21 @@ module CChokeControlPanel
!DEC$ ATTRIBUTES ALIAS: 'GetChokePanelTotalStrokeCounter' :: GetChokePanelTotalStrokeCounter
implicit none
!GetChokePanelTotalStrokeCounter = 0
GetChokePanelTotalStrokeCounter = ChokePanelTotalStrokeCounter
GetChokePanelTotalStrokeCounter = ChokeControlPanel%ChokePanelTotalStrokeCounter
end function

integer function GetChoke1LED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetChoke1LED
!DEC$ ATTRIBUTES ALIAS: 'GetChoke1LED' :: GetChoke1LED
implicit none
GetChoke1LED = Choke1LED
GetChoke1LED = ChokeControlPanel%Choke1LED
end function

integer function GetChoke2LED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetChoke2LED
!DEC$ ATTRIBUTES ALIAS: 'GetChoke2LED' :: GetChoke2LED
implicit none
GetChoke2LED = Choke2LED
GetChoke2LED = ChokeControlPanel%Choke2LED
end function




+ 20
- 21
CSharp/Equipments/ControlPanels/CChokeControlPanelVariables.f90 View File

@@ -1,25 +1,24 @@
module CChokeControlPanelVariables
implicit none
public
! Input vars
integer :: ChokePanelPumpSelectorSwitch
logical :: ChokePanelStrokeResetSwitch
logical :: ChokeSelectorSwitch
real(8) :: ChokeRateControlKnob
real(8) :: ChokeControlLever
logical :: ChokePanelRigAirSwitch
implicit none
type, public :: ChokeControlPanelType
! Input vars
integer :: ChokePanelPumpSelectorSwitch
logical :: ChokePanelStrokeResetSwitch
logical :: ChokeSelectorSwitch
real(8) :: ChokeRateControlKnob
real(8) :: ChokeControlLever
logical :: ChokePanelRigAirSwitch

logical :: EnableAutoChoke
logical :: EnableAutoChoke
! Output vars
real(8) :: StandPipePressure
real(8) :: CasingPressure
real(8) :: ChokePosition
real(8) :: ChokePanelSPMCounter
real(8) :: ChokePanelTotalStrokeCounter
integer :: Choke1LED
integer :: Choke2LED
contains
! Output vars
real(8) :: StandPipePressure
real(8) :: CasingPressure
real(8) :: ChokePosition
real(8) :: ChokePanelSPMCounter
real(8) :: ChokePanelTotalStrokeCounter
integer :: Choke1LED
integer :: Choke2LED
End Type ChokeControlPanelType
Type(ChokeControlPanelType)::ChokeControlPanel
end module CChokeControlPanelVariables

+ 19
- 19
CSharp/Equipments/ControlPanels/CChokeManifold.f90 View File

@@ -11,7 +11,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve1' :: SetChokeManifoldValve1
implicit none
logical, intent(in) :: v
ChokeManifoldValve1 = v
ChokeManifold%ChokeManifoldValve1 = v
call ChangeValve(61, v)
#ifdef deb
!print*, 'ChokeManifoldValve1=', ChokeManifoldValve1
@@ -23,7 +23,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve2' :: SetChokeManifoldValve2
implicit none
logical, intent(in) :: v
ChokeManifoldValve2 = v
ChokeManifold%ChokeManifoldValve2 = v
call ChangeValve(64, v)
#ifdef deb
!print*, 'ChokeManifoldValve2=', ChokeManifoldValve2
@@ -36,11 +36,11 @@ module CChokeManifold
implicit none
real*8, intent(in) :: v
!LeftManualChoke = abs(v-100)
LeftManualChoke = v
if(LeftManChokeOnProblem) then
ChokeManifold%LeftManualChoke = v
if(ChokeManifold%LeftManChokeOnProblem) then
call ChangeValve(32, .true.)
else
if(LeftManualChoke > 99.9) then
if(ChokeManifold%LeftManualChoke > 99.9) then
!call Log_2( 'valve 32 is closed=', LeftManualChoke)
call ChangeValve(32, .false.)
else
@@ -58,7 +58,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve4' :: SetChokeManifoldValve4
implicit none
logical, intent(in) :: v
ChokeManifoldValve4 = v
ChokeManifold%ChokeManifoldValve4 = v
call ChangeValve(62, v)
!WRITE (*,*) ' valve 62 ', v
#ifdef deb
@@ -71,7 +71,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve5' :: SetChokeManifoldValve5
implicit none
logical, intent(in) :: v
ChokeManifoldValve5 = v
ChokeManifold%ChokeManifoldValve5 = v
call ChangeValve(63, v)
!WRITE (*,*) ' valve 63 ', v
#ifdef deb
@@ -85,11 +85,11 @@ module CChokeManifold
implicit none
real*8, intent(in) :: v
!RightManualChoke = abs(v -100)
RightManualChoke = v
if(RightManChokeOnProblem) then
ChokeManifold%RightManualChoke = v
if(ChokeManifold%RightManChokeOnProblem) then
call ChangeValve(35, .true.)
else
if(RightManualChoke > 99.9) then
if(ChokeManifold%RightManualChoke > 99.9) then
!call Log_2( 'valve 35 is closed=', RightManualChoke)
call ChangeValve(35, .false.)
else
@@ -107,7 +107,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve7' :: SetChokeManifoldValve7
implicit none
logical, intent(in) :: v
ChokeManifoldValve7 = v
ChokeManifold%ChokeManifoldValve7 = v
call ChangeValve(27, v)
#ifdef deb
!print*, 'ChokeManifoldValve7=', ChokeManifoldValve7
@@ -119,7 +119,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve8' :: SetChokeManifoldValve8
implicit none
logical, intent(in) :: v
ChokeManifoldValve8 = v
ChokeManifold%ChokeManifoldValve8 = v
call ChangeValve(28, v)
!WRITE (*,*) ' valve 28 ', v
#ifdef deb
@@ -132,7 +132,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve9' :: SetChokeManifoldValve9
implicit none
logical, intent(in) :: v
ChokeManifoldValve9 = v
ChokeManifold%ChokeManifoldValve9 = v
call ChangeValve(29, v)
#ifdef deb
!print*, 'ChokeManifoldValve9=', ChokeManifoldValve9
@@ -144,7 +144,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve10' :: SetChokeManifoldValve10
implicit none
logical, intent(in) :: v
ChokeManifoldValve10 = v
ChokeManifold%ChokeManifoldValve10 = v
call ChangeValve(30, v)
!WRITE (*,*) ' valve 30 ', v
#ifdef deb
@@ -157,7 +157,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve11' :: SetChokeManifoldValve11
implicit none
logical, intent(in) :: v
ChokeManifoldValve11 = v
ChokeManifold%ChokeManifoldValve11 = v
call ChangeValve(31, v)
#ifdef deb
!print*, 'ChokeManifoldValve11=', ChokeManifoldValve11
@@ -169,7 +169,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve12' :: SetChokeManifoldValve12
implicit none
logical, intent(in) :: v
ChokeManifoldValve12 = v
ChokeManifold%ChokeManifoldValve12 = v
call ChangeValve(25, v)
#ifdef deb
!print*, 'ChokeManifoldValve12=', ChokeManifoldValve12
@@ -181,7 +181,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve13' :: SetChokeManifoldValve13
implicit none
logical, intent(in) :: v
ChokeManifoldValve13 = v
ChokeManifold%ChokeManifoldValve13 = v
call ChangeValve(26, v)
!WRITE (*,*) ' valve 26 ', v
#ifdef deb
@@ -196,7 +196,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES DLLEXPORT :: GetHydraulicChock1
!DEC$ ATTRIBUTES ALIAS: 'GetHydraulicChock1' :: GetHydraulicChock1
implicit none
GetHydraulicChock1 = HydraulicChock1
GetHydraulicChock1 = ChokeManifold%HydraulicChock1
!GetHydraulicChock1 = 23
end function

@@ -204,7 +204,7 @@ module CChokeManifold
!DEC$ ATTRIBUTES DLLEXPORT :: GetHydraulicChock2
!DEC$ ATTRIBUTES ALIAS: 'GetHydraulicChock2' :: GetHydraulicChock2
implicit none
GetHydraulicChock2 = HydraulicChock2
GetHydraulicChock2 = ChokeManifold%HydraulicChock2
!GetHydraulicChock2 = 54
end function


+ 34
- 31
CSharp/Equipments/ControlPanels/CChokeManifoldVariables.f90 View File

@@ -2,45 +2,48 @@ module CChokeManifoldVariables
use CManifolds
implicit none
public
! Input vars
logical :: ChokeManifoldValve1
logical :: ChokeManifoldValve2
real(8) :: LeftManualChoke
logical :: ChokeManifoldValve4
logical :: ChokeManifoldValve5
real(8) :: RightManualChoke
logical :: ChokeManifoldValve7
logical :: ChokeManifoldValve8
logical :: ChokeManifoldValve9
logical :: ChokeManifoldValve10
logical :: ChokeManifoldValve11
logical :: ChokeManifoldValve12
logical :: ChokeManifoldValve13
Type :: ChokeManifoldType
! Input vars
logical :: ChokeManifoldValve1
logical :: ChokeManifoldValve2
real(8) :: LeftManualChoke
logical :: ChokeManifoldValve4
logical :: ChokeManifoldValve5
real(8) :: RightManualChoke
logical :: ChokeManifoldValve7
logical :: ChokeManifoldValve8
logical :: ChokeManifoldValve9
logical :: ChokeManifoldValve10
logical :: ChokeManifoldValve11
logical :: ChokeManifoldValve12
logical :: ChokeManifoldValve13

! Output vars
integer :: HydraulicChock1
integer :: HydraulicChock2
! Output vars
integer :: HydraulicChock1
integer :: HydraulicChock2

! Control vars
logical :: HyChock1OnProblem = .false.
logical :: HyChock2OnProblem = .false.
logical :: LeftManChokeOnProblem = .false.
logical :: RightManChokeOnProblem = .false.
! Control vars
logical :: HyChock1OnProblem = .false.
logical :: HyChock2OnProblem = .false.
logical :: LeftManChokeOnProblem = .false.
logical :: RightManChokeOnProblem = .false.
End Type ChokeManifoldType
Type(ChokeManifoldType)::ChokeManifold
contains
subroutine SetHydraulicChock1(v)
implicit none
integer, intent(in) :: v
HydraulicChock1 = v
if(HyChock1OnProblem) then
ChokeManifold%HydraulicChock1 = v
if(ChokeManifold%HyChock1OnProblem) then
call ChangeValve(33, .true.)
else
if(v == 100) then
if(Valve(33)%Status) call ChangeValve(33, .false.)
if(Manifold%Valve(33)%Status) call ChangeValve(33, .false.)
else
if(.not.Valve(33)%Status) call ChangeValve(33, .true.)
if(.not.Manifold%Valve(33)%Status) call ChangeValve(33, .true.)
endif
endif
!WRITE (*,*) ' valve 33 ', Valve(33)%Status, ' arg ', v
@@ -49,14 +52,14 @@ module CChokeManifoldVariables
subroutine SetHydraulicChock2(v)
implicit none
integer, intent(in) :: v
HydraulicChock2 = v
if(HyChock2OnProblem) then
ChokeManifold%HydraulicChock2 = v
if(ChokeManifold%HyChock2OnProblem) then
call ChangeValve(34, .true.)
else
if(v==100) then
if(Valve(34)%Status) call ChangeValve(34, .false.)
if(Manifold%Valve(34)%Status) call ChangeValve(34, .false.)
else
if(.not.Valve(34)%Status) call ChangeValve(34, .true.)
if(.not.Manifold%Valve(34)%Status) call ChangeValve(34, .true.)
endif
endif
!WRITE (*,*) ' valve 34 ', Valve(34)%Status, ' arg ', v


+ 121
- 123
CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90 View File

@@ -4,8 +4,6 @@ module CDataDisplayConsole
public
contains
!Portable
subroutine SetTripAlarmLow(v)
!DEC$ ATTRIBUTES DLLEXPORT :: SetTripAlarmLow
@@ -13,10 +11,10 @@ module CDataDisplayConsole
!use MudSystemVARIABLES, only: TripTank_MinVol_Allowded
implicit none
real*8, intent(in) :: v
TripAlarmLow = v
DataDisplayConsole%TripAlarmLow = v
!TripTank_MinVol_Allowded = v
#ifdef deb
print*, 'TripAlarmLow=', TripAlarmLow
print*, 'TripAlarmLow=', DataDisplayConsole%TripAlarmLow
#endif
end subroutine

@@ -26,10 +24,10 @@ module CDataDisplayConsole
!use MudSystemVARIABLES, only: TripTank_MaxVol_Allowded
implicit none
real*8, intent(in) :: v
TripAlarmHigh = v
DataDisplayConsole%TripAlarmHigh = v
!TripTank_MaxVol_Allowded = v
#ifdef deb
print*, 'TripAlarmHigh=', TripAlarmHigh
print*, 'TripAlarmHigh=', DataDisplayConsole%TripAlarmHigh
#endif
end subroutine

@@ -40,10 +38,10 @@ module CDataDisplayConsole
!use MudSystemVARIABLES, only: MFFI_MinPercent_Allowded
implicit none
real*8, intent(in) :: v
RetFlowAlarmLow = v
DataDisplayConsole%RetFlowAlarmLow = v
!MFFI_MinPercent_Allowded = v
#ifdef deb
print*, 'RetFlowAlarmLow=', RetFlowAlarmLow
print*, 'RetFlowAlarmLow=', DataDisplayConsole%RetFlowAlarmLow
#endif
end subroutine

@@ -53,10 +51,10 @@ module CDataDisplayConsole
!use MudSystemVARIABLES, only: MFFI_MaxPercent_Allowded
implicit none
real*8, intent(in) :: v
RetFlowAlarmHigh = v
DataDisplayConsole%RetFlowAlarmHigh = v
!MFFI_MaxPercent_Allowded = v
#ifdef deb
print*, 'RetFlowAlarmHigh=', RetFlowAlarmHigh
print*, 'RetFlowAlarmHigh=', DataDisplayConsole%RetFlowAlarmHigh
#endif
end subroutine

@@ -66,10 +64,10 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetPitAlarmLow' :: SetPitAlarmLow
implicit none
real*8, intent(in) :: v
PitAlarmLow = v
DataDisplayConsole%PitAlarmLow = v
!call Log_4('PitAlarmLow=', PitAlarmLow)
#ifdef deb
print*, 'PitAlarmLow=', PitAlarmLow
print*, 'PitAlarmLow=', DataDisplayConsole%PitAlarmLow
#endif
end subroutine

@@ -78,10 +76,10 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetPitAlarmHigh' :: SetPitAlarmHigh
implicit none
real*8, intent(in) :: v
PitAlarmHigh = v
DataDisplayConsole%PitAlarmHigh = v
!call Log_4('PitAlarmHigh=', PitAlarmHigh)
#ifdef deb
print*, 'PitAlarmHigh=', PitAlarmHigh
print*, 'PitAlarmHigh=', DataDisplayConsole%PitAlarmHigh
#endif
end subroutine
@@ -106,9 +104,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetTripTankSetAlarmLow' :: SetTripTankSetAlarmLow
implicit none
real*8, intent(in) :: v
TripTankSetAlarmLow = v
DataDisplayConsole%TripTankSetAlarmLow = v
#ifdef deb
print*, 'TripTankSetAlarmLow=', TripTankSetAlarmLow
print*, 'TripTankSetAlarmLow=', DataDisplayConsole%TripTankSetAlarmLow
#endif
end subroutine

@@ -117,9 +115,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetTripTankSetAlarmHigh' :: SetTripTankSetAlarmHigh
implicit none
real*8, intent(in) :: v
TripTankSetAlarmHigh = v
DataDisplayConsole%TripTankSetAlarmHigh = v
#ifdef deb
print*, 'TripTankSetAlarmHigh=', TripTankSetAlarmHigh
print*, 'TripTankSetAlarmHigh=', DataDisplayConsole%TripTankSetAlarmHigh
#endif
end subroutine

@@ -128,9 +126,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetTripTankSetAlarmSwitch' :: SetTripTankSetAlarmSwitch
implicit none
integer, intent(in) :: v
TripTankSetAlarmSwitch = v
DataDisplayConsole%TripTankSetAlarmSwitch = v
#ifdef deb
print*, 'TripTankSetAlarmSwitch=', TripTankSetAlarmSwitch
print*, 'TripTankSetAlarmSwitch=', DataDisplayConsole%TripTankSetAlarmSwitch
#endif
end subroutine

@@ -140,10 +138,10 @@ module CDataDisplayConsole
use CTanksVariables, only: Set_ManualPumpPower
implicit none
logical, intent(in) :: v
TripTankPowerSwitch = v
if(TripTankPowerSwitch) call Set_ManualPumpPower(TripTankPumpSwitch)
DataDisplayConsole%TripTankPowerSwitch = v
if(DataDisplayConsole%TripTankPowerSwitch) call Set_ManualPumpPower(DataDisplayConsole%TripTankPumpSwitch)
#ifdef deb
print*, 'TripTankPowerSwitch=', TripTankPowerSwitch
print*, 'TripTankPowerSwitch=', DataDisplayConsole%TripTankPowerSwitch
#endif
end subroutine

@@ -153,10 +151,10 @@ module CDataDisplayConsole
use CTanksVariables, only: Set_ManualPumpPower
implicit none
logical, intent(in) :: v
TripTankPumpSwitch = v
if(TripTankPowerSwitch) call Set_ManualPumpPower(TripTankPumpSwitch)
DataDisplayConsole%TripTankPumpSwitch = v
if(DataDisplayConsole%TripTankPowerSwitch) call Set_ManualPumpPower(DataDisplayConsole%TripTankPumpSwitch)
#ifdef deb
print*, 'TripTankPumpSwitch=', TripTankPumpSwitch
print*, 'TripTankPumpSwitch=', DataDisplayConsole%TripTankPumpSwitch
#endif
end subroutine

@@ -165,9 +163,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetTripTankHornSwitch' :: SetTripTankHornSwitch
implicit none
logical, intent(in) :: v
TripTankHornSwitch = v
DataDisplayConsole%TripTankHornSwitch = v
#ifdef deb
print*, 'TripTankHornSwitch=', TripTankHornSwitch
print*, 'TripTankHornSwitch=', DataDisplayConsole%TripTankHornSwitch
#endif
end subroutine

@@ -176,9 +174,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetAcidGasDetectionHornSwitch' :: SetAcidGasDetectionHornSwitch
implicit none
logical, intent(in) :: v
AcidGasDetectionHornSwitch = v
DataDisplayConsole%AcidGasDetectionHornSwitch = v
#ifdef deb
print*, 'AcidGasDetectionHornSwitch=', AcidGasDetectionHornSwitch
print*, 'AcidGasDetectionHornSwitch=', DataDisplayConsole%AcidGasDetectionHornSwitch
#endif
end subroutine

@@ -187,9 +185,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetTotalStrokeCounterResetSwitch' :: SetTotalStrokeCounterResetSwitch
implicit none
logical, intent(in) :: v
TotalStrokeCounterResetSwitch = v
DataDisplayConsole%TotalStrokeCounterResetSwitch = v
#ifdef deb
print*, 'TotalStrokeCounterResetSwitch=', TotalStrokeCounterResetSwitch
print*, 'TotalStrokeCounterResetSwitch=', DataDisplayConsole%TotalStrokeCounterResetSwitch
#endif
end subroutine

@@ -199,10 +197,10 @@ module CDataDisplayConsole
use CCommonVariables
implicit none
logical, intent(in) :: v
DrillingTrippingSelectorSwitch = v
DataDisplayConsole%DrillingTrippingSelectorSwitch = v
DrillWatchOperationMode = v
#ifdef deb
print*, 'DrillingTrippingSelectorSwitch=', DrillingTrippingSelectorSwitch
print*, 'DrillingTrippingSelectorSwitch=', DataDisplayConsole%DrillingTrippingSelectorSwitch
#endif
end subroutine

@@ -211,9 +209,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTSetAlarmLowKnob' :: SetMVTSetAlarmLowKnob
implicit none
real*8, intent(in) :: v
MVTSetAlarmLowKnob = v
DataDisplayConsole%MVTSetAlarmLowKnob = v
#ifdef deb
print*, 'MVTSetAlarmLowKnob=', MVTSetAlarmLowKnob
print*, 'MVTSetAlarmLowKnob=', DataDisplayConsole%MVTSetAlarmLowKnob
#endif
end subroutine

@@ -222,9 +220,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTSetAlarmHighKnob' :: SetMVTSetAlarmHighKnob
implicit none
real*8, intent(in) :: v
MVTSetAlarmHighKnob = v
DataDisplayConsole%MVTSetAlarmHighKnob = v
#ifdef deb
print*, 'MVTSetAlarmHighKnob=', MVTSetAlarmHighKnob
print*, 'MVTSetAlarmHighKnob=', DataDisplayConsole%MVTSetAlarmHighKnob
#endif
end subroutine

@@ -233,9 +231,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTSetAlarmSwitch' :: SetMVTSetAlarmSwitch
implicit none
integer, intent(in) :: v
MVTSetAlarmSwitch = v
DataDisplayConsole%MVTSetAlarmSwitch = v
#ifdef deb
print*, 'MVTSetAlarmSwitch=', MVTSetAlarmSwitch
print*, 'MVTSetAlarmSwitch=', DataDisplayConsole%MVTSetAlarmSwitch
#endif
end subroutine

@@ -244,9 +242,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMudTank1Switch' :: SetMudTank1Switch
implicit none
logical, intent(in) :: v
MudTank1Switch = v
DataDisplayConsole%MudTank1Switch = v
#ifdef deb
print*, 'MudTank1Switch=', MudTank1Switch
print*, 'MudTank1Switch=', DataDisplayConsole%MudTank1Switch
#endif
end subroutine

@@ -255,9 +253,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMudTank2Switch' :: SetMudTank2Switch
implicit none
logical, intent(in) :: v
MudTank2Switch = v
DataDisplayConsole%MudTank2Switch = v
#ifdef deb
print*, 'MudTank2Switch=', MudTank2Switch
print*, 'MudTank2Switch=', DataDisplayConsole%MudTank2Switch
#endif
end subroutine

@@ -266,9 +264,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMudTank3Switch' :: SetMudTank3Switch
implicit none
logical, intent(in) :: v
MudTank3Switch = v
DataDisplayConsole%MudTank3Switch = v
#ifdef deb
print*, 'MudTank3Switch=', MudTank3Switch
print*, 'MudTank3Switch=', DataDisplayConsole%MudTank3Switch
#endif
end subroutine

@@ -277,9 +275,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMudTank4Switch' :: SetMudTank4Switch
implicit none
logical, intent(in) :: v
MudTank4Switch = v
DataDisplayConsole%MudTank4Switch = v
#ifdef deb
print*, 'MudTank4Switch=', MudTank4Switch
print*, 'MudTank4Switch=', DataDisplayConsole%MudTank4Switch
#endif
end subroutine

@@ -288,9 +286,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTFineKnob' :: SetMVTFineKnob
implicit none
real*8, intent(in) :: v
MVTFineKnob = v
DataDisplayConsole%MVTFineKnob = v
#ifdef deb
print*, 'MVTFineKnob=', MVTFineKnob
print*, 'MVTFineKnob=', DataDisplayConsole%MVTFineKnob
#endif
end subroutine

@@ -299,9 +297,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTCoarseKnob' :: SetMVTCoarseKnob
implicit none
real*8, intent(in) :: v
MVTCoarseKnob = v
DataDisplayConsole%MVTCoarseKnob = v
#ifdef deb
print*, 'MVTCoarseKnob=', MVTCoarseKnob
print*, 'MVTCoarseKnob=', DataDisplayConsole%MVTCoarseKnob
#endif
end subroutine

@@ -310,9 +308,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTHornSwitch' :: SetMVTHornSwitch
implicit none
logical, intent(in) :: v
MVTHornSwitch = v
DataDisplayConsole%MVTHornSwitch = v
#ifdef deb
print*, 'MVTHornSwitch=', MVTHornSwitch
print*, 'MVTHornSwitch=', DataDisplayConsole%MVTHornSwitch
#endif
end subroutine

@@ -321,9 +319,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTDeviationTripSelectionSwitch' :: SetMVTDeviationTripSelectionSwitch
implicit none
logical, intent(in) :: v
MVTDeviationTripSelectionSwitch = v
DataDisplayConsole%MVTDeviationTripSelectionSwitch = v
#ifdef deb
print*, 'MVTDeviationTripSelectionSwitch=', MVTDeviationTripSelectionSwitch
print*, 'MVTDeviationTripSelectionSwitch=', DataDisplayConsole%MVTDeviationTripSelectionSwitch
#endif
end subroutine

@@ -332,9 +330,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMVTPowerSwitch' :: SetMVTPowerSwitch
implicit none
logical, intent(in) :: v
MVTPowerSwitch = v
DataDisplayConsole%MVTPowerSwitch = v
#ifdef deb
print*, 'MVTPowerSwitch=', MVTPowerSwitch
print*, 'MVTPowerSwitch=', DataDisplayConsole%MVTPowerSwitch
#endif
end subroutine

@@ -343,9 +341,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFIResetTotalStrokes' :: SetMFFIResetTotalStrokes
implicit none
logical, intent(in) :: v
MFFIResetTotalStrokes = v
DataDisplayConsole%MFFIResetTotalStrokes = v
#ifdef deb
print*, 'MFFIResetTotalStrokes=', MFFIResetTotalStrokes
print*, 'MFFIResetTotalStrokes=', DataDisplayConsole%MFFIResetTotalStrokes
#endif
end subroutine

@@ -354,9 +352,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFIResetFillCounter' :: SetMFFIResetFillCounter
implicit none
logical, intent(in) :: v
MFFIResetFillCounter = v
DataDisplayConsole%MFFIResetFillCounter = v
#ifdef deb
print*, 'MFFIResetFillCounter=', MFFIResetFillCounter
print*, 'MFFIResetFillCounter=', DataDisplayConsole%MFFIResetFillCounter
#endif
end subroutine

@@ -365,9 +363,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFIPumpSelectorSwitch' :: SetMFFIPumpSelectorSwitch
implicit none
integer, intent(in) :: v
MFFIPumpSelectorSwitch = v
DataDisplayConsole%MFFIPumpSelectorSwitch = v
#ifdef deb
print*, 'MFFIPumpSelectorSwitch=', MFFIPumpSelectorSwitch
print*, 'MFFIPumpSelectorSwitch=', DataDisplayConsole%MFFIPumpSelectorSwitch
#endif
end subroutine

@@ -376,9 +374,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFIFillSPMSelectorSwitch' :: SetMFFIFillSPMSelectorSwitch
implicit none
logical, intent(in) :: v
MFFIFillSPMSelectorSwitch = v
DataDisplayConsole%MFFIFillSPMSelectorSwitch = v
#ifdef deb
print*, 'MFFIFillSPMSelectorSwitch=', MFFIFillSPMSelectorSwitch
print*, 'MFFIFillSPMSelectorSwitch=', DataDisplayConsole%MFFIFillSPMSelectorSwitch
#endif
end subroutine

@@ -387,9 +385,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFISetAlarmLowKnob' :: SetMFFISetAlarmLowKnob
implicit none
real*8, intent(in) :: v
MFFISetAlarmLowKnob = v
DataDisplayConsole%MFFISetAlarmLowKnob = v
#ifdef deb
print*, 'MFFISetAlarmLowKnob=', MFFISetAlarmLowKnob
print*, 'MFFISetAlarmLowKnob=', DataDisplayConsole%MFFISetAlarmLowKnob
#endif
end subroutine

@@ -398,9 +396,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFISetAlarmHighKnob' :: SetMFFISetAlarmHighKnob
implicit none
real*8, intent(in) :: v
MFFISetAlarmHighKnob = v
DataDisplayConsole%MFFISetAlarmHighKnob = v
#ifdef deb
print*, 'MFFISetAlarmHighKnob=', MFFISetAlarmHighKnob
print*, 'MFFISetAlarmHighKnob=', DataDisplayConsole%MFFISetAlarmHighKnob
#endif
end subroutine

@@ -409,9 +407,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFISetAlarmSwitch' :: SetMFFISetAlarmSwitch
implicit none
integer, intent(in) :: v
MFFISetAlarmSwitch = v
DataDisplayConsole%MFFISetAlarmSwitch = v
#ifdef deb
print*, 'MFFISetAlarmSwitch=', MFFISetAlarmSwitch
print*, 'MFFISetAlarmSwitch=', DataDisplayConsole%MFFISetAlarmSwitch
#endif
end subroutine

@@ -420,9 +418,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFIPowerSwitch' :: SetMFFIPowerSwitch
implicit none
logical, intent(in) :: v
MFFIPowerSwitch = v
DataDisplayConsole%MFFIPowerSwitch = v
#ifdef deb
print*, 'MFFIPowerSwitch=', MFFIPowerSwitch
print*, 'MFFIPowerSwitch=', DataDisplayConsole%MFFIPowerSwitch
#endif
end subroutine

@@ -431,9 +429,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMFFIHornSwitch' :: SetMFFIHornSwitch
implicit none
logical, intent(in) :: v
MFFIHornSwitch = v
DataDisplayConsole%MFFIHornSwitch = v
#ifdef deb
print*, 'MFFIHornSwitch=', MFFIHornSwitch
print*, 'MFFIHornSwitch=', DataDisplayConsole%MFFIHornSwitch
#endif
end subroutine
@@ -453,9 +451,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetResetWob' :: SetResetWob
implicit none
logical, intent(in) :: v
ResetWob = v
DataDisplayConsole%ResetWob = v
#ifdef deb
print*, 'ResetWob=', ResetWob
print*, 'ResetWob=', DataDisplayConsole%ResetWob
#endif
end subroutine
@@ -464,9 +462,9 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES ALIAS: 'SetClutch' :: SetClutch
implicit none
logical, intent(in) :: v
Clutch = v
DataDisplayConsole%Clutch = v
#ifdef deb
print*, 'Clutch=', Clutch
print*, 'Clutch=', DataDisplayConsole%Clutch
#endif
end subroutine

@@ -476,21 +474,21 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetWOBPointer
!DEC$ ATTRIBUTES ALIAS: 'GetWOBPointer' :: GetWOBPointer
implicit none
GetWOBPointer = WOBPointer
GetWOBPointer = DataDisplayConsole%WOBPointer
end function

real(8) function GetHookLoadPointer()
!DEC$ ATTRIBUTES DLLEXPORT :: GetHookLoadPointer
!DEC$ ATTRIBUTES ALIAS: 'GetHookLoadPointer' :: GetHookLoadPointer
implicit none
GetHookLoadPointer = HookLoadPointer
GetHookLoadPointer = DataDisplayConsole%HookLoadPointer
end function

real(8) function GetTripTankGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankGauge
!DEC$ ATTRIBUTES ALIAS: 'GetTripTankGauge' :: GetTripTankGauge
implicit none
GetTripTankGauge = TripTankGauge / 42.0
GetTripTankGauge = DataDisplayConsole%TripTankGauge / 42.0
!GetTripTankGauge = 23
end function

@@ -498,7 +496,7 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankAlarmLED
!DEC$ ATTRIBUTES ALIAS: 'GetTripTankAlarmLED' :: GetTripTankAlarmLED
implicit none
GetTripTankAlarmLED = TripTankAlarmLED
GetTripTankAlarmLED = DataDisplayConsole%TripTankAlarmLED
!GetTripTankAlarmLED = 1
end function

@@ -506,70 +504,70 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankPumpLED
!DEC$ ATTRIBUTES ALIAS: 'GetTripTankPumpLED' :: GetTripTankPumpLED
implicit none
GetTripTankPumpLED = TripTankPumpLED
GetTripTankPumpLED = DataDisplayConsole%TripTankPumpLED
end function

real(8) function GetStandPipePressureGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipePressureGauge
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipePressureGauge' :: GetStandPipePressureGauge
implicit none
GetStandPipePressureGauge = StandPipePressureGauge
GetStandPipePressureGauge = DataDisplayConsole%StandPipePressureGauge
end function

real(8) function GetCasingPressureGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressureGauge
!DEC$ ATTRIBUTES ALIAS: 'GetCasingPressureGauge' :: GetCasingPressureGauge
implicit none
GetCasingPressureGauge = CasingPressureGauge
GetCasingPressureGauge = DataDisplayConsole%CasingPressureGauge
end function

real(8) function GetMP1SPMGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMP1SPMGauge
!DEC$ ATTRIBUTES ALIAS: 'GetMP1SPMGauge' :: GetMP1SPMGauge
implicit none
GetMP1SPMGauge = MP1SPMGauge
GetMP1SPMGauge = DataDisplayConsole%MP1SPMGauge
end function

real(8) function GetMP2SPMGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMP2SPMGauge
!DEC$ ATTRIBUTES ALIAS: 'GetMP2SPMGauge' :: GetMP2SPMGauge
implicit none
GetMP2SPMGauge = MP2SPMGauge
GetMP2SPMGauge = DataDisplayConsole%MP2SPMGauge
end function

real(8) function GetReturnLineTempGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetReturnLineTempGauge
!DEC$ ATTRIBUTES ALIAS: 'GetReturnLineTempGauge' :: GetReturnLineTempGauge
implicit none
GetReturnLineTempGauge = ReturnLineTempGauge
GetReturnLineTempGauge = DataDisplayConsole%ReturnLineTempGauge
end function

real(8) function GetRotaryTorqueGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetRotaryTorqueGauge
!DEC$ ATTRIBUTES ALIAS: 'GetRotaryTorqueGauge' :: GetRotaryTorqueGauge
implicit none
GetRotaryTorqueGauge = RotaryTorqueGauge
GetRotaryTorqueGauge = DataDisplayConsole%RotaryTorqueGauge
end function

real(8) function GetRotaryRPMGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetRotaryRPMGauge
!DEC$ ATTRIBUTES ALIAS: 'GetRotaryRPMGauge' :: GetRotaryRPMGauge
implicit none
GetRotaryRPMGauge = RotaryRPMGauge
GetRotaryRPMGauge = DataDisplayConsole%RotaryRPMGauge
end function

integer function GetAcidGasDetectionLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAcidGasDetectionLED
!DEC$ ATTRIBUTES ALIAS: 'GetAcidGasDetectionLED' :: GetAcidGasDetectionLED
implicit none
GetAcidGasDetectionLED = AcidGasDetectionLED
GetAcidGasDetectionLED = DataDisplayConsole%AcidGasDetectionLED
end function

real(8) function GetTotalStrokeCounter()
!DEC$ ATTRIBUTES DLLEXPORT :: GetTotalStrokeCounter
!DEC$ ATTRIBUTES ALIAS: 'GetTotalStrokeCounter' :: GetTotalStrokeCounter
implicit none
GetTotalStrokeCounter = TotalStrokeCounter
GetTotalStrokeCounter = DataDisplayConsole%TotalStrokeCounter
!GetTotalStrokeCounter = 456.9
end function

@@ -577,7 +575,7 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetPitGainLossGauge
!DEC$ ATTRIBUTES ALIAS: 'GetPitGainLossGauge' :: GetPitGainLossGauge
implicit none
GetPitGainLossGauge = PitGainLossGauge
GetPitGainLossGauge = DataDisplayConsole%PitGainLossGauge
!GetPitGainLossGauge = 44
end function

@@ -585,14 +583,14 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetMudTanksVolumeGauge
!DEC$ ATTRIBUTES ALIAS: 'GetMudTanksVolumeGauge' :: GetMudTanksVolumeGauge
implicit none
GetMudTanksVolumeGauge = MudTanksVolumeGauge / 42.0
GetMudTanksVolumeGauge = DataDisplayConsole%MudTanksVolumeGauge / 42.0
end function

integer function GetMVTAlarmLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMVTAlarmLED
!DEC$ ATTRIBUTES ALIAS: 'GetMVTAlarmLED' :: GetMVTAlarmLED
implicit none
GetMVTAlarmLED = MVTAlarmLED
GetMVTAlarmLED = DataDisplayConsole%MVTAlarmLED
!GetMVTAlarmLED = 1
end function

@@ -600,7 +598,7 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetReturnMudFlowGauge
!DEC$ ATTRIBUTES ALIAS: 'GetReturnMudFlowGauge' :: GetReturnMudFlowGauge
implicit none
GetReturnMudFlowGauge = ReturnMudFlowGauge
GetReturnMudFlowGauge = DataDisplayConsole%ReturnMudFlowGauge
!GetReturnMudFlowGauge = 12
end function

@@ -608,21 +606,21 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetFillStrokeCounter
!DEC$ ATTRIBUTES ALIAS: 'GetFillStrokeCounter' :: GetFillStrokeCounter
implicit none
GetFillStrokeCounter = FillStrokeCounter
GetFillStrokeCounter = DataDisplayConsole%FillStrokeCounter
end function

real(8) function GetMFFITotalStrokeCounter()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMFFITotalStrokeCounter
!DEC$ ATTRIBUTES ALIAS: 'GetMFFITotalStrokeCounter' :: GetMFFITotalStrokeCounter
implicit none
GetMFFITotalStrokeCounter = MFFITotalStrokeCounter
GetMFFITotalStrokeCounter = DataDisplayConsole%MFFITotalStrokeCounter
end function

integer function GetMFFIAlarmLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMFFIAlarmLED
!DEC$ ATTRIBUTES ALIAS: 'GetMFFIAlarmLED' :: GetMFFIAlarmLED
implicit none
GetMFFIAlarmLED = MFFIAlarmLED
GetMFFIAlarmLED = DataDisplayConsole%MFFIAlarmLED
!GetMFFIAlarmLED = 1
end function

@@ -630,105 +628,105 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetMFFIPumpLED
!DEC$ ATTRIBUTES ALIAS: 'GetMFFIPumpLED' :: GetMFFIPumpLED
implicit none
GetMFFIPumpLED = MFFIPumpLED
GetMFFIPumpLED = DataDisplayConsole%MFFIPumpLED
end function

real(8) function GetTotalWellDepth()
!DEC$ ATTRIBUTES DLLEXPORT :: GetTotalWellDepth
!DEC$ ATTRIBUTES ALIAS: 'GetTotalWellDepth' :: GetTotalWellDepth
implicit none
GetTotalWellDepth = TotalWellDepth
GetTotalWellDepth = DataDisplayConsole%TotalWellDepth
end function

real(8) function GetBitDepth()
!DEC$ ATTRIBUTES DLLEXPORT :: GetBitDepth
!DEC$ ATTRIBUTES ALIAS: 'GetBitDepth' :: GetBitDepth
implicit none
GetBitDepth = BitDepth
GetBitDepth = DataDisplayConsole%BitDepth
end function

real(8) function GetHookLoad()
!DEC$ ATTRIBUTES DLLEXPORT :: GetHookLoad
!DEC$ ATTRIBUTES ALIAS: 'GetHookLoad' :: GetHookLoad
implicit none
GetHookLoad = HookLoad
GetHookLoad = DataDisplayConsole%HookLoad
end function

real(8) function GetStandPipePressure2()
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipePressure2
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipePressure2' :: GetStandPipePressure2
implicit none
GetStandPipePressure2 = StandPipePressure
GetStandPipePressure2 = DataDisplayConsole%StandPipePressure
end function

real(8) function GetCasingPressure2()
!DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressure2
!DEC$ ATTRIBUTES ALIAS: 'GetCasingPressure2' :: GetCasingPressure2
implicit none
GetCasingPressure2 = CasingPressure
GetCasingPressure2 = DataDisplayConsole%CasingPressure
end function

real(8) function GetMP1SPM()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMP1SPM
!DEC$ ATTRIBUTES ALIAS: 'GetMP1SPM' :: GetMP1SPM
implicit none
GetMP1SPM = MP1SPM
GetMP1SPM = DataDisplayConsole%MP1SPM
end function

real(8) function GetMP2SPM()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMP2SPM
!DEC$ ATTRIBUTES ALIAS: 'GetMP2SPM' :: GetMP2SPM
implicit none
GetMP2SPM = MP2SPM
GetMP2SPM = DataDisplayConsole%MP2SPM
end function

real(8) function GetRTTorque()
!DEC$ ATTRIBUTES DLLEXPORT :: GetRTTorque
!DEC$ ATTRIBUTES ALIAS: 'GetRTTorque' :: GetRTTorque
implicit none
GetRTTorque = RTTorque
GetRTTorque = DataDisplayConsole%RTTorque
end function

real(8) function GetRTRPM()
!DEC$ ATTRIBUTES DLLEXPORT :: GetRTRPM
!DEC$ ATTRIBUTES ALIAS: 'GetRTRPM' :: GetRTRPM
implicit none
GetRTRPM = RTRPM
GetRTRPM = DataDisplayConsole%RTRPM
end function

real(8) function GetWOP()
!DEC$ ATTRIBUTES DLLEXPORT :: GetWOP
!DEC$ ATTRIBUTES ALIAS: 'GetWOP' :: GetWOP
implicit none
GetWOP = WOP
GetWOP = DataDisplayConsole%WOP
end function

real(8) function GetROP()
!DEC$ ATTRIBUTES DLLEXPORT :: GetROP
!DEC$ ATTRIBUTES ALIAS: 'GetROP' :: GetROP
implicit none
GetROP = ROP
GetROP = DataDisplayConsole%ROP
end function

real(8) function GetMudWeightIn()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMudWeightIn
!DEC$ ATTRIBUTES ALIAS: 'GetMudWeightIn' :: GetMudWeightIn
implicit none
GetMudWeightIn = MudWeightIn
GetMudWeightIn = DataDisplayConsole%MudWeightIn
end function

real(8) function GetMudWeightOut()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMudWeightOut
!DEC$ ATTRIBUTES ALIAS: 'GetMudWeightOut' :: GetMudWeightOut
implicit none
GetMudWeightOut = MudWeightOut
GetMudWeightOut = DataDisplayConsole%MudWeightOut
end function
logical function GetBuzzer1()
!DEC$ ATTRIBUTES DLLEXPORT :: GetBuzzer1
!DEC$ ATTRIBUTES ALIAS: 'GetBuzzer1' :: GetBuzzer1
implicit none
GetBuzzer1 = Buzzer1
GetBuzzer1 = DataDisplayConsole%Buzzer1
!GetBuzzer1 = .true.
end function

@@ -736,7 +734,7 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetBuzzer2
!DEC$ ATTRIBUTES ALIAS: 'GetBuzzer2' :: GetBuzzer2
implicit none
GetBuzzer2 = Buzzer2
GetBuzzer2 = DataDisplayConsole%Buzzer2
!GetBuzzer2 = .true.
end function

@@ -744,7 +742,7 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetBuzzer3
!DEC$ ATTRIBUTES ALIAS: 'GetBuzzer3' :: GetBuzzer3
implicit none
GetBuzzer3 = Buzzer3
GetBuzzer3 = DataDisplayConsole%Buzzer3
!GetBuzzer3 = .true.
end function

@@ -752,7 +750,7 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetBuzzer4
!DEC$ ATTRIBUTES ALIAS: 'GetBuzzer4' :: GetBuzzer4
implicit none
GetBuzzer4 = Buzzer4
GetBuzzer4 = DataDisplayConsole%Buzzer4
!GetBuzzer4 = .true.
end function
@@ -770,28 +768,28 @@ module CDataDisplayConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetPortWeightOnBit
!DEC$ ATTRIBUTES ALIAS: 'GetPortWeightOnBit' :: GetPortWeightOnBit
implicit none
GetPortWeightOnBit = PortWeightOnBit
GetPortWeightOnBit = DataDisplayConsole%PortWeightOnBit
end function

real(8) function GetPortHookLoad()
!DEC$ ATTRIBUTES DLLEXPORT :: GetPortHookLoad
!DEC$ ATTRIBUTES ALIAS: 'GetPortHookLoad' :: GetPortHookLoad
implicit none
GetPortHookLoad = PortHookLoad
GetPortHookLoad = DataDisplayConsole%PortHookLoad
end function

real(8) function GetPortCasingPressure()
!DEC$ ATTRIBUTES DLLEXPORT :: GetPortCasingPressure
!DEC$ ATTRIBUTES ALIAS: 'GetPortCasingPressure' :: GetPortCasingPressure
implicit none
GetPortCasingPressure = PortCasingPressure
GetPortCasingPressure = DataDisplayConsole%PortCasingPressure
end function

real(8) function GetPortPumpPressure()
!DEC$ ATTRIBUTES DLLEXPORT :: GetPortPumpPressure
!DEC$ ATTRIBUTES ALIAS: 'GetPortPumpPressure' :: GetPortPumpPressure
implicit none
GetPortPumpPressure = PortPumpPressure
GetPortPumpPressure = DataDisplayConsole%PortPumpPressure
end function



+ 149
- 155
CSharp/Equipments/ControlPanels/CDataDisplayConsoleVariables.f90 View File

@@ -4,98 +4,100 @@ module CDataDisplayConsoleVariables
implicit none
public
!portable
real(8) :: TripAlarmLow
real(8) :: TripAlarmHigh
real(8) :: RetFlowAlarmLow
real(8) :: RetFlowAlarmHigh
real(8) :: PitAlarmLow
real(8) :: PitAlarmHigh
real(8) :: PortWeightOnBit
real(8) :: PortHookLoad
real(8) :: PortCasingPressure
real(8) :: PortPumpPressure
! Input vars
real(8) :: TripTankSetAlarmLow
real(8) :: TripTankSetAlarmHigh
integer :: TripTankSetAlarmSwitch
logical :: TripTankPowerSwitch
logical :: TripTankPumpSwitch
logical :: TripTankHornSwitch
logical :: AcidGasDetectionHornSwitch
logical :: TotalStrokeCounterResetSwitch
logical :: DrillingTrippingSelectorSwitch
real(8) :: MVTSetAlarmLowKnob
real(8) :: MVTSetAlarmHighKnob
integer :: MVTSetAlarmSwitch
logical :: MudTank1Switch
logical :: MudTank2Switch
logical :: MudTank3Switch
logical :: MudTank4Switch
real(8) :: MVTFineKnob
real(8) :: MVTCoarseKnob
logical :: MVTHornSwitch
logical :: MVTDeviationTripSelectionSwitch
logical :: MVTPowerSwitch
logical :: MFFIResetTotalStrokes
logical :: MFFIResetFillCounter
integer :: MFFIPumpSelectorSwitch
logical :: MFFIFillSPMSelectorSwitch
real(8) :: MFFISetAlarmLowKnob
real(8) :: MFFISetAlarmHighKnob
integer :: MFFISetAlarmSwitch
logical :: MFFIPowerSwitch
logical :: MFFIHornSwitch
logical :: ResetWob
logical :: Clutch
Type :: DataDisplayConsoleType
!portable
real(8) :: TripAlarmLow
real(8) :: TripAlarmHigh
real(8) :: RetFlowAlarmLow
real(8) :: RetFlowAlarmHigh
real(8) :: PitAlarmLow
real(8) :: PitAlarmHigh
real(8) :: PortWeightOnBit
real(8) :: PortHookLoad
real(8) :: PortCasingPressure
real(8) :: PortPumpPressure

! Input vars
real(8) :: TripTankSetAlarmLow
real(8) :: TripTankSetAlarmHigh
integer :: TripTankSetAlarmSwitch
logical :: TripTankPowerSwitch
logical :: TripTankPumpSwitch
logical :: TripTankHornSwitch
logical :: AcidGasDetectionHornSwitch
logical :: TotalStrokeCounterResetSwitch
logical :: DrillingTrippingSelectorSwitch
real(8) :: MVTSetAlarmLowKnob
real(8) :: MVTSetAlarmHighKnob
integer :: MVTSetAlarmSwitch
logical :: MudTank1Switch
logical :: MudTank2Switch
logical :: MudTank3Switch
logical :: MudTank4Switch
real(8) :: MVTFineKnob
real(8) :: MVTCoarseKnob
logical :: MVTHornSwitch
logical :: MVTDeviationTripSelectionSwitch
logical :: MVTPowerSwitch
logical :: MFFIResetTotalStrokes
logical :: MFFIResetFillCounter
integer :: MFFIPumpSelectorSwitch
logical :: MFFIFillSPMSelectorSwitch
real(8) :: MFFISetAlarmLowKnob
real(8) :: MFFISetAlarmHighKnob
integer :: MFFISetAlarmSwitch
logical :: MFFIPowerSwitch
logical :: MFFIHornSwitch
logical :: ResetWob
logical :: Clutch

! Output vars
real(8) :: WOBPointer
real(8) :: HookLoadPointer
real(8) :: TripTankGauge
integer :: TripTankAlarmLED
integer :: TripTankPumpLED
real(8) :: StandPipePressureGauge
real(8) :: CasingPressureGauge
real(8) :: MP1SPMGauge
real(8) :: MP2SPMGauge
real(8) :: ReturnLineTempGauge
real(8) :: RotaryTorqueGauge
real(8) :: RotaryRPMGauge
type(DoubleEventHandlerCollection) :: OnRotaryRpmChange
integer :: AcidGasDetectionLED
real(8) :: TotalStrokeCounter
!real(8) :: TotalStrokeCounter_temp
real(8) :: PitGainLossGauge
real(8) :: MudTanksVolumeGauge
integer :: MVTAlarmLED
real(8) :: ReturnMudFlowGauge
real(8) :: FillStrokeCounter
real(8) :: MFFITotalStrokeCounter
integer :: MFFIAlarmLED
integer :: MFFIPumpLED
real(8) :: TotalWellDepth
real(8) :: BitDepth
real(8) :: HookLoad
real(8) :: StandPipePressure
real(8) :: CasingPressure
real(8) :: MP1SPM
real(8) :: MP2SPM
real(8) :: RTTorque
real(8) :: RTRPM
real(8) :: WOP
real(8) :: ROP
real(8) :: MudWeightIn
real(8) :: MudWeightOut
logical :: Buzzer1
logical :: Buzzer2
logical :: Buzzer3
logical :: Buzzer4
End Type DataDisplayConsoleType
Type(DataDisplayConsoleType) :: DataDisplayConsole

! Output vars
real(8) :: WOBPointer
real(8) :: HookLoadPointer
real(8) :: TripTankGauge
integer :: TripTankAlarmLED
integer :: TripTankPumpLED
real(8) :: StandPipePressureGauge
real(8) :: CasingPressureGauge
real(8) :: MP1SPMGauge
real(8) :: MP2SPMGauge
real(8) :: ReturnLineTempGauge
real(8) :: RotaryTorqueGauge
real(8) :: RotaryRPMGauge
type(DoubleEventHandlerCollection) :: OnRotaryRpmChange
integer :: AcidGasDetectionLED
real(8) :: TotalStrokeCounter
!real(8) :: TotalStrokeCounter_temp
real(8) :: PitGainLossGauge
real(8) :: MudTanksVolumeGauge
integer :: MVTAlarmLED
real(8) :: ReturnMudFlowGauge
real(8) :: FillStrokeCounter
real(8) :: MFFITotalStrokeCounter
integer :: MFFIAlarmLED
integer :: MFFIPumpLED
real(8) :: TotalWellDepth
real(8) :: BitDepth
real(8) :: HookLoad
real(8) :: StandPipePressure
real(8) :: CasingPressure
real(8) :: MP1SPM
real(8) :: MP2SPM
real(8) :: RTTorque
real(8) :: RTRPM
real(8) :: WOP
real(8) :: ROP
real(8) :: MudWeightIn
real(8) :: MudWeightOut
logical :: Buzzer1
logical :: Buzzer2
logical :: Buzzer3
logical :: Buzzer4
! events
procedure (ActionDualDouble), pointer :: PumpsSpmChanges => null()
@@ -103,117 +105,109 @@ module CDataDisplayConsoleVariables
subroutine Set_TotalDepth(v)
use CDrillWatchVariables, only: Depth
use CDrillWatchVariables!!, only: DrillingWatch%Depth
use CSimulationVariables, only: SetDistanceDrilled
implicit none
real(8), intent(in) :: v
TotalWellDepth = v
Depth = v
DataDisplayConsole%TotalWellDepth = v
DrillingWatch%Depth = v
call SetDistanceDrilled(v)
end subroutine
subroutine Set_BitPosition(v)
use CDrillWatchVariables, only: BitPosition
use CDrillWatchVariables!!, only: DrillingWatch%BitPosition
implicit none
real(8), intent(in) :: v
BitDepth = v
BitPosition = v
DataDisplayConsole%BitDepth = v
DrillingWatch%BitPosition = v
end subroutine
subroutine Set_RotaryTorque(v)
use CDrillWatchVariables, only: Torque
use CDrillWatchVariables!!, only: DrillingWatch%Torque
implicit none
real(8), intent(in) :: v
RotaryTorqueGauge = v
Torque = v
RTTorque = v
DataDisplayConsole%RotaryTorqueGauge = v
DrillingWatch%Torque = v
DataDisplayConsole%RTTorque = v
end subroutine
subroutine Set_MudWeightIn(v)
use CDrillWatchVariables, only: MudWeightInDw => MudWeightIn
use CDrillWatchVariables!, only: MudWeightInDw => DataDisplayConsole%MudWeightIn
implicit none
real(8), intent(in) :: v
MudWeightIn = v
MudWeightInDw = v
DataDisplayConsole%MudWeightIn = v
DrillingWatch%MudWeightIn = v
end subroutine
subroutine Set_MudWeightOut(v)
use CDrillWatchVariables, only: MudWeightOutDw => MudWeightOut
use CDrillWatchVariables!, only: MudWeightOutDw => DataDisplayConsole%MudWeightOut
implicit none
real(8), intent(in) :: v
MudWeightOut = v
MudWeightOutDw = v
DataDisplayConsole%MudWeightOut = v
DrillingWatch%MudWeightOut = v
end subroutine
subroutine Set_TripTankVolume(v)
use CDrillWatchVariables, only: TripTankVolume
use CDrillWatchVariables!, only: DrillingWatch%TripTankVolume
implicit none
real(8), intent(in) :: v
TripTankVolume = v
DrillingWatch%TripTankVolume = v
end subroutine
subroutine Set_FillVolume(v)
use CDrillWatchVariables, only: FillVolume
use CDrillWatchVariables!, only: DrillingWatch%FillVolume
implicit none
real(8), intent(in) :: v
FillVolume = v
DrillingWatch%FillVolume = v
end subroutine
subroutine Set_HookLoad(v)
use CDrillWatchVariables, only: HookLoadDw => HookLoad
use CDrillWatchVariables!, only: HookLoadDw => DataDisplayConsole%HookLoad
implicit none
real(8), intent(in) :: v
HookLoadPointer = v
HookLoadDw = v * 1000
HookLoad = v
DataDisplayConsole%HookLoadPointer = v
DrillingWatch%HookLoad = v * 1000
DataDisplayConsole%HookLoad = v
end subroutine
subroutine Set_WeightOnBit(v)
use CDrillWatchVariables, only: WeightOnBit
use CDrillWatchVariables!, only: DrillingWatch%WeightOnBit
implicit none
real(8), intent(in) :: v
WOBPointer = v
WeightOnBit = v
WOP = v
DataDisplayConsole%WOBPointer = v
DrillingWatch%WeightOnBit = v
DataDisplayConsole%WOP = v
end subroutine
subroutine Set_ROP(v)
use CDrillWatchVariables, only: ROPDw => ROP
use CDrillWatchVariables!, only: ROPDw => DataDisplayConsole%ROP
implicit none
real(8), intent(in) :: v
ROP = v
ROPDw = v
DataDisplayConsole%ROP = v
DrillingWatch%ROP = v
end subroutine
subroutine Set_CasingPressure(v)
use CDrillWatchVariables, only: CasingPressureDw => CasingPressure
use CChokeControlPanelVariables, only: CasingPressureChoke => CasingPressure
use CDrillWatchVariables!, only: CasingPressureDw => CasingPressure
use CChokeControlPanelVariables!, only: CasingPressureChoke => CasingPressure
implicit none
real(8), intent(in) :: v
CasingPressureGauge = v
CasingPressureDw = v
CasingPressureChoke = v
CasingPressure = v
DataDisplayConsole%CasingPressureGauge = v
DrillingWatch%CasingPressure = v
ChokeControlPanel%CasingPressure = v
DataDisplayConsole%CasingPressure = v
end subroutine
subroutine Set_StandPipePressure(v)
use CDrillWatchVariables, only: PumpPressure
use CChokeControlPanelVariables, only: StandPipePressureChoke => StandPipePressure
use CDrillWatchVariables!, only: DrillingWatch%PumpPressure
use CChokeControlPanelVariables!, only: StandPipePressureChoke => DataDisplayConsole%StandPipePressure
implicit none
real(8), intent(in) :: v
StandPipePressureGauge = v
PumpPressure = v
StandPipePressureChoke = v
StandPipePressure = v
DataDisplayConsole%StandPipePressureGauge = v
DrillingWatch%PumpPressure = v
ChokeControlPanel%StandPipePressure = v
DataDisplayConsole%StandPipePressure = v
@@ -221,13 +215,13 @@ module CDataDisplayConsoleVariables
subroutine Set_RotaryRPMGauge(v)
use CDrillWatchVariables, only: RPM
use CDrillWatchVariables!, only: DrillingWatch%RPM
implicit none
real(8), intent(in) :: v
RotaryRPMGauge = v
RPM = v
RTRPM = v
call OnRotaryRpmChange%RunAll(v)
DataDisplayConsole%RotaryRPMGauge = v
DrillingWatch%RPM = v
DataDisplayConsole%RTRPM = v
call DataDisplayConsole%OnRotaryRpmChange%RunAll(v)
end subroutine
@@ -236,22 +230,22 @@ module CDataDisplayConsoleVariables
subroutine Set_MP1SPMGauge(v)
implicit none
real(8), intent(in) :: v
MP1SPMGauge = v
MP1SPM = v
if(associated(PumpsSpmChanges)) call PumpsSpmChanges(MP1SPMGauge, MP2SPMGauge)
DataDisplayConsole%MP1SPMGauge = v
DataDisplayConsole%MP1SPM = v
if(associated(PumpsSpmChanges)) call PumpsSpmChanges(DataDisplayConsole%MP1SPMGauge, DataDisplayConsole%MP2SPMGauge)
#ifdef deb
print*, 'MP1SPMGauge=', MP1SPMGauge
print*, 'MP1SPMGauge=', DataDisplayConsole%MP1SPMGauge
#endif
end subroutine
subroutine Set_MP2SPMGauge(v)
implicit none
real(8), intent(in) :: v
MP2SPMGauge = v
MP2SPM = v
if(associated(PumpsSpmChanges)) call PumpsSpmChanges(MP1SPMGauge, MP2SPMGauge)
DataDisplayConsole%MP2SPMGauge = v
DataDisplayConsole%MP2SPM = v
if(associated(PumpsSpmChanges)) call PumpsSpmChanges(DataDisplayConsole%MP1SPMGauge, DataDisplayConsole%MP2SPMGauge)
#ifdef deb
print*, 'MP2SPMGauge=', MP2SPMGauge
print*, 'MP2SPMGauge=', DataDisplayConsole%MP2SPMGauge
#endif
end subroutine

+ 128
- 128
CSharp/Equipments/ControlPanels/CDrillingConsole.f90 View File

@@ -13,9 +13,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetAssignmentSwitch' :: SetAssignmentSwitch
implicit none
integer, intent(in) :: v
AssignmentSwitch = v
DrillingConsole%AssignmentSwitch = v
#ifdef deb
call Log_4( 'AssignmentSwitch=', AssignmentSwitch)
call Log_4( 'AssignmentSwitch=', DrillingConsole%AssignmentSwitch)
#endif
end subroutine

@@ -24,9 +24,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetEmergencySwitch' :: SetEmergencySwitch
implicit none
logical, intent(in) :: v
EmergencySwitch = v
DrillingConsole%EmergencySwitch = v
#ifdef deb
print*, 'EmergencySwitch=', EmergencySwitch
print*, 'EmergencySwitch=', DrillingConsole%EmergencySwitch
#endif
end subroutine

@@ -35,9 +35,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetRTTorqueLimitKnob' :: SetRTTorqueLimitKnob
implicit none
real*8, intent(in) :: v
RTTorqueLimitKnob = v
DrillingConsole%RTTorqueLimitKnob = v
#ifdef deb
print*, 'RTTorqueLimitKnob=', RTTorqueLimitKnob
print*, 'RTTorqueLimitKnob=', DrillingConsole%RTTorqueLimitKnob
#endif
end subroutine

@@ -47,12 +47,12 @@ module CDrillingConsole
implicit none
integer, intent(in) :: v
if(MP1CPSwitch == v) return
if(DrillingConsole%MP1CPSwitch == v) return
if(SimulationState == SimulationState_Started) then
MP1CPSwitchI = MP1CPSwitchI + 1
if(MP1CPSwitchI >= 1) MP1CPSwitch = v
if(MP1CPSwitchI >= 100) MP1CPSwitchI = 1
DrillingConsole%MP1CPSwitchI = DrillingConsole%MP1CPSwitchI + 1
if(DrillingConsole%MP1CPSwitchI >= 1) DrillingConsole%MP1CPSwitch = v
if(DrillingConsole%MP1CPSwitchI >= 100) DrillingConsole%MP1CPSwitchI = 1
!call Log_3( "MP1CPSwitchI=", MP1CPSwitchI)
!call Log_3( "MP1CPSwitch=", MP1CPSwitch)
@@ -78,10 +78,10 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMP1Throttle' :: SetMP1Throttle
implicit none
real*8, intent(in) :: v
if(MP1Throttle == v) return
if(DrillingConsole%MP1Throttle == v) return
if(SimulationState == SimulationState_Started) then
if( abs(v - MP1Throttle) > 0.1) MP1ThrottleUpdate = .true.
if(MP1ThrottleUpdate) MP1Throttle = v
if( abs(v - DrillingConsole%MP1Throttle) > 0.1) DrillingConsole%MP1ThrottleUpdate = .true.
if(DrillingConsole%MP1ThrottleUpdate) DrillingConsole%MP1Throttle = v
!call Log_3( 'v-mp1=', v)
!call Log_3( 'MP1Throttle=', MP1Throttle)
@@ -90,7 +90,7 @@ module CDrillingConsole
!MP1Throttle = v
endif
#ifdef deb
print*, 'MP1Throttle=', MP1Throttle
print*, 'MP1Throttle=', DrillingConsole%MP1Throttle
#endif
end subroutine

@@ -101,12 +101,12 @@ module CDrillingConsole
logical, intent(in) :: v
!call Log_3( 'v=', MP2SwitchT)
if(MP2Switch == v) return
if(DrillingConsole%MP2Switch == v) return
if(SimulationState == SimulationState_Started) then
MP2SwitchI = MP2SwitchI + 1
if(MP2SwitchI >= 1) MP2Switch = v
if(MP2SwitchI >= 100) MP2SwitchI = 1
DrillingConsole%MP2SwitchI = DrillingConsole%MP2SwitchI + 1
if(DrillingConsole%MP2SwitchI >= 1) DrillingConsole%MP2Switch = v
if(DrillingConsole%MP2SwitchI >= 100) DrillingConsole%MP2SwitchI = 1
!call Log_3( "MP1CPSwitchI=", MP1CPSwitchI)
!call Log_3( "MP2Switch=", MP2Switch)
@@ -134,10 +134,10 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetMP2Throttle' :: SetMP2Throttle
implicit none
real*8, intent(in) :: v
if(MP2Throttle == v) return
if(DrillingConsole%MP2Throttle == v) return
if(SimulationState == SimulationState_Started) then
if( abs(v - MP2Throttle) > 0.1) MP2ThrottleUpdate = .true.
if(MP2ThrottleUpdate) MP2Throttle = v
if( abs(v - DrillingConsole%MP2Throttle) > 0.1) DrillingConsole%MP2ThrottleUpdate = .true.
if(DrillingConsole%MP2ThrottleUpdate) DrillingConsole%MP2Throttle = v
!call Log_3( 'v-mp2=', v)
!call Log_3( 'MP2Throttle=', MP2Throttle)
@@ -146,7 +146,7 @@ module CDrillingConsole
!MP2Throttle = v
endif
#ifdef deb
print*, 'MP2Throttle=', MP2Throttle
print*, 'MP2Throttle=', DrillingConsole%MP2Throttle
#endif
end subroutine

@@ -155,9 +155,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetDWSwitch' :: SetDWSwitch
implicit none
integer, intent(in) :: v
DWSwitch = v
DrillingConsole%DWSwitch = v
#ifdef deb
print*, 'DWSwitch=', DWSwitch
print*, 'DWSwitch=', DrillingConsole%DWSwitch
#endif
end subroutine

@@ -166,9 +166,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetDWThrottle' :: SetDWThrottle
implicit none
real*8, intent(in) :: v
DWThrottle = v
DrillingConsole%DWThrottle = v
#ifdef deb
print*, 'DWThrottle=', DWThrottle
print*, 'DWThrottle=', DrillingConsole%DWThrottle
#endif
end subroutine

@@ -177,9 +177,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetRTSwitch' :: SetRTSwitch
implicit none
integer, intent(in) :: v
RTSwitch = v
DrillingConsole%RTSwitch = v
#ifdef deb
print*, 'RTSwitch=', RTSwitch
print*, 'RTSwitch=', DrillingConsole%RTSwitch
#endif
end subroutine

@@ -188,9 +188,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetRTThrottle' :: SetRTThrottle
implicit none
real*8, intent(in) :: v
RTThrottle = v
DrillingConsole%RTThrottle = v
#ifdef deb
print*, 'RTThrottle=', RTThrottle
print*, 'RTThrottle=', DrillingConsole%RTThrottle
#endif
end subroutine

@@ -200,10 +200,10 @@ module CDrillingConsole
implicit none
real*8, intent(in) :: v
!if(ForceBreak) return
PreviousDWBreak = DWBreak
DWBreak = v
DrillingConsole%PreviousDWBreak = DrillingConsole%DWBreak
DrillingConsole%DWBreak = v
#ifdef deb
print*, 'DWBreak=', DWBreak
print*, 'DWBreak=', DrillingConsole%DWBreak
#endif
end subroutine

@@ -212,9 +212,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetDWAcceleretor' :: SetDWAcceleretor
implicit none
real*8, intent(in) :: v
DWAcceleretor = v
DrillingConsole%DWAcceleretor = v
#ifdef deb
print*, 'DWAcceleretor=', DWAcceleretor
print*, 'DWAcceleretor=', DrillingConsole%DWAcceleretor
#endif
end subroutine

@@ -223,9 +223,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetDWTransmisionLever' :: SetDWTransmisionLever
implicit none
real*8, intent(in) :: v
DWTransmisionLever = v
DrillingConsole%DWTransmisionLever = v
#ifdef deb
print*, 'DWTransmisionLever=', DWTransmisionLever
print*, 'DWTransmisionLever=', DrillingConsole%DWTransmisionLever
#endif
end subroutine

@@ -234,9 +234,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetDWPowerLever' :: SetDWPowerLever
implicit none
real*8, intent(in) :: v
DWPowerLever = v
DrillingConsole%DWPowerLever = v
#ifdef deb
print*, 'DWPowerLever=', DWPowerLever
print*, 'DWPowerLever=', DrillingConsole%DWPowerLever
#endif
end subroutine

@@ -245,8 +245,8 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetTongLever' :: SetTongLever
implicit none
real*8, intent(in) :: v
if (TongLever == v) return
TongLever = v
if (DrillingConsole%TongLever == v) return
DrillingConsole%TongLever = v
! if(dint(TongLever) == 1.0) then
! call OnBreakoutLeverPress%RunAll()
@@ -269,7 +269,7 @@ module CDrillingConsole
! endif
#ifdef deb
print*, 'TongLever=', TongLever
print*, 'TongLever=', DrillingConsole%TongLever
#endif
end subroutine

@@ -278,9 +278,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetRTTransmissionLever' :: SetRTTransmissionLever
implicit none
real*8, intent(in) :: v
RTTransmissionLever = v
DrillingConsole%RTTransmissionLever = v
#ifdef deb
print*, 'RTTransmissionLever=', RTTransmissionLever
print*, 'RTTransmissionLever=', DrillingConsole%RTTransmissionLever
#endif
end subroutine

@@ -289,9 +289,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetDWClutchLever' :: SetDWClutchLever
implicit none
real*8, intent(in) :: v
DWClutchLever = v
DrillingConsole%DWClutchLever = v
#ifdef deb
print*, 'DWClutchLever=', DWClutchLever
print*, 'DWClutchLever=', DrillingConsole%DWClutchLever
#endif
end subroutine

@@ -300,9 +300,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetEddyBreakLever' :: SetEddyBreakLever
implicit none
real*8, intent(in) :: v
EddyBreakLever = v
DrillingConsole%EddyBreakLever = v
#ifdef deb
print*, 'EddyBreakLever=', EddyBreakLever
print*, 'EddyBreakLever=', DrillingConsole%EddyBreakLever
#endif
end subroutine

@@ -311,9 +311,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetAutoDW' :: SetAutoDW
implicit none
logical, intent(in) :: v
AutoDW = v
DrillingConsole%AutoDW = v
#ifdef deb
print*, 'AutoDW=', AutoDW
print*, 'AutoDW=', DrillingConsole%AutoDW
#endif
end subroutine

@@ -322,9 +322,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetGEN1' :: SetGEN1
implicit none
logical, intent(in) :: v
GEN1 = v
DrillingConsole%GEN1 = v
#ifdef deb
print*, 'GEN1=', GEN1
print*, 'GEN1=', DrillingConsole%GEN1
#endif
end subroutine

@@ -333,9 +333,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetGEN2' :: SetGEN2
implicit none
logical, intent(in) :: v
GEN2 = v
DrillingConsole%GEN2 = v
#ifdef deb
print*, 'GEN2=', GEN2
print*, 'GEN2=', DrillingConsole%GEN2
#endif
end subroutine

@@ -344,9 +344,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetGEN3' :: SetGEN3
implicit none
logical, intent(in) :: v
GEN3 = v
DrillingConsole%GEN3 = v
#ifdef deb
print*, 'GEN3=', GEN3
print*, 'GEN3=', DrillingConsole%GEN3
#endif
end subroutine

@@ -355,9 +355,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetGEN4' :: SetGEN4
implicit none
logical, intent(in) :: v
GEN4 = v
DrillingConsole%GEN4 = v
#ifdef deb
print*, 'GEN4=', GEN4
print*, 'GEN4=', DrillingConsole%GEN4
#endif
end subroutine

@@ -433,12 +433,12 @@ module CDrillingConsole
use CManifolds, OpenKellyCockSub => OpenKellyCock
implicit none
logical, intent(in) :: v
if (OpenKellyCock == v) return
OpenKellyCock = v
if (DrillingConsole%OpenKellyCock == v) return
DrillingConsole%OpenKellyCock = v
! if (v) call OnOpenKellyCockPress%RunAll()
if(v .and. Permission_OpenKellyCock) call OpenKellyCockSub()
if(v .and. DrillingConsole%Permission_OpenKellyCock) call OpenKellyCockSub()
#ifdef deb
print*, 'OpenKellyCock=', OpenKellyCock
print*, 'OpenKellyCock=', DrillingConsole%OpenKellyCock
#endif
end subroutine

@@ -448,12 +448,12 @@ module CDrillingConsole
use CManifolds, CloseKellyCockSub => CloseKellyCock
implicit none
logical, intent(in) :: v
if (CloseKellyCock == v) return
CloseKellyCock = v
if (DrillingConsole%CloseKellyCock == v) return
DrillingConsole%CloseKellyCock = v
! if (v) call OnCloseKellyCockPress%RunAll()
if(v .and. Permission_CloseKellyCock) call CloseKellyCockSub()
if(v .and. DrillingConsole%Permission_CloseKellyCock) call CloseKellyCockSub()
#ifdef deb
print*, 'CloseKellyCock=', CloseKellyCock
print*, 'CloseKellyCock=', DrillingConsole%CloseKellyCock
#endif
end subroutine

@@ -463,12 +463,12 @@ module CDrillingConsole
!use CManifolds, OpenSafetyValveSub => OpenSafetyValve
implicit none
logical, intent(in) :: v
if (OpenSafetyValve == v) return
OpenSafetyValve = v
if (DrillingConsole%OpenSafetyValve == v) return
DrillingConsole%OpenSafetyValve = v
! if (v) call OnOpenSafetyValvePress%RunAll()
!if(v .and. Permission_OpenSafetyValve) call OpenSafetyValveSub()
#ifdef deb
print*, 'OpenSafetyValve=', OpenSafetyValve
print*, 'OpenSafetyValve=', DrillingConsole%OpenSafetyValve
#endif
end subroutine

@@ -478,12 +478,12 @@ module CDrillingConsole
!use CManifolds, CloseSafetyValveSub => CloseSafetyValve
implicit none
logical, intent(in) :: v
if (CloseSafetyValve == v) return
CloseSafetyValve = v
if (DrillingConsole%CloseSafetyValve == v) return
DrillingConsole%CloseSafetyValve = v
! if (v) call OnCloseSafetyValvePress%RunAll()
!if(v .and. Permission_CloseSafetyValve) call CloseSafetyValveSub()
#ifdef deb
print*, 'CloseSafetyValve=', CloseSafetyValve
print*, 'CloseSafetyValve=', DrillingConsole%CloseSafetyValve
#endif
end subroutine

@@ -494,14 +494,14 @@ module CDrillingConsole
implicit none
logical, intent(in) :: v
logical :: prev
if (IRSafetyValve == v) return
prev = IRSafetyValve
IRSafetyValve = v
if (DrillingConsole%IRSafetyValve == v) return
prev = DrillingConsole%IRSafetyValve
DrillingConsole%IRSafetyValve = v
! if (v) call OnIRSafetyValvePress%RunAll()
!if(prev /= IRSafetyValve .and. v .and. Permission_IRSafetyValve) call ToggleSafetyValve()
!if(prev /= IRSafetyValve .and. v) call ToggleSafetyValve()
#ifdef deb
print*, 'IRSafetyValve=', IRSafetyValve
print*, 'IRSafetyValve=', DrillingConsole%IRSafetyValve
#endif
end subroutine

@@ -512,14 +512,14 @@ module CDrillingConsole
implicit none
logical, intent(in) :: v
logical :: prev
if (IRIBop == v) return
prev = IRIBop
IRIBop = v
if (DrillingConsole%IRIBop == v) return
prev = DrillingConsole%IRIBop
DrillingConsole%IRIBop = v
! if (v) call OnIRIBopPress%RunAll()
!if(prev /= IRIBop .and. v .and. Permission_IRIBop) call ToggleIBop()
!if(prev /= IRIBop .and. v) call ToggleIBop()
#ifdef deb
print*, 'IRIBop=', IRIBop
print*, 'IRIBop=', DrillingConsole%IRIBop
#endif
end subroutine
@@ -530,11 +530,11 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetLatchPipe' :: SetLatchPipe
implicit none
logical, intent(in) :: v
if (LatchPipe .eqv. v) return
LatchPipe = v
if (DrillingConsole%LatchPipe .eqv. v) return
DrillingConsole%LatchPipe = v
! if (v) call OnLatchPipePress%RunAll()
#ifdef deb
print*, 'LatchPipe=', LatchPipe
print*, 'LatchPipe=', DrillingConsole%LatchPipe
#endif
end subroutine

@@ -543,11 +543,11 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetUnlatchPipe' :: SetUnlatchPipe
implicit none
logical, intent(in) :: v
if (UnlatchPipe .eqv. v) return
UnlatchPipe = v
if (DrillingConsole%UnlatchPipe .eqv. v) return
DrillingConsole%UnlatchPipe = v
! if (v) call OnUnlatchPipePress%RunAll()
#ifdef deb
print*, 'UnlatchPipe=', UnlatchPipe
print*, 'UnlatchPipe=', DrillingConsole%UnlatchPipe
#endif
end subroutine

@@ -556,11 +556,11 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetSwing' :: SetSwing
implicit none
logical, intent(in) :: v
if (Swing .eqv. v) return
Swing = v
if (DrillingConsole%Swing .eqv. v) return
DrillingConsole%Swing = v
! if (v) call OnSwingPress%RunAll()
#ifdef deb
print*, 'Swing=', Swing
print*, 'Swing=', DrillingConsole%Swing
#endif
end subroutine

@@ -569,11 +569,11 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetFillMouseHole' :: SetFillMouseHole
implicit none
logical, intent(in) :: v
if (FillMouseHole .eqv. v) return
FillMouseHole = v
if (DrillingConsole%FillMouseHole .eqv. v) return
DrillingConsole%FillMouseHole = v
! if (v) call OnFillMouseHolePress%RunAll()
#ifdef deb
print*, 'FillMouseHole=', FillMouseHole
print*, 'FillMouseHole=', DrillingConsole%FillMouseHole
#endif
end subroutine
@@ -582,10 +582,10 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetSlips' :: SetSlips
implicit none
logical, intent(in) :: v
if (Slips .eqv. v) return
Slips = v
if (DrillingConsole%Slips .eqv. v) return
DrillingConsole%Slips = v
#ifdef deb
print*, 'Slips=', Slips
print*, 'Slips=', DrillingConsole%Slips
#endif
! if (v) call OnSlipsPress%RunAll()
end subroutine
@@ -596,9 +596,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetBrakeLeverCoefficient' :: SetBrakeLeverCoefficient
implicit none
real, intent(in) :: v
BrakeLeverCoefficient = v
DrillingConsole%BrakeLeverCoefficient = v
#ifdef deb
print*, 'BrakeLeverCoefficient=', BrakeLeverCoefficient
print*, 'BrakeLeverCoefficient=', DrillingConsole%BrakeLeverCoefficient
#endif
end subroutine
@@ -607,9 +607,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetHideDrillingBrake' :: SetHideDrillingBrake
implicit none
logical, intent(in) :: v
HideDrillingBrake = v
DrillingConsole%HideDrillingBrake = v
#ifdef deb
print*, 'HideDrillingBrake=', HideDrillingBrake
print*, 'HideDrillingBrake=', DrillingConsole%HideDrillingBrake
#endif
end subroutine

@@ -625,9 +625,9 @@ module CDrillingConsole
!DEC$ ATTRIBUTES ALIAS: 'SetParkingBrake' :: SetParkingBrake
implicit none
logical, intent(in) :: v
ParkingBrakeBtn = v
DrillingConsole%ParkingBrakeBtn = v
#ifdef deb
print*, 'ParkingBrakeBtn=', ParkingBrakeBtn
print*, 'ParkingBrakeBtn=', DrillingConsole%ParkingBrakeBtn
#endif
end subroutine
@@ -648,7 +648,7 @@ module CDrillingConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetParkingBrakeLed
!DEC$ ATTRIBUTES ALIAS: 'GetParkingBrakeLed' :: GetParkingBrakeLed
implicit none
GetParkingBrakeLed = ParkingBrakeLed
GetParkingBrakeLed = DrillingConsole%ParkingBrakeLed
!GetParkingBrakeLed = .true.
end function
@@ -689,154 +689,154 @@ module CDrillingConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetSCR1LED
!DEC$ ATTRIBUTES ALIAS: 'GetSCR1LED' :: GetSCR1LED
implicit none
GetSCR1LED = SCR1LED
GetSCR1LED = DrillingConsole%SCR1LED
end function

integer function GetSCR2LED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetSCR2LED
!DEC$ ATTRIBUTES ALIAS: 'GetSCR2LED' :: GetSCR2LED
implicit none
GetSCR2LED = SCR2LED
GetSCR2LED = DrillingConsole%SCR2LED
end function

integer function GetSCR3LED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetSCR3LED
!DEC$ ATTRIBUTES ALIAS: 'GetSCR3LED' :: GetSCR3LED
implicit none
GetSCR3LED = SCR3LED
GetSCR3LED = DrillingConsole%SCR3LED
end function

integer function GetSCR4LED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetSCR4LED
!DEC$ ATTRIBUTES ALIAS: 'GetSCR4LED' :: GetSCR4LED
implicit none
GetSCR4LED = SCR4LED
GetSCR4LED = DrillingConsole%SCR4LED
end function

integer function GetMP1BLWR()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMP1BLWR
!DEC$ ATTRIBUTES ALIAS: 'GetMP1BLWR' :: GetMP1BLWR
implicit none
GetMP1BLWR = MP1BLWR
GetMP1BLWR = DrillingConsole%MP1BLWR
end function

integer function GetMP2BLWR()
!DEC$ ATTRIBUTES DLLEXPORT :: GetMP2BLWR
!DEC$ ATTRIBUTES ALIAS: 'GetMP2BLWR' :: GetMP2BLWR
implicit none
GetMP2BLWR = MP2BLWR
GetMP2BLWR = DrillingConsole%MP2BLWR
end function

integer function GetDWBLWR()
!DEC$ ATTRIBUTES DLLEXPORT :: GetDWBLWR
!DEC$ ATTRIBUTES ALIAS: 'GetDWBLWR' :: GetDWBLWR
implicit none
GetDWBLWR = DWBLWR
GetDWBLWR = DrillingConsole%DWBLWR
end function

integer function GetRTBLWR()
!DEC$ ATTRIBUTES DLLEXPORT :: GetRTBLWR
!DEC$ ATTRIBUTES ALIAS: 'GetRTBLWR' :: GetRTBLWR
implicit none
GetRTBLWR = RTBLWR
GetRTBLWR = DrillingConsole%RTBLWR
end function

integer function GetPWRLIM()
!DEC$ ATTRIBUTES DLLEXPORT :: GetPWRLIM
!DEC$ ATTRIBUTES ALIAS: 'GetPWRLIM' :: GetPWRLIM
implicit none
GetPWRLIM = PWRLIM
GetPWRLIM = DrillingConsole%PWRLIM
end function

real(8) function GetPWRLIMMTR()
!DEC$ ATTRIBUTES DLLEXPORT :: GetPWRLIMMTR
!DEC$ ATTRIBUTES ALIAS: 'GetPWRLIMMTR' :: GetPWRLIMMTR
implicit none
GetPWRLIMMTR = PWRLIMMTR
GetPWRLIMMTR = DrillingConsole%PWRLIMMTR
end function

real(8) function GetRTTorqueLimitGauge()
!DEC$ ATTRIBUTES DLLEXPORT :: GetRTTorqueLimitGauge
!DEC$ ATTRIBUTES ALIAS: 'GetRTTorqueLimitGauge' :: GetRTTorqueLimitGauge
implicit none
GetRTTorqueLimitGauge = RTTorqueLimitGauge
GetRTTorqueLimitGauge = DrillingConsole%RTTorqueLimitGauge
end function

integer function GetAutoDWLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetAutoDWLED
!DEC$ ATTRIBUTES ALIAS: 'GetAutoDWLED' :: GetAutoDWLED
implicit none
GetAutoDWLED = AutoDWLED
GetAutoDWLED = DrillingConsole%AutoDWLED
end function

integer function GetGEN1BTNLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetGEN1BTNLED
!DEC$ ATTRIBUTES ALIAS: 'GetGEN1BTNLED' :: GetGEN1BTNLED
implicit none
GetGEN1BTNLED = GEN1BTNLED
GetGEN1BTNLED = DrillingConsole%GEN1BTNLED
end function

integer function GetGEN2BTNLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetGEN2BTNLED
!DEC$ ATTRIBUTES ALIAS: 'GetGEN2BTNLED' :: GetGEN2BTNLED
implicit none
GetGEN2BTNLED = GEN2BTNLED
GetGEN2BTNLED = DrillingConsole%GEN2BTNLED
end function

integer function GetGEN3BTNLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetGEN3BTNLED
!DEC$ ATTRIBUTES ALIAS: 'GetGEN3BTNLED' :: GetGEN3BTNLED
implicit none
GetGEN3BTNLED = GEN3BTNLED
GetGEN3BTNLED = DrillingConsole%GEN3BTNLED
end function

integer function GetGEN4BTNLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetGEN4BTNLED
!DEC$ ATTRIBUTES ALIAS: 'GetGEN4BTNLED' :: GetGEN4BTNLED
implicit none
GetGEN4BTNLED = GEN4BTNLED
GetGEN4BTNLED = DrillingConsole%GEN4BTNLED
end function

integer function GetOpenKellyCockLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetOpenKellyCockLed
!DEC$ ATTRIBUTES ALIAS: 'GetOpenKellyCockLed' :: GetOpenKellyCockLed
implicit none
GetOpenKellyCockLed = OpenKellyCockLed
GetOpenKellyCockLed = DrillingConsole%OpenKellyCockLed
end function

integer function GetCloseKellyCockLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetCloseKellyCockLed
!DEC$ ATTRIBUTES ALIAS: 'GetCloseKellyCockLed' :: GetCloseKellyCockLed
implicit none
GetCloseKellyCockLed = CloseKellyCockLed
GetCloseKellyCockLed = DrillingConsole%CloseKellyCockLed
end function

integer function GetOpenSafetyValveLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetOpenSafetyValveLed
!DEC$ ATTRIBUTES ALIAS: 'GetOpenSafetyValveLed' :: GetOpenSafetyValveLed
implicit none
GetOpenSafetyValveLed = OpenSafetyValveLed
GetOpenSafetyValveLed = DrillingConsole%OpenSafetyValveLed
end function

integer function GetCloseSafetyValveLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetCloseSafetyValveLed
!DEC$ ATTRIBUTES ALIAS: 'GetCloseSafetyValveLed' :: GetCloseSafetyValveLed
implicit none
GetCloseSafetyValveLed = CloseSafetyValveLed
GetCloseSafetyValveLed = DrillingConsole%CloseSafetyValveLed
end function

integer function GetIRSafetyValveLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetIRSafetyValveLed
!DEC$ ATTRIBUTES ALIAS: 'GetIRSafetyValveLed' :: GetIRSafetyValveLed
implicit none
GetIRSafetyValveLed = IRSafetyValveLed
GetIRSafetyValveLed = DrillingConsole%IRSafetyValveLed
end function

integer function GetIRIBopLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetIRIBopLed
!DEC$ ATTRIBUTES ALIAS: 'GetIRIBopLed' :: GetIRIBopLed
implicit none
GetIRIBopLed = IRIBopLed
GetIRIBopLed = DrillingConsole%IRIBopLed
end function

@@ -844,28 +844,28 @@ module CDrillingConsole
!DEC$ ATTRIBUTES DLLEXPORT :: GetLatchPipeLED
!DEC$ ATTRIBUTES ALIAS: 'GetLatchPipeLED' :: GetLatchPipeLED
implicit none
GetLatchPipeLED = LatchPipeLED
GetLatchPipeLED = DrillingConsole%LatchPipeLED
end function

integer function GetUnlatchPipeLED()
!DEC$ ATTRIBUTES DLLEXPORT :: GetUnlatchPipeLED
!DEC$ ATTRIBUTES ALIAS: 'GetUnlatchPipeLED' :: GetUnlatchPipeLED
implicit none
GetUnlatchPipeLED = UnlatchPipeLED
GetUnlatchPipeLED = DrillingConsole%UnlatchPipeLED
end function

integer function GetSwingLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetSwingLed
!DEC$ ATTRIBUTES ALIAS: 'GetSwingLed' :: GetSwingLed
implicit none
GetSwingLed = SwingLed
GetSwingLed = DrillingConsole%SwingLed
end function

integer function GetFillMouseHoleLed()
!DEC$ ATTRIBUTES DLLEXPORT :: GetFillMouseHoleLed
!DEC$ ATTRIBUTES ALIAS: 'GetFillMouseHoleLed' :: GetFillMouseHoleLed
implicit none
GetFillMouseHoleLed = FillMouseHoleLed
GetFillMouseHoleLed = DrillingConsole%FillMouseHoleLed
end function
end module CDrillingConsole

+ 124
- 123
CSharp/Equipments/ControlPanels/CDrillingConsoleVariables.f90 View File

@@ -1,132 +1,133 @@
module CDrillingConsoleVariables

use CVoidEventHandlerCollection
implicit none
public
! Input vars
integer :: AssignmentSwitch
logical :: EmergencySwitch
real(8) :: RTTorqueLimitKnob
integer :: MP1CPSwitchI = 0 !for not turning on pump1 on simulation start
integer :: MP1CPSwitchT !for not turning on pump1 on simulation start
integer :: MP1CPSwitch
logical :: MP1ThrottleUpdate = .false.
real(8) :: MP1Throttle = -1.0
integer :: MP2SwitchI = 0 !for not turning on pump2 on simulation start
logical :: MP2SwitchT !for not turning on pump2 on simulation start
logical :: MP2Switch
logical :: MP2ThrottleUpdate = .false.
real(8) :: MP2Throttle = -1.0
integer :: DWSwitch
real(8) :: DWThrottle
integer :: RTSwitch
real(8) :: RTThrottle
real(8) :: DWBreak
real(8) :: PreviousDWBreak
logical :: ForceBreak = .false.
real(8) :: DWAcceleretor
real(8) :: DWTransmisionLever
real(8) :: DWPowerLever
real(8) :: TongLever
! type(VoidEventHandlerCollection) :: OnBreakoutLeverPress
! type(VoidEventHandlerCollection) :: OnMakeupLeverPress
! type(VoidEventHandlerCollection) :: OnTongNeutralPress
real(8) :: RTTransmissionLever
real(8) :: DWClutchLever
real(8) :: EddyBreakLever
logical :: AutoDW
logical :: GEN1
logical :: GEN2
logical :: GEN3
logical :: GEN4
logical :: Permission_OpenKellyCock = .false.
logical :: OpenKellyCock
! type(VoidEventHandlerCollection) :: OnOpenKellyCockPress
logical :: Permission_CloseKellyCock = .false.
logical :: CloseKellyCock
! type(VoidEventHandlerCollection) :: OnCloseKellyCockPress
logical :: Permission_OpenSafetyValve = .false.
logical :: OpenSafetyValve
! typeVoidEventHandlerCollection) :: OnOpenSafetyValvePress
logical :: Permission_CloseSafetyValve = .false.
logical :: CloseSafetyValve
! typeVoidEventHandlerCollection) :: OnCloseSafetyValvePress
logical :: Permission_IRSafetyValve = .false.
logical :: IRSafetyValve
! typeVoidEventHandlerCollection) :: OnIRSafetyValvePress
logical :: Permission_IRIBop = .false.
logical :: IRIBop
! typeVoidEventHandlerCollection) :: OnIRIBopPress
logical :: LatchPipe
! typeVoidEventHandlerCollection) :: OnLatchPipePress
logical :: UnlatchPipe
! typeVoidEventHandlerCollection) :: OnUnlatchPipePress
logical :: Swing
! typeVoidEventHandlerCollection) :: OnSwingPress
logical :: FillMouseHole
! typeVoidEventHandlerCollection) :: OnFillMouseHolePress
logical :: Slips
! typeVoidEventHandlerCollection) :: OnSlipsPress
!logical :: TopDriveIBop
!
!logical :: TopDriveDrillTorque
!integer :: TopDriveRevOffFwd
!integer :: TopDriveDrillOffTilt

real :: BrakeLeverCoefficient
logical :: HideDrillingBrake
TYPE, PUBLIC :: DrillingConsoleType
! Input vars
integer :: AssignmentSwitch
logical :: EmergencySwitch
real(8) :: RTTorqueLimitKnob
integer :: MP1CPSwitchI = 0 !for not turning on pump1 on simulation start
integer :: MP1CPSwitchT !for not turning on pump1 on simulation start
integer :: MP1CPSwitch
logical :: MP1ThrottleUpdate = .false.
real(8) :: MP1Throttle = -1.0
integer :: MP2SwitchI = 0 !for not turning on pump2 on simulation start
logical :: MP2SwitchT !for not turning on pump2 on simulation start
logical :: MP2Switch
logical :: MP2ThrottleUpdate = .false.
real(8) :: MP2Throttle = -1.0
integer :: DWSwitch
real(8) :: DWThrottle
integer :: RTSwitch
real(8) :: RTThrottle
real(8) :: DWBreak
real(8) :: PreviousDWBreak
logical :: ForceBreak = .false.
real(8) :: DWAcceleretor
real(8) :: DWTransmisionLever
real(8) :: DWPowerLever
real(8) :: TongLever
! type(VoidEventHandlerCollection) :: OnBreakoutLeverPress
! type(VoidEventHandlerCollection) :: OnMakeupLeverPress
! type(VoidEventHandlerCollection) :: OnTongNeutralPress
real(8) :: RTTransmissionLever
real(8) :: DWClutchLever
real(8) :: EddyBreakLever
logical :: AutoDW
logical :: GEN1
logical :: GEN2
logical :: GEN3
logical :: GEN4
logical :: Permission_OpenKellyCock = .false.
logical :: OpenKellyCock
! type(VoidEventHandlerCollection) :: OnOpenKellyCockPress
logical :: Permission_CloseKellyCock = .false.
logical :: CloseKellyCock
! type(VoidEventHandlerCollection) :: OnCloseKellyCockPress
logical :: Permission_OpenSafetyValve = .false.
logical :: OpenSafetyValve
! typeVoidEventHandlerCollection) :: OnOpenSafetyValvePress
logical :: Permission_CloseSafetyValve = .false.
logical :: CloseSafetyValve
! typeVoidEventHandlerCollection) :: OnCloseSafetyValvePress
logical :: Permission_IRSafetyValve = .false.
logical :: IRSafetyValve
! typeVoidEventHandlerCollection) :: OnIRSafetyValvePress
logical :: Permission_IRIBop = .false.
logical :: IRIBop
! typeVoidEventHandlerCollection) :: OnIRIBopPress
logical :: LatchPipe
! typeVoidEventHandlerCollection) :: OnLatchPipePress
logical :: UnlatchPipe
! typeVoidEventHandlerCollection) :: OnUnlatchPipePress
logical :: Swing
! typeVoidEventHandlerCollection) :: OnSwingPress
logical :: FillMouseHole
! typeVoidEventHandlerCollection) :: OnFillMouseHolePress
logical :: Slips
! typeVoidEventHandlerCollection) :: OnSlipsPress
!logical :: TopDriveIBop
!
!logical :: TopDriveDrillTorque
!integer :: TopDriveRevOffFwd
!integer :: TopDriveDrillOffTilt

logical :: ParkingBrakeBtn
! Output vars
logical :: ParkingBrakeLed
integer :: GEN1LED
integer :: GEN2LED
integer :: GEN3LED
integer :: GEN4LED
integer :: SCR1LED
integer :: SCR2LED
integer :: SCR3LED
integer :: SCR4LED
integer :: MP1BLWR
integer :: MP2BLWR
integer :: DWBLWR
integer :: RTBLWR
integer :: PWRLIM
real(8) :: PWRLIMMTR
real(8) :: RTTorqueLimitGauge
integer :: AutoDWLED
integer :: GEN1BTNLED
integer :: GEN2BTNLED
integer :: GEN3BTNLED
integer :: GEN4BTNLED
integer :: OpenKellyCockLed
integer :: CloseKellyCockLed
integer :: OpenSafetyValveLed
integer :: CloseSafetyValveLed
integer :: IRSafetyValveLed
integer :: IRIBopLed
real :: BrakeLeverCoefficient
logical :: HideDrillingBrake

integer :: LatchPipeLED
integer :: UnlatchPipeLED
integer :: SwingLed
integer :: FillMouseHoleLed
logical :: ParkingBrakeBtn
! Output vars
logical :: ParkingBrakeLed
integer :: GEN1LED
integer :: GEN2LED
integer :: GEN3LED
integer :: GEN4LED
integer :: SCR1LED
integer :: SCR2LED
integer :: SCR3LED
integer :: SCR4LED
integer :: MP1BLWR
integer :: MP2BLWR
integer :: DWBLWR
integer :: RTBLWR
integer :: PWRLIM
real(8) :: PWRLIMMTR
real(8) :: RTTorqueLimitGauge
integer :: AutoDWLED
integer :: GEN1BTNLED
integer :: GEN2BTNLED
integer :: GEN3BTNLED
integer :: GEN4BTNLED
integer :: OpenKellyCockLed
integer :: CloseKellyCockLed
integer :: OpenSafetyValveLed
integer :: CloseSafetyValveLed
integer :: IRSafetyValveLed
integer :: IRIBopLed

contains
integer :: LatchPipeLED
integer :: UnlatchPipeLED
integer :: SwingLed
integer :: FillMouseHoleLed
END TYPE DrillingConsoleType
TYPE(DrillingConsoleType) :: DrillingConsole
end module CDrillingConsoleVariables

+ 21
- 20
CSharp/Equipments/ControlPanels/CHookVariables.f90 View File

@@ -1,13 +1,14 @@
module CHookVariables
use CRealEventHandlerCollection
use CHookActions
implicit none
public
real :: HookHeight_S = 0.0
real :: HookHeight
type(RealEventHandlerCollection) :: OnHookHeightChange
implicit none
Type :: HookType
real :: HookHeight_S = 0.0
real :: HookHeight
type(RealEventHandlerCollection) :: Hook%OnHookHeightChange
end type HookType
Type(HookType)::Hook

contains
subroutine Set_HookHeight(v)
@@ -16,19 +17,19 @@ module CHookVariables
real , intent(in) :: v
#ifdef ExcludeExtraChanges
if(HookHeight == v) return
if(Hook%HookHeight == v) return
#endif
HookHeight = v
Hook%HookHeight = v
if(associated(HookHeightPtr)) then
call HookHeightPtr(HookHeight)
call HookHeightPtr(Hook%HookHeight)
end if
#ifdef deb
print*, 'HookHeight=', HookHeight
print*, 'HookHeight=', Hook%HookHeight
#endif
call OnHookHeightChange%RunAll(HookHeight)
call Hook%OnHookHeightChange%RunAll(Hook%HookHeight)
end subroutine
@@ -36,12 +37,12 @@ module CHookVariables
implicit none
real , intent(in) :: v
if(v == HookHeight) then
if(v == Hook%HookHeight) then
return
elseif (v > HookHeight) then
elseif (v > Hook%HookHeight) then
loop1: do
call Set_HookHeight(HookHeight + 0.2)
if(abs(v - HookHeight) <= 0.1) then
call Set_HookHeight(Hook%HookHeight + 0.2)
if(abs(v - Hook%HookHeight) <= 0.1) then
call Set_HookHeight(v)
exit loop1
endif
@@ -49,8 +50,8 @@ module CHookVariables
enddo loop1
else ! v < HookHeight
loop2: do
call Set_HookHeight(HookHeight - 0.2)
if(abs(HookHeight - v) <= 0.1) then
call Set_HookHeight(Hook%HookHeight - 0.2)
if(abs(Hook%HookHeight - v) <= 0.1) then
call Set_HookHeight(v)
exit loop2
endif
@@ -67,13 +68,13 @@ module CHookVariables
implicit none
real , intent(in) :: v
!call Set_HookHeight(v)
HookHeight_S = v
Hook%HookHeight_S = v
end subroutine
subroutine Update_HookHeight_From_Snapshot()
implicit none
call Set_HookHeight_S(HookHeight_S)
call Set_HookHeight_S(Hook%HookHeight_S)
end subroutine
end module CHookVariables

+ 32
- 32
CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 View File

@@ -11,10 +11,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve1' :: SetStandPipeManifoldValve1
implicit none
logical, intent(in) :: v
StandPipeManifoldValve1 = v
StandPipeManifold%StandPipeManifoldValve1 = v
call ChangeValve(13, v)
#ifdef deb
print*, 'StandPipeManifoldValve1=', StandPipeManifoldValve1
print*, 'StandPipeManifoldValve1=', StandPipeManifold%StandPipeManifoldValve1
#endif
end subroutine

@@ -23,10 +23,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve2' :: SetStandPipeManifoldValve2
implicit none
logical, intent(in) :: v
StandPipeManifoldValve2 = v
StandPipeManifold%StandPipeManifoldValve2 = v
call ChangeValve(14, v)
#ifdef deb
print*, 'StandPipeManifoldValve2=', StandPipeManifoldValve2
print*, 'StandPipeManifoldValve2=', StandPipeManifold%StandPipeManifoldValve2
#endif
end subroutine

@@ -35,10 +35,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve3' :: SetStandPipeManifoldValve3
implicit none
logical, intent(in) :: v
StandPipeManifoldValve3 = v
StandPipeManifold%StandPipeManifoldValve3 = v
call ChangeValve(15, v)
#ifdef deb
print*, 'StandPipeManifoldValve3=', StandPipeManifoldValve3
print*, 'StandPipeManifoldValve3=', StandPipeManifold%StandPipeManifoldValve3
#endif
end subroutine

@@ -47,10 +47,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve4' :: SetStandPipeManifoldValve4
implicit none
logical, intent(in) :: v
StandPipeManifoldValve4 = v
StandPipeManifold%StandPipeManifoldValve4 = v
call ChangeValve(11, v)
#ifdef deb
print*, 'StandPipeManifoldValve4=', StandPipeManifoldValve4
print*, 'StandPipeManifoldValve4=', StandPipeManifold%StandPipeManifoldValve4
#endif
end subroutine

@@ -59,10 +59,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve5' :: SetStandPipeManifoldValve5
implicit none
logical, intent(in) :: v
StandPipeManifoldValve5 = v
StandPipeManifold%StandPipeManifoldValve5 = v
call ChangeValve(12, v)
#ifdef deb
print*, 'StandPipeManifoldValve5=', StandPipeManifoldValve5
print*, 'StandPipeManifoldValve5=', StandPipeManifold%StandPipeManifoldValve5
#endif
end subroutine

@@ -71,10 +71,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve6' :: SetStandPipeManifoldValve6
implicit none
logical, intent(in) :: v
StandPipeManifoldValve6 = v
StandPipeManifold%StandPipeManifoldValve6 = v
call ChangeValve(9, v)
#ifdef deb
print*, 'StandPipeManifoldValve6=', StandPipeManifoldValve6
print*, 'StandPipeManifoldValve6=', StandPipeManifold%StandPipeManifoldValve6
#endif
end subroutine

@@ -83,10 +83,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve7' :: SetStandPipeManifoldValve7
implicit none
logical, intent(in) :: v
StandPipeManifoldValve7 = v
StandPipeManifold%StandPipeManifoldValve7 = v
call ChangeValve(10, v)
#ifdef deb
print*, 'StandPipeManifoldValve7=', StandPipeManifoldValve7
print*, 'StandPipeManifoldValve7=', StandPipeManifold%StandPipeManifoldValve7
#endif
end subroutine

@@ -95,10 +95,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve8' :: SetStandPipeManifoldValve8
implicit none
logical, intent(in) :: v
StandPipeManifoldValve8 = v
StandPipeManifold%StandPipeManifoldValve8 = v
call ChangeValve(6, v)
#ifdef deb
print*, 'StandPipeManifoldValve8=', StandPipeManifoldValve8
print*, 'StandPipeManifoldValve8=', StandPipeManifold%StandPipeManifoldValve8
#endif
end subroutine

@@ -107,10 +107,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve9' :: SetStandPipeManifoldValve9
implicit none
logical, intent(in) :: v
StandPipeManifoldValve9 = v
StandPipeManifold%StandPipeManifoldValve9 = v
call ChangeValve(7, v)
#ifdef deb
print*, 'StandPipeManifoldValve9=', StandPipeManifoldValve9
print*, 'StandPipeManifoldValve9=', StandPipeManifold%StandPipeManifoldValve9
#endif
end subroutine

@@ -119,10 +119,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve10' :: SetStandPipeManifoldValve10
implicit none
logical, intent(in) :: v
StandPipeManifoldValve10 = v
StandPipeManifold%StandPipeManifoldValve10 = v
call ChangeValve(8, v)
#ifdef deb
print*, 'StandPipeManifoldValve10=', StandPipeManifoldValve10
print*, 'StandPipeManifoldValve10=', StandPipeManifold%StandPipeManifoldValve10
#endif
end subroutine

@@ -131,10 +131,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve11' :: SetStandPipeManifoldValve11
implicit none
logical, intent(in) :: v
StandPipeManifoldValve11 = v
StandPipeManifold%StandPipeManifoldValve11 = v
call ChangeValve(1, v)
#ifdef deb
print*, 'StandPipeManifoldValve11=', StandPipeManifoldValve11
print*, 'StandPipeManifoldValve11=', StandPipeManifold%StandPipeManifoldValve11
#endif
end subroutine

@@ -143,10 +143,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve12' :: SetStandPipeManifoldValve12
implicit none
logical, intent(in) :: v
StandPipeManifoldValve12 = v
StandPipeManifold%StandPipeManifoldValve12 = v
call ChangeValve(2, v)
#ifdef deb
print*, 'StandPipeManifoldValve12=', StandPipeManifoldValve12
print*, 'StandPipeManifoldValve12=', StandPipeManifold%StandPipeManifoldValve12
#endif
end subroutine

@@ -155,10 +155,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve13' :: SetStandPipeManifoldValve13
implicit none
logical, intent(in) :: v
StandPipeManifoldValve13 = v
StandPipeManifold%StandPipeManifoldValve13 = v
call ChangeValve(3, v)
#ifdef deb
print*, 'StandPipeManifoldValve13=', StandPipeManifoldValve13
print*, 'StandPipeManifoldValve13=', StandPipeManifold%StandPipeManifoldValve13
#endif
end subroutine

@@ -167,10 +167,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve14' :: SetStandPipeManifoldValve14
implicit none
logical, intent(in) :: v
StandPipeManifoldValve14 = v
StandPipeManifold%StandPipeManifoldValve14 = v
call ChangeValve(4, v)
#ifdef deb
print*, 'StandPipeManifoldValve14=', StandPipeManifoldValve14
print*, 'StandPipeManifoldValve14=', StandPipeManifold%StandPipeManifoldValve14
#endif
end subroutine

@@ -179,10 +179,10 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve15' :: SetStandPipeManifoldValve15
implicit none
logical, intent(in) :: v
StandPipeManifoldValve15 = v
StandPipeManifold%StandPipeManifoldValve15 = v
call ChangeValve(5, v)
#ifdef deb
print*, 'StandPipeManifoldValve15=', StandPipeManifoldValve15
print*, 'StandPipeManifoldValve15=', StandPipeManifold%StandPipeManifoldValve15
#endif
end subroutine

@@ -191,7 +191,7 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge1
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge1' :: GetStandPipeGauge1
implicit none
GetStandPipeGauge1 = StandPipeGauge1
GetStandPipeGauge1 = StandPipeManifold%StandPipeGauge1
!GetStandPipeGauge1 = 567.4
end function

@@ -199,7 +199,7 @@ module CStandPipeManifold
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge2
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge2' :: GetStandPipeGauge2
implicit none
GetStandPipeGauge2 = StandPipeGauge2
GetStandPipeGauge2 = StandPipeManifold%StandPipeGauge2
!GetStandPipeGauge2 = 1564.0
end function


+ 22
- 21
CSharp/Equipments/ControlPanels/CStandPipeManifoldVariables.f90 View File

@@ -2,26 +2,27 @@ module CStandPipeManifoldVariables
implicit none
public
! Input vars
logical :: StandPipeManifoldValve1
logical :: StandPipeManifoldValve2
logical :: StandPipeManifoldValve3
logical :: StandPipeManifoldValve4
logical :: StandPipeManifoldValve5
logical :: StandPipeManifoldValve6
logical :: StandPipeManifoldValve7
logical :: StandPipeManifoldValve8
logical :: StandPipeManifoldValve9
logical :: StandPipeManifoldValve10
logical :: StandPipeManifoldValve11
logical :: StandPipeManifoldValve12
logical :: StandPipeManifoldValve13
logical :: StandPipeManifoldValve14
logical :: StandPipeManifoldValve15
Type::StandPipeManifold
! Input vars
logical :: StandPipeManifoldValve1
logical :: StandPipeManifoldValve2
logical :: StandPipeManifoldValve3
logical :: StandPipeManifoldValve4
logical :: StandPipeManifoldValve5
logical :: StandPipeManifoldValve6
logical :: StandPipeManifoldValve7
logical :: StandPipeManifoldValve8
logical :: StandPipeManifoldValve9
logical :: StandPipeManifoldValve10
logical :: StandPipeManifoldValve11
logical :: StandPipeManifoldValve12
logical :: StandPipeManifoldValve13
logical :: StandPipeManifoldValve14
logical :: StandPipeManifoldValve15

! Output vars
real(8) :: StandPipeGauge1
real(8) :: StandPipeGauge2
contains
! Output vars
real(8) :: StandPipeGauge1
real(8) :: StandPipeGauge2
End type StandPipeManifoldType
contains
end module CStandPipeManifoldVariables

+ 45
- 45
CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 View File

@@ -22,9 +22,9 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTorqueWrench' :: SetTopDriveTorqueWrench
implicit none
logical, intent(in) :: v
TopDriveTorqueWrench = v
TopDrivePanel%TopDriveTorqueWrench = v
#ifdef deb
call Log_3( 'TopDriveTorqueWrench=', TopDriveTorqueWrench)
call Log_3( 'TopDriveTorqueWrench=', TopDrivePanel%TopDriveTorqueWrench)
#endif
end subroutine

@@ -33,9 +33,9 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveDrillTorqueState' :: SetTopDriveDrillTorqueState
implicit none
integer, intent(in) :: v
TopDriveDrillTorqueState = v
TopDrivePanel%TopDriveDrillTorqueState = v
#ifdef deb
call Log_3( 'TopDriveDrillTorqueState=', TopDriveDrillTorqueState)
call Log_3( 'TopDriveDrillTorqueState=', TopDrivePanel%TopDriveDrillTorqueState)
#endif
end subroutine

@@ -44,9 +44,9 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveLinkTiltState' :: SetTopDriveLinkTiltState
implicit none
integer, intent(in) :: v
TopDriveLinkTiltState = v
TopDrivePanel%TopDriveLinkTiltState = v
#ifdef deb
call Log_3( 'TopDriveLinkTiltState=', TopDriveLinkTiltState)
call Log_3( 'TopDriveLinkTiltState=', TopDrivePanel%TopDriveLinkTiltState)
#endif
end subroutine

@@ -55,9 +55,9 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveIbop' :: SetTopDriveIbop
implicit none
logical, intent(in) :: v
TopDriveIbop = v
TopDrivePanel%TopDriveIbop = v
#ifdef deb
call Log_3( 'TopDriveIbop=', TopDriveIbop)
call Log_3( 'TopDriveIbop=', TopDrivePanel%TopDriveIbop)
#endif
end subroutine
@@ -65,33 +65,33 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTorqueLimitKnob
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTorqueLimitKnob' :: SetTopDriveTorqueLimitKnob
use CSimulationVariables, only: IsPortable
use CDrillingConsoleVariables, only: RTSwitch, RTTorqueLimitKnob
use CDrillingConsoleVariables!, only: DrillingConsole%RTSwitch, DrillingConsole%RTTorqueLimitKnob
use CWarningsVariables, only: Activate_TopdriveRotaryTableConfilict
use CScaleRange
implicit none
real, intent(in) :: v
if (IsPortable) then
if(TopDriveTdsPowerState /= 0 .and. RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict()
if(TopDriveTdsPowerState /= 0 .and. RTSwitch == 0) then
RTTorqueLimitKnob = 0
TopDriveTorqueLimitKnob = v
if(TopDriveTdsPowerState /= 0 .and. DrillingConsole%RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict()
if(TopDriveTdsPowerState /= 0 .and. DrillingConsole%RTSwitch == 0) then
DrillingConsole%RTTorqueLimitKnob = 0
TopDrivePanel%TopDriveTorqueLimitKnob = v
#ifdef deb
call Log_3( 'RTTorqueLimitKnob=', RTTorqueLimitKnob )
call Log_3( 'TopDriveTorqueLimitKnob=', TopDriveTorqueLimitKnob )
call Log_3( 'RTTorqueLimitKnob=', DrillingConsole%RTTorqueLimitKnob )
call Log_3( 'TopDriveTorqueLimitKnob=', TopDrivePanel%TopDriveTorqueLimitKnob )
#endif
endif
if(TopDriveTdsPowerState == 0 .and. RTSwitch /= 0) then
TopDriveTorqueLimitKnob = 0
RTTorqueLimitKnob = real(ScaleRange(v, 0.0, 10.0, 0.0, 6000.0), 8)
if(TopDriveTdsPowerState == 0 .and. DrillingConsole%RTSwitch /= 0) then
TopDrivePanel%TopDriveTorqueLimitKnob = 0
DrillingConsole%RTTorqueLimitKnob = real(ScaleRange(v, 0.0, 10.0, 0.0, 6000.0), 8)
#ifdef deb
call Log_3( 'RTTorqueLimitKnob=', RTTorqueLimitKnob )
call Log_3( 'TopDriveTorqueLimitKnob=', TopDriveTorqueLimitKnob )
call Log_3( 'RTTorqueLimitKnob=', DrillingConsole%RTTorqueLimitKnob )
call Log_3( 'TopDriveTorqueLimitKnob=', TopDrivePanel%TopDriveTorqueLimitKnob )
#endif
endif
else
TopDriveTorqueLimitKnob = v
TopDrivePanel%TopDriveTorqueLimitKnob = v
#ifdef deb
call Log_3( 'TopDriveTorqueLimitKnob=', TopDriveTorqueLimitKnob)
call Log_3( 'TopDriveTorqueLimitKnob=', TopDrivePanel%TopDriveTorqueLimitKnob)
#endif
endif

@@ -101,31 +101,31 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: SetRpmKnob
!DEC$ ATTRIBUTES ALIAS: 'SetRpmKnob' :: SetRpmKnob
use CSimulationVariables, only: IsPortable
use CDrillingConsoleVariables, only: RTSwitch, RTThrottle
use CDrillingConsoleVariables!, only: DrillingConsole%RTSwitch, DrillingConsole%RTThrottle
use CWarningsVariables, only: Activate_TopdriveRotaryTableConfilict
use CScaleRange
implicit none
real, intent(in) :: v
if (IsPortable) then
if(TopDriveTdsPowerState /= 0 .and. RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict()
if(TopDriveTdsPowerState /= 0 .and. RTSwitch == 0) then
RTThrottle = 0
RpmKnob = v
if(TopDriveTdsPowerState /= 0 .and. DrillingConsole%RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict()
if(TopDriveTdsPowerState /= 0 .and. DrillingConsole%RTSwitch == 0) then
DrillingConsole%RTThrottle = 0
TopDrivePanel%RpmKnob = v
#ifdef deb
call Log_3( 'RTThrottle=', RTThrottle )
call Log_3( 'RpmKnob=', RpmKnob )
call Log_3( 'RTThrottle=', DrillingConsole%RTThrottle )
call Log_3( 'RpmKnob=', TopDrivePanel%RpmKnob )
#endif
endif
if(TopDriveTdsPowerState == 0 .and. RTSwitch /= 0) then
RpmKnob = 0
RTThrottle = real(ScaleRange(v, 0.0, 965.0, 0.0, 250.0), 8)
if(TopDriveTdsPowerState == 0 .and. DrillingConsole%RTSwitch /= 0) then
TopDrivePanel%RpmKnob = 0
DrillingConsole%RTThrottle = real(ScaleRange(v, 0.0, 965.0, 0.0, 250.0), 8)
#ifdef deb
call Log_3( 'RpmKnob=', RpmKnob )
call Log_3( 'RTThrottle=', RTThrottle )
call Log_3( 'RpmKnob=', TopDrivePanel%RpmKnob )
call Log_3( 'RTThrottle=', DrillingConsole%RTThrottle )
#endif
endif
else
RpmKnob = v
TopDrivePanel%RpmKnob = v
endif
@@ -133,9 +133,9 @@ module CTopDrivePanel
if (IsPortable) then
!
else
RpmKnob = v
TopDrivePanel%RpmKnob = v
#ifdef deb
call Log_3( 'RpmKnob=', RpmKnob )
call Log_3( 'RpmKnob=', TopDrivePanel%RpmKnob )
#endif
endif

@@ -147,7 +147,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveOperationFaultLed
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveOperationFaultLed' :: GetTopDriveOperationFaultLed
implicit none
GetTopDriveOperationFaultLed = TopDriveOperationFaultLed
GetTopDriveOperationFaultLed = TopDrivePanel%TopDriveOperationFaultLed
!GetTopDriveOperationFaultLed = 1
end function

@@ -155,7 +155,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTdsPowerLed
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTdsPowerLed' :: GetTopDriveTdsPowerLed
implicit none
GetTopDriveTdsPowerLed = TopDriveTdsPowerLed
GetTopDriveTdsPowerLed = TopDrivePanel%TopDriveTdsPowerLed
!GetTopDriveTdsPowerLed = 1
end function

@@ -163,7 +163,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueWrenchLed
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueWrenchLed' :: GetTopDriveTorqueWrenchLed
implicit none
GetTopDriveTorqueWrenchLed = TopDriveTorqueWrenchLed
GetTopDriveTorqueWrenchLed = TopDrivePanel%TopDriveTorqueWrenchLed
!GetTopDriveTorqueWrenchLed = 1
end function

@@ -171,7 +171,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveLinkTiltLed
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveLinkTiltLed' :: GetTopDriveLinkTiltLed
implicit none
GetTopDriveLinkTiltLed = TopDriveLinkTiltLed
GetTopDriveLinkTiltLed = TopDrivePanel%TopDriveLinkTiltLed
!GetTopDriveLinkTiltLed = 1
end function

@@ -179,7 +179,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveIbopLed
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveIbopLed' :: GetTopDriveIbopLed
implicit none
GetTopDriveIbopLed = TopDriveIbopLed
GetTopDriveIbopLed = TopDrivePanel%TopDriveIbopLed
!GetTopDriveIbopLed = 1
end function
@@ -187,7 +187,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueGauge
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueGauge' :: GetTopDriveTorqueGauge
implicit none
GetTopDriveTorqueGauge = TopDriveTorqueGauge
GetTopDriveTorqueGauge = TopDrivePanel%TopDriveTorqueGauge
!GetTopDriveTorqueGauge = 340
end function
@@ -195,7 +195,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueLimitGauge
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueLimitGauge' :: GetTopDriveTorqueLimitGauge
implicit none
GetTopDriveTorqueLimitGauge = TopDriveTorqueLimitGauge
GetTopDriveTorqueLimitGauge = TopDrivePanel%TopDriveTorqueLimitGauge
!GetTopDriveTorqueLimitGauge = 442
end function
@@ -203,7 +203,7 @@ module CTopDrivePanel
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveRpmGauge
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveRpmGauge' :: GetTopDriveRpmGauge
implicit none
GetTopDriveRpmGauge = TopDriveRpmGauge
GetTopDriveRpmGauge = TopDrivePanel%TopDriveRpmGauge
!GetTopDriveRpmGauge = 67
end function



+ 20
- 18
CSharp/Equipments/ControlPanels/CTopDrivePanelVariables.f90 View File

@@ -20,24 +20,26 @@ module CTopDrivePanelVariables
integer :: LED_BLINK = 2
! Input vars
integer :: TopDriveTdsPowerState
logical :: TopDriveTorqueWrench
integer :: TopDriveDrillTorqueState
integer :: TopDriveLinkTiltState
logical :: TopDriveIbop
real :: TopDriveTorqueLimitKnob
real :: RpmKnob
! Type::TopDrivePanelType
integer :: TopDriveTdsPowerState
logical :: TopDriveTorqueWrench
integer :: TopDriveDrillTorqueState
integer :: TopDriveLinkTiltState
logical :: TopDriveIbop
real :: TopDriveTorqueLimitKnob
real :: RpmKnob

! Output vars
integer :: TopDriveOperationFaultLed
integer :: TopDriveTdsPowerLed
integer :: TopDriveTorqueWrenchLed
integer :: TopDriveLinkTiltLed
integer :: TopDriveIbopLed
real :: TopDriveTorqueLimitGauge
real :: TopDriveTorqueGauge
real :: TopDriveRpmGauge
! Output vars
integer :: TopDriveOperationFaultLed
integer :: TopDriveTdsPowerLed
integer :: TopDriveTorqueWrenchLed
integer :: TopDriveLinkTiltLed
integer :: TopDriveIbopLed
real :: TopDriveTorqueLimitGauge
real :: TopDriveTorqueGauge
real :: TopDriveRpmGauge
end type TopDrivePanelType
Type(TopDrivePanelType)::TopDrivePanel
contains
end module CTopDrivePanelVariables

BIN
View File


BIN
View File


+ 19
- 19
CSharp/Equipments/DrillWatch/CDrillWatch.f90 View File

@@ -13,7 +13,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetDepth
!DEC$ ATTRIBUTES ALIAS: 'GetDepth' :: GetDepth
implicit none
GetDepth = Depth
GetDepth = DrillingWatch%Depth
!GetDepth = Depth + 10 + SimulationTime
end function
@@ -21,7 +21,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetBitPosition
!DEC$ ATTRIBUTES ALIAS: 'GetBitPosition' :: GetBitPosition
implicit none
GetBitPosition = BitPosition
GetBitPosition = DrillingWatch%BitPosition
!GetBitPosition = BitPosition + 20 + SimulationTime
end function

@@ -29,7 +29,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetHookLoadD
!DEC$ ATTRIBUTES ALIAS: 'GetHookLoadD' :: GetHookLoadD
implicit none
GetHookLoadD = HookLoad
GetHookLoadD = DrillingWatch%HookLoad
!GetHookLoadD = HookLoad + 30 + SimulationTime
end function

@@ -37,7 +37,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetWeightOnBit
!DEC$ ATTRIBUTES ALIAS: 'GetWeightOnBit' :: GetWeightOnBit
implicit none
GetWeightOnBit = WeightOnBit
GetWeightOnBit = DrillingWatch%WeightOnBit
!GetWeightOnBit = WeightOnBit + 40 + SimulationTime
end function

@@ -45,7 +45,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetRPM
!DEC$ ATTRIBUTES ALIAS: 'GetRPM' :: GetRPM
implicit none
GetRPM = RPM
GetRPM = DrillingWatch%RPM
!GetRPM = RPM + 50 + SimulationTime
end function
@@ -53,7 +53,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetROP2
!DEC$ ATTRIBUTES ALIAS: 'GetROP2' :: GetROP2
implicit none
GetROP2 = ROP
GetROP2 = DrillingWatch%ROP
!GetROP2 = ROP + 60 + SimulationTime
end function

@@ -61,7 +61,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetTorque
!DEC$ ATTRIBUTES ALIAS: 'GetTorque' :: GetTorque
implicit none
GetTorque = Torque
GetTorque = DrillingWatch%Torque
!GetTorque = Torque + 70 + SimulationTime
end function

@@ -69,7 +69,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetPumpPressureD
!DEC$ ATTRIBUTES ALIAS: 'GetPumpPressureD' :: GetPumpPressureD
implicit none
GetPumpPressureD = PumpPressure
GetPumpPressureD = DrillingWatch%PumpPressure
!GetPumpPressureD = PumpPressure + 80 + SimulationTime
end function

@@ -77,7 +77,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetSPM1
!DEC$ ATTRIBUTES ALIAS: 'GetSPM1' :: GetSPM1
implicit none
GetSPM1 = SPM1
GetSPM1 = DrillingWatch%SPM1
!GetSPM1 = SPM1 + 90 + SimulationTime
end function

@@ -85,7 +85,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetSPM2
!DEC$ ATTRIBUTES ALIAS: 'GetSPM2' :: GetSPM2
implicit none
GetSPM2 = SPM2
GetSPM2 = DrillingWatch%SPM2
!GetSPM2 = SPM2 + 100 + SimulationTime
end function
@@ -100,7 +100,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressureD
!DEC$ ATTRIBUTES ALIAS: 'GetCasingPressureD' :: GetCasingPressureD
implicit none
GetCasingPressureD = CasingPressure
GetCasingPressureD = DrillingWatch%CasingPressure
!GetCasingPressureD = CasingPressure + 110 + SimulationTime
end function

@@ -108,7 +108,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetPercentFlow
!DEC$ ATTRIBUTES ALIAS: 'GetPercentFlow' :: GetPercentFlow
implicit none
GetPercentFlow = PercentFlow
GetPercentFlow = DrillingWatch%PercentFlow
!GetPercentFlow = PercentFlow + 120 + SimulationTime
end function

@@ -116,7 +116,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetPitGainLose
!DEC$ ATTRIBUTES ALIAS: 'GetPitGainLose' :: GetPitGainLose
implicit none
GetPitGainLose = PitGainLose
GetPitGainLose = DrillingWatch%PitGainLose
!GetPitGainLose = PitGainLose + 130 + SimulationTime
end function
@@ -124,7 +124,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetPitVolume
!DEC$ ATTRIBUTES ALIAS: 'GetPitVolume' :: GetPitVolume
implicit none
GetPitVolume = PitVolume
GetPitVolume = DrillingWatch%PitVolume
!GetPitVolume = PitVolume + 140 + SimulationTime
end function

@@ -132,7 +132,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetKillMudVolume
!DEC$ ATTRIBUTES ALIAS: 'GetKillMudVolume' :: GetKillMudVolume
implicit none
GetKillMudVolume = KillMudVolume
GetKillMudVolume = DrillingWatch%KillMudVolume
!GetKillMudVolume = KillMudVolume + 150 + SimulationTime
end function

@@ -140,7 +140,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankVolume
!DEC$ ATTRIBUTES ALIAS: 'GetTripTankVolume' :: GetTripTankVolume
implicit none
GetTripTankVolume = TripTankVolume
GetTripTankVolume = DrillingWatch%TripTankVolume
!GetTripTankVolume = TripTankVolume + 160 + SimulationTime
end function

@@ -148,7 +148,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetMudWeightInD
!DEC$ ATTRIBUTES ALIAS: 'GetMudWeightInD' :: GetMudWeightInD
implicit none
GetMudWeightInD = MudWeightIn
GetMudWeightInD = DrillingWatch%MudWeightIn
!GetMudWeightInD = MudWeightIn + 170 + SimulationTime
end function

@@ -156,7 +156,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetFillVolume
!DEC$ ATTRIBUTES ALIAS: 'GetFillVolume' :: GetFillVolume
implicit none
GetFillVolume = FillVolume
GetFillVolume = DrillingWatch%FillVolume
!GetFillVolume = FillVolume + 180 + SimulationTime
end function

@@ -164,7 +164,7 @@ module CDrillWatch
!DEC$ ATTRIBUTES DLLEXPORT :: GetMudWeightOutD
!DEC$ ATTRIBUTES ALIAS: 'GetMudWeightOutD' :: GetMudWeightOutD
implicit none
GetMudWeightOutD = MudWeightOut
GetMudWeightOutD = DrillingWatch%MudWeightOut
!GetMudWeightOutD = MudWeightOut + 190 + SimulationTime
end function


+ 25
- 24
CSharp/Equipments/DrillWatch/CDrillWatchVariables.f90 View File

@@ -5,29 +5,30 @@ module CDrillWatchVariables
! Input vars

! Output vars
real(8) :: Depth
real(8) :: BitPosition
real(8) :: HookLoad
real(8) :: WeightOnBit
real(8) :: RPM
real(8) :: ROP
real(8) :: Torque
real(8) :: PumpPressure
real(8) :: SPM1
real(8) :: SPM2
!real(8) :: SPM3
real(8) :: CasingPressure
real(8) :: PercentFlow
real(8) :: PitGainLose
real(8) :: PitVolume
real(8) :: KillMudVolume
real(8) :: TripTankVolume
real(8) :: MudWeightIn
real(8) :: FillVolume
real(8) :: MudWeightOut

Type, Public::DrillingWatchType
! Output vars
real(8) :: Depth
real(8) :: BitPosition
real(8) :: HookLoad
real(8) :: WeightOnBit
real(8) :: RPM
real(8) :: ROP
real(8) :: Torque
real(8) :: PumpPressure
real(8) :: SPM1
real(8) :: SPM2
!real(8) :: SPM3
real(8) :: CasingPressure
real(8) :: PercentFlow
real(8) :: PitGainLose
real(8) :: PitVolume
real(8) :: KillMudVolume
real(8) :: TripTankVolume
real(8) :: MudWeightIn
real(8) :: FillVolume
real(8) :: MudWeightOut
End Type DrillingWatchType
Type(DrillingWatchType)::DrillingWatch
contains
end module CDrillWatchVariables

+ 495
- 494
CSharp/Equipments/MudPathFinding/CManifolds.f90
File diff suppressed because it is too large
View File


+ 35
- 35
CSharp/Equipments/Tanks/CTanks.f90 View File

@@ -13,9 +13,9 @@
!DEC$ ATTRIBUTES ALIAS: 'SetWaterRate' :: SetWaterRate
implicit none
real*8, intent(in) :: v
WaterRate = v
Tank%WaterRate = v
#ifdef deb
print*, 'WaterRate=', WaterRate
print*, 'WaterRate=', Tank%WaterRate
#endif
end subroutine

@@ -24,9 +24,9 @@
!DEC$ ATTRIBUTES ALIAS: 'SetCementTankVolume' :: SetCementTankVolume
implicit none
real*8, intent(in) :: v
CementTankVolume = v
Tank%CementTankVolume = v
#ifdef deb
print*, 'CementTankVolume=', CementTankVolume
print*, 'CementTankVolume=', Tank%CementTankVolume
#endif
end subroutine

@@ -35,9 +35,9 @@
!DEC$ ATTRIBUTES ALIAS: 'SetCementTankDensity' :: SetCementTankDensity
implicit none
real*8, intent(in) :: v
CementTankDensity = v
Tank%CementTankDensity = v
#ifdef deb
print*, 'CementTankDensity=', CementTankDensity
print*, 'CementTankDensity=', Tank%CementTankDensity
#endif
end subroutine

@@ -46,9 +46,9 @@
!DEC$ ATTRIBUTES ALIAS: 'SetTripTankVolume' :: SetTripTankVolume
implicit none
real*8, intent(in) :: v
TripTankVolume = v
Tank%TripTankVolume = v
#ifdef deb
print*, 'TripTankVolume=', TripTankVolume
print*, 'TripTankVolume=', Tank%TripTankVolume
#endif
end subroutine

@@ -57,9 +57,9 @@
!DEC$ ATTRIBUTES ALIAS: 'SetTripTankDensity' :: SetTripTankDensity
implicit none
real*8, intent(in) :: v
TripTankDensity = v
Tank%TripTankDensity = v
#ifdef deb
print*, 'TripTankDensity=', TripTankDensity
print*, 'TripTankDensity=', Tank%TripTankDensity
#endif
end subroutine

@@ -80,10 +80,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve1T' :: SetValve1T
implicit none
logical, intent(in) :: v
Valve1 = v
Tank%Valve1 = v
call ChangeValve(40, v)
#ifdef deb
print*, 'Valve1T=', Valve1
print*, 'Valve1T=', Tank%Valve1
#endif
end subroutine

@@ -92,10 +92,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve2T' :: SetValve2T
implicit none
logical, intent(in) :: v
Valve2 = v
Tank%Valve2 = v
call ChangeValve(41, v)
#ifdef deb
print*, 'Valve2T=', Valve2
print*, 'Valve2T=', Tank%Valve2
#endif
end subroutine

@@ -104,10 +104,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve3T' :: SetValve3T
implicit none
logical, intent(in) :: v
Valve3 = v
Tank%Valve3 = v
call ChangeValve(45, v)
#ifdef deb
print*, 'Valve3T=', Valve3
print*, 'Valve3T=', Tank%Valve3
#endif
end subroutine

@@ -116,10 +116,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve4T' :: SetValve4T
implicit none
logical, intent(in) :: v
Valve4 = v
Tank%Valve4 = v
call ChangeValve(58, v)
#ifdef deb
print*, 'Valve4T=', Valve4
print*, 'Valve4T=', Tank%Valve4
#endif
end subroutine

@@ -128,10 +128,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve5T' :: SetValve5T
implicit none
logical, intent(in) :: v
Valve5 = v
Tank%Valve5 = v
call ChangeValve(42, v)
#ifdef deb
print*, 'Valve5T=', Valve5
print*, 'Valve5T=', Tank%Valve5
#endif
end subroutine
@@ -153,11 +153,11 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve6' :: SetValve6
implicit none
logical, intent(in) :: v
Valve6 = v
Tank%Valve6 = v
call ChangeValve(38, v)
!WRITE (*,*) ' valve 38 ', v
#ifdef deb
print*, 'Valve6=', Valve6
print*, 'Valve6=', Tank%Valve6
#endif
end subroutine

@@ -166,10 +166,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve7' :: SetValve7
implicit none
logical, intent(in) :: v
Valve7 = v
Tank%Valve7 = v
call ChangeValve(59, v)
#ifdef deb
print*, 'Valve7=', Valve7
print*, 'Valve7=', Tank%Valve7
#endif
end subroutine

@@ -178,10 +178,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve8' :: SetValve8
implicit none
logical, intent(in) :: v
Valve8 = v
Tank%Valve8 = v
call ChangeValve(39, v)
#ifdef deb
print*, 'Valve8=', Valve8
print*, 'Valve8=', Tank%Valve8
#endif
end subroutine

@@ -190,11 +190,11 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve9' :: SetValve9
implicit none
logical, intent(in) :: v
Valve9 = v
Tank%Valve9 = v
call ChangeValve(36, v)
!WRITE (*,*) ' valve 36 ', v
#ifdef deb
print*, 'Valve9=', Valve9
print*, 'Valve9=', Tank%Valve9
#endif
end subroutine

@@ -203,10 +203,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve10' :: SetValve10
implicit none
logical, intent(in) :: v
Valve10 = v
Tank%Valve10 = v
call ChangeValve(37, v)
#ifdef deb
print*, 'Valve10=', Valve10
print*, 'Valve10=', Tank%Valve10
#endif
end subroutine

@@ -215,10 +215,10 @@
!DEC$ ATTRIBUTES ALIAS: 'SetValve11' :: SetValve11
implicit none
logical, intent(in) :: v
Valve11 = v
Tank%Valve11 = v
call ChangeValve(44, v)
#ifdef deb
print*, 'Valve11=', Valve11
print*, 'Valve11=', Tank%Valve11
#endif
end subroutine

@@ -229,7 +229,7 @@
!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankVolumeT
!DEC$ ATTRIBUTES ALIAS: 'GetTripTankVolumeT' :: GetTripTankVolumeT
implicit none
GetTripTankVolumeT = TripTankVolume
GetTripTankVolumeT = Tank%TripTankVolume
!GetTripTankVolumeT = 50.0 + SimulationTime
end function
@@ -237,7 +237,7 @@
!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankDensity
!DEC$ ATTRIBUTES ALIAS: 'GetTripTankDensity' :: GetTripTankDensity
implicit none
GetTripTankDensity = TripTankDensity
GetTripTankDensity = Tank%TripTankDensity
!GetTripTankDensity = 13.0 + SimulationTime
end function
@@ -245,7 +245,7 @@
!DEC$ ATTRIBUTES DLLEXPORT :: GetManualPumpPowerT
!DEC$ ATTRIBUTES ALIAS: 'GetManualPumpPowerT' :: GetManualPumpPowerT
implicit none
GetManualPumpPowerT = ManualPumpPower
GetManualPumpPowerT = Tank%ManualPumpPower
!GetManualPumpPowerT = .true.
end function

+ 24
- 25
CSharp/Equipments/Tanks/CTanksVariables.f90 View File

@@ -1,29 +1,28 @@
module CTanksVariables
implicit none
public
! Input vars
real(8) :: WaterRate
real(8) :: CementTankVolume
real(8) :: CementTankDensity
real(8) :: TripTankVolume
real(8) :: TripTankDensity
logical :: ManualPumpPower
logical :: Valve1
logical :: Valve2
logical :: Valve3
logical :: Valve4
logical :: Valve5
logical :: Valve6
logical :: Valve7
logical :: Valve8
logical :: Valve9
logical :: Valve10
logical :: Valve11

! Output vars

Type :: TankType
! Input vars
real(8) :: WaterRate
real(8) :: CementTankVolume
real(8) :: CementTankDensity
real(8) :: TripTankVolume
real(8) :: TripTankDensity
logical :: ManualPumpPower
logical :: Valve1
logical :: Valve2
logical :: Valve3
logical :: Valve4
logical :: Valve5
logical :: Valve6
logical :: Valve7
logical :: Valve8
logical :: Valve9
logical :: Valve10
logical :: Valve11
End Type TankType
Type(TankType)::Tank

contains
@@ -31,10 +30,10 @@ module CTanksVariables
use CManifolds, only:ChangeValve
implicit none
logical, intent(in) :: v
ManualPumpPower = v
Tank%ManualPumpPower = v
call ChangeValve(43, v)
#ifdef deb
print*, 'ManualPumpPower=', ManualPumpPower
print*, 'ManualPumpPower=', Tank%ManualPumpPower
#endif
end subroutine

+ 1
- 1
CSharp/OperationScenarios/Common/COperationScenariosMain.f90 View File

@@ -363,7 +363,7 @@ module COperationScenariosMain
use CMouseHoleEnumVariables
implicit none
if(DriveType == Kelly_DriveType) then ! kelly mode
if(Hoisting%DriveType == Kelly_DriveType) then ! kelly mode
if(Get_OperationCondition() == OPERATION_DRILL) then


+ 3
- 3
CSharp/OperationScenarios/Common/COperationScenariosSettings.f90 View File

@@ -154,7 +154,7 @@ module COperationScenariosSettings
subroutine SetDefaultValues()
use COperationScenariosVariables
use CHoistingVariables, only: DriveType, TopDrive_DriveType
use CHoistingVariables, only: Hoisting%DriveType, TopDrive_DriveType
use CManifolds, only: RemoveSafetyValve_TripMode, RemoveSafetyValve_KellyMode
implicit none
@@ -185,7 +185,7 @@ module COperationScenariosSettings
call Set_FillMouseHoleLed(.true.) !Get_FillMouseHoleLed()
call Set_IrIBopLed(.false.) !Get_IrIBopLed()
!call Set_IrSafetyValveLed(.true.) !Get_IrSafetyValveLed()
if(DriveType == TopDrive_DriveType) then
if(Hoisting%DriveType == TopDrive_DriveType) then
call RemoveSafetyValve_TripMode()
call RemoveSafetyValve_KellyMode()
call Set_IrSafetyValveLed(.false.)
@@ -302,7 +302,7 @@ module COperationScenariosSettings
!Get_SafetyValve()
!SAFETY_VALVE_INSTALL
!SAFETY_VALVE_REMOVE
if(DriveType == TopDrive_DriveType) call Set_SafetyValve(SAFETY_VALVE_REMOVE)
if(Hoisting%DriveType == TopDrive_DriveType) call Set_SafetyValve(SAFETY_VALVE_REMOVE)
call Set_Slips(SLIPS_SET_BEGIN)
!Get_Slips()


+ 6
- 6
CSharp/OperationScenarios/Enums/CElevatorConnectionEnum.f90 View File

@@ -10,7 +10,7 @@ module CElevatorConnectionEnum
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_ElevatorConnection=TopDrive'
#endif
@@ -24,7 +24,7 @@ module CElevatorConnectionEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ElevatorConnection=Kelly'
#endif
@@ -338,7 +338,7 @@ module CElevatorConnectionEnum
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_Latch_ElevatorConnection=TopDrive'
#endif
@@ -410,7 +410,7 @@ module CElevatorConnectionEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_Latch_ElevatorConnection=Kelly'
#endif
@@ -481,7 +481,7 @@ module CElevatorConnectionEnum
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_Unlatch_ElevatorConnection=TopDrive'
#endif
@@ -549,7 +549,7 @@ module CElevatorConnectionEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_Unlatch_ElevatorConnection=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Enums/CKellyConnectionEnum.f90 View File

@@ -9,7 +9,7 @@ module CKellyConnectionEnum
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_KellyConnection=TopDrive'
#endif
@@ -33,7 +33,7 @@ module CKellyConnectionEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_KellyConnection=Kelly'
#endif


+ 4
- 4
CSharp/OperationScenarios/Enums/CTdsConnectionModesEnum.f90 View File

@@ -8,7 +8,7 @@ module CTdsConnectionModesEnum
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_TdsConnectionModes=TopDrive'
#endif
@@ -29,7 +29,7 @@ module CTdsConnectionModesEnum
Get_TdsConnectionModes() == TDS_CONNECTION_SPINE ) then
call Set_TdsConnectionModes(TDS_CONNECTION_STRING)
TopDriveTorqueWrenchLed = LED_OFF
TopDrivePanel%TopDriveTorqueWrenchLed = LED_OFF
return
end if
@@ -39,7 +39,7 @@ module CTdsConnectionModesEnum
Get_TdsConnectionModes() == TDS_CONNECTION_STRING ) then
call Set_TdsConnectionModes(TDS_CONNECTION_SPINE)
TopDriveTorqueWrenchLed = LED_OFF
TopDrivePanel%TopDriveTorqueWrenchLed = LED_OFF
return
end if
@@ -60,7 +60,7 @@ module CTdsConnectionModesEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_TdsConnectionModes=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Enums/CTdsElevatorModesEnum.f90 View File

@@ -7,7 +7,7 @@ module CTdsElevatorModesEnum
use CCommon, only: SetStandRack
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_TdsElevatorModes=TopDrive'
#endif
@@ -311,7 +311,7 @@ module CTdsElevatorModesEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_TdsElevatorModes=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Notifications/CCloseKellyCockLedNotification.f90 View File

@@ -41,7 +41,7 @@ module CCloseKellyCockLedNotification
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_CloseKellyCockLed=TopDrive'
#endif
@@ -56,7 +56,7 @@ module CCloseKellyCockLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_CloseKellyCockLed=Kelly'
#endif


+ 1
- 1
CSharp/OperationScenarios/Notifications/CCloseKellyCockLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CCloseKellyCockLedNotificationVariables
contains
subroutine Set_CloseKellyCockLed(v)
use CDrillingConsoleVariables, only: CloseKellyCockLedHw => CloseKellyCockLed
use CDrillingConsoleVariables!, only: CloseKellyCockLedHw => CloseKellyCockLed
use CManifolds, only: CloseKellyCock
implicit none
logical , intent(in) :: v


+ 2
- 2
CSharp/OperationScenarios/Notifications/CCloseSafetyValveLedNotification.f90 View File

@@ -55,7 +55,7 @@ module CCloseSafetyValveLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_CloseSafetyValveLed=TopDrive'
#endif
@@ -82,7 +82,7 @@ module CCloseSafetyValveLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_CloseSafetyValveLed=Kelly'
#endif


+ 5
- 5
CSharp/OperationScenarios/Notifications/CCloseSafetyValveLedNotificationVariables.f90 View File

@@ -12,9 +12,9 @@ module CCloseSafetyValveLedNotificationVariables
contains
subroutine Set_CloseSafetyValveLed(v)
use CDrillingConsoleVariables, only: CloseSafetyValveLedHw => CloseSafetyValveLed
! use CDrillingConsoleVariables, only: CloseSafetyValveLedHw => CloseSafetyValveLed
use CManifolds, only: CloseSafetyValve_TopDrive, CloseSafetyValve_KellyMode, CloseSafetyValve_TripMode
use CHoistingVariables, only: DriveType, TopDrive_DriveType, Kelly_DriveType
use CHoistingVariables, only: Hoisting%DriveType, TopDrive_DriveType, Kelly_DriveType
implicit none
logical , intent(in) :: v
#ifdef ExcludeExtraChanges
@@ -24,9 +24,9 @@ module CCloseSafetyValveLedNotificationVariables
if(CloseSafetyValveLed) then
!!call CloseSafetyValve()
if(DriveType == TopDrive_DriveType) call CloseSafetyValve_TopDrive()
if(DriveType == Kelly_DriveType .and. operation_CloseSafetyValveLed == 0) call CloseSafetyValve_KellyMode()
if(DriveType == Kelly_DriveType .and. operation_CloseSafetyValveLed == 1) call CloseSafetyValve_TripMode()
if(Hoisting%DriveType == TopDrive_DriveType) call CloseSafetyValve_TopDrive()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_CloseSafetyValveLed == 0) call CloseSafetyValve_KellyMode()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_CloseSafetyValveLed == 1) call CloseSafetyValve_TripMode()
endif
!if(CloseSafetyValveLed) then


+ 2
- 2
CSharp/OperationScenarios/Notifications/CFillMouseHoleLedNotification.f90 View File

@@ -41,7 +41,7 @@ module CFillMouseHoleLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_FillMouseHoleLed=TopDrive'
#endif
@@ -79,7 +79,7 @@ module CFillMouseHoleLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_FillMouseHoleLed=Kelly'
#endif


+ 3
- 3
CSharp/OperationScenarios/Notifications/CFillMouseHoleLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CFillMouseHoleLedNotificationVariables
contains
subroutine Set_FillMouseHoleLed(v)
use CDrillingConsoleVariables, only: FillMouseHoleLedHw => FillMouseHoleLed
use CDrillingConsoleVariables!, only: FillMouseHoleLedHw => FillMouseHoleLed
use CMouseHoleEnumVariables
implicit none
logical , intent(in) :: v
@@ -21,10 +21,10 @@ module CFillMouseHoleLedNotificationVariables
#endif
FillMouseHoleLed = v
if(FillMouseHoleLed) then
FillMouseHoleLedHw = 1
DrillingConsole%FillMouseHoleLed = 1
!call Set_MouseHole(MOUSE_HOLE_FILL)
else
FillMouseHoleLedHw = 0
DrillingConsole%FillMouseHoleLed = 0
!call Set_MouseHole(MOUSE_HOLE_EMPTY)
endif
call OnFillMouseHoleLedChange%RunAll()


+ 2
- 2
CSharp/OperationScenarios/Notifications/CIrIBopLedNotification.f90 View File

@@ -45,7 +45,7 @@ module CIrIBopLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_IrIBopLed=TopDrive'
#endif
@@ -83,7 +83,7 @@ module CIrIBopLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_IrIBopLed=Kelly'
#endif


+ 3
- 3
CSharp/OperationScenarios/Notifications/CIrIBopLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CIrIBopLedNotificationVariables
contains
subroutine Set_IrIBopLed(v)
use CDrillingConsoleVariables, only: IRIBopLedHw => IRIBopLed
use CDrillingConsoleVariables!, only: IRIBopLedHw => IRIBopLed
use CManifolds, only: InstallIBop, RemoveIBop
use CIbopEnumVariables, only: Set_Ibop_Install, Set_Ibop_Remove
implicit none
@@ -22,11 +22,11 @@ module CIrIBopLedNotificationVariables
#endif
IrIBopLed = v
if(IrIBopLed) then
IRIBopLedHw = 1
DrillingConsole%IRIBopLed = 1
call InstallIBop()
call Set_Ibop_Install()
else
IRIBopLedHw = 0
DrillingConsole%IRIBopLed = 0
call RemoveIBop()
call Set_Ibop_Remove()
endif


+ 4
- 4
CSharp/OperationScenarios/Notifications/CIrSafetyValveLedNotification.f90 View File

@@ -11,7 +11,7 @@ module CIrSafetyValveLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_IrSafetyValveLed=TopDrive'
#endif
@@ -31,7 +31,7 @@ module CIrSafetyValveLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_IrSafetyValveLed=Kelly'
#endif
@@ -87,7 +87,7 @@ module CIrSafetyValveLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_IrSafetyValveLed=TopDrive'
#endif
@@ -126,7 +126,7 @@ module CIrSafetyValveLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_IrSafetyValveLed=Kelly'
#endif


+ 10
- 10
CSharp/OperationScenarios/Notifications/CIrSafetyValveLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CIrSafetyValveLedNotificationVariables
contains
subroutine Set_IrSafetyValveLed(v)
use CDrillingConsoleVariables, only: IRSafetyValveLedHw => IRSafetyValveLed
use CDrillingConsoleVariables!, only: DrillingConsole%CloseKellyCockLed => IRSafetyValveLed
use CManifolds, only: &
InstallSafetyValve_TopDrive, &
InstallSafetyValve_KellyMode, &
@@ -21,7 +21,7 @@ module CIrSafetyValveLedNotificationVariables
RemoveSafetyValve_KellyMode, &
RemoveSafetyValve_TripMode
use CSafetyValveEnumVariables, only: Set_SafetyValve_Install, Set_SafetyValve_Remove
use CHoistingVariables, only: DriveType, TopDrive_DriveType, Kelly_DriveType
use CHoistingVariables, only: Hoisting%DriveType, TopDrive_DriveType, Kelly_DriveType
implicit none
logical , intent(in) :: v
#ifdef ExcludeExtraChanges
@@ -30,19 +30,19 @@ module CIrSafetyValveLedNotificationVariables
IrSafetyValveLed = v
if(IrSafetyValveLed) then
IRSafetyValveLedHw = 1
DrillingConsole%IRSafetyValveLed = 1
if(DriveType == TopDrive_DriveType) call InstallSafetyValve_TopDrive()
if(DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 0) call InstallSafetyValve_KellyMode()
if(DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 1) call InstallSafetyValve_TripMode()
if(Hoisting%DriveType == TopDrive_DriveType) call InstallSafetyValve_TopDrive()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 0) call InstallSafetyValve_KellyMode()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 1) call InstallSafetyValve_TripMode()
call Set_SafetyValve_Install()
else
IRSafetyValveLedHw = 0
DrillingConsole%IRSafetyValveLed = 0
if(DriveType == TopDrive_DriveType) call RemoveSafetyValve_TopDrive()
if(DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 0) call RemoveSafetyValve_KellyMode()
if(DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 1) call RemoveSafetyValve_TripMode()
if(Hoisting%DriveType == TopDrive_DriveType) call RemoveSafetyValve_TopDrive()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 0) call RemoveSafetyValve_KellyMode()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_IrSafetyValveLed == 1) call RemoveSafetyValve_TripMode()
call Set_SafetyValve_Remove()
endif


+ 2
- 2
CSharp/OperationScenarios/Notifications/CLatchLedNotification.f90 View File

@@ -11,7 +11,7 @@ module CLatchLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_LatchLed=TopDrive'
#endif
@@ -106,7 +106,7 @@ module CLatchLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_LatchLed=Kelly'
#endif


+ 3
- 3
CSharp/OperationScenarios/Notifications/CLatchLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CLatchLedNotificationVariables
contains
subroutine Set_LatchLed(v)
use CDrillingConsoleVariables, only: LatchPipeLED
use CDrillingConsoleVariables!, only: DrillingConsole%LatchPipeLED
!use CUnlatchLedNotification
implicit none
logical , intent(in) :: v
@@ -21,10 +21,10 @@ module CLatchLedNotificationVariables
#endif
LatchLed = v
if(LatchLed) then
LatchPipeLED = 1
DrillingConsole%LatchPipeLED = 1
!call Set_UnlatchLed(.false.)
else
LatchPipeLED = 0
DrillingConsole%LatchPipeLED = 0
endif
call OnLatchLedChange%RunAll()
end subroutine


+ 2
- 2
CSharp/OperationScenarios/Notifications/COpenKellyCockLedNotification.f90 View File

@@ -32,7 +32,7 @@ module COpenKellyCockLedNotification
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_OpenKellyCock=TopDrive'
#endif
@@ -41,7 +41,7 @@ module COpenKellyCockLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_OpenKellyCock=Kelly'
#endif


+ 1
- 1
CSharp/OperationScenarios/Notifications/COpenKellyCockLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module COpenKellyCockLedNotificationVariables
contains
subroutine Set_OpenKellyCockLed(v)
use CDrillingConsoleVariables, only: OpenKellyCockLedHw => OpenKellyCockLed
! use CDrillingConsoleVariables!, only: OpenKellyCockLedHw => OpenKellyCockLed
use CManifolds, only: OpenKellyCock
implicit none
logical , intent(in) :: v


+ 2
- 2
CSharp/OperationScenarios/Notifications/COpenSafetyValveLedNotification.f90 View File

@@ -56,7 +56,7 @@ module COpenSafetyValveLedNotification
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_OpenSafetyValve=TopDrive'
#endif
@@ -80,7 +80,7 @@ module COpenSafetyValveLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_OpenSafetyValve=Kelly'
#endif


+ 5
- 5
CSharp/OperationScenarios/Notifications/COpenSafetyValveLedNotificationVariables.f90 View File

@@ -12,9 +12,9 @@ module COpenSafetyValveLedNotificationVariables
contains
subroutine Set_OpenSafetyValveLed(v)
use CDrillingConsoleVariables, only: OpenSafetyValveLedHw => OpenSafetyValveLed
! use CDrillingConsoleVariables, only: OpenSafetyValveLedHw => OpenSafetyValveLed
use CManifolds, only: OpenSafetyValve_TopDrive, OpenSafetyValve_KellyMode, OpenSafetyValve_TripMode
use CHoistingVariables, only: DriveType, TopDrive_DriveType, Kelly_DriveType
use CHoistingVariables, only: Hoisting%DriveType, TopDrive_DriveType, Kelly_DriveType
implicit none
logical , intent(in) :: v
#ifdef ExcludeExtraChanges
@@ -24,9 +24,9 @@ module COpenSafetyValveLedNotificationVariables
if(OpenSafetyValveLed) then
!!call OpenSafetyValve()
if(DriveType == TopDrive_DriveType) call OpenSafetyValve_TopDrive()
if(DriveType == Kelly_DriveType .and. operation_OpenSafetyValveLed == 0) call OpenSafetyValve_KellyMode()
if(DriveType == Kelly_DriveType .and. operation_OpenSafetyValveLed == 1) call OpenSafetyValve_TripMode()
if(Hoisting%DriveType == TopDrive_DriveType) call OpenSafetyValve_TopDrive()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_OpenSafetyValveLed == 0) call OpenSafetyValve_KellyMode()
if(Hoisting%DriveType == Kelly_DriveType .and. operation_OpenSafetyValveLed == 1) call OpenSafetyValve_TripMode()
endif
!if(OpenSafetyValveLed) then


+ 2
- 2
CSharp/OperationScenarios/Notifications/CSlipsNotification.f90 View File

@@ -9,7 +9,7 @@ module CSlipsNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_SlipsNotification=TopDrive'
#endif
@@ -52,7 +52,7 @@ module CSlipsNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_SlipsNotification=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Notifications/CSwingLedNotification.f90 View File

@@ -10,7 +10,7 @@ module CSwingLedNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_SwingLed=TopDrive'
#endif
@@ -27,7 +27,7 @@ module CSwingLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_SwingLed=Kelly'
#endif


+ 3
- 3
CSharp/OperationScenarios/Notifications/CSwingLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CSwingLedNotificationVariables
contains
subroutine Set_SwingLed(v)
use CDrillingConsoleVariables, only: SwingLedHw => SwingLed
use CDrillingConsoleVariables!, only: SwingLedHw => SwingLed
implicit none
logical , intent(in) :: v
@@ -21,9 +21,9 @@ module CSwingLedNotificationVariables
#endif
SwingLed = v
if(SwingLed) then
SwingLedHw = 1
DrillingConsole%SwingLed = 1
else
SwingLedHw = 0
DrillingConsole%SwingLed = 0
endif
call OnSwingLedChange%RunAll()
end subroutine


+ 5
- 5
CSharp/OperationScenarios/Notifications/CTdsIbopLedNotification.f90 View File

@@ -8,7 +8,7 @@ module CTdsIbopLedNotification
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_IbopLed=TopDrive'
#endif
@@ -19,10 +19,10 @@ module CTdsIbopLedNotification
!TOPDRIVE-CODE=61
if (Get_IbopLed() == .false. .and.&
TopDriveTdsPowerState == TdsPower_OFF .and.&
TopDriveIbop == .false.) then
TopDrivePanel%TopDriveIbop == .false.) then
call Set_IbopLed(.true.)
TopDriveLinkTiltLed = LED_OFF
TopDrivePanel%TopDriveLinkTiltLed = LED_OFF
return
end if

@@ -32,10 +32,10 @@ module CTdsIbopLedNotification
!TOPDRIVE-CODE=62
if (Get_IbopLed() .and.&
TopDriveTdsPowerState == TdsPower_OFF .and.&
TopDriveIbop) then
TopDrivePanel%TopDriveIbop) then
call Set_IbopLed(.false.)
TopDriveLinkTiltLed = LED_ON
TopDrivePanel%TopDriveLinkTiltLed = LED_ON
return
end if



+ 3
- 3
CSharp/OperationScenarios/Notifications/CTdsIbopLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CTdsIbopLedNotificationVariables
contains
subroutine Set_IbopLed(v)
use CTopDrivePanelVariables, only: TopDriveIbopLed
use CTopDrivePanelVariables, only: TopDrivePanel%TopDriveIbopLed
use CManifolds, Only: OpenTopDriveIBop, CloseTopDriveIBop
!use CLatchLedNotification
implicit none
@@ -23,10 +23,10 @@ module CTdsIbopLedNotificationVariables
IbopLed = v
if(IbopLed) then
TopDriveIbopLed = 1
TopDrivePanel%TopDriveIbopLed = 1
call CloseTopDriveIBop()
else
TopDriveIbopLed = 0
TopDrivePanel%TopDriveIbopLed = 0
call OpenTopDriveIBop()
endif


+ 2
- 2
CSharp/OperationScenarios/Notifications/CTdsPowerLedNotification.f90 View File

@@ -8,7 +8,7 @@ module CTdsPowerLedNotification
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_PowerLed=TopDrive'
#endif
@@ -28,7 +28,7 @@ module CTdsPowerLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_PowerLed=Kelly'
#endif


+ 3
- 3
CSharp/OperationScenarios/Notifications/CTdsPowerLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CTdsPowerLedNotificationVariables
contains
subroutine Set_PowerLed(v)
use CTopDrivePanelVariables, only: TopDriveTdsPowerLed
use CTopDrivePanelVariables, only: TopDrivePanel%TopDriveTdsPowerLed
!use CLatchLedNotification
implicit none
logical , intent(in) :: v
@@ -22,10 +22,10 @@ module CTdsPowerLedNotificationVariables
PowerLed = v
if(PowerLed) then
TopDriveTdsPowerLed = 1
TopDrivePanel%TopDriveTdsPowerLed = 1
!call Set_LatchLed(.false.)
else
TopDriveTdsPowerLed = 0
TopDrivePanel%TopDriveTdsPowerLed = 0
endif
call OnPowerLedChange%RunAll()


+ 2
- 2
CSharp/OperationScenarios/Notifications/CTdsTorqueWrenchLedNotification.f90 View File

@@ -6,7 +6,7 @@ module CTdsTorqueWrenchLedNotification
subroutine Evaluate_TorqueWrenchLed()
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_TorqueWrenchLed=TopDrive'
#endif
@@ -39,7 +39,7 @@ module CTdsTorqueWrenchLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_SwingLed=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Notifications/CTdsTorqueWrenchLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CTdsTorqueWrenchLedNotificationVariables
contains
subroutine Set_TorqueWrenchLed(v)
use CTopDrivePanelVariables, only: TopDriveTorqueWrenchLed
use CTopDrivePanelVariables, only: TopDrivePanel%TopDriveTorqueWrenchLed
implicit none
integer , intent(in) :: v
@@ -20,7 +20,7 @@ module CTdsTorqueWrenchLedNotificationVariables
if(TorqueWrenchLed == v) return
#endif
TorqueWrenchLed = v
TopDriveTorqueWrenchLed = v
TopDrivePanel%TopDriveTorqueWrenchLed = v
call OnTorqueWrenchLedChange%RunAll()
end subroutine


+ 2
- 2
CSharp/OperationScenarios/Notifications/CTongNotification.f90 View File

@@ -10,7 +10,7 @@ module CTongNotification
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_TongNotification=TopDrive'
#endif
@@ -86,7 +86,7 @@ module CTongNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_TongNotification=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Notifications/CUnlatchLedNotification.f90 View File

@@ -9,7 +9,7 @@ module CUnlatchLedNotification
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_UnlatchLed=TopDrive'
#endif
@@ -92,7 +92,7 @@ module CUnlatchLedNotification
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_UnlatchLed=Kelly'
#endif


+ 3
- 3
CSharp/OperationScenarios/Notifications/CUnlatchLedNotificationVariables.f90 View File

@@ -12,7 +12,7 @@ module CUnlatchLedNotificationVariables
contains
subroutine Set_UnlatchLed(v)
use CDrillingConsoleVariables, only: UnlatchPipeLED
use CDrillingConsoleVariables!, only: DrillingConsole%UnlatchPipeLED
!use CLatchLedNotification
implicit none
logical , intent(in) :: v
@@ -22,10 +22,10 @@ module CUnlatchLedNotificationVariables
UnlatchLed = v
if(UnlatchLed) then
UnlatchPipeLED = 1
DrillingConsole%UnlatchPipeLED = 1
!call Set_LatchLed(.false.)
else
UnlatchPipeLED = 0
DrillingConsole%UnlatchPipeLED = 0
endif
call OnUnlatchLedChange%RunAll()


+ 1
- 1
CSharp/OperationScenarios/Permissions/CFillupHeadPermission.f90 View File

@@ -9,7 +9,7 @@ module CFillupHeadPermission
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_FillupHeadPermission=TopDrive'
#endif


+ 2
- 2
CSharp/OperationScenarios/Permissions/CInstallFillupHeadPermission.f90 View File

@@ -10,7 +10,7 @@ module CInstallFillupHeadPermission
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_InstallFillupHeadPermission=TopDrive'
#endif
@@ -24,7 +24,7 @@ module CInstallFillupHeadPermission
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_InstallFillupHeadPermission=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Permissions/CIrIbopPermission.f90 View File

@@ -9,7 +9,7 @@ module CIrIbopPermission
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_IrIbopPermission=TopDrive'
#endif
@@ -39,7 +39,7 @@ module CIrIbopPermission
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_IrIbopPermission=Kelly'
#endif


+ 2
- 2
CSharp/OperationScenarios/Permissions/CIrSafetyValvePermission.f90 View File

@@ -11,7 +11,7 @@ module CIrSafetyValvePermission
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_IrSafetyValvePermission=TopDrive'
#endif
@@ -40,7 +40,7 @@ module CIrSafetyValvePermission
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_IrSafetyValvePermission=Kelly'
#endif


+ 1
- 1
CSharp/OperationScenarios/Permissions/CSwingDrillPermission.f90 View File

@@ -8,7 +8,7 @@ module CSwingDrillPermission
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_SwingDrillPermission=TopDrive'
#endif


+ 1
- 1
CSharp/OperationScenarios/Permissions/CSwingOffPermission.f90 View File

@@ -8,7 +8,7 @@ module CSwingOffPermission
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_SwingOffPermission=TopDrive'
#endif


+ 1
- 1
CSharp/OperationScenarios/Permissions/CSwingTiltPermission.f90 View File

@@ -7,7 +7,7 @@ module CSwingTiltPermission
subroutine Evaluate_SwingTiltPermission()
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_SwingTiltPermission=TopDrive'
#endif


+ 3
- 3
CSharp/OperationScenarios/Test/TestOperationScenarios.f90 View File

@@ -291,14 +291,14 @@ module TestOperationScenarios
!DEC$ ATTRIBUTES DLLEXPORT :: GetFloorHeightU
!DEC$ ATTRIBUTES ALIAS: 'GetFloorHeightU' :: GetFloorHeightU
implicit none
GetFloorHeightU = RigFloorHeight
GetFloorHeightU = RigSize%RigFloorHeight
end function

real(8) function GetCrownHeightU()
!DEC$ ATTRIBUTES DLLEXPORT :: GetCrownHeightU
!DEC$ ATTRIBUTES ALIAS: 'GetCrownHeightU' :: GetCrownHeightU
implicit none
GetCrownHeightU = CrownHeight
GetCrownHeightU = RigSize%CrownHeight
end function

real(8) function GetKellyHoseVibrationRateU()
@@ -313,7 +313,7 @@ module TestOperationScenarios
!DEC$ ATTRIBUTES ALIAS: 'GetDriveTypeU' :: GetDriveTypeU
implicit none
GetDriveTypeU = DriveType
GetDriveTypeU = Hoisting%DriveType
end function

logical function GetElevatorConnectionPossibility()


+ 1
- 1
CSharp/OperationScenarios/Unity/CUnityOutputs.f90 View File

@@ -56,7 +56,7 @@ module CUnityOutputs
use CDataDisplayConsoleVariables
implicit none
PumpsSpmChanges => Calc_KellyHoseVibrationRate
call OnRotaryRpmChange%Add(Set_RotaryRpm)
call DataDisplayConsole%OnRotaryRpmChange%Add(Set_RotaryRpm)
end subroutine


+ 4
- 4
CSharp/OperationScenarios/UnitySignals/CBucketEnum.f90 View File

@@ -43,12 +43,12 @@ module CBucketEnum
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_MudBoxInstallation=TopDrive'
#endif
endif
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_MudBoxInstallation=Kelly'
#endif
@@ -68,12 +68,12 @@ module CBucketEnum
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_MudBoxRemove=TopDrive'
#endif
endif
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_MudBoxRemove=Kelly'
#endif


+ 6
- 6
CSharp/OperationScenarios/UnitySignals/CHeadEnum.f90 View File

@@ -8,7 +8,7 @@ module CHeadEnum
implicit none
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'Evaluate_FillupHead=TopDrive'
#endif
@@ -19,7 +19,7 @@ module CHeadEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'Evaluate_FillupHead=Kelly'
#endif
@@ -48,7 +48,7 @@ module CHeadEnum
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_FillupHeadInstallation=TopDrive'
#endif
@@ -70,7 +70,7 @@ module CHeadEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_FillupHeadInstallation=Kelly'
#endif
@@ -102,7 +102,7 @@ module CHeadEnum
if (DriveType == TopDrive_DriveType) then
if (Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
print*, 'ButtonPress_FillupHeadRemove=TopDrive'
#endif
@@ -123,7 +123,7 @@ module CHeadEnum
if (DriveType == Kelly_DriveType) then
if (Hoisting%DriveType == Kelly_DriveType) then
#ifdef OST
print*, 'ButtonPress_FillupHeadRemove=Kelly'
#endif


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save