Simulation Core
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

77 righe
2.1 KiB

  1. module TopDriveMain
  2. use CLog4
  3. implicit none
  4. public
  5. contains
  6. subroutine TopDrive_Init()
  7. !use CSimulationVariables
  8. !implicit none
  9. !call OnSimulationStop%Add(TopDrive_Stop)
  10. !call OnTopDriveStart%Add(TopDrive_Start)
  11. !call OnTopDriveStep%Add(TopDrive_Step)
  12. !call OnTopDriveMain%Add(TopDriveMainBody)
  13. Call TopDrive_StartUp
  14. end subroutine
  15. subroutine TopDrive_Stop
  16. implicit none
  17. call Log_4('TopDrive_Stop')
  18. ! this is a comment
  19. ! this is a comment
  20. end subroutine TopDrive_Stop
  21. subroutine TopDrive_Start
  22. implicit none
  23. call Log_4('TopDrive_Start')
  24. end subroutine TopDrive_Start
  25. subroutine TopDrive_Step
  26. implicit none
  27. call Log_4('TopDrive_Step')
  28. Call Rtable_MainSolver
  29. end subroutine TopDrive_Step
  30. subroutine TopDriveMainBody
  31. use CSimulationVariables
  32. use TopDrive_VARIABLES
  33. use CDrillWatchVariables
  34. use CWarningsVariables
  35. use CSounds
  36. use CTopDrivePanelVariables
  37. implicit none
  38. integer,dimension(8) :: TDS_START_TIME, TDS_END_TIME
  39. INTEGER :: TDS_SolDuration
  40. call Log_4('TopDriveMainBody')
  41. Call TopDrive_StartUp
  42. loopTopDrivestart : do
  43. CALL DATE_AND_TIME(values=TDS_START_TIME)
  44. Call TopDrive_MainSolver
  45. if (IsStopped == .true.) then
  46. exit loopTopDrivestart
  47. end if
  48. CALL DATE_AND_TIME(values=TDS_END_TIME)
  49. TDS_SolDuration = 100-(TDS_END_TIME(5)*3600000+TDS_END_TIME(6)*60000+TDS_END_TIME(7)*1000+TDS_END_TIME(8)-TDS_START_TIME(5)*3600000-TDS_START_TIME(6)*60000-TDS_START_TIME(7)*1000-TDS_START_TIME(8))
  50. !print*, 'TDStime=', TDS_SolDuration
  51. if(TDS_SolDuration > 0.0) then
  52. CALL sleepqq(TDS_SolDuration)
  53. end if
  54. end do loopTopDrivestart
  55. end subroutine TopDriveMainBody
  56. end module TopDriveMain