|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- module PumpsMain
-
- use CPumpsVariables
- use CDrillingConsoleVariables
- use CDataDisplayConsoleVariables
- use CSimulationVariables
- use Pumps_VARIABLES
- use CSounds
-
- implicit none
- public
-
- contains
-
-
-
- ! ****************************************
- ! ***** subroutine Pump1MainBody *****
- ! ****************************
-
- subroutine Pump1_Setup()
- use CSimulationVariables
- implicit none
- call OnSimulationInitialization%Add(Pump1_Init)
- call OnSimulationStop%Add(Pump1_Init)
- call OnPump1Step%Add(Pump1_Step)
- call OnPump1Output%Add(Pump1_Output)
- call OnPump1Main%Add(Pump1MainBody)
- end subroutine
-
- subroutine Pump1_Init
- Call Pumps_StartUp
- end subroutine Pump1_Init
-
- subroutine Pump1_Step
- Call Pump1_MainSolver
- end subroutine Pump1_Step
-
- subroutine Pump1_Output
- implicit none
- end subroutine Pump1_Output
-
- subroutine Pump1MainBody
- use ifport
- use ifmt
- !use Pump1_MainSolver
- use CWarningsVariables
- !use equipments_PowerLimit
- implicit none
-
- integer,dimension(8) :: MP_START_TIME, MP_END_TIME
- INTEGER :: MP_SolDuration
-
-
- Call Pumps_StartUp
- loop1 : do
- !!Call sleepqq(10)
- !!Call DATE_AND_TIME(values=MP_START_TIME)
-
- Call Pump1_MainSolver
-
- if (Pumps_IsStopped == .true.) then
- exit loop1
- end if
-
- !!Call DATE_AND_TIME(values=MP_END_TIME)
- !!MP_SolDuration = 100-(MP_END_TIME(5)*3600000+MP_END_TIME(6)*60000+MP_END_TIME(7)*1000+MP_END_TIME(8)-MP_START_TIME(5)*3600000-MP_START_TIME(6)*60000-MP_START_TIME(7)*1000-MP_START_TIME(8))
- !!if(MP_SolDuration > 0.0) then
- !! Call sleepqq(MP_SolDuration)
- !!end if
- end do loop1
-
- end subroutine Pump1MainBody
-
-
-
-
-
- ! ****************************************
- ! ***** subroutine Pump2MainBody *****
- ! ****************************
- ! subroutine Pump2_Setup()
- ! use CSimulationVariables
- ! implicit none
- ! call OnSimulationInitialization%Add(Pump2_Init)
- ! call OnSimulationStop%Add(Pump2_Init)
- ! call OnPump2Step%Add(Pump2_Step)
- ! call OnPump2Output%Add(Pump2_Output)
- ! call OnPump2Main%Add(Pump2MainBody)
- ! end subroutine
- !
- ! subroutine Pump2_Init
- ! implicit none
- ! end subroutine Pump2_Init
- !
- ! subroutine Pump2_Step
- ! call Pump2_MainSolver
- ! end subroutine Pump2_Step
- !
- ! subroutine Pump2_Output
- ! implicit none
- ! end subroutine Pump2_Output
- !
- ! subroutine Pump2MainBody
- ! use ifport
- ! use ifmt
- ! use CWarningsVariables
- ! implicit none
- !
- ! integer,dimension(8) :: MP_START_TIME, MP_END_TIME
- ! INTEGER :: MP_SolDuration
- !
- ! Call Pump_StartUp
- !
- ! loop1 : do
- !
- ! Call DATE_AND_TIME(values=MP_START_TIME)
- !
- ! Call Pump2_MainSolver
- !
- ! Call DATE_AND_TIME(values=MP_END_TIME)
- ! MP_SolDuration = 100-(MP_END_TIME(5)*3600000+MP_END_TIME(6)*60000+MP_END_TIME(7)*1000+MP_END_TIME(8)-MP_START_TIME(5)*3600000-MP_START_TIME(6)*60000-MP_START_TIME(7)*1000-MP_START_TIME(8))
- ! if(MP_SolDuration > 0.0) then
- ! Call sleepqq(MP_SolDuration)
- ! end if
- !
- ! if (IsStopped == .true.) then
- ! exit loop1
- ! end if
- !
- ! end do loop1
- !
- !
- ! end subroutine Pump2MainBody
- !
- !
- !
- !
- !! ****************************************
- !! ***** subroutine Pump3MainBody *****
- !! ****************************
- ! subroutine Pump3_Setup()
- ! use CSimulationVariables
- ! implicit none
- ! call OnSimulationInitialization%Add(Pump3_Init)
- ! call OnSimulationStop%Add(Pump3_Init)
- ! call OnPump3Step%Add(Pump3_Step)
- ! call OnPump3Output%Add(Pump3_Output)
- ! call OnPump3Main%Add(Pump3MainBody)
- ! end subroutine
- !
- ! subroutine Pump3_Init
- ! implicit none
- ! end subroutine Pump3_Init
- !
- ! subroutine Pump3_Step
- ! implicit none
- ! end subroutine Pump3_Step
- !
- ! subroutine Pump3_Output
- ! implicit none
- ! end subroutine Pump3_Output
- !
- ! subroutine Pump3MainBody
- ! use ifport
- ! use ifmt
- ! implicit none
- !
- !
- ! integer,dimension(8) :: MP_START_TIME, MP_END_TIME
- ! INTEGER :: MP_SolDuration
- !
- ! !Call Pump_StartUp
- ! !loop1 : do
- ! !
- ! ! Call sleepqq(10)
- ! !
- ! ! !!! Pump3 Malfunction ----> Power Failure
- ! ! !!if (PUMP(1)%PowerFailMalf==1) then
- ! ! !! !MP1BLWR=0
- ! ! !! Call Pump3_OffMode_Solver
- ! ! !! Call ClosePump1()
- ! ! !!end if
- ! !
- ! ! !if( (MP1CPSwitch==1) .and. (MP1Throttle==0.) .and. (PUMP(3)%PowerFailMalf==0) ) then
- ! !!
- ! !! loop2: do
- ! !!
- ! !! Call DATE_AND_TIME(values=MP_START_TIME)
- ! !!
- ! !!!! ! Pump3 Malfunction ----> Power Failure
- ! !!!! if (PUMP(1)%PowerFailMalf==1) then
- ! !!!! !MP1BLWR=0
- ! !!!! Pump3_OffMode_Solver
- ! !!!! Call ClosePump1()
- ! !!!! exit loop2
- ! !!!! end if
- ! !!
- ! !! PUMP(3)%N_new = MP1Throttle
- ! !! if (((PUMP(3)%N_new-PUMP(3)%N_old)/PUMP(3)%time_step)>193.) then
- ! !! PUMP(3)%N_ref =(193.*PUMP(3)%time_step)+PUMP(3)%N_old
- ! !! else if (((PUMP(3)%N_old-PUMP(3)%N_new)/PUMP(3)%time_step)>193.) then
- ! !! PUMP(3)%N_ref = (-193.*PUMP(3)%time_step)+PUMP(3)%N_old
- ! !! else
- ! !! PUMP(3)%N_ref = PUMP(3)%N_new
- ! !! end if
- ! !!
- ! !! Call Pump3_OnMode_Solver
- ! !!
- ! !! IF (PUMP(3)%Flow_Rate>0.) Then
- ! !! Call OpenCementPump()
- ! !! Else
- ! !! Call CloseCementPump()
- ! !! End if
- ! !!
- ! !! PUMP(3)%N_old = PUMP(3)%N_ref
- ! !!
- ! !! Call DATE_AND_TIME(values=MP_END_TIME)
- ! !! MP_SolDuration = 100-(MP_END_TIME(6)*60000+MP_END_TIME(7)*1000+MP_END_TIME(8)-MP_START_TIME(6)*60000-MP_START_TIME(7)*1000-MP_START_TIME(8))
- ! !! !print*, 'MPtime=', MP_SolDuration
- ! !! if(MP_SolDuration > 0.0) then
- ! !! Call sleepqq(MP_SolDuration)
- ! !! end if
- ! !!
- ! !! if ((MP1CPSwitch==0) .or. (IsStopped == .true.)) then
- ! !! Call Pump3_OffMode_Solver
- ! !! Call CloseCementPump()
- ! !! exit loop2
- ! !! end if
- ! !! end do loop2
- ! !
- ! ! else
- ! !
- ! ! !Call Pump3_OffMode_Solver
- ! ! !Call CloseCementPump()
- ! !
- ! ! end if
- ! !
- ! ! if (IsStopped == .true.) then
- ! ! exit loop1
- ! ! end if
- ! !
- ! !end do loop1
- !
- !
- ! end subroutine Pump3MainBody
-
- end module PumpsMain
|