|
- module COpenSafetyValveLedNotificationVariables
- use CVoidEventHandlerCollection
- implicit none
- logical :: OpenSafetyValveLed = .false.
- integer :: operation_OpenSafetyValveLed = 0
-
- public
- type(VoidEventHandlerCollection) :: OnOpenSafetyValveLedChange
-
- private :: OpenSafetyValveLed
-
- contains
-
- subroutine Set_OpenSafetyValveLed(v)
- use CDrillingConsoleVariables!, only: OpenSafetyValveLedHw => OpenSafetyValveLed
- use CManifolds, only: OpenSafetyValve_TopDrive, OpenSafetyValve_KellyMode, OpenSafetyValve_TripMode
- use CHoistingVariables!, only: Hoisting%DriveType, TopDrive_DriveType, Kelly_DriveType
- implicit none
- logical , intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(OpenSafetyValveLed == v) return
- #endif
- OpenSafetyValveLed = v
-
- if(OpenSafetyValveLed) then
- !!call OpenSafetyValve()
- 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
- ! OpenSafetyValveLedHw = 1
- !else
- ! OpenSafetyValveLedHw = 0
- !endif
-
- call OnOpenSafetyValveLedChange%RunAll()
- end subroutine
-
- logical function Get_OpenSafetyValveLed()
- implicit none
- Get_OpenSafetyValveLed = OpenSafetyValveLed
- end function
-
-
-
- subroutine Set_OpenSafetyValveLed_WN(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: Set_OpenSafetyValveLed_WN
- !DEC$ ATTRIBUTES ALIAS: 'Set_OpenSafetyValveLed_WN' :: Set_OpenSafetyValveLed_WN
- implicit none
- logical , intent(in) :: v
- call Set_OpenSafetyValveLed(v)
- end subroutine
-
- logical function Get_OpenSafetyValveLed_WN()
- !DEC$ ATTRIBUTES DLLEXPORT :: Get_OpenSafetyValveLed_WN
- !DEC$ ATTRIBUTES ALIAS: 'Get_OpenSafetyValveLed_WN' :: Get_OpenSafetyValveLed_WN
- implicit none
- Get_OpenSafetyValveLed_WN = OpenSafetyValveLed
- end function
-
-
-
- end module COpenSafetyValveLedNotificationVariables
|