Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CTdsSwingEnum.f90 5.1 KiB

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