module COperationConditionEnum use CLog4 use COperationScenariosVariables implicit none contains subroutine Evaluate_OperationCondition() implicit none ! if (DriveType == TopDrive_DriveType) then !#ifdef OST ! print*, 'Evaluate_OperationCondition=TopDrive' !#endif ! endif ! ! ! ! ! ! ! ! ! if (DriveType == Kelly_DriveType) then !#ifdef OST ! print*, 'Evaluate_OperationCondition=Kelly' !#endif ! endif end subroutine ! subroutine Subscribe_OperationCondition() ! use CDrillingConsoleVariables ! implicit none ! call OnLatchPipePress%Add(ButtonPress_Latch_OperationCondition) ! call OnUnlatchPipePress%Add(ButtonPress_Unlatch_OperationCondition) ! end subroutine subroutine ButtonPress_Latch_OperationCondition() use CHoistingVariables!, only: Hoisting%DriveType, Kelly_DriveType use CManifolds, only: InstallKellyCock implicit none if (Hoisting%DriveType == TopDrive_DriveType) then #ifdef OST print*, 'ButtonPress_Latch_OperationCondition=TopDrive' #endif endif if (Hoisting%DriveType == Kelly_DriveType) then #ifdef OST print*, 'ButtonPress_Latch_OperationCondition=Kelly' #endif !OPERATION-CODE=17 if (Get_OperationCondition() == OPERATION_TRIP .and.& Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.& Get_KellyConnection() == KELLY_CONNECTION_NOTHING .and.& Get_Swing() == SWING_RAT_HOLE_END .and.& Get_LatchLed() .and.& Get_UnlatchLed() == .false.) then call Set_OperationCondition(OPERATION_DRILL) call Set_LatchLed(.false.) call Set_UnlatchLed(.true.) call Set_Kelly(KELLY_INSTALL) if(Hoisting%DriveType == Kelly_DriveType) then call InstallKellyCock() !drill mode endif return end if endif end subroutine subroutine ButtonPress_Unlatch_OperationCondition() use CHoistingVariables!, only: Hoisting%DriveType, Kelly_DriveType use CManifolds, only: RemoveKellyCock implicit none if (Hoisting%DriveType == TopDrive_DriveType) then #ifdef OST print*, 'ButtonPress_Unlatch_OperationCondition=TopDrive' #endif endif if (Hoisting%DriveType == Kelly_DriveType) then #ifdef OST print*, 'ButtonPress_Unlatch_OperationConditions=Kelly' #endif !OPERATION-CODE=18 if (Get_OperationCondition() == OPERATION_DRILL .and.& Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.& Get_KellyConnection() == KELLY_CONNECTION_NOTHING .and.& Get_Swing() == SWING_RAT_HOLE_END .and.& Get_LatchLed() == .false. .and.& Get_UnlatchLed()) then call Set_Kelly(KELLY_REMOVE) call Set_Swing(SWING_WELL_BEGIN) call Set_OperationCondition(OPERATION_TRIP) call Set_LatchLed(.true.) call Set_UnlatchLed(.false.) call Set_IrSafetyValveLed(.false.) if(Hoisting%DriveType == Kelly_DriveType) then ! top drive mode call RemoveKellyCock() !trip mode endif return end if endif end subroutine end module COperationConditionEnum