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.

CDrillingConsole.f90 12 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. module CDrillingConsole
  2. use CDrillingConsoleVariables
  3. use SimulationVariables
  4. use SimulationVariables
  5. ! use CSimulationVariables
  6. use CLog4
  7. use CLog3
  8. implicit none
  9. public
  10. contains
  11. subroutine DrillingConsoleFromJson(jsonfile)
  12. type(json_value),pointer :: parent
  13. type(json_core) :: json
  14. type(json_value),pointer :: p,pval
  15. type(json_file)::jsonfile
  16. logical::found
  17. call jsonfile%get('Equipments.Drilling.AssignmentSwitch',data%Equipments%DrillingConsole%AssignmentSwitch,found)
  18. if ( .not. found ) call logg(4,"Not found: AssignmentSwitch")
  19. call jsonfile%get('Equipments.Drilling.EmergencySwitch',data%Equipments%DrillingConsole%EmergencySwitch,found)
  20. if ( .not. found ) call logg(4,"Not found: EmergencySwitch")
  21. call jsonfile%get('Equipments.Drilling.RTTorqueLimitKnob',data%Equipments%DrillingConsole%RTTorqueLimitKnob,found)
  22. if ( .not. found ) call logg(4,"Not found: RTTorqueLimitKnob")
  23. call jsonfile%get('Equipments.Drilling.MP1CPSwitchI',data%Equipments%DrillingConsole%MP1CPSwitchI,found)
  24. if ( .not. found ) call logg(4,"Not found: MP1CPSwitchI")
  25. call jsonfile%get('Equipments.Drilling.MP1CPSwitchT',data%Equipments%DrillingConsole%MP1CPSwitchT,found)
  26. if ( .not. found ) call logg(4,"Not found: MP1CPSwitchT")
  27. call jsonfile%get('Equipments.Drilling.MP1CPSwitch',data%Equipments%DrillingConsole%MP1CPSwitch,found)
  28. if ( .not. found ) call logg(4,"Not found: MP1CPSwitch")
  29. call jsonfile%get('Equipments.Drilling.MP1ThrottleUpdate',data%Equipments%DrillingConsole%MP1ThrottleUpdate,found)
  30. if ( .not. found ) call logg(4,"Not found: MP1ThrottleUpdate")
  31. call jsonfile%get('Equipments.Drilling.MP1Throttle',data%Equipments%DrillingConsole%MP1Throttle,found)
  32. if ( .not. found ) then
  33. call logg(4,"Not found: MP1Throttle")
  34. endif
  35. call jsonfile%get('Equipments.Drilling.MP2SwitchI',data%Equipments%DrillingConsole%MP2SwitchI,found)
  36. if ( .not. found ) call logg(4,"Not found: MP2SwitchI")
  37. call jsonfile%get('Equipments.Drilling.MP2SwitchT',data%Equipments%DrillingConsole%MP2SwitchT,found)
  38. if ( .not. found ) call logg(4,"Not found: MP2SwitchT")
  39. call jsonfile%get('Equipments.Drilling.MP2Switch',data%Equipments%DrillingConsole%MP2Switch,found)
  40. if ( .not. found ) call logg(4,"Not found: MP2Switch")
  41. call jsonfile%get('Equipments.Drilling.MP2ThrottleUpdate',data%Equipments%DrillingConsole%MP2ThrottleUpdate,found)
  42. if ( .not. found ) call logg(4,"Not found: MP2ThrottleUpdate")
  43. call jsonfile%get('Equipments.Drilling.MP2Throttle',data%Equipments%DrillingConsole%MP2Throttle,found)
  44. if ( .not. found ) call logg(4,"Not found: MP2Throttle")
  45. ! call jsonfile%get('Equipments.Drilling.DWSwitch',data%Equipments%DrillingConsole%DWSwitch,found)
  46. ! if ( .not. found ) call logg(4,"Not found: DWSwitch")
  47. call jsonfile%get('Equipments.Drilling.DWThrottle',data%Equipments%DrillingConsole%DWThrottle,found)
  48. if ( .not. found ) call logg(4,"Not found: DWThrottle")
  49. call jsonfile%get('Equipments.Drilling.RTSwitch',data%Equipments%DrillingConsole%RTSwitch,found)
  50. if ( .not. found ) call logg(4,"Not found: RTSwitch")
  51. call jsonfile%get('Equipments.Drilling.RTThrottle',data%Equipments%DrillingConsole%RTThrottle,found)
  52. if ( .not. found ) call logg(4,"Not found: RTThrottle")
  53. call jsonfile%get('Equipments.Drilling.DWBreak',data%Equipments%DrillingConsole%DWBreak,found)
  54. if ( .not. found ) call logg(4,"Not found: DWBreak")
  55. call jsonfile%get('Equipments.Drilling.PreviousDWBreak',data%Equipments%DrillingConsole%PreviousDWBreak,found)
  56. if ( .not. found ) call logg(4,"Not found: PreviousDWBreak")
  57. call jsonfile%get('Equipments.Drilling.ForceBreak',data%Equipments%DrillingConsole%ForceBreak,found)
  58. if ( .not. found ) call logg(4,"Not found: ForceBreak")
  59. call jsonfile%get('Equipments.Drilling.DWAcceleretor',data%Equipments%DrillingConsole%DWAcceleretor,found)
  60. if ( .not. found ) call logg(4,"Not found: DWAcceleretor")
  61. call jsonfile%get('Equipments.Drilling.DWTransmisionLever',data%Equipments%DrillingConsole%DWTransmisionLever,found)
  62. if ( .not. found ) call logg(4,"Not found: DWTransmisionLever")
  63. call jsonfile%get('Equipments.Drilling.DWPowerLever',data%Equipments%DrillingConsole%DWPowerLever,found)
  64. if ( .not. found ) call logg(4,"Not found: DWPowerLever")
  65. call jsonfile%get('Equipments.Drilling.TongLever',data%Equipments%DrillingConsole%TongLever,found)
  66. if ( .not. found ) call logg(4,"Not found: TongLever")
  67. call jsonfile%get('Equipments.Drilling.RTTransmissionLever',data%Equipments%DrillingConsole%RTTransmissionLever,found)
  68. if ( .not. found ) call logg(4,"Not found: RTTransmissionLever")
  69. call jsonfile%get('Equipments.Drilling.DWClutchLever',data%Equipments%DrillingConsole%DWClutchLever,found)
  70. if ( .not. found ) call logg(4,"Not found: DWClutchLever")
  71. call jsonfile%get('Equipments.Drilling.EddyBreakLever',data%Equipments%DrillingConsole%EddyBreakLever,found)
  72. if ( .not. found ) call logg(4,"Not found: EddyBreakLever")
  73. call jsonfile%get('Equipments.Drilling.AutoDW',data%Equipments%DrillingConsole%AutoDW,found)
  74. if ( .not. found ) call logg(4,"Not found: AutoDW")
  75. call jsonfile%get('Equipments.Drilling.GEN1',data%Equipments%DrillingConsole%GEN1,found)
  76. if ( .not. found ) call logg(4,"Not found: GEN1")
  77. call jsonfile%get('Equipments.Drilling.GEN2',data%Equipments%DrillingConsole%GEN2,found)
  78. if ( .not. found ) call logg(4,"Not found: GEN2")
  79. call jsonfile%get('Equipments.Drilling.GEN3',data%Equipments%DrillingConsole%GEN3,found)
  80. if ( .not. found ) call logg(4,"Not found: GEN3")
  81. call jsonfile%get('Equipments.Drilling.GEN4',data%Equipments%DrillingConsole%GEN4,found)
  82. if ( .not. found ) call logg(4,"Not found: GEN4")
  83. call jsonfile%get('Equipments.Drilling.Permission_OpenKellyCock',data%Equipments%DrillingConsole%Permission_OpenKellyCock,found)
  84. if ( .not. found ) call logg(4,"Not found: Permission_OpenKellyCock")
  85. call jsonfile%get('Equipments.Drilling.OpenKellyCock',data%Equipments%DrillingConsole%OpenKellyCock,found)
  86. if ( .not. found ) call logg(4,"Not found: OpenKellyCock")
  87. call jsonfile%get('Equipments.Drilling.Permission_CloseKellyCock',data%Equipments%DrillingConsole%Permission_CloseKellyCock,found)
  88. if ( .not. found ) call logg(4,"Not found: Permission_CloseKellyCock")
  89. call jsonfile%get('Equipments.Drilling.CloseKellyCock',data%Equipments%DrillingConsole%CloseKellyCock,found)
  90. if ( .not. found ) call logg(4,"Not found: CloseKellyCock")
  91. call jsonfile%get('Equipments.Drilling.Permission_OpenSafetyValve',data%Equipments%DrillingConsole%Permission_OpenSafetyValve,found)
  92. if ( .not. found ) call logg(4,"Not found: Permission_OpenSafetyValve")
  93. call jsonfile%get('Equipments.Drilling.OpenSafetyValve',data%Equipments%DrillingConsole%OpenSafetyValve,found)
  94. if ( .not. found ) call logg(4,"Not found: OpenSafetyValve")
  95. call jsonfile%get('Equipments.Drilling.Permission_CloseSafetyValve',data%Equipments%DrillingConsole%Permission_CloseSafetyValve,found)
  96. if ( .not. found ) call logg(4,"Not found: Permission_CloseSafetyValve")
  97. call jsonfile%get('Equipments.Drilling.CloseSafetyValve',data%Equipments%DrillingConsole%CloseSafetyValve,found)
  98. if ( .not. found ) call logg(4,"Not found: CloseSafetyValve")
  99. call jsonfile%get('Equipments.Drilling.Permission_IRSafetyValve',data%Equipments%DrillingConsole%Permission_IRSafetyValve,found)
  100. if ( .not. found ) call logg(4,"Not found: Permission_IRSafetyValve")
  101. call jsonfile%get('Equipments.Drilling.IRSafetyValve',data%Equipments%DrillingConsole%IRSafetyValve,found)
  102. if ( .not. found ) call logg(4,"Not found: IRSafetyValve")
  103. call jsonfile%get('Equipments.Drilling.Permission_IRIBop',data%Equipments%DrillingConsole%Permission_IRIBop,found)
  104. if ( .not. found ) call logg(4,"Not found: Permission_IRIBop")
  105. call jsonfile%get('Equipments.Drilling.IRIBop',data%Equipments%DrillingConsole%IRIBop,found)
  106. if ( .not. found ) call logg(4,"Not found: IRIBop")
  107. call jsonfile%get('Equipments.Drilling.LatchPipe',data%Equipments%DrillingConsole%LatchPipe,found)
  108. if ( .not. found ) call logg(4,"Not found: LatchPipe")
  109. call jsonfile%get('Equipments.Drilling.UnlatchPipe',data%Equipments%DrillingConsole%UnlatchPipe,found)
  110. if ( .not. found ) call logg(4,"Not found: UnlatchPipe")
  111. call jsonfile%get('Equipments.Drilling.Swing',data%Equipments%DrillingConsole%Swing,found)
  112. if ( .not. found ) call logg(4,"Not found: Swing")
  113. call jsonfile%get('Equipments.Drilling.FillMouseHole',data%Equipments%DrillingConsole%FillMouseHole,found)
  114. if ( .not. found ) call logg(4,"Not found: FillMouseHole")
  115. call jsonfile%get('Equipments.Drilling.Slips',data%Equipments%DrillingConsole%Slips,found)
  116. if ( .not. found ) call logg(4,"Not found: Slips")
  117. call jsonfile%get('Equipments.Drilling.BrakeLeverCoefficient',data%Equipments%DrillingConsole%BrakeLeverCoefficient,found)
  118. if ( .not. found ) call logg(4,"Not found: BrakeLeverCoefficient")
  119. call jsonfile%get('Equipments.Drilling.HideDrillingBrake',data%Equipments%DrillingConsole%HideDrillingBrake,found)
  120. if ( .not. found ) call logg(4,"Not found: HideDrillingBrake")
  121. call jsonfile%get('Equipments.Drilling.ParkingBrakeBtn',data%Equipments%DrillingConsole%ParkingBrakeBtn,found)
  122. if ( .not. found ) call logg(4,"Not found: ParkingBrakeBtn")
  123. data%Equipments%DrillingConsole%DWSwitch = -1
  124. data%Equipments%DrillingConsole%AssignmentSwitch = 1
  125. data%Equipments%DrillingConsole%MP1CPSwitch = -1
  126. data%Equipments%DrillingConsole%MP2Switch = -1
  127. data%Equipments%DrillingConsole%RTSwitch = -1
  128. end subroutine
  129. subroutine DrillingConsoleToJson(parent)
  130. type(json_value),pointer :: parent
  131. type(json_core) :: json
  132. type(json_value),pointer :: p
  133. ! 1. create new node
  134. call json%create_object(p,'Drilling')
  135. call json%add(p,"ParkingBrakeLed",data%Equipments%DrillingConsole%ParkingBrakeLed)
  136. call json%add(p,"GEN1LED",data%Equipments%DrillingConsole%GEN1LED)
  137. call json%add(p,"GEN2LED",data%Equipments%DrillingConsole%GEN2LED)
  138. call json%add(p,"GEN3LED",data%Equipments%DrillingConsole%GEN3LED)
  139. call json%add(p,"GEN4LED",data%Equipments%DrillingConsole%GEN4LED)
  140. call json%add(p,"SCR1LED",data%Equipments%DrillingConsole%SCR1LED)
  141. call json%add(p,"SCR2LED",data%Equipments%DrillingConsole%SCR2LED)
  142. call json%add(p,"SCR3LED",data%Equipments%DrillingConsole%SCR3LED)
  143. call json%add(p,"SCR4LED",data%Equipments%DrillingConsole%SCR4LED)
  144. call json%add(p,"MP1BLWR",data%Equipments%DrillingConsole%MP1BLWR)
  145. call json%add(p,"MP2BLWR",data%Equipments%DrillingConsole%MP2BLWR)
  146. call json%add(p,"DWBLWR",data%Equipments%DrillingConsole%DWBLWR)
  147. call json%add(p,"RTBLWR",data%Equipments%DrillingConsole%RTBLWR)
  148. call json%add(p,"PWRLIM",data%Equipments%DrillingConsole%PWRLIM)
  149. call json%add(p,"PWRLIMMTR",data%Equipments%DrillingConsole%PWRLIMMTR)
  150. call json%add(p,"RTTorqueLimitGauge",data%Equipments%DrillingConsole%RTTorqueLimitGauge)
  151. call json%add(p,"AutoDWLED",data%Equipments%DrillingConsole%AutoDWLED)
  152. call json%add(p,"GEN1BTNLED",data%Equipments%DrillingConsole%GEN1BTNLED)
  153. call json%add(p,"GEN2BTNLED",data%Equipments%DrillingConsole%GEN2BTNLED)
  154. call json%add(p,"GEN3BTNLED",data%Equipments%DrillingConsole%GEN3BTNLED)
  155. call json%add(p,"GEN4BTNLED",data%Equipments%DrillingConsole%GEN4BTNLED)
  156. call json%add(p,"OpenKellyCockLed",data%Equipments%DrillingConsole%OpenKellyCockLed)
  157. call json%add(p,"CloseKellyCockLed",data%Equipments%DrillingConsole%CloseKellyCockLed)
  158. call json%add(p,"OpenSafetyValveLed",data%Equipments%DrillingConsole%OpenSafetyValveLed)
  159. call json%add(p,"CloseSafetyValveLed",data%Equipments%DrillingConsole%CloseSafetyValveLed)
  160. call json%add(p,"IRSafetyValveLed",data%Equipments%DrillingConsole%IRSafetyValveLed)
  161. call json%add(p,"IRIBopLed",data%Equipments%DrillingConsole%IRIBopLed)
  162. call json%add(p,"LatchPipeLED",data%Equipments%DrillingConsole%LatchPipeLED)
  163. call json%add(p,"UnlatchPipeLED",data%Equipments%DrillingConsole%UnlatchPipeLED)
  164. call json%add(p,"SwingLed",data%Equipments%DrillingConsole%SwingLed)
  165. call json%add(p,"FillMouseHoleLed",data%Equipments%DrillingConsole%FillMouseHoleLed)
  166. call json%add(parent,p)
  167. end subroutine
  168. end module CDrillingConsole