subroutine Pump1_OffMode_Solver(Pump_No) use Pump_VARIABLES use CPumpsVariables use CDrillingConsoleVariables use CDataDisplayConsoleVariables use CSimulationVariables use CDrillWatchVariables use CSounds IMPLICIT NONE INTEGER :: Pump_No CALL Pump_INPUTS !================================================================== ! Rate limit for off Mode Do while (((PUMP(Pump_No)%N_old-0.0d0)/PUMP(Pump_No)%time_step)>386.0d0) PUMP(Pump_No)%N_ref = (-386.0d0*PUMP(Pump_No)%time_step)+PUMP(Pump_No)%N_old !else ! PUMP(1)%N_ref=0.0d0 !end if Call Pump1_OnMode_Solver(Pump_No) PUMP(Pump_No)%N_old = PUMP(Pump_No)%N_ref Call sleepqq (80) !????????????????? End Do !================================================================== PUMP(Pump_No)%Speed = 0.0d0 PUMP(Pump_No)%w = 0.0d0 PUMP(Pump_No)%w_old = 0.0d0 PUMP(Pump_No)%w_new = 0.0d0 PUMP(Pump_No)%ia = 0.0d0 PUMP(Pump_No)%ia_old = 0.0d0 PUMP(Pump_No)%ia_new = 0.0d0 PUMP(Pump_No)%x = 0.0d0 PUMP(Pump_No)%x_old = 0.0d0 PUMP(Pump_No)%x_new = 0.0d0 Call Pump_Solver(Pump_No) Call Pump_Total_Counts Call Set_MP1SPMGauge( sngl(1-PUMP(1)%SPMGaugeMalf)*real((PUMP(1)%Speed/PUMP(1)%Trans_Ratio),8) ) SPM1 = MP1SPMGauge PUMP(1)%SoundSPM = INT(PUMP(1)%Speed/PUMP(1)%Trans_Ratio) Call SetSoundMP1( PUMP(1)%SoundSPM ) !Call Set_MP2SPMGauge( real((PUMP(2)%Speed/PUMP(2)%Trans_Ratio),8) ) !SPM2 = MP2SPMGauge !print*, 'PUMP(1)%Speed2=', PUMP(1)%Speed !print*, 'PUMP(Pump_No)%N_ref2=', PUMP(Pump_No)%N_ref end subroutine Pump1_OffMode_Solver