|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- module BlindRamsMain
- implicit none
- public
- contains
-
- subroutine BlindRams_Setup()
- use CSimulationVariables
- implicit none
- call OnSimulationInitialization%Add(BlindRams_Init)
- call OnSimulationStop%Add(BlindRams_Init)
- call OnBlindRamsStep%Add(BlindRams_Step)
- call OnBlindRamsOutput%Add(BlindRams_Output)
- call OnBlindRamsMain%Add(BlindRamsMainBody)
- end subroutine
-
- subroutine BlindRams_Init
- implicit none
- end subroutine BlindRams_Init
-
- subroutine BlindRams_Step
- CALL SHEAR_RAMS
- end subroutine BlindRams_Step
-
- subroutine BlindRams_Output
- implicit none
- end subroutine BlindRams_Output
-
- subroutine BlindRamsMainBody
- USE ifport
- USE ifmt
- USE CSimulationVariables
- ! USE BOP
-
- implicit none
-
- INTEGER :: ShearRamDuration
- integer,dimension(8) :: ShearRamStartTime , ShearRamEndTime
-
-
- ! CALL BOP_StartUp()
- loop1: DO
-
- CALL DATE_AND_TIME(values=ShearRamStartTime)
-
-
- CALL SHEAR_RAMS
-
- CALL DATE_AND_TIME(values=ShearRamEndTime)
-
- ShearRamDuration = 3600000 * (ShearRamEndTime(5) - ShearRamStartTime(5)) + 60000 * (ShearRamEndTime(6) - ShearRamStartTime(6)) + 1000 * (ShearRamEndTime(7) - ShearRamStartTime(7)) + (ShearRamEndTime(8) - ShearRamStartTime(8))
-
- if (ShearRamDuration < 100) then
- call sleepqq(100 - ShearRamDuration)
- ELSE
- WRITE (*,*) 'ShearRam BOP run duration exceeded 100 ms and =', ShearRamDuration
- end if
-
-
- IF (IsStopped==.true.) THEN
- EXIT loop1
- ENDIF
-
-
- ENDDO loop1
-
- end subroutine BlindRamsMainBody
-
- end module BlindRamsMain
|