module CHoisting use CHoistingVariables implicit none public contains subroutine SetDriveType(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetDriveType !DEC$ ATTRIBUTES ALIAS: 'SetDriveType' :: SetDriveType use CManifolds use CIrSafetyValveLedNotificationVariables, only: Set_IrSafetyValveLed implicit none integer, intent(in) :: v Hoisting%DriveType = v #ifdef deb print*, 'DriveType=', Hoisting%DriveType #endif if(v == TopDrive_DriveType) then ! top drive mode call RemoveKellyCock() call InstallTopDriveIBop() call RemoveSafetyValve_TripMode() call RemoveSafetyValve_KellyMode() call Set_IrSafetyValveLed(.false.) endif if(v == Kelly_DriveType) then ! kelly mode call RemoveTopDriveIBop() call InstallKellyCock() endif end subroutine subroutine SetTravelingBlockWeight(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetTravelingBlockWeight !DEC$ ATTRIBUTES ALIAS: 'SetTravelingBlockWeight' :: SetTravelingBlockWeight implicit none real*8, intent(in) :: v Hoisting%TravelingBlockWeight = v end subroutine subroutine SetTopDriveWeight(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveWeight !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveWeight' :: SetTopDriveWeight implicit none real*8, intent(in) :: v Hoisting%TopDriveWeight = v end subroutine subroutine SetKellyWeight(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetKellyWeight !DEC$ ATTRIBUTES ALIAS: 'SetKellyWeight' :: SetKellyWeight implicit none real*8, intent(in) :: v Hoisting%KellyWeight = v end subroutine subroutine SetNumberOfLine(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetNumberOfLine !DEC$ ATTRIBUTES ALIAS: 'SetNumberOfLine' :: SetNumberOfLine implicit none integer, intent(in) :: v Hoisting%NumberOfLine = v #ifdef deb print*, 'NumberOfLine=', Hoisting%NumberOfLine #endif end subroutine subroutine SetDrillingLineBreakingLoad(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetDrillingLineBreakingLoad !DEC$ ATTRIBUTES ALIAS: 'SetDrillingLineBreakingLoad' :: SetDrillingLineBreakingLoad implicit none real*8, intent(in) :: v Hoisting%DrillingLineBreakingLoad = v end subroutine end module CHoisting