Simulation Core
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

128 rader
4.9 KiB

  1. module CTdsSwingEnum
  2. use OperationScenariosModule
  3. use SimulationVariables
  4. use UnitySignalsModule
  5. implicit none
  6. contains
  7. subroutine Evaluate_TdsSwing()
  8. implicit none
  9. if (data%Configuration%Hoisting%DriveType == TopDrive_DriveType) then
  10. if(print_log) print*, 'Evaluate_TdsSwing=TopDrive'
  11. !TOPDRIVE-CODE=37
  12. if (Get_SwingDrillPermission() .and.&
  13. Get_TdsSwing() == TDS_SWING_OFF_END .and.&
  14. Get_FillMouseHoleLed() == .false. .and.&
  15. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_DRILL) then
  16. call Set_TdsSwing(TDS_SWING_DRILL_BEGIN)
  17. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  18. return
  19. end if
  20. !TOPDRIVE-CODE=38
  21. if (Get_SwingTiltPermission() .and.&
  22. Get_TdsSwing() == TDS_SWING_TILT_END .and.&
  23. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_TILT) then
  24. call Set_TdsSwing(TDS_SWING_TILT_BEGIN)
  25. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  26. return
  27. end if
  28. !TOPDRIVE-CODE=39
  29. if (Get_SwingOffPermission() .and.&
  30. Get_TdsConnectionModes() == TDS_CONNECTION_NOTHING .and.&
  31. Get_TdsSwing() == TDS_SWING_OFF_END .and.&
  32. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_OFF) then
  33. call Set_TdsSwing(TDS_SWING_OFF_BEGIN)
  34. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  35. return
  36. end if
  37. !TOPDRIVE-CODE=40
  38. if (Get_SwingTiltPermission() .and.&
  39. Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
  40. Get_TdsSwing() == TDS_SWING_OFF_END .and.&
  41. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_TILT) then
  42. call Set_TdsSwing(TDS_SWING_TILT_BEGIN)
  43. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  44. return
  45. end if
  46. !TOPDRIVE-CODE=41
  47. if (Get_SwingOffPermission() .and.&
  48. Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
  49. Get_TdsSwing() == TDS_SWING_TILT_END .and.&
  50. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_OFF) then
  51. call Set_TdsSwing(TDS_SWING_OFF_BEGIN)
  52. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  53. return
  54. end if
  55. !TOPDRIVE-CODE=42
  56. if (Get_HookHeight() > (TL() + NFC() + data%State%OperationScenario%PL - data%State%OperationScenario%ECG) .and.&
  57. Get_SwingTiltPermission() .and.&
  58. Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_SINGLE .and.&
  59. Get_TdsSwing() == TDS_SWING_OFF_END .and.&
  60. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_TILT) then
  61. call Set_TdsSwing(TDS_SWING_TILT_BEGIN)
  62. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  63. return
  64. end if
  65. !TOPDRIVE-CODE=43
  66. if (Get_HookHeight() > (TL() + NFC() + data%State%OperationScenario%PL - data%State%OperationScenario%ECG) .and.&
  67. Get_SwingOffPermission() .and.&
  68. Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_SINGLE .and.&
  69. Get_TdsSwing() == TDS_SWING_TILT_END .and.&
  70. data%Equipments%TopDrivePanel%TopDriveLinkTiltState == TdsLinkTilt_OFF) then
  71. call Set_TdsSwing(TDS_SWING_OFF_BEGIN)
  72. data%Equipments%TopDrivePanel%TopDriveLinkTiltLed = LED_ON
  73. return
  74. end if
  75. endif
  76. ! if (DriveType == Kelly_DriveType) then
  77. !#ifdef OST
  78. ! if(print_log) print*, 'Evaluate_TdsSwing=Kelly'
  79. !#endif
  80. ! endif
  81. end subroutine
  82. subroutine Subscribe_TdsSwing()
  83. use CDrillingConsoleVariables
  84. use SimulationVariables
  85. use SimulationVariables
  86. implicit none
  87. end subroutine
  88. end module CTdsSwingEnum