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