|
- module CElevatorConnectionEnum
- use COperationScenariosVariables
- use CLog3
- use CLog4
- implicit none
- contains
-
- subroutine Evaluate_ElevatorConnection()
- use CCommon, only: SetStandRack
- implicit none
-
-
- if (DriveType == TopDrive_DriveType) then
- #ifdef OST
- print*, 'Evaluate_ElevatorConnection=TopDrive'
- #endif
- endif
-
-
-
-
-
-
-
-
-
- if (DriveType == Kelly_DriveType) then
- #ifdef OST
- print*, 'ElevatorConnection=Kelly'
- #endif
-
- !!OPERATION-CODE=83
- !if (Get_OperationCondition() == OPERATION_TRIP .and.&
- ! Get_ElevatorConnection() == ELEVATOR_LATCH_STRING .and.&
- ! Get_ElevatorPickup() .and.&
- ! Get_Slips() == SLIPS_SET_END) then
- ! !call Log_4('OPERATION-CODE=83')
- ! call Set_ElevatorConnection(ELEVATOR_CONNECTION_STRING)
- ! return
- !end if
-
-
-
-
-
-
-
-
-
-
-
-
- !OPERATION-CODE=78
- if (Get_ElevatorPickup() == .false. .and.&
- Get_Tong() == TONG_BREAKOUT_END .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection() + PL) .and.&
- Get_ElevatorConnection() == ELEVATOR_LATCH_STRING) then
- call Set_ElevatorConnection(ELEVATOR_LATCH_SINGLE)
- return
- end if
-
- !OPERATION-CODE=79
- if (Get_ElevatorPickup() == .false. .and.&
- Get_Tong() == TONG_BREAKOUT_END .and.&
- Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL - LG) .and.&
- Get_ElevatorConnection() == ELEVATOR_LATCH_STRING) then
- call Set_ElevatorConnection(ELEVATOR_LATCH_STAND)
- return
- end if
-
-
-
- !OPERATION-CODE=83
- if (Get_ElevatorPickup().and.&
- Get_ElevatorConnection() == ELEVATOR_LATCH_SINGLE) then
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_SINGLE)
- return
- end if
-
-
- !OPERATION-CODE=84
- if (Get_ElevatorPickup().and.&
- Get_ElevatorConnection() == ELEVATOR_LATCH_STAND) then
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_STAND)
- return
- end if
-
-
-
-
-
-
-
-
-
-
- !OPERATION-CODE=7
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !GetRotaryRpm() == 0.0d0 .and.&
- !Get_StandRack() > 0 .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_Slips() == SLIPS_SET_END .and.&
- !Get_LatchLed() .and.
- Get_Elevator() == ELEVATOR_LATCH_STAND_END) then
- !call Log_4('OPERATION-CODE=7')
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_STAND)
- !call Set_UnlatchLed(.true.)
- !call Set_LatchLed(.false.)
- call SetStandRack(Get_StandRack() - 1)
- call Set_Elevator(ELEVATOR_NEUTRAL)
- return
- end if
-
- !OPERATION-CODE=8
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL - RE) .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() + SL + LG) .and.&
- !GetRotaryRpm() == 0.0d0 .and.&
- !Get_StandRack() < 80 .and.&
- !Get_ElevatorConnectionPossible() .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STAND .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_Slips() == SLIPS_SET_END .and.&
- !Get_UnlatchLed() .and.&
- Get_Elevator() == ELEVATOR_UNLATCH_STAND_END) then
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_NOTHING)
- !call Set_UnlatchLed(.false.)
- !call Set_LatchLed(.true.)
- call SetStandRack(Get_StandRack() + 1)
- call Set_Elevator(ELEVATOR_NEUTRAL)
- !call Set_Elevator(ELEVATOR_UNLATCH_STAND_BEGIN)
- call Log_3('OPERATION-CODE=8')
- return
- end if
-
- !OPERATION-CODE=9
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !Get_HookHeight() >= 18.0 .and. Get_HookHeight() <= 22.0 .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_Slips() == SLIPS_SET_END .and.&
- !Get_LatchLed() .and.&
- !Get_ElevatorPickup() .and.&
- Get_Elevator() == ELEVATOR_LATCH_STRING_END) then
- !call Log_4('OPERATION-CODE=9')
- call Set_ElevatorConnection(ELEVATOR_LATCH_STRING)
- call Set_Elevator(ELEVATOR_NEUTRAL)
- !call Set_UnlatchLed(.true.)
- !call Set_LatchLed(.false.)
- !call Set_UnlatchLed(.false.)
- !call Set_Elevator(ELEVATOR_LATCH_STRING_BEGIN)
- return
- end if
-
- !OPERATION-CODE=60
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !Get_HookHeight() <= (HL + Get_NearFloorConnection() - ECG) .and.&
- Get_ElevatorPickup() == .false. .and.&
- Get_Slips() == SLIPS_SET_END .and.&
- !Get_Tong() /= TONG_MAKEUP_END .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STRING) then
- call Set_ElevatorConnection(ELEVATOR_LATCH_STRING)
- !call Set_Elevator(ELEVATOR_NEUTRAL)
- return
- end if
-
- !OPERATION-CODE=49
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_ElevatorPickup() .and.&
- Get_ElevatorConnection() == ELEVATOR_LATCH_STRING) then
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_STRING)
- return
- end if
-
- !OPERATION-CODE=10
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !GetRotaryRpm() == 0.0d0 .and.&
- (Get_ElevatorConnection() == ELEVATOR_CONNECTION_STRING .or. Get_ElevatorConnection() == ELEVATOR_LATCH_STRING) .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_Slips() == SLIPS_SET_END .and.&
- !Get_UnlatchLed() .and.&
- Get_Elevator() == ELEVATOR_UNLATCH_STRING_END) then
- !call Log_4('OPERATION-CODE=10')
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_NOTHING)
- call Set_Elevator(ELEVATOR_NEUTRAL)
- !call Set_UnlatchLed(.false.)
- !call Set_LatchLed(.true.)
- !call Set_Elevator(ELEVATOR_UNLATCH_STRING_BEGIN)
- return
- end if
-
- !OPERATION-CODE=11
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !Get_ElevatorConnectionPossible() .and.&
- Get_ElevatorPickup().and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.&
- !Get_Swing() == SWING_MOUSE_HOLE_END .and.&
- !Get_LatchLed() .and.&
- !Get_FillMouseHoleLed() .and.&
- Get_Elevator() == ELEVATOR_LATCH_SINGLE_END) then
-
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_SINGLE)
- !call Set_UnlatchLed(.true.)
- call Set_FillMouseHoleLed(.false.)
- call Set_MouseHole(MOUSE_HOLE_NEUTRAL)
- call Set_Elevator(ELEVATOR_NEUTRAL)
- !call Set_Elevator(ELEVATOR_LATCH_SINGLE_BEGIN)
- return
- end if
-
- !OPERATION-CODE=12
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_SINGLE .and.&
- !Get_Swing() == SWING_MOUSE_HOLE_END .and.&
- !Get_UnlatchLed() .and.&
- !Get_FillMouseHoleLed() == .false. .and.&
- Get_Elevator() == ELEVATOR_UNLATCH_SINGLE_END) then
- !call Log_4('OPERATION-CODE=12')
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_NOTHING)
- !call Set_UnlatchLed(.false.)
- !call Set_LatchLed(.true.)
- call Set_FillMouseHoleLed(.true.)
- call Set_MouseHole(MOUSE_HOLE_NEUTRAL)
- call Set_Elevator(ELEVATOR_NEUTRAL)
- !call Set_Elevator(ELEVATOR_UNLATCH_SINGLE_BEGIN)
- return
- end if
-
- !OPERATION-CODE=13
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection() + PL) .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STRING .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_TongNotification() .and.&
- Get_ElevatorPickup().and.&
- Get_Tong() == TONG_BREAKOUT_END) then
- !call Log_4('OPERATION-CODE=13')
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_SINGLE)
- call Set_StringUpdate(STRING_UPDATE_REMOVE_SINGLE)
- !call Set_StringUpdate(STRING_UPDATE_ADD_SINGLE)
- call Set_Tong(TONG_NEUTRAL)
- return
- end if
-
- !OPERATION-CODE=14
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection() + PL) .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_SINGLE .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_TongNotification() .and.&
- Get_ElevatorPickup().and.&
- Get_Tong() == TONG_MAKEUP_END) then
- !call Log_4('OPERATION-CODE=14')
- call Set_Tong(TONG_NEUTRAL)
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_STRING)
- call Set_StringUpdate(STRING_UPDATE_ADD_SINGLE)
- return
- end if
-
-
- !OPERATION-CODE=15
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL - LG) .and.&
- !Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL - RE) .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() + SL + LG) .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STRING .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_TongNotification() .and.&
- Get_ElevatorPickup().and.&
- Get_Tong() == TONG_BREAKOUT_END) then
- call Set_Tong(TONG_NEUTRAL)
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_STAND)
- call Set_StringUpdate(STRING_UPDATE_REMOVE_STAND)
- return
- end if
-
- !OPERATION-CODE=16
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- !Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL - RE) .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() + SL + LG) .and.&
- !Get_JointConnectionPossible() .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STAND .and.&
- !Get_Swing() == SWING_WELL_END .and.&
- !Get_TongNotification() .and.&
- Get_ElevatorPickup().and.&
- Get_Tong() == TONG_MAKEUP_END) then
- !call Log_4('OPERATION-CODE=16')
- call Set_Tong(TONG_NEUTRAL)
- call Set_ElevatorConnection(ELEVATOR_CONNECTION_STRING)
- call Set_StringUpdate(STRING_UPDATE_ADD_STAND)
- return
- end if
-
-
-
-
-
- !OPERATION-CODE=75
- if (Get_ElevatorPickup() == .false. .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_SINGLE) then
- call Set_ElevatorConnection(ELEVATOR_LATCH_SINGLE)
- return
- end if
-
-
- !OPERATION-CODE=76
- if (Get_ElevatorPickup() == .false. .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STAND) then
- call Set_ElevatorConnection(ELEVATOR_LATCH_STAND)
- return
- end if
-
-
-
-
-
-
- endif
-
-
-
- end subroutine
-
- ! subroutine Subscribe_ElevatorConnection()
- ! use CDrillingConsoleVariables
- ! implicit none
- ! call OnLatchPipePress%Add(ButtonPress_Latch_ElevatorConnection)
- ! call OnUnlatchPipePress%Add(ButtonPress_Unlatch_ElevatorConnection)
- ! call OnBreakoutLeverPress%Add(ButtonPress_Breakout_ElevatorConnection)
- ! call OnMakeupLeverPress%Add(ButtonPress_Makeup_ElevatorConnection)
- ! end subroutine
-
- subroutine ButtonPress_Latch_ElevatorConnection()
- use CCommon, only: SetStandRack
- implicit none
-
-
-
-
-
-
-
- if (DriveType == TopDrive_DriveType) then
- #ifdef OST
- print*, 'ButtonPress_Latch_ElevatorConnection=TopDrive'
- #endif
-
-
-
-
- !TOPDRIVE-CODE=73
- if ((Get_HookHeight() >= (TL() + SL - ECG + NFC()) .and. Get_HookHeight() <= (TL() + SL - ECG + NFC() + TG)) .and.&
- Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
- Get_TdsSwing() == TDS_SWING_OFF_END .and.&
- Get_LatchLed()) then
-
- call Set_Elevator(ELEVATOR_LATCH_STAND_BEGIN)
- call Set_LatchLed(.false.)
- return
- end if
-
-
-
-
-
-
-
- !TOPDRIVE-CODE=74
- if (Get_HookHeight() <= (TL() + NFC() - ECG) .and.&
- GetRotaryRpm() == 0.0d0 .and.&
- Get_ElevatorConnectionPossible() .and.&
- Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
- Get_TdsSwing() == TDS_SWING_OFF_END .and.&
- Get_LatchLed()) then
-
- call Set_Elevator(ELEVATOR_LATCH_STRING_BEGIN)
- call Set_LatchLed(.false.)
- return
- end if
-
-
-
-
-
-
-
- !TOPDRIVE-CODE=75
- if (Get_ElevatorConnectionPossible() .and.&
- Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
- Get_TdsSwing() == TDS_SWING_TILT_END .and.&
- Get_LatchLed() .and.&
- Get_FillMouseHoleLed()) then
-
- call Set_Elevator(ELEVATOR_LATCH_SINGLE_BEGIN)
- call Set_LatchLed(.false.)
- return
- end if
-
-
-
-
-
-
-
- endif
-
-
-
-
-
-
-
-
-
- if (DriveType == Kelly_DriveType) then
- #ifdef OST
- print*, 'ButtonPress_Latch_ElevatorConnection=Kelly'
- #endif
-
- !OPERATION-CODE=86
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection() - ECG) .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.&
- Get_LatchLed() .and.&
- GetRotaryRpm() == 0.0d0 .and.&
- Get_Swing() == SWING_WELL_END .and.&
- Get_ElevatorConnectionPossible() .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection())) then
-
- !call Log_4("OPERATION-CODE=ELEVATOR_LATCH_STRING_BEGIN")
- call Set_Elevator(ELEVATOR_LATCH_STRING_BEGIN)
- call Set_LatchLed(.false.)
- return
- endif
-
- !OPERATION-CODE=85
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() >= (HL + SL - ECG + Get_NearFloorConnection()) .and. Get_HookHeight() <= (HL + SL - ECG + Get_NearFloorConnection() + LG) .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.&
- Get_LatchLed() .and.&
- Get_Swing() == SWING_WELL_END) then
- !Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL + RE) .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() + SL + LG)
-
- call Set_Elevator(ELEVATOR_LATCH_STAND_BEGIN)
- call Set_LatchLed(.false.)
- return
- endif
-
- !OPERATION-CODE=87
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_NOTHING .and.&
- Get_LatchLed() .and.&
- Get_FillMouseHoleLed() .and.&
- Get_ElevatorConnectionPossible() .and.&
- Get_Swing() == SWING_MOUSE_HOLE_END) then
-
- call Set_Elevator(ELEVATOR_LATCH_SINGLE_BEGIN)
- call Set_LatchLed(.false.)
- return
- endif
-
-
- endif
-
-
-
-
-
-
-
-
-
-
-
-
- end subroutine
-
- subroutine ButtonPress_Unlatch_ElevatorConnection()
- use CCommon, only: SetStandRack
- implicit none
-
-
-
-
-
- if (DriveType == TopDrive_DriveType) then
- #ifdef OST
- print*, 'ButtonPress_Unlatch_ElevatorConnection=TopDrive'
- #endif
-
-
-
- !TOPDRIVE-CODE=76
- if ((Get_HookHeight() >= (TL() + SL - ECG + NFC()) .and. Get_HookHeight() <= (TL() + SL - ECG + NFC() + TG)) .and.&
- Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_STAND .and.&
- Get_TdsSwing() == TDS_SWING_OFF_END .and.&
- Get_UnlatchLed()) then
-
- call Set_Elevator(ELEVATOR_UNLATCH_STAND_BEGIN)
- call Set_UnlatchLed(.false.)
- return
- end if
-
-
-
-
-
-
-
-
- !TOPDRIVE-CODE=77
- if (Get_HookHeight() <= (TL() + NFC() - ECG) .and.&
- GetRotaryRpm() == 0.0d0 .and.&
- Get_NearFloorConnection() >= 3.0 .and. Get_NearFloorConnection() <= 6.0 .and.&
- (Get_TdsElevatorModes() == TDS_ELEVATOR_LATCH_STRING .or. Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_STRING) .and.&
- Get_TdsSwing() == TDS_SWING_OFF_END .and.&
- Get_UnlatchLed()) then
-
- call Set_Elevator(ELEVATOR_UNLATCH_STRING_BEGIN)
- call Set_UnlatchLed(.false.)
- return
- end if
-
-
-
-
-
-
-
- !TOPDRIVE-CODE=78
- if ((Get_HookHeight() > TL() .and. Get_HookHeight() < (TL() + NFC() + SG)) .and.&
- Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_SINGLE .and.&
- Get_TdsSwing() == TDS_SWING_TILT_END .and.&
- Get_UnlatchLed() .and.&
- Get_FillMouseHoleLed() == .false.) then
-
- call Set_Elevator(ELEVATOR_UNLATCH_SINGLE_BEGIN)
- call Set_UnlatchLed(.false.)
- return
- end if
-
-
-
-
-
- endif
-
-
-
-
-
-
-
- if (DriveType == Kelly_DriveType) then
- #ifdef OST
- print*, 'ButtonPress_Unlatch_ElevatorConnection=Kelly'
- #endif
- !OPERATION-CODE=89
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection() - ECG) .and.&
- (Get_ElevatorConnection() == ELEVATOR_CONNECTION_STRING .or. Get_ElevatorConnection() == ELEVATOR_LATCH_STRING) .and.&
- Get_HookHeight() <= (HL + Get_NearFloorConnection()) .and.&
- Get_UnlatchLed() .and.&
- GetRotaryRpm() == 0.0d0 .and.&
- Get_Swing() == SWING_WELL_END .and.&
- Get_NearFloorConnection() >= 3.0 .and. Get_NearFloorConnection() <= 6.0) then
- !Get_HookHeight() >= (HL + Get_NearFloorConnection() - 4.0) .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() - 2.0)) then
-
- call Set_Elevator(ELEVATOR_UNLATCH_STRING_BEGIN)
- call Set_UnlatchLed(.false.)
- return
- endif
-
- !OPERATION-CODE=88
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_HookHeight() >= (HL + SL - ECG + Get_NearFloorConnection()) .and. Get_HookHeight() <= (HL + SL - ECG + Get_NearFloorConnection() + LG) .and.&
- !Get_HookHeight() >= (HL + Get_NearFloorConnection() + SL + RE) .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() + SL + LG)
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_STAND .and.&
- Get_UnlatchLed() .and.&
- Get_Swing() == SWING_WELL_END) then
-
- call Set_Elevator(ELEVATOR_UNLATCH_STAND_BEGIN)
- call Set_UnlatchLed(.false.)
- return
- endif
-
- !OPERATION-CODE=90
- if (Get_OperationCondition() == OPERATION_TRIP .and.&
- Get_ElevatorConnection() == ELEVATOR_CONNECTION_SINGLE .and.&
- Get_UnlatchLed() .and.&
- Get_HookHeight() >= HL .and. Get_HookHeight() <= (HL + Get_NearFloorConnection() + SG) .and.&
- !Get_JointConnectionPossible() .and.&
- Get_Swing() == SWING_MOUSE_HOLE_END) then
-
- call Set_Elevator(ELEVATOR_UNLATCH_SINGLE_BEGIN)
- call Set_UnlatchLed(.false.)
- return
- endif
-
- endif
-
-
-
-
-
-
-
- end subroutine
-
- subroutine ButtonPress_Breakout_ElevatorConnection()
- implicit none
-
- end subroutine
-
- subroutine ButtonPress_Makeup_ElevatorConnection()
- implicit none
-
- end subroutine
-
- end module CElevatorConnectionEnum
|