Simulation Core
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

94 linhas
2.9 KiB

  1. subroutine Pumps_Outputs
  2. use CDataDisplayConsole
  3. use SimulationVariables
  4. ! Use CSimulationVariables
  5. Use MudSystemModule
  6. Use CSounds
  7. IMPLICIT NONE
  8. !>>>>>>>>>>>>>>>>>>>>>>> PUMP 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<
  9. If (data%State%Pump(1)%Open_Close==1) then
  10. Call OpenPump1()
  11. Else if (data%State%Pump(1)%Open_Close==0) then
  12. Call ClosePump1()
  13. End if
  14. data%Equipments%DrillingConsole%MP1BLWR = data%State%Pump(1)%BLWR
  15. Call SetSoundBlowerMP1( data%State%Pump(1)%SoundBlower ) !.true. or .false.
  16. Call SetSoundMP1( data%State%Pump(1)%SoundSPM ) ![SPM] , integer
  17. if ((data%State%Pump(1)%Switch==-1) .or. (data%State%Pump(1)%Switch==0)) then
  18. Call Set_MP1SPMGauge( sngl(1-data%State%Pump(1)%SPMGaugeMalf)*real((data%State%Pump(1)%Speed/data%State%Pump(1)%Trans_Ratio),8) ) ![spm] , real
  19. data%Equipments%DrillingWatch%SPM1 = data%Equipments%DataDisplayConsole%MP1SPMGauge
  20. end if
  21. !data%State%Pump(1)%Flow_Rate !to other modules , [gpm]
  22. !>>>>>>>>>>>>>>>>>>>>>>> PUMP 2 <<<<<<<<<<<<<<<<<<<<<<<<<<<
  23. If (data%State%Pump(2)%Open_Close==1) then
  24. Call OpenPump2()
  25. Else if (data%State%Pump(2)%Open_Close==0) then
  26. Call ClosePump2()
  27. End if
  28. data%Equipments%DrillingConsole%MP2BLWR = data%State%Pump(2)%BLWR
  29. Call SetSoundBlowerMP2( data%State%Pump(2)%SoundBlower )
  30. Call SetSoundMP2( data%State%Pump(2)%SoundSPM ) ![SPM]
  31. Call Set_MP2SPMGauge( sngl(1-data%State%Pump(2)%SPMGaugeMalf)*real((data%State%Pump(2)%Speed/data%State%Pump(2)%Trans_Ratio),8) ) ![SPM]
  32. data%Equipments%DrillingWatch%SPM2 = data%Equipments%DataDisplayConsole%MP2SPMGauge
  33. !data%State%Pump(2)%Flow_Rate !to other modules
  34. !!>>>>>>>>>>>>>>>>>>>>>>> PUMP 3 <<<<<<<<<<<<<<<<<<<<<<<<<<<
  35. If (data%State%Pump(3)%Open_Close==1) then
  36. Call OpenCementPump()
  37. Else if (data%State%Pump(3)%Open_Close==0) then
  38. Call CloseCementPump()
  39. End if
  40. Call SetSoundMP3( data%State%Pump(3)%SoundSPM )
  41. if (data%State%Pump(3)%Switch==1) then
  42. Call Set_MP1SPMGauge( real((data%State%Pump(3)%Speed/data%State%Pump(3)%Trans_Ratio),8) ) ![SPM] SPMGaugeMalf Malf nadarad????
  43. data%Equipments%DrillingWatch%SPM1 = data%Equipments%DataDisplayConsole%MP1SPMGauge
  44. end if
  45. !data%State%Pump(3)%Flow_Rate !to other modules
  46. !>>>>>>>>>>>>>>>>>>>>>>> Total Pumps <<<<<<<<<<<<<<<<<<<<<<<<<<<
  47. !data%State%MPumps%Total_Pump_Gpm = 100.d0 !???????????
  48. !data%State%MPumps%Total_Pump_SPM = 1000.d0 !?????????????
  49. !SCR1LED=1
  50. !SCR2LED=1
  51. !SCR3LED=1
  52. !SCR4LED=1
  53. end subroutine Pumps_Outputs