diff --git a/.ipynb_checkpoints/helper-checkpoint.ipynb b/.ipynb_checkpoints/helper-checkpoint.ipynb index 420b07f..18ccf57 100644 --- a/.ipynb_checkpoints/helper-checkpoint.ipynb +++ b/.ipynb_checkpoints/helper-checkpoint.ipynb @@ -57,26 +57,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "call json%add(p,\"TopDriveTdsPowerState\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerState)\n", - "call json%add(p,\"TopDriveTorqueWrench\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrench)\n", - "call json%add(p,\"TopDriveDrillTorqueState\",data%Equipments%ControlPanel%CTopDrive%TopDriveDrillTorqueState)\n", - "call json%add(p,\"TopDriveLinkTiltState\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltState)\n", - "call json%add(p,\"TopDriveIbop\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbop)\n", - "call json%add(p,\"TopDriveTorqueLimitKnob\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob)\n", - "call json%add(p,\"RpmKnob\",data%Equipments%ControlPanel%CTopDrive%RpmKnob)\n", - "call json%add(p,\"TopDriveOperationFaultLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveOperationFaultLed)\n", - "call json%add(p,\"TopDriveTdsPowerLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerLed)\n", - "call json%add(p,\"TopDriveTorqueWrenchLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed)\n", - "call json%add(p,\"TopDriveLinkTiltLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltLed)\n", - "call json%add(p,\"TopDriveIbopLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbopLed)\n", - "call json%add(p,\"TopDriveTorqueLimitGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge)\n", - "call json%add(p,\"TopDriveTorqueGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueGauge)\n", - "call json%add(p,\"TopDriveRpmGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveRpmGauge)\n" + "call json%add(p,\"TopDriveTdsPowerState\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTdsPowerState)\n", + "call json%add(p,\"TopDriveTorqueWrench\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueWrench)\n", + "call json%add(p,\"TopDriveDrillTorqueState\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveDrillTorqueState)\n", + "call json%add(p,\"TopDriveLinkTiltState\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveLinkTiltState)\n", + "call json%add(p,\"TopDriveIbop\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveIbop)\n", + "call json%add(p,\"TopDriveTorqueLimitKnob\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob)\n", + "call json%add(p,\"RpmKnob\",data%EquipmentControl%ControlPanel%CTopDrive%RpmKnob)\n", + "call json%add(p,\"TopDriveOperationFaultLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveOperationFaultLed)\n", + "call json%add(p,\"TopDriveTdsPowerLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTdsPowerLed)\n", + "call json%add(p,\"TopDriveTorqueWrenchLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed)\n", + "call json%add(p,\"TopDriveLinkTiltLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveLinkTiltLed)\n", + "call json%add(p,\"TopDriveIbopLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveIbopLed)\n", + "call json%add(p,\"TopDriveTorqueLimitGauge\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge)\n", + "call json%add(p,\"TopDriveTorqueGauge\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueGauge)\n", + "call json%add(p,\"TopDriveRpmGauge\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveRpmGauge)\n" ] } ], "source": [ - "precode = \"\"\"call json%add(pform,\"\",data%Equipments%ControlPanel%CTopDrive%\"\"\"\n", + "precode = \"\"\"call json%add(pform,\"\",data%EquipmentControl%ControlPanel%CTopDrive%\"\"\"\n", "input = open(\"Text1.txt\")\n", "lines = input.readlines()\n", "for line in lines:\n", diff --git a/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 b/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 index 5dd4d95..7d263fe 100644 --- a/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 +++ b/CSharp/BasicInputs/WellProfile/CPathGeneration.f90 @@ -1,4 +1,3 @@ -<<<<<<< HEAD module CPathGeneration use SimulationVariables !@ use json_module @@ -43,31 +42,4 @@ module CPathGeneration call json%add(parent,ppath) end subroutine -======= -module CPathGeneration - use SimulationVariables !@ - use json_module - implicit none - public - contains - - subroutine PathGenerationToJson(parent) - - type(json_value),pointer :: parent - type(json_core) :: json - type(json_value),pointer :: p - - ! 1. create new node - call json%create_object(p,'Path') - - ! 2. add member of data type to new node - ! call StringConfigurationToJson(p) - ! call FormationToJson(p) - ! call json%add(p,"",data%Configuration%Formation%Formations(i)%Abrasiveness) - - ! 3. add new node to parent - call json%add(parent,p) - end subroutine - ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 end module CPathGeneration \ No newline at end of file diff --git a/CSharp/Equipments/ControlPanels/CBopControlPanel.f90 b/CSharp/Equipments/ControlPanels/CBopControlPanel.f90 index 19e2753..18db3ef 100644 --- a/CSharp/Equipments/ControlPanels/CBopControlPanel.f90 +++ b/CSharp/Equipments/ControlPanels/CBopControlPanel.f90 @@ -5,44 +5,44 @@ module CBopControlPanel public contains - subroutine CBopToJson(parent) + subroutine BopControlPanelToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CBop') + call json%create_object(p,'BopControl') - call json%add(p,"AnnularRegulatorSetControl",data%Equipments%ContolPanel%CBop%AnnularRegulatorSetControl) - call json%add(p,"AirMasterValve",data%Equipments%ContolPanel%CBop%AirMasterValve) - call json%add(p,"ByePassValve",data%Equipments%ContolPanel%CBop%ByePassValve) - call json%add(p,"AnnularValve",data%Equipments%ContolPanel%CBop%AnnularValve) - call json%add(p,"UpperRamsValve",data%Equipments%ContolPanel%CBop%UpperRamsValve) - call json%add(p,"MiddleRamsValve",data%Equipments%ContolPanel%CBop%MiddleRamsValve) - call json%add(p,"KillLineValve",data%Equipments%ContolPanel%CBop%KillLineValve) - call json%add(p,"ChokeLineValve",data%Equipments%ContolPanel%CBop%ChokeLineValve) - call json%add(p,"LowerRamsValve",data%Equipments%ContolPanel%CBop%LowerRamsValve) - call json%add(p,"ManifoldPressureGauge",data%Equipments%ContolPanel%CBop%ManifoldPressureGauge) - call json%add(p,"AirSupplyPressureGauge",data%Equipments%ContolPanel%CBop%AirSupplyPressureGauge) - call json%add(p,"AccumulatorPressureGauge",data%Equipments%ContolPanel%CBop%AccumulatorPressureGauge) - call json%add(p,"AnnularPressureGauge",data%Equipments%ContolPanel%CBop%AnnularPressureGauge) - call json%add(p,"AnnularOpenLED",data%Equipments%ContolPanel%CBop%AnnularOpenLED) - call json%add(p,"AnnularCloseLED",data%Equipments%ContolPanel%CBop%AnnularCloseLED) - call json%add(p,"UpperRamsOpenLED",data%Equipments%ContolPanel%CBop%UpperRamsOpenLED) - call json%add(p,"UpperRamsCloseLED",data%Equipments%ContolPanel%CBop%UpperRamsCloseLED) - call json%add(p,"MiddleRamsOpenLED",data%Equipments%ContolPanel%CBop%MiddleRamsOpenLED) - call json%add(p,"MiddleRamsCloseLED",data%Equipments%ContolPanel%CBop%MiddleRamsCloseLED) - call json%add(p,"KillLineOpenLED",data%Equipments%ContolPanel%CBop%KillLineOpenLED) - call json%add(p,"KillLineCloseLED",data%Equipments%ContolPanel%CBop%KillLineCloseLED) - call json%add(p,"ChokeLineOpenLED",data%Equipments%ContolPanel%CBop%ChokeLineOpenLED) - call json%add(p,"ChokeLineCloseLED",data%Equipments%ContolPanel%CBop%ChokeLineCloseLED) - call json%add(p,"LowerRamsOpenLED",data%Equipments%ContolPanel%CBop%LowerRamsOpenLED) - call json%add(p,"LowerRamsCloseLED",data%Equipments%ContolPanel%CBop%LowerRamsCloseLED) - call json%add(p,"AnnularStatus",data%Equipments%ContolPanel%CBop%AnnularStatus) - call json%add(p,"UpperRamsStatus",data%Equipments%ContolPanel%CBop%UpperRamsStatus) - call json%add(p,"MiddleRamsStatus",data%Equipments%ContolPanel%CBop%MiddleRamsStatus) - call json%add(p,"LowerRamsStatus",data%Equipments%ContolPanel%CBop%LowerRamsStatus) + call json%add(p,"AnnularRegulatorSetControl",data%EquipmentControl%BopControlPanel%AnnularRegulatorSetControl) + call json%add(p,"AirMasterValve",data%EquipmentControl%BopControlPanel%AirMasterValve) + call json%add(p,"ByePassValve",data%EquipmentControl%BopControlPanel%ByePassValve) + call json%add(p,"AnnularValve",data%EquipmentControl%BopControlPanel%AnnularValve) + call json%add(p,"UpperRamsValve",data%EquipmentControl%BopControlPanel%UpperRamsValve) + call json%add(p,"MiddleRamsValve",data%EquipmentControl%BopControlPanel%MiddleRamsValve) + call json%add(p,"KillLineValve",data%EquipmentControl%BopControlPanel%KillLineValve) + call json%add(p,"ChokeLineValve",data%EquipmentControl%BopControlPanel%ChokeLineValve) + call json%add(p,"LowerRamsValve",data%EquipmentControl%BopControlPanel%LowerRamsValve) + call json%add(p,"ManifoldPressureGauge",data%EquipmentControl%BopControlPanel%ManifoldPressureGauge) + call json%add(p,"AirSupplyPressureGauge",data%EquipmentControl%BopControlPanel%AirSupplyPressureGauge) + call json%add(p,"AccumulatorPressureGauge",data%EquipmentControl%BopControlPanel%AccumulatorPressureGauge) + call json%add(p,"AnnularPressureGauge",data%EquipmentControl%BopControlPanel%AnnularPressureGauge) + call json%add(p,"AnnularOpenLED",data%EquipmentControl%BopControlPanel%AnnularOpenLED) + call json%add(p,"AnnularCloseLED",data%EquipmentControl%BopControlPanel%AnnularCloseLED) + call json%add(p,"UpperRamsOpenLED",data%EquipmentControl%BopControlPanel%UpperRamsOpenLED) + call json%add(p,"UpperRamsCloseLED",data%EquipmentControl%BopControlPanel%UpperRamsCloseLED) + call json%add(p,"MiddleRamsOpenLED",data%EquipmentControl%BopControlPanel%MiddleRamsOpenLED) + call json%add(p,"MiddleRamsCloseLED",data%EquipmentControl%BopControlPanel%MiddleRamsCloseLED) + call json%add(p,"KillLineOpenLED",data%EquipmentControl%BopControlPanel%KillLineOpenLED) + call json%add(p,"KillLineCloseLED",data%EquipmentControl%BopControlPanel%KillLineCloseLED) + call json%add(p,"ChokeLineOpenLED",data%EquipmentControl%BopControlPanel%ChokeLineOpenLED) + call json%add(p,"ChokeLineCloseLED",data%EquipmentControl%BopControlPanel%ChokeLineCloseLED) + call json%add(p,"LowerRamsOpenLED",data%EquipmentControl%BopControlPanel%LowerRamsOpenLED) + call json%add(p,"LowerRamsCloseLED",data%EquipmentControl%BopControlPanel%LowerRamsCloseLED) + call json%add(p,"AnnularStatus",data%EquipmentControl%BopControlPanel%AnnularStatus) + call json%add(p,"UpperRamsStatus",data%EquipmentControl%BopControlPanel%UpperRamsStatus) + call json%add(p,"MiddleRamsStatus",data%EquipmentControl%BopControlPanel%MiddleRamsStatus) + call json%add(p,"LowerRamsStatus",data%EquipmentControl%BopControlPanel%LowerRamsStatus) call json%add(parent,p) diff --git a/CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 b/CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 index d8e8fe5..20fd64b 100644 --- a/CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 +++ b/CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 @@ -5,185 +5,31 @@ module CChokeControlPanel public contains - subroutine CChokeToJson(parent) + subroutine ChokeControlPanelToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CChoke') - call json%add(p,"ChokePanelPumpSelectorSwitch",data%Equipments%ContolPanel%CChoke%ChokePanelPumpSelectorSwitch) - call json%add(p,"ChokePanelStrokeResetSwitch",data%Equipments%ContolPanel%CChoke%ChokePanelStrokeResetSwitch) - call json%add(p,"ChokeSelectorSwitch",data%Equipments%ContolPanel%CChoke%ChokeSelectorSwitch) - call json%add(p,"ChokeRateControlKnob",data%Equipments%ContolPanel%CChoke%ChokeRateControlKnob) - call json%add(p,"ChokeControlLever",data%Equipments%ContolPanel%CChoke%ChokeControlLever) - call json%add(p,"ChokePanelRigAirSwitch",data%Equipments%ContolPanel%CChoke%ChokePanelRigAirSwitch) - call json%add(p,"EnableAutoChoke",data%Equipments%ContolPanel%CChoke%EnableAutoChoke) - call json%add(p,"StandPipePressure",data%Equipments%ContolPanel%CChoke%StandPipePressure) - call json%add(p,"CasingPressure",data%Equipments%ContolPanel%CChoke%CasingPressure) - call json%add(p,"ChokePosition",data%Equipments%ContolPanel%CChoke%ChokePosition) - call json%add(p,"ChokePanelSPMCounter",data%Equipments%ContolPanel%CChoke%ChokePanelSPMCounter) - call json%add(p,"ChokePanelTotalStrokeCounter",data%Equipments%ContolPanel%CChoke%ChokePanelTotalStrokeCounter) - call json%add(p,"Choke1LED",data%Equipments%ContolPanel%CChoke%Choke1LED) - call json%add(p,"Choke2LED",data%Equipments%ContolPanel%CChoke%Choke2LED) + call json%create_object(p,'ChokeControl') + call json%add(p,"ChokePanelPumpSelectorSwitch",data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch) + call json%add(p,"ChokePanelStrokeResetSwitch",data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch) + call json%add(p,"ChokeSelectorSwitch",data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch) + call json%add(p,"ChokeRateControlKnob",data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob) + call json%add(p,"ChokeControlLever",data%EquipmentControl%ChokeControlPanel%ChokeControlLever) + call json%add(p,"ChokePanelRigAirSwitch",data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch) + call json%add(p,"EnableAutoChoke",data%EquipmentControl%ChokeControlPanel%EnableAutoChoke) + call json%add(p,"StandPipePressure",data%EquipmentControl%ChokeControlPanel%StandPipePressure) + call json%add(p,"CasingPressure",data%EquipmentControl%ChokeControlPanel%CasingPressure) + call json%add(p,"ChokePosition",data%EquipmentControl%ChokeControlPanel%ChokePosition) + call json%add(p,"ChokePanelSPMCounter",data%EquipmentControl%ChokeControlPanel%ChokePanelSPMCounter) + call json%add(p,"ChokePanelTotalStrokeCounter",data%EquipmentControl%ChokeControlPanel%ChokePanelTotalStrokeCounter) + call json%add(p,"Choke1LED",data%EquipmentControl%ChokeControlPanel%Choke1LED) + call json%add(p,"Choke2LED",data%EquipmentControl%ChokeControlPanel%Choke2LED) call json%add(parent,p) end subroutine - ! Input routines - subroutine SetChokePanelPumpSelectorSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelPumpSelectorSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetChokePanelPumpSelectorSwitch' :: SetChokePanelPumpSelectorSwitch - implicit none - integer, intent(in) :: v - data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch = v -#ifdef deb - print*, 'ChokePanelPumpSelectorSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch -#endif - end subroutine - - subroutine SetChokePanelStrokeResetSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelStrokeResetSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetChokePanelStrokeResetSwitch' :: SetChokePanelStrokeResetSwitch - implicit none - logical, intent(in) :: v - data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch = v -#ifdef deb - print*, 'ChokePanelStrokeResetSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch -#endif - end subroutine - - subroutine SetChokeSelectorSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeSelectorSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetChokeSelectorSwitch' :: SetChokeSelectorSwitch - implicit none - logical, intent(in) :: v - data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch = v -#ifdef deb - print*, 'ChokeSelectorSwitch=', data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch -#endif - end subroutine - - subroutine SetChokeRateControlKnob(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeRateControlKnob - !DEC$ ATTRIBUTES ALIAS: 'SetChokeRateControlKnob' :: SetChokeRateControlKnob - implicit none - real*8, intent(in) :: v - - !character(8) :: date - !character(10) :: time - !character(5) :: zone - !integer,dimension(8) :: values - - data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob = v -#ifdef deb - !call date_and_time(date,time,zone,values) - !!print '(a,2x,a,2x,a)', date, time, zone - !print '(8i5)', values - print*, 'ChokeRateControlKnob=', data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob -#endif - end subroutine - - subroutine SetChokeControlLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeControlLever - !DEC$ ATTRIBUTES ALIAS: 'SetChokeControlLever' :: SetChokeControlLever - implicit none - real*8, intent(in) :: v - data%EquipmentControl%ChokeControlPanel%ChokeControlLever = v -#ifdef deb - print*, 'ChokeControlLever=', data%EquipmentControl%ChokeControlPanel%ChokeControlLever -#endif - end subroutine - - subroutine SetChokePanelRigAirSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelRigAirSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetChokePanelRigAirSwitch' :: SetChokePanelRigAirSwitch - implicit none - logical, intent(in) :: v - data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch = v -#ifdef deb - print*, 'ChokePanelRigAirSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch -#endif - end subroutine - - - subroutine SetEnableAutoChoke(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetEnableAutoChoke - !DEC$ ATTRIBUTES ALIAS: 'SetEnableAutoChoke' :: SetEnableAutoChoke - implicit none - logical, intent(in) :: v - data%EquipmentControl%ChokeControlPanel%EnableAutoChoke = v -#ifdef deb - print*, 'EnableAutoChoke=', data%EquipmentControl%ChokeControlPanel%EnableAutoChoke -#endif - end subroutine - - - - - - - - - - - - - ! Output routines - real(8) function GetStandPipePressure() - !DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipePressure - !DEC$ ATTRIBUTES ALIAS: 'GetStandPipePressure' :: GetStandPipePressure - implicit none - GetStandPipePressure = data%EquipmentControl%ChokeControlPanel%StandPipePressure - end function - - real(8) function GetCasingPressure() - !DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressure - !DEC$ ATTRIBUTES ALIAS: 'GetCasingPressure' :: GetCasingPressure - implicit none - GetCasingPressure = data%EquipmentControl%ChokeControlPanel%CasingPressure - end function - - real(8) function GetChokePosition() - !DEC$ ATTRIBUTES DLLEXPORT :: GetChokePosition - !DEC$ ATTRIBUTES ALIAS: 'GetChokePosition' :: GetChokePosition - implicit none - GetChokePosition = data%EquipmentControl%ChokeControlPanel%ChokePosition - end function - - real(8) function GetChokePanelSPMCounter() - !DEC$ ATTRIBUTES DLLEXPORT :: GetChokePanelSPMCounter - !DEC$ ATTRIBUTES ALIAS: 'GetChokePanelSPMCounter' :: GetChokePanelSPMCounter - implicit none - !GetChokePanelSPMCounter = 0 - GetChokePanelSPMCounter = data%EquipmentControl%ChokeControlPanel%ChokePanelSPMCounter - end function - - real(8) function GetChokePanelTotalStrokeCounter() - !DEC$ ATTRIBUTES DLLEXPORT :: GetChokePanelTotalStrokeCounter - !DEC$ ATTRIBUTES ALIAS: 'GetChokePanelTotalStrokeCounter' :: GetChokePanelTotalStrokeCounter - implicit none - !GetChokePanelTotalStrokeCounter = 0 - GetChokePanelTotalStrokeCounter = data%EquipmentControl%ChokeControlPanel%ChokePanelTotalStrokeCounter - end function - - integer function GetChoke1LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetChoke1LED - !DEC$ ATTRIBUTES ALIAS: 'GetChoke1LED' :: GetChoke1LED - implicit none - GetChoke1LED = data%EquipmentControl%ChokeControlPanel%Choke1LED - end function - - integer function GetChoke2LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetChoke2LED - !DEC$ ATTRIBUTES ALIAS: 'GetChoke2LED' :: GetChoke2LED - implicit none - GetChoke2LED = data%EquipmentControl%ChokeControlPanel%Choke2LED - end function - - - - end module CChokeControlPanel \ No newline at end of file diff --git a/CSharp/Equipments/ControlPanels/CChokeManifold.f90 b/CSharp/Equipments/ControlPanels/CChokeManifold.f90 index bea8250..a18440a 100644 --- a/CSharp/Equipments/ControlPanels/CChokeManifold.f90 +++ b/CSharp/Equipments/ControlPanels/CChokeManifold.f90 @@ -7,35 +7,33 @@ module CChokeManifold public contains - subroutine CChokeManifoldToJson(parent) + subroutine ChokeManifoldToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CChokeManifold') - call json%add(p,"ChokeManifoldValve1",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve1) - call json%add(p,"ChokeManifoldValve2",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve2) - call json%add(p,"LeftManualChoke",data%Equipments%ContolPanel%CChokeManifold%LeftManualChoke) - call json%add(p,"ChokeManifoldValve4",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve4) - call json%add(p,"ChokeManifoldValve5",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve5) - call json%add(p,"RightManualChoke",data%Equipments%ContolPanel%CChokeManifold%RightManualChoke) - call json%add(p,"ChokeManifoldValve7",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve7) - call json%add(p,"ChokeManifoldValve8",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve8) - call json%add(p,"ChokeManifoldValve9",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve9) - call json%add(p,"ChokeManifoldValve10",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve10) - call json%add(p,"ChokeManifoldValve11",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve11) - call json%add(p,"ChokeManifoldValve12",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve12) - call json%add(p,"ChokeManifoldValve13",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve13) - call json%add(p,"HydraulicChock1",data%Equipments%ContolPanel%CChokeManifold%HydraulicChock1) - call json%add(p,"HydraulicChock2",data%Equipments%ContolPanel%CChokeManifold%HydraulicChock2) - call json%add(p,"HyChock1OnProblem",data%Equipments%ContolPanel%CChokeManifold%HyChock1OnProblem) - call json%add(p,"HyChock2OnProblem",data%Equipments%ContolPanel%CChokeManifold%HyChock2OnProblem) - call json%add(p,"LeftManChokeOnProblem",data%Equipments%ContolPanel%CChokeManifold%LeftManChokeOnProblem) - call json%add(p,"RightManChokeOnProblem",data%Equipments%ContolPanel%CChokeManifold%RightManChokeOnProblem) - - + call json%create_object(p,'ChokeManifold') + call json%add(p,"ChokeManifoldValve1",data%EquipmentControl%ChokeManifold%ChokeManifoldValve1) + call json%add(p,"ChokeManifoldValve2",data%EquipmentControl%ChokeManifold%ChokeManifoldValve2) + call json%add(p,"LeftManualChoke",data%EquipmentControl%ChokeManifold%LeftManualChoke) + call json%add(p,"ChokeManifoldValve4",data%EquipmentControl%ChokeManifold%ChokeManifoldValve4) + call json%add(p,"ChokeManifoldValve5",data%EquipmentControl%ChokeManifold%ChokeManifoldValve5) + call json%add(p,"RightManualChoke",data%EquipmentControl%ChokeManifold%RightManualChoke) + call json%add(p,"ChokeManifoldValve7",data%EquipmentControl%ChokeManifold%ChokeManifoldValve7) + call json%add(p,"ChokeManifoldValve8",data%EquipmentControl%ChokeManifold%ChokeManifoldValve8) + call json%add(p,"ChokeManifoldValve9",data%EquipmentControl%ChokeManifold%ChokeManifoldValve9) + call json%add(p,"ChokeManifoldValve10",data%EquipmentControl%ChokeManifold%ChokeManifoldValve10) + call json%add(p,"ChokeManifoldValve11",data%EquipmentControl%ChokeManifold%ChokeManifoldValve11) + call json%add(p,"ChokeManifoldValve12",data%EquipmentControl%ChokeManifold%ChokeManifoldValve12) + call json%add(p,"ChokeManifoldValve13",data%EquipmentControl%ChokeManifold%ChokeManifoldValve13) + call json%add(p,"HydraulicChock1",data%EquipmentControl%ChokeManifold%HydraulicChock1) + call json%add(p,"HydraulicChock2",data%EquipmentControl%ChokeManifold%HydraulicChock2) + call json%add(p,"HyChock1OnProblem",data%EquipmentControl%ChokeManifold%HyChock1OnProblem) + call json%add(p,"HyChock2OnProblem",data%EquipmentControl%ChokeManifold%HyChock2OnProblem) + call json%add(p,"LeftManChokeOnProblem",data%EquipmentControl%ChokeManifold%LeftManChokeOnProblem) + call json%add(p,"RightManChokeOnProblem",data%EquipmentControl%ChokeManifold%RightManChokeOnProblem) call json%add(parent,p) end subroutine diff --git a/CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90 b/CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90 index 784e0d8..3dec0af 100644 --- a/CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90 +++ b/CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90 @@ -5,96 +5,95 @@ module CDataDisplayConsole public contains - subroutine CDataDisplayToJson(parent) + subroutine DataDisplayConsoleToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CDataDisplay') - call json%add(p,"TripAlarmLow",data%Equipments%ControlPanel%CDataDisplay%TripAlarmLow) - call json%add(p,"TripAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%TripAlarmHigh) - call json%add(p,"RetFlowAlarmLow",data%Equipments%ControlPanel%CDataDisplay%RetFlowAlarmLow) - call json%add(p,"RetFlowAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%RetFlowAlarmHigh) - call json%add(p,"PitAlarmLow",data%Equipments%ControlPanel%CDataDisplay%PitAlarmLow) - call json%add(p,"PitAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%PitAlarmHigh) - call json%add(p,"PortWeightOnBit",data%Equipments%ControlPanel%CDataDisplay%PortWeightOnBit) - call json%add(p,"PortHookLoad",data%Equipments%ControlPanel%CDataDisplay%PortHookLoad) - call json%add(p,"PortCasingPressure",data%Equipments%ControlPanel%CDataDisplay%PortCasingPressure) - call json%add(p,"PortPumpPressure",data%Equipments%ControlPanel%CDataDisplay%PortPumpPressure) - call json%add(p,"TripTankSetAlarmLow",data%Equipments%ControlPanel%CDataDisplay%TripTankSetAlarmLow) - call json%add(p,"TripTankSetAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%TripTankSetAlarmHigh) - call json%add(p,"TripTankSetAlarmSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankSetAlarmSwitch) - call json%add(p,"TripTankPowerSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankPowerSwitch) - call json%add(p,"TripTankPumpSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankPumpSwitch) - call json%add(p,"TripTankHornSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankHornSwitch) - call json%add(p,"AcidGasDetectionHornSwitch",data%Equipments%ControlPanel%CDataDisplay%AcidGasDetectionHornSwitch) - call json%add(p,"TotalStrokeCounterResetSwitch",data%Equipments%ControlPanel%CDataDisplay%TotalStrokeCounterResetSwitch) - call json%add(p,"DrillingTrippingSelectorSwitch",data%Equipments%ControlPanel%CDataDisplay%DrillingTrippingSelectorSwitch) - call json%add(p,"MVTSetAlarmLowKnob",data%Equipments%ControlPanel%CDataDisplay%MVTSetAlarmLowKnob) - call json%add(p,"MVTSetAlarmHighKnob",data%Equipments%ControlPanel%CDataDisplay%MVTSetAlarmHighKnob) - call json%add(p,"MVTSetAlarmSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTSetAlarmSwitch) - call json%add(p,"MudTank1Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank1Switch) - call json%add(p,"MudTank2Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank2Switch) - call json%add(p,"MudTank3Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank3Switch) - call json%add(p,"MudTank4Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank4Switch) - call json%add(p,"MVTFineKnob",data%Equipments%ControlPanel%CDataDisplay%MVTFineKnob) - call json%add(p,"MVTCoarseKnob",data%Equipments%ControlPanel%CDataDisplay%MVTCoarseKnob) - call json%add(p,"MVTHornSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTHornSwitch) - call json%add(p,"MVTDeviationTripSelectionSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTDeviationTripSelectionSwitch) - call json%add(p,"MVTPowerSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTPowerSwitch) - call json%add(p,"MFFIResetTotalStrokes",data%Equipments%ControlPanel%CDataDisplay%MFFIResetTotalStrokes) - call json%add(p,"MFFIResetFillCounter",data%Equipments%ControlPanel%CDataDisplay%MFFIResetFillCounter) - call json%add(p,"MFFIPumpSelectorSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIPumpSelectorSwitch) - call json%add(p,"MFFIFillSPMSelectorSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIFillSPMSelectorSwitch) - call json%add(p,"MFFISetAlarmLowKnob",data%Equipments%ControlPanel%CDataDisplay%MFFISetAlarmLowKnob) - call json%add(p,"MFFISetAlarmHighKnob",data%Equipments%ControlPanel%CDataDisplay%MFFISetAlarmHighKnob) - call json%add(p,"MFFISetAlarmSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFISetAlarmSwitch) - call json%add(p,"MFFIPowerSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIPowerSwitch) - call json%add(p,"MFFIHornSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIHornSwitch) - call json%add(p,"ResetWob",data%Equipments%ControlPanel%CDataDisplay%ResetWob) - call json%add(p,"Clutch",data%Equipments%ControlPanel%CDataDisplay%Clutch) - call json%add(p,"WOBPointer",data%Equipments%ControlPanel%CDataDisplay%WOBPointer) - call json%add(p,"HookLoadPointer",data%Equipments%ControlPanel%CDataDisplay%HookLoadPointer) - call json%add(p,"TripTankGauge",data%Equipments%ControlPanel%CDataDisplay%TripTankGauge) - call json%add(p,"TripTankAlarmLED",data%Equipments%ControlPanel%CDataDisplay%TripTankAlarmLED) - call json%add(p,"TripTankPumpLED",data%Equipments%ControlPanel%CDataDisplay%TripTankPumpLED) - call json%add(p,"StandPipePressureGauge",data%Equipments%ControlPanel%CDataDisplay%StandPipePressureGauge) - call json%add(p,"CasingPressureGauge",data%Equipments%ControlPanel%CDataDisplay%CasingPressureGauge) - call json%add(p,"MP1SPMGauge",data%Equipments%ControlPanel%CDataDisplay%MP1SPMGauge) - call json%add(p,"MP2SPMGauge",data%Equipments%ControlPanel%CDataDisplay%MP2SPMGauge) - call json%add(p,"ReturnLineTempGauge",data%Equipments%ControlPanel%CDataDisplay%ReturnLineTempGauge) - call json%add(p,"RotaryTorqueGauge",data%Equipments%ControlPanel%CDataDisplay%RotaryTorqueGauge) - call json%add(p,"RotaryRPMGauge",data%Equipments%ControlPanel%CDataDisplay%RotaryRPMGauge) - call json%add(p,"AcidGasDetectionLED",data%Equipments%ControlPanel%CDataDisplay%AcidGasDetectionLED) - call json%add(p,"TotalStrokeCounter",data%Equipments%ControlPanel%CDataDisplay%TotalStrokeCounter) - call json%add(p,"TotalStrokeCounter_temp",data%Equipments%ControlPanel%CDataDisplay%TotalStrokeCounter_temp) - call json%add(p,"PitGainLossGauge",data%Equipments%ControlPanel%CDataDisplay%PitGainLossGauge) - call json%add(p,"MudTanksVolumeGauge",data%Equipments%ControlPanel%CDataDisplay%MudTanksVolumeGauge) - call json%add(p,"MVTAlarmLED",data%Equipments%ControlPanel%CDataDisplay%MVTAlarmLED) - call json%add(p,"ReturnMudFlowGauge",data%Equipments%ControlPanel%CDataDisplay%ReturnMudFlowGauge) - call json%add(p,"FillStrokeCounter",data%Equipments%ControlPanel%CDataDisplay%FillStrokeCounter) - call json%add(p,"MFFITotalStrokeCounter",data%Equipments%ControlPanel%CDataDisplay%MFFITotalStrokeCounter) - call json%add(p,"MFFIAlarmLED",data%Equipments%ControlPanel%CDataDisplay%MFFIAlarmLED) - call json%add(p,"MFFIPumpLED",data%Equipments%ControlPanel%CDataDisplay%MFFIPumpLED) - call json%add(p,"TotalWellDepth",data%Equipments%ControlPanel%CDataDisplay%TotalWellDepth) - call json%add(p,"BitDepth",data%Equipments%ControlPanel%CDataDisplay%BitDepth) - call json%add(p,"HookLoad",data%Equipments%ControlPanel%CDataDisplay%HookLoad) - call json%add(p,"StandPipePressure",data%Equipments%ControlPanel%CDataDisplay%StandPipePressure) - call json%add(p,"CasingPressure",data%Equipments%ControlPanel%CDataDisplay%CasingPressure) - call json%add(p,"MP1SPM",data%Equipments%ControlPanel%CDataDisplay%MP1SPM) - call json%add(p,"MP2SPM",data%Equipments%ControlPanel%CDataDisplay%MP2SPM) - call json%add(p,"RTTorque",data%Equipments%ControlPanel%CDataDisplay%RTTorque) - call json%add(p,"RTRPM",data%Equipments%ControlPanel%CDataDisplay%RTRPM) - call json%add(p,"WOP",data%Equipments%ControlPanel%CDataDisplay%WOP) - call json%add(p,"ROP",data%Equipments%ControlPanel%CDataDisplay%ROP) - call json%add(p,"MudWeightIn",data%Equipments%ControlPanel%CDataDisplay%MudWeightIn) - call json%add(p,"MudWeightOut",data%Equipments%ControlPanel%CDataDisplay%MudWeightOut) - call json%add(p,"Buzzer1",data%Equipments%ControlPanel%CDataDisplay%Buzzer1) - call json%add(p,"Buzzer2",data%Equipments%ControlPanel%CDataDisplay%Buzzer2) - call json%add(p,"Buzzer3",data%Equipments%ControlPanel%CDataDisplay%Buzzer3) - call json%add(p,"Buzzer4",data%Equipments%ControlPanel%CDataDisplay%Buzzer4) + call json%create_object(p,'DataDisplay') + call json%add(p,"TripAlarmLow",data%EquipmentControl%DataDisplayConsole%TripAlarmLow) + call json%add(p,"TripAlarmHigh",data%EquipmentControl%DataDisplayConsole%TripAlarmHigh) + call json%add(p,"RetFlowAlarmLow",data%EquipmentControl%DataDisplayConsole%RetFlowAlarmLow) + call json%add(p,"RetFlowAlarmHigh",data%EquipmentControl%DataDisplayConsole%RetFlowAlarmHigh) + call json%add(p,"PitAlarmLow",data%EquipmentControl%DataDisplayConsole%PitAlarmLow) + call json%add(p,"PitAlarmHigh",data%EquipmentControl%DataDisplayConsole%PitAlarmHigh) + call json%add(p,"PortWeightOnBit",data%EquipmentControl%DataDisplayConsole%PortWeightOnBit) + call json%add(p,"PortHookLoad",data%EquipmentControl%DataDisplayConsole%PortHookLoad) + call json%add(p,"PortCasingPressure",data%EquipmentControl%DataDisplayConsole%PortCasingPressure) + call json%add(p,"PortPumpPressure",data%EquipmentControl%DataDisplayConsole%PortPumpPressure) + call json%add(p,"TripTankSetAlarmLow",data%EquipmentControl%DataDisplayConsole%TripTankSetAlarmLow) + call json%add(p,"TripTankSetAlarmHigh",data%EquipmentControl%DataDisplayConsole%TripTankSetAlarmHigh) + call json%add(p,"TripTankSetAlarmSwitch",data%EquipmentControl%DataDisplayConsole%TripTankSetAlarmSwitch) + call json%add(p,"TripTankPowerSwitch",data%EquipmentControl%DataDisplayConsole%TripTankPowerSwitch) + call json%add(p,"TripTankPumpSwitch",data%EquipmentControl%DataDisplayConsole%TripTankPumpSwitch) + call json%add(p,"TripTankHornSwitch",data%EquipmentControl%DataDisplayConsole%TripTankHornSwitch) + call json%add(p,"AcidGasDetectionHornSwitch",data%EquipmentControl%DataDisplayConsole%AcidGasDetectionHornSwitch) + call json%add(p,"TotalStrokeCounterResetSwitch",data%EquipmentControl%DataDisplayConsole%TotalStrokeCounterResetSwitch) + call json%add(p,"DrillingTrippingSelectorSwitch",data%EquipmentControl%DataDisplayConsole%DrillingTrippingSelectorSwitch) + call json%add(p,"MVTSetAlarmLowKnob",data%EquipmentControl%DataDisplayConsole%MVTSetAlarmLowKnob) + call json%add(p,"MVTSetAlarmHighKnob",data%EquipmentControl%DataDisplayConsole%MVTSetAlarmHighKnob) + call json%add(p,"MVTSetAlarmSwitch",data%EquipmentControl%DataDisplayConsole%MVTSetAlarmSwitch) + call json%add(p,"MudTank1Switch",data%EquipmentControl%DataDisplayConsole%MudTank1Switch) + call json%add(p,"MudTank2Switch",data%EquipmentControl%DataDisplayConsole%MudTank2Switch) + call json%add(p,"MudTank3Switch",data%EquipmentControl%DataDisplayConsole%MudTank3Switch) + call json%add(p,"MudTank4Switch",data%EquipmentControl%DataDisplayConsole%MudTank4Switch) + call json%add(p,"MVTFineKnob",data%EquipmentControl%DataDisplayConsole%MVTFineKnob) + call json%add(p,"MVTCoarseKnob",data%EquipmentControl%DataDisplayConsole%MVTCoarseKnob) + call json%add(p,"MVTHornSwitch",data%EquipmentControl%DataDisplayConsole%MVTHornSwitch) + call json%add(p,"MVTDeviationTripSelectionSwitch",data%EquipmentControl%DataDisplayConsole%MVTDeviationTripSelectionSwitch) + call json%add(p,"MVTPowerSwitch",data%EquipmentControl%DataDisplayConsole%MVTPowerSwitch) + call json%add(p,"MFFIResetTotalStrokes",data%EquipmentControl%DataDisplayConsole%MFFIResetTotalStrokes) + call json%add(p,"MFFIResetFillCounter",data%EquipmentControl%DataDisplayConsole%MFFIResetFillCounter) + call json%add(p,"MFFIPumpSelectorSwitch",data%EquipmentControl%DataDisplayConsole%MFFIPumpSelectorSwitch) + call json%add(p,"MFFIFillSPMSelectorSwitch",data%EquipmentControl%DataDisplayConsole%MFFIFillSPMSelectorSwitch) + call json%add(p,"MFFISetAlarmLowKnob",data%EquipmentControl%DataDisplayConsole%MFFISetAlarmLowKnob) + call json%add(p,"MFFISetAlarmHighKnob",data%EquipmentControl%DataDisplayConsole%MFFISetAlarmHighKnob) + call json%add(p,"MFFISetAlarmSwitch",data%EquipmentControl%DataDisplayConsole%MFFISetAlarmSwitch) + call json%add(p,"MFFIPowerSwitch",data%EquipmentControl%DataDisplayConsole%MFFIPowerSwitch) + call json%add(p,"MFFIHornSwitch",data%EquipmentControl%DataDisplayConsole%MFFIHornSwitch) + call json%add(p,"ResetWob",data%EquipmentControl%DataDisplayConsole%ResetWob) + call json%add(p,"Clutch",data%EquipmentControl%DataDisplayConsole%Clutch) + call json%add(p,"WOBPointer",data%EquipmentControl%DataDisplayConsole%WOBPointer) + call json%add(p,"HookLoadPointer",data%EquipmentControl%DataDisplayConsole%HookLoadPointer) + call json%add(p,"TripTankGauge",data%EquipmentControl%DataDisplayConsole%TripTankGauge) + call json%add(p,"TripTankAlarmLED",data%EquipmentControl%DataDisplayConsole%TripTankAlarmLED) + call json%add(p,"TripTankPumpLED",data%EquipmentControl%DataDisplayConsole%TripTankPumpLED) + call json%add(p,"StandPipePressureGauge",data%EquipmentControl%DataDisplayConsole%StandPipePressureGauge) + call json%add(p,"CasingPressureGauge",data%EquipmentControl%DataDisplayConsole%CasingPressureGauge) + call json%add(p,"MP1SPMGauge",data%EquipmentControl%DataDisplayConsole%MP1SPMGauge) + call json%add(p,"MP2SPMGauge",data%EquipmentControl%DataDisplayConsole%MP2SPMGauge) + call json%add(p,"ReturnLineTempGauge",data%EquipmentControl%DataDisplayConsole%ReturnLineTempGauge) + call json%add(p,"RotaryTorqueGauge",data%EquipmentControl%DataDisplayConsole%RotaryTorqueGauge) + call json%add(p,"RotaryRPMGauge",data%EquipmentControl%DataDisplayConsole%RotaryRPMGauge) + call json%add(p,"AcidGasDetectionLED",data%EquipmentControl%DataDisplayConsole%AcidGasDetectionLED) + call json%add(p,"TotalStrokeCounter",data%EquipmentControl%DataDisplayConsole%TotalStrokeCounter) + call json%add(p,"PitGainLossGauge",data%EquipmentControl%DataDisplayConsole%PitGainLossGauge) + call json%add(p,"MudTanksVolumeGauge",data%EquipmentControl%DataDisplayConsole%MudTanksVolumeGauge) + call json%add(p,"MVTAlarmLED",data%EquipmentControl%DataDisplayConsole%MVTAlarmLED) + call json%add(p,"ReturnMudFlowGauge",data%EquipmentControl%DataDisplayConsole%ReturnMudFlowGauge) + call json%add(p,"FillStrokeCounter",data%EquipmentControl%DataDisplayConsole%FillStrokeCounter) + call json%add(p,"MFFITotalStrokeCounter",data%EquipmentControl%DataDisplayConsole%MFFITotalStrokeCounter) + call json%add(p,"MFFIAlarmLED",data%EquipmentControl%DataDisplayConsole%MFFIAlarmLED) + call json%add(p,"MFFIPumpLED",data%EquipmentControl%DataDisplayConsole%MFFIPumpLED) + call json%add(p,"TotalWellDepth",data%EquipmentControl%DataDisplayConsole%TotalWellDepth) + call json%add(p,"BitDepth",data%EquipmentControl%DataDisplayConsole%BitDepth) + call json%add(p,"HookLoad",data%EquipmentControl%DataDisplayConsole%HookLoad) + call json%add(p,"StandPipePressure",data%EquipmentControl%DataDisplayConsole%StandPipePressure) + call json%add(p,"CasingPressure",data%EquipmentControl%DataDisplayConsole%CasingPressure) + call json%add(p,"MP1SPM",data%EquipmentControl%DataDisplayConsole%MP1SPM) + call json%add(p,"MP2SPM",data%EquipmentControl%DataDisplayConsole%MP2SPM) + call json%add(p,"RTTorque",data%EquipmentControl%DataDisplayConsole%RTTorque) + call json%add(p,"RTRPM",data%EquipmentControl%DataDisplayConsole%RTRPM) + call json%add(p,"WOP",data%EquipmentControl%DataDisplayConsole%WOP) + call json%add(p,"ROP",data%EquipmentControl%DataDisplayConsole%ROP) + call json%add(p,"MudWeightIn",data%EquipmentControl%DataDisplayConsole%MudWeightIn) + call json%add(p,"MudWeightOut",data%EquipmentControl%DataDisplayConsole%MudWeightOut) + call json%add(p,"Buzzer1",data%EquipmentControl%DataDisplayConsole%Buzzer1) + call json%add(p,"Buzzer2",data%EquipmentControl%DataDisplayConsole%Buzzer2) + call json%add(p,"Buzzer3",data%EquipmentControl%DataDisplayConsole%Buzzer3) + call json%add(p,"Buzzer4",data%EquipmentControl%DataDisplayConsole%Buzzer4) call json%add(parent,p) diff --git a/CSharp/Equipments/ControlPanels/CDrillingConsole.f90 b/CSharp/Equipments/ControlPanels/CDrillingConsole.f90 index f074386..63339cf 100644 --- a/CSharp/Equipments/ControlPanels/CDrillingConsole.f90 +++ b/CSharp/Equipments/ControlPanels/CDrillingConsole.f90 @@ -10,960 +10,99 @@ module CDrillingConsole contains - subroutine CDrillingToJson(parent) + subroutine DrillingConsoleToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CDrilling') - call json%add(p,"AssignmentSwitch",data%Equipments%ControlPanel%CDriling%AssignmentSwitch) - call json%add(p,"EmergencySwitch",data%Equipments%ControlPanel%CDriling%EmergencySwitch) - call json%add(p,"RTTorqueLimitKnob",data%Equipments%ControlPanel%CDriling%RTTorqueLimitKnob) - call json%add(p,"MP1CPSwitchI",data%Equipments%ControlPanel%CDriling%MP1CPSwitchI) - call json%add(p,"MP1CPSwitchT",data%Equipments%ControlPanel%CDriling%MP1CPSwitchT) - call json%add(p,"MP1CPSwitch",data%Equipments%ControlPanel%CDriling%MP1CPSwitch) - call json%add(p,"MP1ThrottleUpdate",data%Equipments%ControlPanel%CDriling%MP1ThrottleUpdate) - call json%add(p,"MP1Throttle",data%Equipments%ControlPanel%CDriling%MP1Throttle) - call json%add(p,"MP2SwitchI",data%Equipments%ControlPanel%CDriling%MP2SwitchI) - call json%add(p,"MP2SwitchT",data%Equipments%ControlPanel%CDriling%MP2SwitchT) - call json%add(p,"MP2Switch",data%Equipments%ControlPanel%CDriling%MP2Switch) - call json%add(p,"MP2ThrottleUpdate",data%Equipments%ControlPanel%CDriling%MP2ThrottleUpdate) - call json%add(p,"MP2Throttle",data%Equipments%ControlPanel%CDriling%MP2Throttle) - call json%add(p,"DWSwitch",data%Equipments%ControlPanel%CDriling%DWSwitch) - call json%add(p,"DWThrottle",data%Equipments%ControlPanel%CDriling%DWThrottle) - call json%add(p,"RTSwitch",data%Equipments%ControlPanel%CDriling%RTSwitch) - call json%add(p,"RTThrottle",data%Equipments%ControlPanel%CDriling%RTThrottle) - call json%add(p,"DWBreak",data%Equipments%ControlPanel%CDriling%DWBreak) - call json%add(p,"PreviousDWBreak",data%Equipments%ControlPanel%CDriling%PreviousDWBreak) - call json%add(p,"ForceBreak",data%Equipments%ControlPanel%CDriling%ForceBreak) - call json%add(p,"DWAcceleretor",data%Equipments%ControlPanel%CDriling%DWAcceleretor) - call json%add(p,"DWTransmisionLever",data%Equipments%ControlPanel%CDriling%DWTransmisionLever) - call json%add(p,"DWPowerLever",data%Equipments%ControlPanel%CDriling%DWPowerLever) - call json%add(p,"TongLever",data%Equipments%ControlPanel%CDriling%TongLever) - call json%add(p,"RTTransmissionLever",data%Equipments%ControlPanel%CDriling%RTTransmissionLever) - call json%add(p,"DWClutchLever",data%Equipments%ControlPanel%CDriling%DWClutchLever) - call json%add(p,"EddyBreakLever",data%Equipments%ControlPanel%CDriling%EddyBreakLever) - call json%add(p,"AutoDW",data%Equipments%ControlPanel%CDriling%AutoDW) - call json%add(p,"GEN1",data%Equipments%ControlPanel%CDriling%GEN1) - call json%add(p,"GEN2",data%Equipments%ControlPanel%CDriling%GEN2) - call json%add(p,"GEN3",data%Equipments%ControlPanel%CDriling%GEN3) - call json%add(p,"GEN4",data%Equipments%ControlPanel%CDriling%GEN4) - call json%add(p,"Permission_OpenKellyCock",data%Equipments%ControlPanel%CDriling%Permission_OpenKellyCock) - call json%add(p,"OpenKellyCock",data%Equipments%ControlPanel%CDriling%OpenKellyCock) - call json%add(p,"Permission_CloseKellyCock",data%Equipments%ControlPanel%CDriling%Permission_CloseKellyCock) - call json%add(p,"CloseKellyCock",data%Equipments%ControlPanel%CDriling%CloseKellyCock) - call json%add(p,"Permission_OpenSafetyValve",data%Equipments%ControlPanel%CDriling%Permission_OpenSafetyValve) - call json%add(p,"OpenSafetyValve",data%Equipments%ControlPanel%CDriling%OpenSafetyValve) - call json%add(p,"Permission_CloseSafetyValve",data%Equipments%ControlPanel%CDriling%Permission_CloseSafetyValve) - call json%add(p,"CloseSafetyValve",data%Equipments%ControlPanel%CDriling%CloseSafetyValve) - call json%add(p,"Permission_IRSafetyValve",data%Equipments%ControlPanel%CDriling%Permission_IRSafetyValve) - call json%add(p,"IRSafetyValve",data%Equipments%ControlPanel%CDriling%IRSafetyValve) - call json%add(p,"Permission_IRIBop",data%Equipments%ControlPanel%CDriling%Permission_IRIBop) - call json%add(p,"IRIBop",data%Equipments%ControlPanel%CDriling%IRIBop) - call json%add(p,"LatchPipe",data%Equipments%ControlPanel%CDriling%LatchPipe) - call json%add(p,"UnlatchPipe",data%Equipments%ControlPanel%CDriling%UnlatchPipe) - call json%add(p,"Swing",data%Equipments%ControlPanel%CDriling%Swing) - call json%add(p,"FillMouseHole",data%Equipments%ControlPanel%CDriling%FillMouseHole) - call json%add(p,"Slips",data%Equipments%ControlPanel%CDriling%Slips) - call json%add(p,"BrakeLeverCoefficient",data%Equipments%ControlPanel%CDriling%BrakeLeverCoefficient) - call json%add(p,"HideDrillingBrake",data%Equipments%ControlPanel%CDriling%HideDrillingBrake) - call json%add(p,"ParkingBrakeBtn",data%Equipments%ControlPanel%CDriling%ParkingBrakeBtn) - call json%add(p,"ParkingBrakeLed",data%Equipments%ControlPanel%CDriling%ParkingBrakeLed) - call json%add(p,"GEN1LED",data%Equipments%ControlPanel%CDriling%GEN1LED) - call json%add(p,"GEN2LED",data%Equipments%ControlPanel%CDriling%GEN2LED) - call json%add(p,"GEN3LED",data%Equipments%ControlPanel%CDriling%GEN3LED) - call json%add(p,"GEN4LED",data%Equipments%ControlPanel%CDriling%GEN4LED) - call json%add(p,"SCR1LED",data%Equipments%ControlPanel%CDriling%SCR1LED) - call json%add(p,"SCR2LED",data%Equipments%ControlPanel%CDriling%SCR2LED) - call json%add(p,"SCR3LED",data%Equipments%ControlPanel%CDriling%SCR3LED) - call json%add(p,"SCR4LED",data%Equipments%ControlPanel%CDriling%SCR4LED) - call json%add(p,"MP1BLWR",data%Equipments%ControlPanel%CDriling%MP1BLWR) - call json%add(p,"MP2BLWR",data%Equipments%ControlPanel%CDriling%MP2BLWR) - call json%add(p,"DWBLWR",data%Equipments%ControlPanel%CDriling%DWBLWR) - call json%add(p,"RTBLWR",data%Equipments%ControlPanel%CDriling%RTBLWR) - call json%add(p,"PWRLIM",data%Equipments%ControlPanel%CDriling%PWRLIM) - call json%add(p,"PWRLIMMTR",data%Equipments%ControlPanel%CDriling%PWRLIMMTR) - call json%add(p,"RTTorqueLimitGauge",data%Equipments%ControlPanel%CDriling%RTTorqueLimitGauge) - call json%add(p,"AutoDWLED",data%Equipments%ControlPanel%CDriling%AutoDWLED) - call json%add(p,"GEN1BTNLED",data%Equipments%ControlPanel%CDriling%GEN1BTNLED) - call json%add(p,"GEN2BTNLED",data%Equipments%ControlPanel%CDriling%GEN2BTNLED) - call json%add(p,"GEN3BTNLED",data%Equipments%ControlPanel%CDriling%GEN3BTNLED) - call json%add(p,"GEN4BTNLED",data%Equipments%ControlPanel%CDriling%GEN4BTNLED) - call json%add(p,"OpenKellyCockLed",data%Equipments%ControlPanel%CDriling%OpenKellyCockLed) - call json%add(p,"CloseKellyCockLed",data%Equipments%ControlPanel%CDriling%CloseKellyCockLed) - call json%add(p,"OpenSafetyValveLed",data%Equipments%ControlPanel%CDriling%OpenSafetyValveLed) - call json%add(p,"CloseSafetyValveLed",data%Equipments%ControlPanel%CDriling%CloseSafetyValveLed) - call json%add(p,"IRSafetyValveLed",data%Equipments%ControlPanel%CDriling%IRSafetyValveLed) - call json%add(p,"IRIBopLed",data%Equipments%ControlPanel%CDriling%IRIBopLed) - call json%add(p,"LatchPipeLED",data%Equipments%ControlPanel%CDriling%LatchPipeLED) - call json%add(p,"UnlatchPipeLED",data%Equipments%ControlPanel%CDriling%UnlatchPipeLED) - call json%add(p,"SwingLed",data%Equipments%ControlPanel%CDriling%SwingLed) - call json%add(p,"FillMouseHoleLed",data%Equipments%ControlPanel%CDriling%FillMouseHoleLed) + call json%create_object(p,'Drilling') + call json%add(p,"AssignmentSwitch",data%EquipmentControl%DrillingConsole%AssignmentSwitch) + call json%add(p,"EmergencySwitch",data%EquipmentControl%DrillingConsole%EmergencySwitch) + call json%add(p,"RTTorqueLimitKnob",data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob) + call json%add(p,"MP1CPSwitchI",data%EquipmentControl%DrillingConsole%MP1CPSwitchI) + call json%add(p,"MP1CPSwitchT",data%EquipmentControl%DrillingConsole%MP1CPSwitchT) + call json%add(p,"MP1CPSwitch",data%EquipmentControl%DrillingConsole%MP1CPSwitch) + call json%add(p,"MP1ThrottleUpdate",data%EquipmentControl%DrillingConsole%MP1ThrottleUpdate) + call json%add(p,"MP1Throttle",data%EquipmentControl%DrillingConsole%MP1Throttle) + call json%add(p,"MP2SwitchI",data%EquipmentControl%DrillingConsole%MP2SwitchI) + call json%add(p,"MP2SwitchT",data%EquipmentControl%DrillingConsole%MP2SwitchT) + call json%add(p,"MP2Switch",data%EquipmentControl%DrillingConsole%MP2Switch) + call json%add(p,"MP2ThrottleUpdate",data%EquipmentControl%DrillingConsole%MP2ThrottleUpdate) + call json%add(p,"MP2Throttle",data%EquipmentControl%DrillingConsole%MP2Throttle) + call json%add(p,"DWSwitch",data%EquipmentControl%DrillingConsole%DWSwitch) + call json%add(p,"DWThrottle",data%EquipmentControl%DrillingConsole%DWThrottle) + call json%add(p,"RTSwitch",data%EquipmentControl%DrillingConsole%RTSwitch) + call json%add(p,"RTThrottle",data%EquipmentControl%DrillingConsole%RTThrottle) + call json%add(p,"DWBreak",data%EquipmentControl%DrillingConsole%DWBreak) + call json%add(p,"PreviousDWBreak",data%EquipmentControl%DrillingConsole%PreviousDWBreak) + call json%add(p,"ForceBreak",data%EquipmentControl%DrillingConsole%ForceBreak) + call json%add(p,"DWAcceleretor",data%EquipmentControl%DrillingConsole%DWAcceleretor) + call json%add(p,"DWTransmisionLever",data%EquipmentControl%DrillingConsole%DWTransmisionLever) + call json%add(p,"DWPowerLever",data%EquipmentControl%DrillingConsole%DWPowerLever) + call json%add(p,"TongLever",data%EquipmentControl%DrillingConsole%TongLever) + call json%add(p,"RTTransmissionLever",data%EquipmentControl%DrillingConsole%RTTransmissionLever) + call json%add(p,"DWClutchLever",data%EquipmentControl%DrillingConsole%DWClutchLever) + call json%add(p,"EddyBreakLever",data%EquipmentControl%DrillingConsole%EddyBreakLever) + call json%add(p,"AutoDW",data%EquipmentControl%DrillingConsole%AutoDW) + call json%add(p,"GEN1",data%EquipmentControl%DrillingConsole%GEN1) + call json%add(p,"GEN2",data%EquipmentControl%DrillingConsole%GEN2) + call json%add(p,"GEN3",data%EquipmentControl%DrillingConsole%GEN3) + call json%add(p,"GEN4",data%EquipmentControl%DrillingConsole%GEN4) + call json%add(p,"Permission_OpenKellyCock",data%EquipmentControl%DrillingConsole%Permission_OpenKellyCock) + call json%add(p,"OpenKellyCock",data%EquipmentControl%DrillingConsole%OpenKellyCock) + call json%add(p,"Permission_CloseKellyCock",data%EquipmentControl%DrillingConsole%Permission_CloseKellyCock) + call json%add(p,"CloseKellyCock",data%EquipmentControl%DrillingConsole%CloseKellyCock) + call json%add(p,"Permission_OpenSafetyValve",data%EquipmentControl%DrillingConsole%Permission_OpenSafetyValve) + call json%add(p,"OpenSafetyValve",data%EquipmentControl%DrillingConsole%OpenSafetyValve) + call json%add(p,"Permission_CloseSafetyValve",data%EquipmentControl%DrillingConsole%Permission_CloseSafetyValve) + call json%add(p,"CloseSafetyValve",data%EquipmentControl%DrillingConsole%CloseSafetyValve) + call json%add(p,"Permission_IRSafetyValve",data%EquipmentControl%DrillingConsole%Permission_IRSafetyValve) + call json%add(p,"IRSafetyValve",data%EquipmentControl%DrillingConsole%IRSafetyValve) + call json%add(p,"Permission_IRIBop",data%EquipmentControl%DrillingConsole%Permission_IRIBop) + call json%add(p,"IRIBop",data%EquipmentControl%DrillingConsole%IRIBop) + call json%add(p,"LatchPipe",data%EquipmentControl%DrillingConsole%LatchPipe) + call json%add(p,"UnlatchPipe",data%EquipmentControl%DrillingConsole%UnlatchPipe) + call json%add(p,"Swing",data%EquipmentControl%DrillingConsole%Swing) + call json%add(p,"FillMouseHole",data%EquipmentControl%DrillingConsole%FillMouseHole) + call json%add(p,"Slips",data%EquipmentControl%DrillingConsole%Slips) + call json%add(p,"BrakeLeverCoefficient",data%EquipmentControl%DrillingConsole%BrakeLeverCoefficient) + call json%add(p,"HideDrillingBrake",data%EquipmentControl%DrillingConsole%HideDrillingBrake) + call json%add(p,"ParkingBrakeBtn",data%EquipmentControl%DrillingConsole%ParkingBrakeBtn) + call json%add(p,"ParkingBrakeLed",data%EquipmentControl%DrillingConsole%ParkingBrakeLed) + call json%add(p,"GEN1LED",data%EquipmentControl%DrillingConsole%GEN1LED) + call json%add(p,"GEN2LED",data%EquipmentControl%DrillingConsole%GEN2LED) + call json%add(p,"GEN3LED",data%EquipmentControl%DrillingConsole%GEN3LED) + call json%add(p,"GEN4LED",data%EquipmentControl%DrillingConsole%GEN4LED) + call json%add(p,"SCR1LED",data%EquipmentControl%DrillingConsole%SCR1LED) + call json%add(p,"SCR2LED",data%EquipmentControl%DrillingConsole%SCR2LED) + call json%add(p,"SCR3LED",data%EquipmentControl%DrillingConsole%SCR3LED) + call json%add(p,"SCR4LED",data%EquipmentControl%DrillingConsole%SCR4LED) + call json%add(p,"MP1BLWR",data%EquipmentControl%DrillingConsole%MP1BLWR) + call json%add(p,"MP2BLWR",data%EquipmentControl%DrillingConsole%MP2BLWR) + call json%add(p,"DWBLWR",data%EquipmentControl%DrillingConsole%DWBLWR) + call json%add(p,"RTBLWR",data%EquipmentControl%DrillingConsole%RTBLWR) + call json%add(p,"PWRLIM",data%EquipmentControl%DrillingConsole%PWRLIM) + call json%add(p,"PWRLIMMTR",data%EquipmentControl%DrillingConsole%PWRLIMMTR) + call json%add(p,"RTTorqueLimitGauge",data%EquipmentControl%DrillingConsole%RTTorqueLimitGauge) + call json%add(p,"AutoDWLED",data%EquipmentControl%DrillingConsole%AutoDWLED) + call json%add(p,"GEN1BTNLED",data%EquipmentControl%DrillingConsole%GEN1BTNLED) + call json%add(p,"GEN2BTNLED",data%EquipmentControl%DrillingConsole%GEN2BTNLED) + call json%add(p,"GEN3BTNLED",data%EquipmentControl%DrillingConsole%GEN3BTNLED) + call json%add(p,"GEN4BTNLED",data%EquipmentControl%DrillingConsole%GEN4BTNLED) + call json%add(p,"OpenKellyCockLed",data%EquipmentControl%DrillingConsole%OpenKellyCockLed) + call json%add(p,"CloseKellyCockLed",data%EquipmentControl%DrillingConsole%CloseKellyCockLed) + call json%add(p,"OpenSafetyValveLed",data%EquipmentControl%DrillingConsole%OpenSafetyValveLed) + call json%add(p,"CloseSafetyValveLed",data%EquipmentControl%DrillingConsole%CloseSafetyValveLed) + call json%add(p,"IRSafetyValveLed",data%EquipmentControl%DrillingConsole%IRSafetyValveLed) + call json%add(p,"IRIBopLed",data%EquipmentControl%DrillingConsole%IRIBopLed) + call json%add(p,"LatchPipeLED",data%EquipmentControl%DrillingConsole%LatchPipeLED) + call json%add(p,"UnlatchPipeLED",data%EquipmentControl%DrillingConsole%UnlatchPipeLED) + call json%add(p,"SwingLed",data%EquipmentControl%DrillingConsole%SwingLed) + call json%add(p,"FillMouseHoleLed",data%EquipmentControl%DrillingConsole%FillMouseHoleLed) call json%add(parent,p) end subroutine - ! Input routines - subroutine SetAssignmentSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetAssignmentSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetAssignmentSwitch' :: SetAssignmentSwitch - implicit none - integer, intent(in) :: v - data%EquipmentControl%DrillingConsole%AssignmentSwitch = v -#ifdef deb - call Log_4( 'AssignmentSwitch=', data%EquipmentControl%DrillingConsole%AssignmentSwitch) -#endif - end subroutine - - subroutine SetEmergencySwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetEmergencySwitch - !DEC$ ATTRIBUTES ALIAS: 'SetEmergencySwitch' :: SetEmergencySwitch - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%EmergencySwitch = v -#ifdef deb - print*, 'EmergencySwitch=', data%EquipmentControl%DrillingConsole%EmergencySwitch -#endif - end subroutine - - subroutine SetRTTorqueLimitKnob(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetRTTorqueLimitKnob - !DEC$ ATTRIBUTES ALIAS: 'SetRTTorqueLimitKnob' :: SetRTTorqueLimitKnob - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob = v -#ifdef deb - print*, 'RTTorqueLimitKnob=', data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob -#endif - end subroutine - - subroutine SetMP1CPSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetMP1CPSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetMP1CPSwitch' :: SetMP1CPSwitch - implicit none - integer, intent(in) :: v - - if(data%EquipmentControl%DrillingConsole%MP1CPSwitch == v) return - - if(SimulationState == SimulationState_Started) then - data%EquipmentControl%DrillingConsole%MP1CPSwitchI = data%EquipmentControl%DrillingConsole%MP1CPSwitchI + 1 - if(data%EquipmentControl%DrillingConsole%MP1CPSwitchI >= 1) data%EquipmentControl%DrillingConsole%MP1CPSwitch = v - if(data%EquipmentControl%DrillingConsole%MP1CPSwitchI >= 100) data%EquipmentControl%DrillingConsole%MP1CPSwitchI = 1 - !call Log_3( "MP1CPSwitchI=", MP1CPSwitchI) - !call Log_3( "MP1CPSwitch=", MP1CPSwitch) - - !MP1CPSwitch = v - endif -! if(SimulationState == SimulationState_Started) then -! !call Log_3( 'MP1CPSwitc(s)h=', MP1CPSwitch) -! if(MP1CPSwitchT /= v) then -! MP1CPSwitchT = v -! MP1CPSwitch = v -!#ifdef deb -! !print*, 'MP1CPSwitch=', MP1CPSwitch -! !call Log_3( 'MP1CPSwitch=', MP1CPSwitch) -!#endif -! endif -! else -! MP1CPSwitchT = v -! endif - end subroutine - - subroutine SetMP1Throttle(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetMP1Throttle - !DEC$ ATTRIBUTES ALIAS: 'SetMP1Throttle' :: SetMP1Throttle - implicit none - real*8, intent(in) :: v - if(data%EquipmentControl%DrillingConsole%MP1Throttle == v) return - if(SimulationState == SimulationState_Started) then - if( abs(v - data%EquipmentControl%DrillingConsole%MP1Throttle) > 0.1) data%EquipmentControl%DrillingConsole%MP1ThrottleUpdate = .true. - if(data%EquipmentControl%DrillingConsole%MP1ThrottleUpdate) data%EquipmentControl%DrillingConsole%MP1Throttle = v - - !call Log_3( 'v-mp1=', v) - !call Log_3( 'MP1Throttle=', MP1Throttle) - !call Log_3( 'MP1ThrottleUpdate=', MP1ThrottleUpdate) - - !MP1Throttle = v - endif -#ifdef deb - print*, 'MP1Throttle=', data%EquipmentControl%DrillingConsole%MP1Throttle -#endif - end subroutine - - subroutine SetMP2Switch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetMP2Switch - !DEC$ ATTRIBUTES ALIAS: 'SetMP2Switch' :: SetMP2Switch - implicit none - logical, intent(in) :: v - !call Log_3( 'v=', MP2SwitchT) - - if(data%EquipmentControl%DrillingConsole%MP2Switch == v) return - - if(SimulationState == SimulationState_Started) then - data%EquipmentControl%DrillingConsole%MP2SwitchI = data%EquipmentControl%DrillingConsole%MP2SwitchI + 1 - if(data%EquipmentControl%DrillingConsole%MP2SwitchI >= 1) data%EquipmentControl%DrillingConsole%MP2Switch = v - if(data%EquipmentControl%DrillingConsole%MP2SwitchI >= 100) data%EquipmentControl%DrillingConsole%MP2SwitchI = 1 - !call Log_3( "MP1CPSwitchI=", MP1CPSwitchI) - !call Log_3( "MP2Switch=", MP2Switch) - - !MP2Switch = v - endif - -! if(SimulationState == SimulationState_Started) then -! !call Log_3( 'MP2Switch(s)=', MP2Switch) -! if(MP2SwitchT /= v) then -! MP2SwitchT = v -! MP2Switch = v -!#ifdef deb -! !print*, 'MP2Switch=', MP2Switch -! !call Log_3( 'MP2Switch=', MP2Switch) -!#endif -! endif -! else -! MP2SwitchT = v -! !call Log_3( 'MP2SwitchTMP2SwitchTMP2SwitchT=', MP2SwitchT) -! endif - end subroutine - - subroutine SetMP2Throttle(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetMP2Throttle - !DEC$ ATTRIBUTES ALIAS: 'SetMP2Throttle' :: SetMP2Throttle - implicit none - real*8, intent(in) :: v - if(data%EquipmentControl%DrillingConsole%MP2Throttle == v) return - if(SimulationState == SimulationState_Started) then - if( abs(v - data%EquipmentControl%DrillingConsole%MP2Throttle) > 0.1) data%EquipmentControl%DrillingConsole%MP2ThrottleUpdate = .true. - if(data%EquipmentControl%DrillingConsole%MP2ThrottleUpdate) data%EquipmentControl%DrillingConsole%MP2Throttle = v - - !call Log_3( 'v-mp2=', v) - !call Log_3( 'MP2Throttle=', MP2Throttle) - !call Log_3( 'MP2ThrottleUpdate=', MP2ThrottleUpdate) - - !MP2Throttle = v - endif -#ifdef deb - print*, 'MP2Throttle=', data%EquipmentControl%DrillingConsole%MP2Throttle -#endif - end subroutine - - subroutine SetDWSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetDWSwitch' :: SetDWSwitch - implicit none - integer, intent(in) :: v - data%EquipmentControl%DrillingConsole%DWSwitch = v -#ifdef deb - print*, 'DWSwitch=', data%EquipmentControl%DrillingConsole%DWSwitch -#endif - end subroutine - - subroutine SetDWThrottle(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWThrottle - !DEC$ ATTRIBUTES ALIAS: 'SetDWThrottle' :: SetDWThrottle - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%DWThrottle = v -#ifdef deb - print*, 'DWThrottle=', data%EquipmentControl%DrillingConsole%DWThrottle -#endif - end subroutine - - subroutine SetRTSwitch(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetRTSwitch - !DEC$ ATTRIBUTES ALIAS: 'SetRTSwitch' :: SetRTSwitch - implicit none - integer, intent(in) :: v - data%EquipmentControl%DrillingConsole%RTSwitch = v -#ifdef deb - print*, 'RTSwitch=', data%EquipmentControl%DrillingConsole%RTSwitch -#endif - end subroutine - - subroutine SetRTThrottle(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetRTThrottle - !DEC$ ATTRIBUTES ALIAS: 'SetRTThrottle' :: SetRTThrottle - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%RTThrottle = v -#ifdef deb - print*, 'RTThrottle=', data%EquipmentControl%DrillingConsole%RTThrottle -#endif - end subroutine - - subroutine SetDWBreak(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWBreak - !DEC$ ATTRIBUTES ALIAS: 'SetDWBreak' :: SetDWBreak - implicit none - real*8, intent(in) :: v - !if(ForceBreak) return - data%EquipmentControl%DrillingConsole%PreviousDWBreak = data%EquipmentControl%DrillingConsole%DWBreak - data%EquipmentControl%DrillingConsole%DWBreak = v -#ifdef deb - print*, 'DWBreak=', data%EquipmentControl%DrillingConsole%DWBreak -#endif - end subroutine - - subroutine SetDWAcceleretor(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWAcceleretor - !DEC$ ATTRIBUTES ALIAS: 'SetDWAcceleretor' :: SetDWAcceleretor - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%DWAcceleretor = v -#ifdef deb - print*, 'DWAcceleretor=', data%EquipmentControl%DrillingConsole%DWAcceleretor -#endif - end subroutine - - subroutine SetDWTransmisionLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWTransmisionLever - !DEC$ ATTRIBUTES ALIAS: 'SetDWTransmisionLever' :: SetDWTransmisionLever - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%DWTransmisionLever = v -#ifdef deb - print*, 'DWTransmisionLever=', data%EquipmentControl%DrillingConsole%DWTransmisionLever -#endif - end subroutine - - subroutine SetDWPowerLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWPowerLever - !DEC$ ATTRIBUTES ALIAS: 'SetDWPowerLever' :: SetDWPowerLever - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%DWPowerLever = v -#ifdef deb - print*, 'DWPowerLever=', data%EquipmentControl%DrillingConsole%DWPowerLever -#endif - end subroutine - - subroutine SetTongLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTongLever - !DEC$ ATTRIBUTES ALIAS: 'SetTongLever' :: SetTongLever - implicit none - real*8, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%TongLever == v) return - data%EquipmentControl%DrillingConsole%TongLever = v - - ! if(dint(TongLever) == 1.0) then - ! call OnBreakoutLeverPress%RunAll() -! #ifdef deb - ! print*, 'OnBreakoutLeverPress=', size(OnBreakoutLeverPress%Delegates) -! #endif - ! endif - ! if(dint(TongLever) == -1.0) then - ! call OnMakeupLeverPress%RunAll() - -! #ifdef deb -! print*, 'OnMakeupPress=', size(OnMakeupLeverPress%Delegates) -! #endif -! endif - ! if(dint(TongLever) == 0.0) then - ! call OnTongNeutralPress%RunAll() -! #ifdef deb -! print*, 'OnTongNeutralPress=', size(OnTongNeutralPress%Delegates) -! #endif -! endif - -#ifdef deb - print*, 'TongLever=', data%EquipmentControl%DrillingConsole%TongLever -#endif - end subroutine - - subroutine SetRTTransmissionLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetRTTransmissionLever - !DEC$ ATTRIBUTES ALIAS: 'SetRTTransmissionLever' :: SetRTTransmissionLever - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%RTTransmissionLever = v -#ifdef deb - print*, 'RTTransmissionLever=', data%EquipmentControl%DrillingConsole%RTTransmissionLever -#endif - end subroutine - - subroutine SetDWClutchLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetDWClutchLever - !DEC$ ATTRIBUTES ALIAS: 'SetDWClutchLever' :: SetDWClutchLever - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%DWClutchLever = v -#ifdef deb - print*, 'DWClutchLever=', data%EquipmentControl%DrillingConsole%DWClutchLever -#endif - end subroutine - - subroutine SetEddyBreakLever(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetEddyBreakLever - !DEC$ ATTRIBUTES ALIAS: 'SetEddyBreakLever' :: SetEddyBreakLever - implicit none - real*8, intent(in) :: v - data%EquipmentControl%DrillingConsole%EddyBreakLever = v -#ifdef deb - print*, 'EddyBreakLever=', data%EquipmentControl%DrillingConsole%EddyBreakLever -#endif - end subroutine - - subroutine SetAutoDW(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetAutoDW - !DEC$ ATTRIBUTES ALIAS: 'SetAutoDW' :: SetAutoDW - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%AutoDW = v -#ifdef deb - print*, 'AutoDW=', data%EquipmentControl%DrillingConsole%AutoDW -#endif - end subroutine - - subroutine SetGEN1(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetGEN1 - !DEC$ ATTRIBUTES ALIAS: 'SetGEN1' :: SetGEN1 - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%GEN1 = v -#ifdef deb - print*, 'GEN1=', data%EquipmentControl%DrillingConsole%GEN1 -#endif - end subroutine - - subroutine SetGEN2(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetGEN2 - !DEC$ ATTRIBUTES ALIAS: 'SetGEN2' :: SetGEN2 - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%GEN2 = v -#ifdef deb - print*, 'GEN2=', data%EquipmentControl%DrillingConsole%GEN2 -#endif - end subroutine - - subroutine SetGEN3(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetGEN3 - !DEC$ ATTRIBUTES ALIAS: 'SetGEN3' :: SetGEN3 - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%GEN3 = v -#ifdef deb - print*, 'GEN3=', data%EquipmentControl%DrillingConsole%GEN3 -#endif - end subroutine - - subroutine SetGEN4(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetGEN4 - !DEC$ ATTRIBUTES ALIAS: 'SetGEN4' :: SetGEN4 - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%GEN4 = v -#ifdef deb - print*, 'GEN4=', data%EquipmentControl%DrillingConsole%GEN4 -#endif - end subroutine - -! subroutine SetInstallSafetyValve(v) -! !DEC$ ATTRIBUTES DLLEXPORT :: SetInstallSafetyValve -! !DEC$ ATTRIBUTES ALIAS: 'SetInstallSafetyValve' :: SetInstallSafetyValve -! implicit none -! logical, intent(in) :: v -! InstallSafetyValve = v -!#ifdef deb -! print*, 'InstallSafetyValve=', InstallSafetyValve -!#endif -! end subroutine -! -! subroutine SetOpenSafetyValve(v) -! !DEC$ ATTRIBUTES DLLEXPORT :: SetOpenSafetyValve -! !DEC$ ATTRIBUTES ALIAS: 'SetOpenSafetyValve' :: SetOpenSafetyValve -! implicit none -! logical, intent(in) :: v -! OpenSafetyValve = v -!#ifdef deb -! print*, 'OpenSafetyValve=', OpenSafetyValve -!#endif -! end subroutine -! -! subroutine SetRemoveSafetyValve(v) -! !DEC$ ATTRIBUTES DLLEXPORT :: SetRemoveSafetyValve -! !DEC$ ATTRIBUTES ALIAS: 'SetRemoveSafetyValve' :: SetRemoveSafetyValve -! implicit none -! logical, intent(in) :: v -! RemoveSafetyValve = v -!#ifdef deb -! print*, 'RemoveSafetyValve=', RemoveSafetyValve -!#endif -! end subroutine -! -! subroutine SetCloseSafetyValve(v) -! !DEC$ ATTRIBUTES DLLEXPORT :: SetCloseSafetyValve -! !DEC$ ATTRIBUTES ALIAS: 'SetCloseSafetyValve' :: SetCloseSafetyValve -! implicit none -! logical, intent(in) :: v -! CloseSafetyValve = v -!#ifdef deb -! print*, 'CloseSafetyValve=', CloseSafetyValve -!#endif -! end subroutine -! -! subroutine SetMakeJoint(v) -! !DEC$ ATTRIBUTES DLLEXPORT :: SetMakeJoint -! !DEC$ ATTRIBUTES ALIAS: 'SetMakeJoint' :: SetMakeJoint -! implicit none -! logical, intent(in) :: v -! MakeJoint = v -!#ifdef deb -! print*, 'MakeJoint=', MakeJoint -!#endif -! end subroutine -! -! subroutine SetBreakJoint(v) -! !DEC$ ATTRIBUTES DLLEXPORT :: SetBreakJoint -! !DEC$ ATTRIBUTES ALIAS: 'SetBreakJoint' :: SetBreakJoint -! implicit none -! logical, intent(in) :: v -! BreakJoint = v -!#ifdef deb -! print*, 'BreakJoint=', BreakJoint -!#endif -! end subroutine - - subroutine SetOpenKellyCock(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetOpenKellyCock - !DEC$ ATTRIBUTES ALIAS: 'SetOpenKellyCock' :: SetOpenKellyCock - use CManifolds, OpenKellyCockSub => OpenKellyCock - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%OpenKellyCock == v) return - data%EquipmentControl%DrillingConsole%OpenKellyCock = v - ! if (v) call OnOpenKellyCockPress%RunAll() - if(v .and. data%EquipmentControl%DrillingConsole%Permission_OpenKellyCock) call OpenKellyCockSub() -#ifdef deb - print*, 'OpenKellyCock=', data%EquipmentControl%DrillingConsole%OpenKellyCock -#endif - end subroutine - - subroutine SetCloseKellyCock(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetCloseKellyCock - !DEC$ ATTRIBUTES ALIAS: 'SetCloseKellyCock' :: SetCloseKellyCock - use CManifolds, CloseKellyCockSub => CloseKellyCock - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%CloseKellyCock == v) return - data%EquipmentControl%DrillingConsole%CloseKellyCock = v - ! if (v) call OnCloseKellyCockPress%RunAll() - if(v .and. data%EquipmentControl%DrillingConsole%Permission_CloseKellyCock) call CloseKellyCockSub() -#ifdef deb - print*, 'CloseKellyCock=', data%EquipmentControl%DrillingConsole%CloseKellyCock -#endif - end subroutine - - subroutine SetOpenSafetyValve(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetOpenSafetyValve - !DEC$ ATTRIBUTES ALIAS: 'SetOpenSafetyValve' :: SetOpenSafetyValve - !use CManifolds, OpenSafetyValveSub => OpenSafetyValve - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%OpenSafetyValve == v) return - data%EquipmentControl%DrillingConsole%OpenSafetyValve = v - ! if (v) call OnOpenSafetyValvePress%RunAll() - !if(v .and. Permission_OpenSafetyValve) call OpenSafetyValveSub() -#ifdef deb - print*, 'OpenSafetyValve=', data%EquipmentControl%DrillingConsole%OpenSafetyValve -#endif - end subroutine - - subroutine SetCloseSafetyValve(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetCloseSafetyValve - !DEC$ ATTRIBUTES ALIAS: 'SetCloseSafetyValve' :: SetCloseSafetyValve - !use CManifolds, CloseSafetyValveSub => CloseSafetyValve - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%CloseSafetyValve == v) return - data%EquipmentControl%DrillingConsole%CloseSafetyValve = v - ! if (v) call OnCloseSafetyValvePress%RunAll() - !if(v .and. Permission_CloseSafetyValve) call CloseSafetyValveSub() -#ifdef deb - print*, 'CloseSafetyValve=', data%EquipmentControl%DrillingConsole%CloseSafetyValve -#endif - end subroutine - - subroutine SetIRSafetyValve(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetIRSafetyValve - !DEC$ ATTRIBUTES ALIAS: 'SetIRSafetyValve' :: SetIRSafetyValve - use CManifolds - implicit none - logical, intent(in) :: v - logical :: prev - if (data%EquipmentControl%DrillingConsole%IRSafetyValve == v) return - prev = data%EquipmentControl%DrillingConsole%IRSafetyValve - data%EquipmentControl%DrillingConsole%IRSafetyValve = v - ! if (v) call OnIRSafetyValvePress%RunAll() - !if(prev /= IRSafetyValve .and. v .and. Permission_IRSafetyValve) call ToggleSafetyValve() - !if(prev /= IRSafetyValve .and. v) call ToggleSafetyValve() -#ifdef deb - print*, 'IRSafetyValve=', data%EquipmentControl%DrillingConsole%IRSafetyValve -#endif - end subroutine - - subroutine SetIRIBop(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetIRIBop - !DEC$ ATTRIBUTES ALIAS: 'SetIRIBop' :: SetIRIBop - use CManifolds - implicit none - logical, intent(in) :: v - logical :: prev - if (data%EquipmentControl%DrillingConsole%IRIBop == v) return - prev = data%EquipmentControl%DrillingConsole%IRIBop - data%EquipmentControl%DrillingConsole%IRIBop = v - ! if (v) call OnIRIBopPress%RunAll() - !if(prev /= IRIBop .and. v .and. Permission_IRIBop) call ToggleIBop() - !if(prev /= IRIBop .and. v) call ToggleIBop() -#ifdef deb - print*, 'IRIBop=', data%EquipmentControl%DrillingConsole%IRIBop -#endif - end subroutine - - - - subroutine SetLatchPipe(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetLatchPipe - !DEC$ ATTRIBUTES ALIAS: 'SetLatchPipe' :: SetLatchPipe - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%LatchPipe .eqv. v) return - data%EquipmentControl%DrillingConsole%LatchPipe = v - ! if (v) call OnLatchPipePress%RunAll() -#ifdef deb - print*, 'LatchPipe=', data%EquipmentControl%DrillingConsole%LatchPipe -#endif - end subroutine - - subroutine SetUnlatchPipe(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetUnlatchPipe - !DEC$ ATTRIBUTES ALIAS: 'SetUnlatchPipe' :: SetUnlatchPipe - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%UnlatchPipe .eqv. v) return - data%EquipmentControl%DrillingConsole%UnlatchPipe = v - ! if (v) call OnUnlatchPipePress%RunAll() -#ifdef deb - print*, 'UnlatchPipe=', data%EquipmentControl%DrillingConsole%UnlatchPipe -#endif - end subroutine - - subroutine SetSwing(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetSwing - !DEC$ ATTRIBUTES ALIAS: 'SetSwing' :: SetSwing - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%Swing .eqv. v) return - data%EquipmentControl%DrillingConsole%Swing = v - ! if (v) call OnSwingPress%RunAll() -#ifdef deb - print*, 'Swing=', data%EquipmentControl%DrillingConsole%Swing -#endif - end subroutine - - subroutine SetFillMouseHole(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetFillMouseHole - !DEC$ ATTRIBUTES ALIAS: 'SetFillMouseHole' :: SetFillMouseHole - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%FillMouseHole .eqv. v) return - data%EquipmentControl%DrillingConsole%FillMouseHole = v - ! if (v) call OnFillMouseHolePress%RunAll() -#ifdef deb - print*, 'FillMouseHole=', data%EquipmentControl%DrillingConsole%FillMouseHole -#endif - end subroutine - - subroutine SetSlips(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetSlips - !DEC$ ATTRIBUTES ALIAS: 'SetSlips' :: SetSlips - implicit none - logical, intent(in) :: v - if (data%EquipmentControl%DrillingConsole%Slips .eqv. v) return - data%EquipmentControl%DrillingConsole%Slips = v -#ifdef deb - print*, 'Slips=', data%EquipmentControl%DrillingConsole%Slips -#endif - ! if (v) call OnSlipsPress%RunAll() - end subroutine - - - subroutine SetBrakeLeverCoefficient(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetBrakeLeverCoefficient - !DEC$ ATTRIBUTES ALIAS: 'SetBrakeLeverCoefficient' :: SetBrakeLeverCoefficient - implicit none - real, intent(in) :: v - data%EquipmentControl%DrillingConsole%BrakeLeverCoefficient = v -#ifdef deb - print*, 'BrakeLeverCoefficient=', data%EquipmentControl%DrillingConsole%BrakeLeverCoefficient -#endif - end subroutine - - subroutine SetHideDrillingBrake(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetHideDrillingBrake - !DEC$ ATTRIBUTES ALIAS: 'SetHideDrillingBrake' :: SetHideDrillingBrake - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%HideDrillingBrake = v -#ifdef deb - print*, 'HideDrillingBrake=', data%EquipmentControl%DrillingConsole%HideDrillingBrake -#endif - end subroutine - - - - - - - - - subroutine SetParkingBrake(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetParkingBrake - !DEC$ ATTRIBUTES ALIAS: 'SetParkingBrake' :: SetParkingBrake - implicit none - logical, intent(in) :: v - data%EquipmentControl%DrillingConsole%ParkingBrakeBtn = v -#ifdef deb - print*, 'ParkingBrakeBtn=', data%EquipmentControl%DrillingConsole%ParkingBrakeBtn -#endif - end subroutine - - - - - - - - - - - - - ! Output routines - - logical function GetParkingBrakeLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetParkingBrakeLed - !DEC$ ATTRIBUTES ALIAS: 'GetParkingBrakeLed' :: GetParkingBrakeLed - implicit none - GetParkingBrakeLed = data%EquipmentControl%DrillingConsole%ParkingBrakeLed - !GetParkingBrakeLed = .true. - end function - - - integer function GetGEN1LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN1LED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN1LED' :: GetGEN1LED - implicit none - GetGEN1LED = 1 - !GetGEN1LED = GEN1LED - end function - - integer function GetGEN2LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN2LED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN2LED' :: GetGEN2LED - implicit none - GetGEN2LED = 1 - !GetGEN2LED = GEN2LED - end function - - integer function GetGEN3LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN3LED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN3LED' :: GetGEN3LED - implicit none - GetGEN3LED = 1 - !GetGEN3LED = GEN3LED - end function - - integer function GetGEN4LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN4LED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN4LED' :: GetGEN4LED - implicit none - GetGEN4LED = 1 - !GetGEN4LED = GEN4LED - end function - - integer function GetSCR1LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSCR1LED - !DEC$ ATTRIBUTES ALIAS: 'GetSCR1LED' :: GetSCR1LED - implicit none - GetSCR1LED = data%EquipmentControl%DrillingConsole%SCR1LED - end function - - integer function GetSCR2LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSCR2LED - !DEC$ ATTRIBUTES ALIAS: 'GetSCR2LED' :: GetSCR2LED - implicit none - GetSCR2LED = data%EquipmentControl%DrillingConsole%SCR2LED - end function - - integer function GetSCR3LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSCR3LED - !DEC$ ATTRIBUTES ALIAS: 'GetSCR3LED' :: GetSCR3LED - implicit none - GetSCR3LED = data%EquipmentControl%DrillingConsole%SCR3LED - end function - - integer function GetSCR4LED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSCR4LED - !DEC$ ATTRIBUTES ALIAS: 'GetSCR4LED' :: GetSCR4LED - implicit none - GetSCR4LED = data%EquipmentControl%DrillingConsole%SCR4LED - end function - - integer function GetMP1BLWR() - !DEC$ ATTRIBUTES DLLEXPORT :: GetMP1BLWR - !DEC$ ATTRIBUTES ALIAS: 'GetMP1BLWR' :: GetMP1BLWR - implicit none - GetMP1BLWR = data%EquipmentControl%DrillingConsole%MP1BLWR - end function - - integer function GetMP2BLWR() - !DEC$ ATTRIBUTES DLLEXPORT :: GetMP2BLWR - !DEC$ ATTRIBUTES ALIAS: 'GetMP2BLWR' :: GetMP2BLWR - implicit none - GetMP2BLWR = data%EquipmentControl%DrillingConsole%MP2BLWR - end function - - integer function GetDWBLWR() - !DEC$ ATTRIBUTES DLLEXPORT :: GetDWBLWR - !DEC$ ATTRIBUTES ALIAS: 'GetDWBLWR' :: GetDWBLWR - implicit none - GetDWBLWR = data%EquipmentControl%DrillingConsole%DWBLWR - end function - - integer function GetRTBLWR() - !DEC$ ATTRIBUTES DLLEXPORT :: GetRTBLWR - !DEC$ ATTRIBUTES ALIAS: 'GetRTBLWR' :: GetRTBLWR - implicit none - GetRTBLWR = data%EquipmentControl%DrillingConsole%RTBLWR - end function - - integer function GetPWRLIM() - !DEC$ ATTRIBUTES DLLEXPORT :: GetPWRLIM - !DEC$ ATTRIBUTES ALIAS: 'GetPWRLIM' :: GetPWRLIM - implicit none - GetPWRLIM = data%EquipmentControl%DrillingConsole%PWRLIM - end function - - real(8) function GetPWRLIMMTR() - !DEC$ ATTRIBUTES DLLEXPORT :: GetPWRLIMMTR - !DEC$ ATTRIBUTES ALIAS: 'GetPWRLIMMTR' :: GetPWRLIMMTR - implicit none - GetPWRLIMMTR = data%EquipmentControl%DrillingConsole%PWRLIMMTR - end function - - real(8) function GetRTTorqueLimitGauge() - !DEC$ ATTRIBUTES DLLEXPORT :: GetRTTorqueLimitGauge - !DEC$ ATTRIBUTES ALIAS: 'GetRTTorqueLimitGauge' :: GetRTTorqueLimitGauge - implicit none - GetRTTorqueLimitGauge = data%EquipmentControl%DrillingConsole%RTTorqueLimitGauge - end function - - integer function GetAutoDWLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetAutoDWLED - !DEC$ ATTRIBUTES ALIAS: 'GetAutoDWLED' :: GetAutoDWLED - implicit none - GetAutoDWLED = data%EquipmentControl%DrillingConsole%AutoDWLED - end function - - integer function GetGEN1BTNLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN1BTNLED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN1BTNLED' :: GetGEN1BTNLED - implicit none - GetGEN1BTNLED = data%EquipmentControl%DrillingConsole%GEN1BTNLED - end function - - integer function GetGEN2BTNLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN2BTNLED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN2BTNLED' :: GetGEN2BTNLED - implicit none - GetGEN2BTNLED = data%EquipmentControl%DrillingConsole%GEN2BTNLED - end function - - integer function GetGEN3BTNLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN3BTNLED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN3BTNLED' :: GetGEN3BTNLED - implicit none - GetGEN3BTNLED = data%EquipmentControl%DrillingConsole%GEN3BTNLED - end function - - integer function GetGEN4BTNLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetGEN4BTNLED - !DEC$ ATTRIBUTES ALIAS: 'GetGEN4BTNLED' :: GetGEN4BTNLED - implicit none - GetGEN4BTNLED = data%EquipmentControl%DrillingConsole%GEN4BTNLED - end function - - integer function GetOpenKellyCockLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetOpenKellyCockLed - !DEC$ ATTRIBUTES ALIAS: 'GetOpenKellyCockLed' :: GetOpenKellyCockLed - implicit none - GetOpenKellyCockLed = data%EquipmentControl%DrillingConsole%OpenKellyCockLed - end function - - integer function GetCloseKellyCockLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetCloseKellyCockLed - !DEC$ ATTRIBUTES ALIAS: 'GetCloseKellyCockLed' :: GetCloseKellyCockLed - implicit none - GetCloseKellyCockLed = data%EquipmentControl%DrillingConsole%CloseKellyCockLed - end function - - integer function GetOpenSafetyValveLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetOpenSafetyValveLed - !DEC$ ATTRIBUTES ALIAS: 'GetOpenSafetyValveLed' :: GetOpenSafetyValveLed - implicit none - GetOpenSafetyValveLed = data%EquipmentControl%DrillingConsole%OpenSafetyValveLed - end function - - integer function GetCloseSafetyValveLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetCloseSafetyValveLed - !DEC$ ATTRIBUTES ALIAS: 'GetCloseSafetyValveLed' :: GetCloseSafetyValveLed - implicit none - GetCloseSafetyValveLed = data%EquipmentControl%DrillingConsole%CloseSafetyValveLed - end function - - integer function GetIRSafetyValveLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetIRSafetyValveLed - !DEC$ ATTRIBUTES ALIAS: 'GetIRSafetyValveLed' :: GetIRSafetyValveLed - implicit none - GetIRSafetyValveLed = data%EquipmentControl%DrillingConsole%IRSafetyValveLed - end function - - integer function GetIRIBopLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetIRIBopLed - !DEC$ ATTRIBUTES ALIAS: 'GetIRIBopLed' :: GetIRIBopLed - implicit none - GetIRIBopLed = data%EquipmentControl%DrillingConsole%IRIBopLed - end function - - - integer function GetLatchPipeLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetLatchPipeLED - !DEC$ ATTRIBUTES ALIAS: 'GetLatchPipeLED' :: GetLatchPipeLED - implicit none - GetLatchPipeLED = data%EquipmentControl%DrillingConsole%LatchPipeLED - end function - - integer function GetUnlatchPipeLED() - !DEC$ ATTRIBUTES DLLEXPORT :: GetUnlatchPipeLED - !DEC$ ATTRIBUTES ALIAS: 'GetUnlatchPipeLED' :: GetUnlatchPipeLED - implicit none - GetUnlatchPipeLED = data%EquipmentControl%DrillingConsole%UnlatchPipeLED - end function - - integer function GetSwingLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetSwingLed - !DEC$ ATTRIBUTES ALIAS: 'GetSwingLed' :: GetSwingLed - implicit none - GetSwingLed = data%EquipmentControl%DrillingConsole%SwingLed - end function - - integer function GetFillMouseHoleLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetFillMouseHoleLed - !DEC$ ATTRIBUTES ALIAS: 'GetFillMouseHoleLed' :: GetFillMouseHoleLed - implicit none - GetFillMouseHoleLed = data%EquipmentControl%DrillingConsole%FillMouseHoleLed - end function - end module CDrillingConsole \ No newline at end of file diff --git a/CSharp/Equipments/ControlPanels/CHook.f90 b/CSharp/Equipments/ControlPanels/CHook.f90 index c80b292..780c07b 100644 --- a/CSharp/Equipments/ControlPanels/CHook.f90 +++ b/CSharp/Equipments/ControlPanels/CHook.f90 @@ -5,16 +5,16 @@ module CHook public contains - subroutine CHookToJson(parent) + subroutine HookToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CHook') - call json%add(p,"HookHeight_S",data%Equipments%ControlPanel%CHook%HookHeight_S) - call json%add(p,"HookHeight",data%Equipments%ControlPanel%CHook%HookHeight) + call json%create_object(p,'Hook') + call json%add(p,"HookHeight_S",data%EquipmentControl%Hook%HookHeight_S) + call json%add(p,"HookHeight",data%EquipmentControl%Hook%HookHeight) call json%add(parent,p) end subroutine diff --git a/CSharp/Equipments/ControlPanels/CHookActions.f90 b/CSharp/Equipments/ControlPanels/CHookActions.f90 deleted file mode 100644 index 2c77ba9..0000000 --- a/CSharp/Equipments/ControlPanels/CHookActions.f90 +++ /dev/null @@ -1,16 +0,0 @@ -module CHookActions - use CIActionReference - implicit none - public - procedure (ActionReal), pointer :: HookHeightPtr - contains - - subroutine SubscribeHookHeight(a) - !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHookHeight - !DEC$ ATTRIBUTES ALIAS: 'SubscribeHookHeight' :: SubscribeHookHeight - implicit none - procedure (ActionReal) :: a - HookHeightPtr => a - end subroutine - -end module CHookActions \ No newline at end of file diff --git a/CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 b/CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 index d58f1b4..26fae58 100644 --- a/CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 +++ b/CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 @@ -7,232 +7,34 @@ module CStandPipeManifold contains - subroutine CStandPipeToJson(parent) + subroutine StandPipeManifoldToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p ! 1. create new node - call json%create_object(p,'CStandPipe') - - call json%add(p,"StandPipeManifoldValve1",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve1) - call json%add(p,"StandPipeManifoldValve2",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve2) - call json%add(p,"StandPipeManifoldValve3",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve3) - call json%add(p,"StandPipeManifoldValve4",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve4) - call json%add(p,"StandPipeManifoldValve5",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve5) - call json%add(p,"StandPipeManifoldValve6",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve6) - call json%add(p,"StandPipeManifoldValve7",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve7) - call json%add(p,"StandPipeManifoldValve8",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve8) - call json%add(p,"StandPipeManifoldValve9",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve9) - call json%add(p,"StandPipeManifoldValve10",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve10) - call json%add(p,"StandPipeManifoldValve11",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve11) - call json%add(p,"StandPipeManifoldValve12",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve12) - call json%add(p,"StandPipeManifoldValve13",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve13) - call json%add(p,"StandPipeManifoldValve14",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve14) - call json%add(p,"StandPipeManifoldValve15",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve15) - call json%add(p,"StandPipeGauge1",data%Equipments%ControlPanel%CStandPipe%StandPipeGauge1) - call json%add(p,"StandPipeGauge2",data%Equipments%ControlPanel%CStandPipe%StandPipeGauge2) + call json%create_object(p,'StandPipeManifold') + + call json%add(p,"StandPipeManifoldValve1",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1) + call json%add(p,"StandPipeManifoldValve2",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2) + call json%add(p,"StandPipeManifoldValve3",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3) + call json%add(p,"StandPipeManifoldValve4",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4) + call json%add(p,"StandPipeManifoldValve5",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5) + call json%add(p,"StandPipeManifoldValve6",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6) + call json%add(p,"StandPipeManifoldValve7",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7) + call json%add(p,"StandPipeManifoldValve8",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8) + call json%add(p,"StandPipeManifoldValve9",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9) + call json%add(p,"StandPipeManifoldValve10",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10) + call json%add(p,"StandPipeManifoldValve11",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11) + call json%add(p,"StandPipeManifoldValve12",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12) + call json%add(p,"StandPipeManifoldValve13",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13) + call json%add(p,"StandPipeManifoldValve14",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14) + call json%add(p,"StandPipeManifoldValve15",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15) + call json%add(p,"StandPipeGauge1",data%EquipmentControl%StandPipeManifold%StandPipeGauge1) + call json%add(p,"StandPipeGauge2",data%EquipmentControl%StandPipeManifold%StandPipeGauge2) call json%add(parent,p) end subroutine - - ! Input routines - subroutine SetStandPipeManifoldValve1(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve1 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve1' :: SetStandPipeManifoldValve1 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1 = v - call ChangeValve(13, v) -#ifdef deb - print*, 'StandPipeManifoldValve1=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve2(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve2 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve2' :: SetStandPipeManifoldValve2 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2 = v - call ChangeValve(14, v) -#ifdef deb - print*, 'StandPipeManifoldValve2=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve3(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve3 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve3' :: SetStandPipeManifoldValve3 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3 = v - call ChangeValve(15, v) -#ifdef deb - print*, 'StandPipeManifoldValve3=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve4(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve4 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve4' :: SetStandPipeManifoldValve4 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4 = v - call ChangeValve(11, v) -#ifdef deb - print*, 'StandPipeManifoldValve4=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve5(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve5 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve5' :: SetStandPipeManifoldValve5 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5 = v - call ChangeValve(12, v) -#ifdef deb - print*, 'StandPipeManifoldValve5=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve6(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve6 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve6' :: SetStandPipeManifoldValve6 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6 = v - call ChangeValve(9, v) -#ifdef deb - print*, 'StandPipeManifoldValve6=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve7(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve7 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve7' :: SetStandPipeManifoldValve7 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7 = v - call ChangeValve(10, v) -#ifdef deb - print*, 'StandPipeManifoldValve7=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve8(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve8 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve8' :: SetStandPipeManifoldValve8 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8 = v - call ChangeValve(6, v) -#ifdef deb - print*, 'StandPipeManifoldValve8=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve9(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve9 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve9' :: SetStandPipeManifoldValve9 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9 = v - call ChangeValve(7, v) -#ifdef deb - print*, 'StandPipeManifoldValve9=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve10(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve10 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve10' :: SetStandPipeManifoldValve10 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10 = v - call ChangeValve(8, v) -#ifdef deb - print*, 'StandPipeManifoldValve10=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve11(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve11 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve11' :: SetStandPipeManifoldValve11 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11 = v - call ChangeValve(1, v) -#ifdef deb - print*, 'StandPipeManifoldValve11=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve12(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve12 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve12' :: SetStandPipeManifoldValve12 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12 = v - call ChangeValve(2, v) -#ifdef deb - print*, 'StandPipeManifoldValve12=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve13(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve13 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve13' :: SetStandPipeManifoldValve13 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13 = v - call ChangeValve(3, v) -#ifdef deb - print*, 'StandPipeManifoldValve13=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve14(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve14 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve14' :: SetStandPipeManifoldValve14 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14 = v - call ChangeValve(4, v) -#ifdef deb - print*, 'StandPipeManifoldValve14=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14 -#endif - end subroutine - - subroutine SetStandPipeManifoldValve15(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve15 - !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve15' :: SetStandPipeManifoldValve15 - implicit none - logical, intent(in) :: v - data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15 = v - call ChangeValve(5, v) -#ifdef deb - print*, 'StandPipeManifoldValve15=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15 -#endif - end subroutine - - ! Output routines - real(8) function GetStandPipeGauge1() - !DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge1 - !DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge1' :: GetStandPipeGauge1 - implicit none - GetStandPipeGauge1 = data%EquipmentControl%StandPipeManifold%StandPipeGauge1 - !GetStandPipeGauge1 = 567.4 - end function - - real(8) function GetStandPipeGauge2() - !DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge2 - !DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge2' :: GetStandPipeGauge2 - implicit none - GetStandPipeGauge2 = data%EquipmentControl%StandPipeManifold%StandPipeGauge2 - !GetStandPipeGauge2 = 1564.0 - end function end module CStandPipeManifold \ No newline at end of file diff --git a/CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 b/CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 index e0e2441..cc747dc 100644 --- a/CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 +++ b/CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 @@ -6,7 +6,7 @@ module CTopDrivePanel public contains - subroutine CDrivePanelToJson(parent) + subroutine TopDrivePanelToJson(parent) type(json_value),pointer :: parent type(json_core) :: json @@ -15,253 +15,26 @@ module CTopDrivePanel ! 1. create new node - call json%create_object(p,'CDrivePanel') - - call json%add(p,"TdsPower_REV",data%Equipments%ControlPanel%CTopDrive%TdsPower_REV) - call json%add(p,"TdsPower_OFF",data%Equipments%ControlPanel%CTopDrive%TdsPower_OFF) - call json%add(p,"TdsPower_FWD",data%Equipments%ControlPanel%CTopDrive%TdsPower_FWD) - call json%add(p,"TdsMu_TORQ",data%Equipments%ControlPanel%CTopDrive%TdsMu_TORQ) - call json%add(p,"TdsMu_SPINE",data%Equipments%ControlPanel%CTopDrive%TdsMu_SPINE) - call json%add(p,"TdsMu_DRILL",data%Equipments%ControlPanel%CTopDrive%TdsMu_DRILL) - call json%add(p,"TdsLinkTilt_TILT",data%Equipments%ControlPanel%CTopDrive%TdsLinkTilt_TILT) - call json%add(p,"TdsLinkTilt_OFF",data%Equipments%ControlPanel%CTopDrive%TdsLinkTilt_OFF) - call json%add(p,"TdsLinkTilt_DRILL",data%Equipments%ControlPanel%CTopDrive%TdsLinkTilt_DRILL) - call json%add(p,"LED_OFF",data%Equipments%ControlPanel%CTopDrive%LED_OFF) - call json%add(p,"LED_ON",data%Equipments%ControlPanel%CTopDrive%LED_ON) - call json%add(p,"LED_BLINK",data%Equipments%ControlPanel%CTopDrive%LED_BLINK) - - - do i=1,data%Equipments%ControlPanel%CTopDrive%Count - call json%create_object(pform,'') + call json%create_object(p,'TopDrivePanel') - call json%add(pform,"TopDriveTdsPowerState",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerState) - call json%add(pform,"TopDriveTorqueWrench",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrench) - call json%add(pform,"TopDriveDrillTorqueState",data%Equipments%ControlPanel%CTopDrive%TopDriveDrillTorqueState) - call json%add(pform,"TopDriveLinkTiltState",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltState) - call json%add(pform,"TopDriveIbop",data%Equipments%ControlPanel%CTopDrive%TopDriveIbop) - call json%add(pform,"TopDriveTorqueLimitKnob",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob) - call json%add(pform,"RpmKnob",data%Equipments%ControlPanel%CTopDrive%RpmKnob) - call json%add(pform,"TopDriveOperationFaultLed",data%Equipments%ControlPanel%CTopDrive%TopDriveOperationFaultLed) - call json%add(pform,"TopDriveTdsPowerLed",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerLed) - call json%add(pform,"TopDriveTorqueWrenchLed",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed) - call json%add(pform,"TopDriveLinkTiltLed",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltLed) - call json%add(pform,"TopDriveIbopLed",data%Equipments%ControlPanel%CTopDrive%TopDriveIbopLed) - call json%add(pform,"TopDriveTorqueLimitGauge",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge) - call json%add(pform,"TopDriveTorqueGauge",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueGauge) - call json%add(pform,"TopDriveRpmGauge",data%Equipments%ControlPanel%CTopDrive%TopDriveRpmGauge) + call json%add(pform,"TopDriveTdsPowerState",data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState) + call json%add(pform,"TopDriveTorqueWrench",data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrench) + call json%add(pform,"TopDriveDrillTorqueState",data%EquipmentControl%TopDrivePanel%TopDriveDrillTorqueState) + call json%add(pform,"TopDriveLinkTiltState",data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltState) + call json%add(pform,"TopDriveIbop",data%EquipmentControl%TopDrivePanel%TopDriveIbop) + call json%add(pform,"TopDriveTorqueLimitKnob",data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob) + call json%add(pform,"RpmKnob",data%EquipmentControl%TopDrivePanel%RpmKnob) + call json%add(pform,"TopDriveOperationFaultLed",data%EquipmentControl%TopDrivePanel%TopDriveOperationFaultLed) + call json%add(pform,"TopDriveTdsPowerLed",data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerLed) + call json%add(pform,"TopDriveTorqueWrenchLed",data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrenchLed) + call json%add(pform,"TopDriveLinkTiltLed",data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltLed) + call json%add(pform,"TopDriveIbopLed",data%EquipmentControl%TopDrivePanel%TopDriveIbopLed) + call json%add(pform,"TopDriveTorqueLimitGauge",data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitGauge) + call json%add(pform,"TopDriveTorqueGauge",data%EquipmentControl%TopDrivePanel%TopDriveTorqueGauge) + call json%add(pform,"TopDriveRpmGauge",data%EquipmentControl%TopDrivePanel%TopDriveRpmGauge) - call json%add(p,pform) - end do call json%add(parent,p) end subroutine - - ! Input routines - subroutine SetTopDriveTdsPowerState(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTdsPowerState - !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTdsPowerState' :: SetTopDriveTdsPowerState - implicit none - integer, intent(in) :: v - data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState = v -#ifdef deb - call Log_3( 'TopDriveTdsPowerState=', data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState) -#endif - end subroutine - - subroutine SetTopDriveTorqueWrench(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTorqueWrench - !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTorqueWrench' :: SetTopDriveTorqueWrench - implicit none - logical, intent(in) :: v - data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrench = v -#ifdef deb - call Log_3( 'TopDriveTorqueWrench=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrench) -#endif - end subroutine - - subroutine SetTopDriveDrillTorqueState(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveDrillTorqueState - !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveDrillTorqueState' :: SetTopDriveDrillTorqueState - implicit none - integer, intent(in) :: v - data%EquipmentControl%TopDrivePanel%TopDriveDrillTorqueState = v -#ifdef deb - call Log_3( 'TopDriveDrillTorqueState=', data%EquipmentControl%TopDrivePanel%TopDriveDrillTorqueState) -#endif - end subroutine - - subroutine SetTopDriveLinkTiltState(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveLinkTiltState - !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveLinkTiltState' :: SetTopDriveLinkTiltState - implicit none - integer, intent(in) :: v - data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltState = v -#ifdef deb - call Log_3( 'TopDriveLinkTiltState=', data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltState) -#endif - end subroutine - - subroutine SetTopDriveIbop(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveIbop - !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveIbop' :: SetTopDriveIbop - implicit none - logical, intent(in) :: v - data%EquipmentControl%TopDrivePanel%TopDriveIbop = v -#ifdef deb - call Log_3( 'TopDriveIbop=', data%EquipmentControl%TopDrivePanel%TopDriveIbop) -#endif - end subroutine - - subroutine SetTopDriveTorqueLimitKnob(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTorqueLimitKnob - !DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTorqueLimitKnob' :: SetTopDriveTorqueLimitKnob - ! use CSimulationVariables, only: IsPortable - use CDrillingConsoleVariables - use SimulationVariables - use SimulationVariables!, only: data%EquipmentControl%DrillingConsole%RTSwitch, data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob - use CWarnings, only: Activate_TopdriveRotaryTableConfilict - use CScaleRange - implicit none - real, intent(in) :: v - if (IsPortable) then - if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict() - if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch == 0) then - data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob = 0 - data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob = v -#ifdef deb - call Log_3( 'RTTorqueLimitKnob=', data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob ) - call Log_3( 'TopDriveTorqueLimitKnob=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob ) -#endif - endif - if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState == 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) then - data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob = 0 - data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob = real(ScaleRange(v, 0.0, 10.0, 0.0, 6000.0), 8) -#ifdef deb - call Log_3( 'RTTorqueLimitKnob=', data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob ) - call Log_3( 'TopDriveTorqueLimitKnob=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob ) -#endif - endif - else - data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob = v -#ifdef deb - call Log_3( 'TopDriveTorqueLimitKnob=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob) -#endif - endif - - end subroutine - - subroutine SetRpmKnob(v) - !DEC$ ATTRIBUTES DLLEXPORT :: SetRpmKnob - !DEC$ ATTRIBUTES ALIAS: 'SetRpmKnob' :: SetRpmKnob - ! use CSimulationVariables, only: IsPortable - use CDrillingConsoleVariables - use SimulationVariables - use SimulationVariables!, only: data%EquipmentControl%DrillingConsole%RTSwitch, data%EquipmentControl%DrillingConsole%RTThrottle - use CWarnings, only: Activate_TopdriveRotaryTableConfilict - use CScaleRange - implicit none - real, intent(in) :: v - if (IsPortable) then - if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict() - if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch == 0) then - data%EquipmentControl%DrillingConsole%RTThrottle = 0 - data%EquipmentControl%TopDrivePanel%RpmKnob = v -#ifdef deb - call Log_3( 'RTThrottle=', data%EquipmentControl%DrillingConsole%RTThrottle ) - call Log_3( 'RpmKnob=', data%EquipmentControl%TopDrivePanel%RpmKnob ) -#endif - endif - if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState == 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) then - data%EquipmentControl%TopDrivePanel%RpmKnob = 0 - data%EquipmentControl%DrillingConsole%RTThrottle = real(ScaleRange(v, 0.0, 965.0, 0.0, 250.0), 8) -#ifdef deb - call Log_3( 'RpmKnob=', data%EquipmentControl%TopDrivePanel%RpmKnob ) - call Log_3( 'RTThrottle=', data%EquipmentControl%DrillingConsole%RTThrottle ) -#endif - endif - else - data%EquipmentControl%TopDrivePanel%RpmKnob = v - endif - - - - if (IsPortable) then - ! - else - data%EquipmentControl%TopDrivePanel%RpmKnob = v -#ifdef deb - call Log_3( 'RpmKnob=', data%EquipmentControl%TopDrivePanel%RpmKnob ) -#endif - endif - - end subroutine - - - ! Output routines - integer function GetTopDriveOperationFaultLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveOperationFaultLed - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveOperationFaultLed' :: GetTopDriveOperationFaultLed - implicit none - GetTopDriveOperationFaultLed = data%EquipmentControl%TopDrivePanel%TopDriveOperationFaultLed - !GetTopDriveOperationFaultLed = 1 - end function - - integer function GetTopDriveTdsPowerLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTdsPowerLed - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTdsPowerLed' :: GetTopDriveTdsPowerLed - implicit none - GetTopDriveTdsPowerLed = data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerLed - !GetTopDriveTdsPowerLed = 1 - end function - - integer function GetTopDriveTorqueWrenchLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueWrenchLed - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueWrenchLed' :: GetTopDriveTorqueWrenchLed - implicit none - GetTopDriveTorqueWrenchLed = data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrenchLed - !GetTopDriveTorqueWrenchLed = 1 - end function - - integer function GetTopDriveLinkTiltLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveLinkTiltLed - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveLinkTiltLed' :: GetTopDriveLinkTiltLed - implicit none - GetTopDriveLinkTiltLed = data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltLed - !GetTopDriveLinkTiltLed = 1 - end function - - integer function GetTopDriveIbopLed() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveIbopLed - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveIbopLed' :: GetTopDriveIbopLed - implicit none - GetTopDriveIbopLed = data%EquipmentControl%TopDrivePanel%TopDriveIbopLed - !GetTopDriveIbopLed = 1 - end function - - real function GetTopDriveTorqueGauge() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueGauge - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueGauge' :: GetTopDriveTorqueGauge - implicit none - GetTopDriveTorqueGauge = data%EquipmentControl%TopDrivePanel%TopDriveTorqueGauge - !GetTopDriveTorqueGauge = 340 - end function - - real function GetTopDriveTorqueLimitGauge() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueLimitGauge - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueLimitGauge' :: GetTopDriveTorqueLimitGauge - implicit none - GetTopDriveTorqueLimitGauge = data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitGauge - !GetTopDriveTorqueLimitGauge = 442 - end function - - real function GetTopDriveRpmGauge() - !DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveRpmGauge - !DEC$ ATTRIBUTES ALIAS: 'GetTopDriveRpmGauge' :: GetTopDriveRpmGauge - implicit none - GetTopDriveRpmGauge = data%EquipmentControl%TopDrivePanel%TopDriveRpmGauge - !GetTopDriveRpmGauge = 67 - end function - - - end module CTopDrivePanel +end module CTopDrivePanel diff --git a/CSharp/Equipments/DrillWatch/DrillWatch.f90 b/CSharp/Equipments/DrillWatch/DrillWatch.f90 new file mode 100644 index 0000000..11b1842 --- /dev/null +++ b/CSharp/Equipments/DrillWatch/DrillWatch.f90 @@ -0,0 +1,37 @@ +module DrillingWatchModule + use SimulationVariables + contains + + subroutine DrillingWatchToJson(parent) + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p + integer :: i + + ! 1. create new node + call json%create_object(p,'DrillingWatch') + + call json%add(p,"Depth",data%EquipmentControl%DrillingWatch%Depth) + call json%add(p,"BitPosition",data%EquipmentControl%DrillingWatch%BitPosition) + call json%add(p,"HookLoad",data%EquipmentControl%DrillingWatch%HookLoad) + call json%add(p,"WeightOnBit",data%EquipmentControl%DrillingWatch%WeightOnBit) + call json%add(p,"RPM",data%EquipmentControl%DrillingWatch%RPM) + call json%add(p,"ROP",data%EquipmentControl%DrillingWatch%ROP) + call json%add(p,"Torque",data%EquipmentControl%DrillingWatch%Torque) + call json%add(p,"PumpPressure",data%EquipmentControl%DrillingWatch%PumpPressure) + call json%add(p,"SPM1",data%EquipmentControl%DrillingWatch%SPM1) + call json%add(p,"SPM2",data%EquipmentControl%DrillingWatch%SPM2) + call json%add(p,"CasingPressure",data%EquipmentControl%DrillingWatch%CasingPressure) + call json%add(p,"PercentFlow",data%EquipmentControl%DrillingWatch%PercentFlow) + call json%add(p,"PitGainLose",data%EquipmentControl%DrillingWatch%PitGainLose) + call json%add(p,"PitVolume",data%EquipmentControl%DrillingWatch%PitVolume) + call json%add(p,"KillMudVolume",data%EquipmentControl%DrillingWatch%KillMudVolume) + call json%add(p,"TripTankVolume",data%EquipmentControl%DrillingWatch%TripTankVolume) + call json%add(p,"MudWeightIn",data%EquipmentControl%DrillingWatch%MudWeightIn) + call json%add(p,"FillVolume",data%EquipmentControl%DrillingWatch%FillVolume) + call json%add(p,"MudWeightOut",data%EquipmentControl%DrillingWatch%MudWeightOut) + + call json%add(parent,p) + end subroutine + +end module DrillingWatchModule \ No newline at end of file diff --git a/CSharp/Equipments/Tanks/CTanks.f90 b/CSharp/Equipments/Tanks/CTanks.f90 index 31309a9..55f54a2 100644 --- a/CSharp/Equipments/Tanks/CTanks.f90 +++ b/CSharp/Equipments/Tanks/CTanks.f90 @@ -1,24 +1,3 @@ -<<<<<<< HEAD - - module CTanks - use SimulationVariables - use CManifolds - implicit none - public - contains - subroutine Set_ManualPumpPower(v) - use CManifolds, only:ChangeValve - implicit none - logical, intent(in) :: v - data%EquipmentControl%Tank%ManualPumpPower = v - call ChangeValve(43, v) - #ifdef deb - print*, 'ManualPumpPower=', data%EquipmentControl%Tank%ManualPumpPower - #endif - end subroutine - - -======= module CTanks use SimulationVariables @@ -28,38 +7,33 @@ contains - subroutine CTankToJson(parent) + subroutine TankToJson(parent) type(json_value),pointer :: parent type(json_core) :: json type(json_value),pointer :: p,pform integer :: i - call json%create_array(p,'CTank') - - do i=1,data%Equipments%Tanks%CTank%Count - call json%create_object(pform,'') - call json%add(pform,"WaterRate",data%Equipments%Tanks%CTanks%WaterRate) - call json%add(pform,"CementTankVolume",data%Equipments%Tanks%CTanks%CementTankVolume) - call json%add(pform,"CementTankDensity",data%Equipments%Tanks%CTanks%CementTankDensity) - call json%add(pform,"TripTankVolume",data%Equipments%Tanks%CTanks%TripTankVolume) - call json%add(pform,"TripTankDensity",data%Equipments%Tanks%CTanks%TripTankDensity) - call json%add(pform,"ManualPumpPower",data%Equipments%Tanks%CTanks%ManualPumpPower) - call json%add(pform,"Valve1",data%Equipments%Tanks%CTanks%Valve1) - call json%add(pform,"Valve2",data%Equipments%Tanks%CTanks%Valve2) - call json%add(pform,"Valve3",data%Equipments%Tanks%CTanks%Valve3) - call json%add(pform,"Valve4",data%Equipments%Tanks%CTanks%Valve4) - call json%add(pform,"Valve5",data%Equipments%Tanks%CTanks%Valve5) - call json%add(pform,"Valve6",data%Equipments%Tanks%CTanks%Valve6) - call json%add(pform,"Valve7",data%Equipments%Tanks%CTanks%Valve7) - call json%add(pform,"Valve8",data%Equipments%Tanks%CTanks%Valve8) - call json%add(pform,"Valve9",data%Equipments%Tanks%CTanks%Valve9) - call json%add(pform,"Valve10",data%Equipments%Tanks%CTanks%Valve10) - call json%add(pform,"Valve11",data%Equipments%Tanks%CTanks%Valve11) - - call json%add(p,pform) - end do - + call json%create_array(p,'Tank') + + call json%create_object(pform,'') + call json%add(pform,"WaterRate",data%EquipmentControl%Tank%WaterRate) + call json%add(pform,"CementTankVolume",data%EquipmentControl%Tank%CementTankVolume) + call json%add(pform,"CementTankDensity",data%EquipmentControl%Tank%CementTankDensity) + call json%add(pform,"TripTankVolume",data%EquipmentControl%Tank%TripTankVolume) + call json%add(pform,"TripTankDensity",data%EquipmentControl%Tank%TripTankDensity) + call json%add(pform,"ManualPumpPower",data%EquipmentControl%Tank%ManualPumpPower) + call json%add(pform,"Valve1",data%EquipmentControl%Tank%Valve1) + call json%add(pform,"Valve2",data%EquipmentControl%Tank%Valve2) + call json%add(pform,"Valve3",data%EquipmentControl%Tank%Valve3) + call json%add(pform,"Valve4",data%EquipmentControl%Tank%Valve4) + call json%add(pform,"Valve5",data%EquipmentControl%Tank%Valve5) + call json%add(pform,"Valve6",data%EquipmentControl%Tank%Valve6) + call json%add(pform,"Valve7",data%EquipmentControl%Tank%Valve7) + call json%add(pform,"Valve8",data%EquipmentControl%Tank%Valve8) + call json%add(pform,"Valve9",data%EquipmentControl%Tank%Valve9) + call json%add(pform,"Valve10",data%EquipmentControl%Tank%Valve10) + call json%add(pform,"Valve11",data%EquipmentControl%Tank%Valve11) call json%add(parent,p) end subroutine @@ -77,5 +51,4 @@ end subroutine ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 end module CTanks \ No newline at end of file diff --git a/Makefile b/Makefile index 9b7a9f4..cc86c13 100644 --- a/Makefile +++ b/Makefile @@ -163,6 +163,13 @@ SRCS_F =\ CSharp/Problems/CMudTreatmentProblemsVariables.f90 \ CSharp/Problems/CBopProblemsVariables.f90 \ Simulation/SimulationVariables.f90 \ + \ + CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 \ + CSharp/Equipments/ControlPanels/CDrillingConsole.f90 \ + CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 \ + CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 \ + CSharp/Equipments/DrillWatch/DrillWatch.f90 \ + \ CSharp/Problems/CMudTreatmentProblems.f90 \ CSharp/Problems/CChokeProblems.f90 \ CSharp/Equipments/ControlPanels/CHook.f90 \ diff --git a/Simulation/SimulationVariables.f90 b/Simulation/SimulationVariables.f90 index 6b1ccbb..169df62 100644 --- a/Simulation/SimulationVariables.f90 +++ b/Simulation/SimulationVariables.f90 @@ -98,7 +98,7 @@ module SimulationVariables Type(HookType)::Hook type(StandPipeManifoldType)::StandPipeManifold Type(TopDrivePanelType)::TopDrivePanel - ! Drill Watch + Type(DrillingWatchType)::DrillingWatch Type(TankType)::Tank end type EquipmentControlType diff --git a/SimulationCore2 b/SimulationCore2 index 1677f0d..06148e8 100644 Binary files a/SimulationCore2 and b/SimulationCore2 differ diff --git a/Simulator.f90 b/Simulator.f90 index 07187ad..f194d35 100644 --- a/Simulator.f90 +++ b/Simulator.f90 @@ -53,6 +53,17 @@ module Simulator use PermissionsModule use UnitySignalsModule + use CBopControlPanel + use CChokeControlPanel + use CChokeManifold + use CDataDisplayConsole + use CDrillingConsole + use CHook + use CStandPipeManifold + use CTopDrivePanel + use DrillingWatchModule + use CTanks + use :: json_module, rk => json_rk implicit none @@ -92,6 +103,9 @@ module Simulator call initConnection() call write_variables() call read_variables() + call jsoncore%print(jsonvalue,'test.json') + call jsoncore%destroy(jsonvalue) + ! print *,"s2=",redisContent ! call deallocateData() ! print *,"redisContent Deallocated!" @@ -198,19 +212,12 @@ module Simulator call ConfigurationToJson(jsonvalue) call WarningsToJson(jsonvalue) call ProblemsToJson(jsonvalue) + call EquipmentsToJson(jsonvalue) print *,"write starts" -<<<<<<< HEAD call jsoncore%serialize(jsonvalue,redisContent) ! s = "Test redis write!" call setData(redisContent) -======= - call json%create_object(p,'') !create the root - call ConfigurationToJson(p) - - call json%print(p,'test.json') !write it to a file - call json%destroy(p) !cleanup print *,"written" ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 print *,"write ends" end subroutine @@ -268,6 +275,31 @@ module Simulator ! call OperationScenarios_Init() end subroutine init_modules + subroutine EquipmentsToJson(parent) + + type(json_value),pointer :: parent + type(json_core) :: json + type(json_value),pointer :: p + + ! 1. create new node + call json%create_object(p,'Equipments') + + ! 2. add member of data type to new node + call BopControlPanelToJson(p) + call ChokeControlPanelToJson(p) + call ChokeManifoldToJson(p) + call DataDisplayConsoleToJson(p) + call DrillingConsoleToJson(p) + call HookToJson(p) + call StandPipeManifoldToJson(p) + call TopDrivePanelToJson(p) + call DrillingWatchToJson(p) + call TankToJson(p) + + ! 3. add new node to parent + call json%add(parent,p) + end subroutine + subroutine ConfigurationToJson(parent) type(json_value),pointer :: parent diff --git a/Text1.txt b/Text1.txt index e137903..052e4f9 100644 --- a/Text1.txt +++ b/Text1.txt @@ -1,21 +1,19 @@ -<<<<<<< HEAD - integer :: ElevatorConnection - integer :: StringUpdate - integer :: KellyConnection -======= - integer :: TopDriveTdsPowerState - logical :: TopDriveTorqueWrench - integer :: TopDriveDrillTorqueState - integer :: TopDriveLinkTiltState - logical :: TopDriveIbop - real :: TopDriveTorqueLimitKnob - real :: RpmKnob - integer :: TopDriveOperationFaultLed - integer :: TopDriveTdsPowerLed - integer :: TopDriveTorqueWrenchLed - integer :: TopDriveLinkTiltLed - integer :: TopDriveIbopLed - real :: TopDriveTorqueLimitGauge - real :: TopDriveTorqueGauge - real :: TopDriveRpmGauge ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 + real(8) :: Depth + real(8) :: BitPosition + real(8) :: HookLoad + real(8) :: WeightOnBit + real(8) :: RPM + real(8) :: ROP + real(8) :: Torque + real(8) :: PumpPressure + real(8) :: SPM1 + real(8) :: SPM2 + real(8) :: CasingPressure + real(8) :: PercentFlow + real(8) :: PitGainLose + real(8) :: PitVolume + real(8) :: KillMudVolume + real(8) :: TripTankVolume + real(8) :: MudWeightIn + real(8) :: FillVolume + real(8) :: MudWeightOut diff --git a/helper.ipynb b/helper.ipynb index cbf6117..05f3235 100644 --- a/helper.ipynb +++ b/helper.ipynb @@ -1,73 +1,22 @@ { "cells": [ { -<<<<<<< HEAD "attachments": {}, "cell_type": "markdown", "metadata": {}, -======= - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[' real(8) :: AnnularRegulatorSetControl\\n',\n", - " ' real(8) :: AirMasterValve\\n',\n", - " ' real(8) :: ByePassValve\\n',\n", - " ' real(8) :: AnnularValve\\n',\n", - " ' real(8) :: UpperRamsValve\\n',\n", - " ' real(8) :: MiddleRamsValve\\n',\n", - " ' real(8) :: KillLineValve\\n',\n", - " ' real(8) :: ChokeLineValve\\n',\n", - " ' real(8) :: LowerRamsValve\\n',\n", - " ' real(8) :: ManifoldPressureGauge\\n',\n", - " ' real(8) :: AirSupplyPressureGauge\\n',\n", - " ' real(8) :: AccumulatorPressureGauge\\n',\n", - " ' real(8) :: AnnularPressureGauge\\n',\n", - " ' integer :: AnnularOpenLED\\n',\n", - " ' integer :: AnnularCloseLED\\n',\n", - " ' integer :: UpperRamsOpenLED\\n',\n", - " ' integer :: UpperRamsCloseLED\\n',\n", - " ' integer :: MiddleRamsOpenLED\\n',\n", - " ' integer :: MiddleRamsCloseLED\\n',\n", - " ' integer :: KillLineOpenLED\\n',\n", - " ' integer :: KillLineCloseLED\\n',\n", - " ' integer :: ChokeLineOpenLED\\n',\n", - " ' integer :: ChokeLineCloseLED\\n',\n", - " ' integer :: LowerRamsOpenLED\\n',\n", - " ' integer :: LowerRamsCloseLED\\n',\n", - " ' real(8) :: AnnularStatus\\n',\n", - " ' real(8) :: UpperRamsStatus\\n',\n", - " ' real(8) :: MiddleRamsStatus\\n',\n", - " ' real(8) :: LowerRamsStatus']" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 "source": [ "# Make makefile" ] }, { "cell_type": "code", -<<<<<<< HEAD "execution_count": 72, -======= - "execution_count": 5, ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ -<<<<<<< HEAD "\tCSharp/OperationScenarios/Common/COperationScenariosVariables.f90 /\n", "\tTorqueDrag/TD_Modules/TD_WellGeometry.f90 /\n", "\tTorqueDrag/TD_Modules/TD_WellElements.f90 /\n", @@ -373,28 +322,10 @@ "\tSimulationCore2.f90 /\n", "\tEquipments/MudSystem/Plot_Final_Mud_Elements.f90 /\n", "\tFluidFlow/Fluid_Flow_Solver.f90 /\n" -======= - "call json%add(p,\"TopDriveTdsPowerState\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerState)\n", - "call json%add(p,\"TopDriveTorqueWrench\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrench)\n", - "call json%add(p,\"TopDriveDrillTorqueState\",data%Equipments%ControlPanel%CTopDrive%TopDriveDrillTorqueState)\n", - "call json%add(p,\"TopDriveLinkTiltState\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltState)\n", - "call json%add(p,\"TopDriveIbop\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbop)\n", - "call json%add(p,\"TopDriveTorqueLimitKnob\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob)\n", - "call json%add(p,\"RpmKnob\",data%Equipments%ControlPanel%CTopDrive%RpmKnob)\n", - "call json%add(p,\"TopDriveOperationFaultLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveOperationFaultLed)\n", - "call json%add(p,\"TopDriveTdsPowerLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerLed)\n", - "call json%add(p,\"TopDriveTorqueWrenchLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed)\n", - "call json%add(p,\"TopDriveLinkTiltLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltLed)\n", - "call json%add(p,\"TopDriveIbopLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbopLed)\n", - "call json%add(p,\"TopDriveTorqueLimitGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge)\n", - "call json%add(p,\"TopDriveTorqueGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueGauge)\n", - "call json%add(p,\"TopDriveRpmGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveRpmGauge)\n" ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 ] } ], "source": [ -<<<<<<< HEAD "import re\n", "current_dir = 'C:\\\\Projects\\\\VSIM\\\\SimulationCore2\\\\'\n", "target_dir = 'x64\\\\Debug\\\\'\n", @@ -973,25 +904,38 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{\"HoleType\":0,\n", - "\"Angle\":0,\n", - "\"Length\":0,\n", - "\"FinalAngle\":0,\n", - "\"TotalLength\":0,\n", - "\"MeasuredDepth\":0,\n", - "\"TotalVerticalDepth\":0,\n", + "{\"Depth\":0,\n", + "\"BitPosition\":0,\n", + "\"HookLoad\":0,\n", + "\"WeightOnBit\":0,\n", + "\"RPM\":0,\n", + "\"ROP\":0,\n", + "\"Torque\":0,\n", + "\"PumpPressure\":0,\n", + "\"SPM1\":0,\n", + "\"SPM2\":0,\n", + "\"CasingPressure\":0,\n", + "\"PercentFlow\":0,\n", + "\"PitGainLose\":0,\n", + "\"PitVolume\":0,\n", + "\"KillMudVolume\":0,\n", + "\"TripTankVolume\":0,\n", + "\"MudWeightIn\":0,\n", + "\"FillVolume\":0,\n", + "\"MudWeightOut\":0,\n", "}\n" ] } ], "source": [ + "#Artifical JSon\n", "input = open(\"Text1.txt\")\n", "output = \"{\"\n", "lines = input.readlines()\n", @@ -1020,10 +964,7 @@ } ], "source": [ - "precode = \"\"\"call ProblemToJson(p,\"\",data%State%OperationScenarios%\"\"\"\n", -======= - "precode = \"\"\"call json%add(pform,\"\",data%Equipments%ControlPanel%CTopDrive%\"\"\"\n", ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 + "precode = \"\"\"call json%add(pform,\"TopDriveTdsPowerState\",data%EquipmentControl%DrillingWatch%\"\"\"\n", "input = open(\"Text1.txt\")\n", "lines = input.readlines()\n", "for line in lines:\n", @@ -1037,72 +978,24 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 20, + "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "call HoistingToJson(p)\n", - "call OperationScenarioToJson(p)\n", - "call notificationsToJson(p)\n", - "call permissionsToJson(p)\n", - "call unitySignalsToJson(p)\n", - "call StudentStationToJson(p)\n", - "call BopStackInputToJson(p)\n", - "call BopStackAccToJson(p)\n", - "call RamLineToJson(p)\n", - "call AnnularComputationalToJson(p)\n", - "call AnnularToJson(p)\n", - "call PipeRam1ToJson(p)\n", - "call ShearRamToJson(p)\n", - "call PipeRam2ToJson(p)\n", - "call ChokeLineToJson(p)\n", - "call KillLineToJson(p)\n", - "call PumpsToJson(p)\n", - "call RAMToJson(p)\n", - "call RAMSToJson(p)\n", - "call ChokeToJson(p)\n", - "call AirDrivenPumpToJson(p)\n", - "call AirPumpLineToJson(p)\n", - "call CHOOKEToJson(p)\n", - "call DrawworksToJson(p)\n", - "call MudSystemToJson(p)\n", - "call MUDToJson(p)\n", - "call MPumpsToJson(p)\n", - "call PUMPToJson(p)\n", - "call RTableToJson(p)\n", - "call TDSToJson(p)\n", - "call GasType(3) ! 1 = methane , 2 = Hydrogen sulfide , 3 = Carbon dioxidToJson(p)\n", - "call PressureDisplayToJson(p)\n", - "call FricPressDropToJson(p)\n", - "call ROP_SpecToJson(p)\n", - "call ROP_BitToJson(p)\n", - "call TDGeoToJson(p)\n", - "call F_String(:)ToJson(p)\n", - "call F_CountsToJson(p)\n", - "call F_Interval(:)ToJson(p)\n", - "call OD_Annulus(4)ToJson(p)\n", - "call TD_DrillStemToJson(p)\n", - "call TD_DrillStemsToJson(p)\n", - "call TD_StringToJson(p)\n", - "call TD_CountToJson(p)\n", - "call G_StringElementToJson(p)\n", - "call TD_VolToJson(p)\n", - "call TD_GeneralToJson(p)\n", - "call TD_BOPToJson(p)\n", - "call TD_BOPElement(4)ToJson(p)\n", - "call TD_StConnToJson(p)\n", - "call TD_LoadToJson(p)\n", - "call TD_WellElToJson(p)\n", - "call TD_CasingToJson(p)\n", - "call TD_LinerToJson(p)\n", - "call TD_OpenHoleToJson(p)\n", - "call TD_ROPHoleToJson(p)\n", - "call TD_WellGeneralToJson(p)\n", - "call TD_WellGeo(:)ToJson(p)\n" + "call BopControlPanelToJson(p)\n", + "call ChokeControlPanelToJson(p)\n", + "call ChokeManifoldToJson(p)\n", + "call DataDisplayConsoleToJson(p)\n", + "call DrillingConsoleToJson(p)\n", + "call HookToJson(p)\n", + "call StandPipeManifoldToJson(p)\n", + "call TopDrivePanelToJson(p)\n", + "call ! Drill WatchToJson(p)\n", + "call DrillingWatchToJson(p)\n", + "call TankToJson(p)\n" ] } ], @@ -1123,9 +1016,6 @@ { "cell_type": "code", "execution_count": 3, -======= - "execution_count": 2, ->>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 "metadata": {}, "outputs": [ { @@ -1156,6 +1046,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1565,7 +1456,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -1579,8 +1470,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.9.12" }, + "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "1ef4a26de7183d96d6da1045a38581e0a15b2215d0c1b98c7b273c6e514c6c7e" diff --git a/test.json b/test.json index 45b4ee3..ca18ce2 100644 --- a/test.json +++ b/test.json @@ -1,252 +1,1044 @@ -{ - "Configuration": { - "StringConfiguration": { - "StringConfigurationItems": [ - {"BitType":0, - "BitSize":0, - "BitCodeHundreds":0, - "BitCodeTens":0, - "BitCodeOnes":0, - "BitNozzleSize":0, - "BitLength":0, - "BitWeightPerLength":0, - "BitNozzleNo":0, - "FloatValve":0 - } - , - {"BitType":0, - "BitSize":0, - "BitCodeHundreds":0, - "BitCodeTens":0, - "BitCodeOnes":0, - "BitNozzleSize":0, - "BitLength":0, - "BitWeightPerLength":0, - "BitNozzleNo":0, - "FloatValve":0 - } - ], - "BitDefenition": { - "BitCodeHundreds": 0, - "BitCodeOnes": 0, - "BitCodeTens": 0, - "BitLength": 0.0E+0, - "BitNozzleNo": 0, - "BitNozzleSize": 0.0E+0, - "BitSize": 0.0E+0, - "BitType": 0, - "BitWeightPerLength": 0.0E+0, - "FloatValve": false - } - }, - "Fromations": [ - {"Top":0, - "Thickness":0, - "Drillablity":0, - "Abrasiveness":0, - "ThresholdWeight":0, - "PorePressureGradient":0 - }, - {"Top":0, - "Thickness":0, - "Drillablity":0, - "Abrasiveness":0, - "ThresholdWeight":0, - "PorePressureGradient":0 - } - ], - "Reservoir": { - "AutoMigrationRate": 0.0E+0, - "FluidGradient": 0.0E+0, - "FluidType": 0, - "FluidViscosity": 0.0E+0, - "FormationNo": 0, - "FormationPermeability": 0.0E+0, - "FormationTop": 0.0E+0, - "GeothermalGradient": 0.0E+0, - "InactiveInflux": false, - "IsAutoMigrationRateSelected": false, - "MakeKickSinglePacket": false, - "PressureGradient": 0.0E+0 - }, - "Shoe": { - "Breakdown": 0.0E+0, - "FormationNo": 0, - "FracturePropagation": 0.0E+0, - "InactiveFracture": false, - "LeakOff": 0.0E+0, - "ShoeDepth": 0.0E+0 - }, - "Accumulator": { - "AccumulatorMinimumOperatingPressure": 0.0E+0, - "AccumulatorSystemSize": 0.0E+0, - "AirPlungerPumpOutput": 0.0E+0, - "ElectricPumpOutput": 0.0E+0, - "NumberOfBottels": 0, - "OilTankVolume": 0.0E+0, - "PrechargePressure": 0.0E+0, - "StartPressure": 0.0E+0, - "StartPressure2": 0.0E+0, - "StopPressure": 0.0E+0, - "StopPressure2": 0.0E+0 - }, - "BopStack": { - "AboveAnnularHeight": 0.1E+2, - "AnnularPreventerClose": 0.0E+0, - "AnnularPreventerHeight": 0.10199999999999999E+2, - "AnnularPreventerOpen": 0.0E+0, - "AnnularStringDrag": 0.0E+0, - "BlindRamClose": 0.0E+0, - "BlindRamHeight": 0.16239999999999998E+2, - "BlindRamOpen": 0.0E+0, - "ChokeClose": 0.0E+0, - "ChokeLineId": 0.0E+0, - "ChokeLineLength": 0.0E+0, - "ChokeOpen": 0.0E+0, - "GroundLevel": 0.3E+2, - "KillClose": 0.15E+1, - "KillHeight": 0.18800000000000001E+2, - "KillOpen": 0.15E+1, - "LowerRamClose": 0.0E+0, - "LowerRamHeight": 0.21350000000000001E+2, - "LowerRamOpen": 0.0E+0, - "RamStringDrag": 0.0E+0, - "UpperRamClose": 0.0E+0, - "UpperRamHeight": 0.14632E+2, - "UpperRamOpen": 0.0E+0 - }, - "Hoisting": { - "DrillingLineBreakingLoadAbrasiveness": 0.0E+0, - "DriveTypeAbrasiveness": 0, - "KellyWeightAbrasiveness": 0.0E+0, - "NumberOfLineAbrasiveness": 0, - "TopDriveWeightAbrasiveness": 0.0E+0, - "TravelingBlockWeightAbrasiveness": 0.0E+0 - }, - "Power": { - "CementPump": 0.0E+0, - "Drawworks": 0.0E+0, - "GeneratorPowerRating": 0.0E+0, - "MudPump1": 0.0E+0, - "MudPump2": 0.0E+0, - "NumberOfgenerators": 0, - "RotaryTable": 0.0E+0, - "TopDrive": 0.0E+0 - }, - "Pumps": { - "MudPump1LinerDiameter": 0.0E+0, - "MudPump1Stroke": 0.0E+0, - "MudPump1MechanicalEfficiency": 0.0E+0, - "MudPump1VolumetricEfficiency": 0.0E+0, - "MudPump1Output": 0.0E+0, - "MudPump1OutputBblStroke": 0.0E+0, - "MudPump1Maximum": 0.0E+0, - "MudPump1ReliefValvePressure": 0.0E+0, - "MudPump2LinerDiameter": 0.0E+0, - "MudPump2Stroke": 0.0E+0, - "MudPump2MechanicalEfficiency": 0.0E+0, - "MudPump2VolumetricEfficiency": 0.0E+0, - "MudPump2Output": 0.0E+0, - "MudPump2OutputBblStroke": 0.0E+0, - "MudPump2Maximum": 0.0E+0, - "MudPump2ReliefValvePressure": 0.0E+0, - "CementPumpLinerDiameter": 0.0E+0, - "CementPumpStroke": 0.0E+0, - "CementPumpMechanicalEfficiency": 0.0E+0, - "CementPumpVolumetricEfficiency": 0.0E+0, - "CementPumpOutput": 0.0E+0, - "CementPumpOutputBblStroke": 0.0E+0, - "CementPumpMaximum": 0.0E+0, - "CementPumpReliefValvePressure": 0.0E+0, - "MudPump1ReliefValveIsSet": false, - "MudPump2ReliefValveIsSet": false, - "CementPumpReliefValveIsSet": false, - "ManualPumpPower": false, - "Valve1": false, - "Valve2": false, - "Valve3": false, - "Valve4": false, - "Valve5": false - }, - "RigSize": { - "RigType": 0, - "CrownHeight": 0.0E+0, - "MonkeyBoandHeight": 0.0E+0, - "RigFloorHeight": 0.0E+0 - }, - "CasingLinerChoke": { - "CasingDepth": 0.0E+0, - "CasingId": 0.0E+0, - "CasingOd": 0.0E+0, - "CasingWeight": 0.0E+0, - "CasingCollapsePressure": 0.0E+0, - "CasingTensileStrength": 0.0E+0, - "LinerTopDepth": 0.0E+0, - "LinerLength": 0.0E+0, - "LinerId": 0.0E+0, - "LinerOd": 0.0E+0, - "LinerWeight": 0.0E+0, - "LinerCollapsePressure": 0.0E+0, - "LinerTensileStrength": 0.0E+0, - "OpenHoleId": 0.0E+0, - "OpenHoleLength": 0.0E+0 - }, - "Path": { - "Items": [ - {"HoleType":0, - "Angle":0, - "Length":0, - "FinalAngle":0, - "TotalLength":0, - "MeasuredDepth":0, - "TotalVerticalDepth":0 - }, - {"HoleType":0, - "Angle":0, - "Length":0, - "FinalAngle":0, - "TotalLength":0, - "MeasuredDepth":0, - "TotalVerticalDepth":0 - } - ], - "DataPoints": [ - {"X":0, - "Y":0 - }, - {"X":0, - "Y":0 - } - ] - }, - "Mud": { - "ActiveMudType": 0, - "ActiveRheologyModel": 0, - "ActiveMudVolume": 0.0E+0, - "ActiveMudVolumeGal": 0.0E+0, - "ActiveDensity": 0.0E+0, - "ActivePlasticViscosity": 0.0E+0, - "ActiveYieldPoint": 0.0E+0, - "ActiveThetaThreeHundred": 0.0E+0, - "ActiveThetaSixHundred": 0.0E+0, - "ReserveMudType": 0, - "ReserveMudVolume": 0.0E+0, - "ReserveMudVolumeGal": 0.0E+0, - "ReserveDensity": 0.0E+0, - "ReservePlasticViscosity": 0.0E+0, - "ReserveYieldPoint": 0.0E+0, - "ReserveThetaThreeHundred": 0.0E+0, - "ReserveThetaSixHundred": 0.0E+0, - "ActiveTotalTankCapacity": 0.0E+0, - "ActiveTotalTankCapacityGal": 0.0E+0, - "ActiveSettledContents": 0.0E+0, - "ActiveSettledContentsGal": 0.0E+0, - "ActiveTotalContents": 0.0E+0, - "ActiveTotalContentsGal": 0.0E+0, - "ActiveAutoDensity": false, - "InitialTripTankMudVolume": 0.0E+0, - "InitialTripTankMudVolumeGal": 0.0E+0, - "PedalFlowMeter": 0.0E+0 - } - } -} +{ + "Configuration": { + "StringConfiguration": { + "StringConfigurationItems": [], + "BitDefenition": { + "BitCodeHundreds": 0, + "BitCodeOnes": 0, + "BitCodeTens": 0, + "BitLength": 0.0E+0, + "BitNozzleNo": 0, + "BitNozzleSize": 0.0E+0, + "BitSize": 0.0E+0, + "BitType": 0, + "BitWeightPerLength": 0.0E+0, + "FloatValve": false + } + }, + "Formations": [], + "Reservoir": { + "AutoMigrationRate": 0.0E+0, + "FluidGradient": 0.0E+0, + "FluidType": 0, + "FluidViscosity": 0.0E+0, + "FormationNo": 0, + "FormationPermeability": 0.0E+0, + "FormationTop": 0.0E+0, + "GeothermalGradient": 0.0E+0, + "InactiveInflux": false, + "IsAutoMigrationRateSelected": false, + "MakeKickSinglePacket": false, + "PressureGradient": 0.0E+0 + }, + "Shoe": { + "Breakdown": 0.0E+0, + "FormationNo": 0, + "FracturePropagation": 0.0E+0, + "InactiveFracture": false, + "LeakOff": 0.0E+0, + "ShoeDepth": 0.0E+0 + }, + "Accumulator": { + "AccumulatorMinimumOperatingPressure": 0.0E+0, + "AccumulatorSystemSize": 0.0E+0, + "AirPlungerPumpOutput": 0.0E+0, + "ElectricPumpOutput": 0.0E+0, + "NumberOfBottels": 0, + "OilTankVolume": 0.0E+0, + "PrechargePressure": 0.0E+0, + "StartPressure": 0.0E+0, + "StartPressure2": 0.0E+0, + "StopPressure": 0.0E+0, + "StopPressure2": 0.0E+0 + }, + "BopStack": { + "AboveAnnularHeight": 0.1E+2, + "AnnularPreventerClose": 0.0E+0, + "AnnularPreventerHeight": 0.10199999999999999E+2, + "AnnularPreventerOpen": 0.0E+0, + "AnnularStringDrag": 0.0E+0, + "BlindRamClose": 0.0E+0, + "BlindRamHeight": 0.16239999999999998E+2, + "BlindRamOpen": 0.0E+0, + "ChokeClose": 0.0E+0, + "ChokeLineId": 0.0E+0, + "ChokeLineLength": 0.0E+0, + "ChokeOpen": 0.0E+0, + "GroundLevel": 0.3E+2, + "KillClose": 0.15E+1, + "KillHeight": 0.18800000000000001E+2, + "KillOpen": 0.15E+1, + "LowerRamClose": 0.0E+0, + "LowerRamHeight": 0.21350000000000001E+2, + "LowerRamOpen": 0.0E+0, + "RamStringDrag": 0.0E+0, + "UpperRamClose": 0.0E+0, + "UpperRamHeight": 0.14632E+2, + "UpperRamOpen": 0.0E+0 + }, + "Hoisting": { + "DrillingLineBreakingLoadAbrasiveness": 0.0E+0, + "DriveTypeAbrasiveness": 0, + "KellyWeightAbrasiveness": 0.0E+0, + "NumberOfLineAbrasiveness": 0, + "TopDriveWeightAbrasiveness": 0.0E+0, + "TravelingBlockWeightAbrasiveness": 0.0E+0 + }, + "Power": { + "CementPump": 0.0E+0, + "Drawworks": 0.0E+0, + "GeneratorPowerRating": 0.0E+0, + "MudPump1": 0.0E+0, + "MudPump2": 0.0E+0, + "NumberOfgenerators": 0, + "RotaryTable": 0.0E+0, + "TopDrive": 0.0E+0 + }, + "Pumps": { + "MudPump1LinerDiameter": 0.0E+0, + "MudPump1Stroke": 0.0E+0, + "MudPump1MechanicalEfficiency": 0.0E+0, + "MudPump1VolumetricEfficiency": 0.0E+0, + "MudPump1Output": 0.0E+0, + "MudPump1OutputBblStroke": 0.0E+0, + "MudPump1Maximum": 0.0E+0, + "MudPump1ReliefValvePressure": 0.0E+0, + "MudPump2LinerDiameter": 0.0E+0, + "MudPump2Stroke": 0.0E+0, + "MudPump2MechanicalEfficiency": 0.0E+0, + "MudPump2VolumetricEfficiency": 0.0E+0, + "MudPump2Output": 0.0E+0, + "MudPump2OutputBblStroke": 0.0E+0, + "MudPump2Maximum": 0.0E+0, + "MudPump2ReliefValvePressure": 0.0E+0, + "CementPumpLinerDiameter": 0.0E+0, + "CementPumpStroke": 0.0E+0, + "CementPumpMechanicalEfficiency": 0.0E+0, + "CementPumpVolumetricEfficiency": 0.0E+0, + "CementPumpOutput": 0.0E+0, + "CementPumpOutputBblStroke": 0.0E+0, + "CementPumpMaximum": 0.0E+0, + "CementPumpReliefValvePressure": 0.0E+0, + "MudPump1ReliefValveIsSet": false, + "MudPump2ReliefValveIsSet": false, + "CementPumpReliefValveIsSet": false, + "ManualPumpPower": false, + "Valve1": false, + "Valve2": false, + "Valve3": false, + "Valve4": false, + "Valve5": false + }, + "RigSize": { + "RigType": 0, + "CrownHeight": 0.0E+0, + "MonkeyBoandHeight": 0.0E+0, + "RigFloorHeight": 0.0E+0 + }, + "CasingLinerChoke": { + "CasingDepth": 0.0E+0, + "CasingId": 0.0E+0, + "CasingOd": 0.0E+0, + "CasingWeight": 0.0E+0, + "CasingCollapsePressure": 0.0E+0, + "CasingTensileStrength": 0.0E+0, + "LinerTopDepth": 0.0E+0, + "LinerLength": 0.0E+0, + "LinerId": 0.0E+0, + "LinerOd": 0.0E+0, + "LinerWeight": 0.0E+0, + "LinerCollapsePressure": 0.0E+0, + "LinerTensileStrength": 0.0E+0, + "OpenHoleId": 0.0E+0, + "OpenHoleLength": 0.0E+0 + }, + "Path": { + "Items": [], + "DataPoints": [] + }, + "Mud": { + "ActiveMudType": 0, + "ActiveRheologyModel": 0, + "ActiveMudVolume": 0.0E+0, + "ActiveMudVolumeGal": 0.0E+0, + "ActiveDensity": 0.0E+0, + "ActivePlasticViscosity": 0.0E+0, + "ActiveYieldPoint": 0.0E+0, + "ActiveThetaThreeHundred": 0.0E+0, + "ActiveThetaSixHundred": 0.0E+0, + "ReserveMudType": 0, + "ReserveMudVolume": 0.0E+0, + "ReserveMudVolumeGal": 0.0E+0, + "ReserveDensity": 0.0E+0, + "ReservePlasticViscosity": 0.0E+0, + "ReserveYieldPoint": 0.0E+0, + "ReserveThetaThreeHundred": 0.0E+0, + "ReserveThetaSixHundred": 0.0E+0, + "ActiveTotalTankCapacity": 0.0E+0, + "ActiveTotalTankCapacityGal": 0.0E+0, + "ActiveSettledContents": 0.0E+0, + "ActiveSettledContentsGal": 0.0E+0, + "ActiveTotalContents": 0.0E+0, + "ActiveTotalContentsGal": 0.0E+0, + "ActiveAutoDensity": false, + "InitialTripTankMudVolume": 0.0E+0, + "InitialTripTankMudVolumeGal": 0.0E+0, + "PedalFlowMeter": 0.0E+0 + } + }, + "Warnings": { + "PumpWithKellyDisconnected": false, + "PumpWithTopdriveDisconnected": false, + "Pump1PopOffValveBlown": false, + "Pump1Failure": false, + "Pump2PopOffValveBlown": false, + "Pump2Failure": false, + "Pump3PopOffValveBlown": false, + "Pump3Failure": false, + "DrawworksGearsAbuse": false, + "RotaryGearsAbuse": false, + "HoistLineBreak": false, + "PartedDrillString": false, + "ActiveTankOverflow": false, + "ActiveTankUnderVolume": false, + "TripTankOverflow": false, + "DrillPipeTwistOff": false, + "DrillPipeParted": false, + "TripWithSlipsSet": false, + "Blowout": false, + "UndergroundBlowout": false, + "MaximumWellDepthExceeded": false, + "CrownCollision": false, + "FloorCollision": false, + "TopdriveRotaryTableConfilict": false + }, + "Problems": { + "BitProblems": { + "JetWashout": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "PlugJets": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "JetWashoutCount": 0, + "PlugJetsCount": 0 + }, + "BopProblems": { + "AnnularWash": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AnnularFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AnnularLeak": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "UpperRamWash": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "UpperRamFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "UpperRamLeak": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "MiddleRamWash": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "MiddleRamFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "MiddleRamLeak": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "LowerRamWash": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "LowerRamFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "LowerRamLeak": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AccumulatorPumpFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AccumulatorPumpLeak": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AccumulatorSystemFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AccumulatorSystemLeak": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "ChokeProblems": { + "HydraulicChoke1Plugged": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "HydraulicChoke1Fail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "HydraulicChoke1Washout": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "HydraulicChoke2Plugged": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "HydraulicChoke2Fail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "HydraulicChoke2Washout": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManualChoke1Plugged": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManualChoke1Fail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManualChoke1Washout": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManualChoke2Plugged": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManualChoke2Fail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManualChoke2Washout": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ChokePanelAirFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "DrillStemsProblems": { + "StringDragIncrease": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "StringTorqueIncrease": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "StringTorqueFluctuation": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "StringDragIncreaseTime": 0.0E+0, + "StringTorqueIncreaseTime": 0.0E+0 + }, + "GaugesProblems": { + "WeightIndicator": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "RotaryRpm": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "RotaryTorque": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "StandPipePressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "CasingPressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Pump1Strokes": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Pump2Strokes": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ReturnLineTemperature": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "TripTank": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "PitGainLoss": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "MudTankVolume": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ReturnMudFlow": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "TorqueLimit": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "PowerLimit": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AccumulatorPressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ManifoldPressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "AnnularPressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "RigAirPressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "StandPipe1": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "StandPipe2": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "DrillPipePressure": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ChokePosition": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "CasingPressure2": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "HoistingProblems": { + "MotorFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ClutchEngage": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ClutchDisengage": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "KickProblems": { + "Kick": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "FluidType": 0, + "FlowRate": 0, + "OverBalancePressure": 0, + "IsAutoMigrationRateSelected": false, + "AutoMigrationRate": 0.0E+0 + }, + "Configuration": { + "LostCirculation": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "FlowRate": 0.0E+0 + }, + "MudTreatmentProblems": { + "Degasser": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "ShaleShaker": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Desander": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Desilter": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "OtherProblems": { + "RigAlarm": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "RigWaterSupply": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "RigAir": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Gen1": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Gen2": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Gen3": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Gen4": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Scr1": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Scr2": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Scr3": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Scr4": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "PumpProblems": { + "Pump1PowerFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Pump1BlowPopOffValve": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Pump2PowerFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "Pump2BlowPopOffValve": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "CementPumpPowerFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "CementPumpBlowPopOffValve": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + }, + "RotaryProblems": { + "MotorFail": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + }, + "OverideTorqueLimit": { + "ProblemType": 0, + "StatusType": 0, + "Value": 0.0E+0, + "DueValue": 0.0E+0 + } + } + }, + "Equipments": { + "BopControl": { + "AnnularRegulatorSetControl": 0.0E+0, + "AirMasterValve": 0.0E+0, + "ByePassValve": 0.0E+0, + "AnnularValve": 0.0E+0, + "UpperRamsValve": 0.0E+0, + "MiddleRamsValve": 0.0E+0, + "KillLineValve": 0.0E+0, + "ChokeLineValve": 0.0E+0, + "LowerRamsValve": 0.0E+0, + "ManifoldPressureGauge": 0.0E+0, + "AirSupplyPressureGauge": 0.0E+0, + "AccumulatorPressureGauge": 0.0E+0, + "AnnularPressureGauge": 0.0E+0, + "AnnularOpenLED": 0, + "AnnularCloseLED": 0, + "UpperRamsOpenLED": 0, + "UpperRamsCloseLED": 0, + "MiddleRamsOpenLED": 0, + "MiddleRamsCloseLED": 0, + "KillLineOpenLED": 0, + "KillLineCloseLED": 0, + "ChokeLineOpenLED": 0, + "ChokeLineCloseLED": 0, + "LowerRamsOpenLED": 0, + "LowerRamsCloseLED": 0, + "AnnularStatus": 0.0E+0, + "UpperRamsStatus": 0.0E+0, + "MiddleRamsStatus": 0.0E+0, + "LowerRamsStatus": 0.0E+0 + }, + "ChokeControl": { + "ChokePanelPumpSelectorSwitch": 0, + "ChokePanelStrokeResetSwitch": false, + "ChokeSelectorSwitch": false, + "ChokeRateControlKnob": 0.0E+0, + "ChokeControlLever": 0.0E+0, + "ChokePanelRigAirSwitch": false, + "EnableAutoChoke": false, + "StandPipePressure": 0.0E+0, + "CasingPressure": 0.0E+0, + "ChokePosition": 0.0E+0, + "ChokePanelSPMCounter": 0.0E+0, + "ChokePanelTotalStrokeCounter": 0.0E+0, + "Choke1LED": 0, + "Choke2LED": 0 + }, + "ChokeManifold": { + "ChokeManifoldValve1": false, + "ChokeManifoldValve2": false, + "LeftManualChoke": 0.0E+0, + "ChokeManifoldValve4": false, + "ChokeManifoldValve5": false, + "RightManualChoke": 0.0E+0, + "ChokeManifoldValve7": false, + "ChokeManifoldValve8": false, + "ChokeManifoldValve9": false, + "ChokeManifoldValve10": false, + "ChokeManifoldValve11": false, + "ChokeManifoldValve12": false, + "ChokeManifoldValve13": false, + "HydraulicChock1": 0, + "HydraulicChock2": 0, + "HyChock1OnProblem": false, + "HyChock2OnProblem": false, + "LeftManChokeOnProblem": false, + "RightManChokeOnProblem": false + }, + "DataDisplay": { + "TripAlarmLow": 0.0E+0, + "TripAlarmHigh": 0.0E+0, + "RetFlowAlarmLow": 0.0E+0, + "RetFlowAlarmHigh": 0.0E+0, + "PitAlarmLow": 0.0E+0, + "PitAlarmHigh": 0.0E+0, + "PortWeightOnBit": 0.0E+0, + "PortHookLoad": 0.0E+0, + "PortCasingPressure": 0.0E+0, + "PortPumpPressure": 0.0E+0, + "TripTankSetAlarmLow": 0.0E+0, + "TripTankSetAlarmHigh": 0.0E+0, + "TripTankSetAlarmSwitch": 0, + "TripTankPowerSwitch": false, + "TripTankPumpSwitch": false, + "TripTankHornSwitch": false, + "AcidGasDetectionHornSwitch": false, + "TotalStrokeCounterResetSwitch": false, + "DrillingTrippingSelectorSwitch": false, + "MVTSetAlarmLowKnob": 0.0E+0, + "MVTSetAlarmHighKnob": 0.0E+0, + "MVTSetAlarmSwitch": 0, + "MudTank1Switch": false, + "MudTank2Switch": false, + "MudTank3Switch": false, + "MudTank4Switch": false, + "MVTFineKnob": 0.0E+0, + "MVTCoarseKnob": 0.0E+0, + "MVTHornSwitch": false, + "MVTDeviationTripSelectionSwitch": false, + "MVTPowerSwitch": false, + "MFFIResetTotalStrokes": false, + "MFFIResetFillCounter": false, + "MFFIPumpSelectorSwitch": 0, + "MFFIFillSPMSelectorSwitch": false, + "MFFISetAlarmLowKnob": 0.0E+0, + "MFFISetAlarmHighKnob": 0.0E+0, + "MFFISetAlarmSwitch": 0, + "MFFIPowerSwitch": false, + "MFFIHornSwitch": false, + "ResetWob": false, + "Clutch": false, + "WOBPointer": 0.0E+0, + "HookLoadPointer": 0.0E+0, + "TripTankGauge": 0.0E+0, + "TripTankAlarmLED": 0, + "TripTankPumpLED": 0, + "StandPipePressureGauge": 0.0E+0, + "CasingPressureGauge": 0.0E+0, + "MP1SPMGauge": 0.0E+0, + "MP2SPMGauge": 0.0E+0, + "ReturnLineTempGauge": 0.0E+0, + "RotaryTorqueGauge": 0.0E+0, + "RotaryRPMGauge": 0.0E+0, + "AcidGasDetectionLED": 0, + "TotalStrokeCounter": 0.0E+0, + "PitGainLossGauge": 0.0E+0, + "MudTanksVolumeGauge": 0.0E+0, + "MVTAlarmLED": 0, + "ReturnMudFlowGauge": 0.0E+0, + "FillStrokeCounter": 0.0E+0, + "MFFITotalStrokeCounter": 0.0E+0, + "MFFIAlarmLED": 0, + "MFFIPumpLED": 0, + "TotalWellDepth": 0.0E+0, + "BitDepth": 0.0E+0, + "HookLoad": 0.0E+0, + "StandPipePressure": 0.0E+0, + "CasingPressure": 0.0E+0, + "MP1SPM": 0.0E+0, + "MP2SPM": 0.0E+0, + "RTTorque": 0.0E+0, + "RTRPM": 0.0E+0, + "WOP": 0.0E+0, + "ROP": 0.0E+0, + "MudWeightIn": 0.0E+0, + "MudWeightOut": 0.0E+0, + "Buzzer1": false, + "Buzzer2": false, + "Buzzer3": false, + "Buzzer4": false + }, + "Drilling": { + "AssignmentSwitch": 0, + "EmergencySwitch": false, + "RTTorqueLimitKnob": 0.0E+0, + "MP1CPSwitchI": 0, + "MP1CPSwitchT": 0, + "MP1CPSwitch": 0, + "MP1ThrottleUpdate": false, + "MP1Throttle": -0.1E+1, + "MP2SwitchI": 0, + "MP2SwitchT": false, + "MP2Switch": false, + "MP2ThrottleUpdate": false, + "MP2Throttle": -0.1E+1, + "DWSwitch": 0, + "DWThrottle": 0.0E+0, + "RTSwitch": 0, + "RTThrottle": 0.0E+0, + "DWBreak": 0.0E+0, + "PreviousDWBreak": 0.0E+0, + "ForceBreak": false, + "DWAcceleretor": 0.0E+0, + "DWTransmisionLever": 0.0E+0, + "DWPowerLever": 0.0E+0, + "TongLever": 0.0E+0, + "RTTransmissionLever": 0.0E+0, + "DWClutchLever": 0.0E+0, + "EddyBreakLever": 0.0E+0, + "AutoDW": false, + "GEN1": false, + "GEN2": false, + "GEN3": false, + "GEN4": false, + "Permission_OpenKellyCock": false, + "OpenKellyCock": false, + "Permission_CloseKellyCock": false, + "CloseKellyCock": false, + "Permission_OpenSafetyValve": false, + "OpenSafetyValve": false, + "Permission_CloseSafetyValve": false, + "CloseSafetyValve": false, + "Permission_IRSafetyValve": false, + "IRSafetyValve": false, + "Permission_IRIBop": false, + "IRIBop": false, + "LatchPipe": false, + "UnlatchPipe": false, + "Swing": false, + "FillMouseHole": false, + "Slips": false, + "BrakeLeverCoefficient": 0.0E+0, + "HideDrillingBrake": false, + "ParkingBrakeBtn": false, + "ParkingBrakeLed": false, + "GEN1LED": 0, + "GEN2LED": 0, + "GEN3LED": 0, + "GEN4LED": 0, + "SCR1LED": 0, + "SCR2LED": 0, + "SCR3LED": 0, + "SCR4LED": 0, + "MP1BLWR": 0, + "MP2BLWR": 0, + "DWBLWR": 0, + "RTBLWR": 0, + "PWRLIM": 0, + "PWRLIMMTR": 0.0E+0, + "RTTorqueLimitGauge": 0.0E+0, + "AutoDWLED": 0, + "GEN1BTNLED": 0, + "GEN2BTNLED": 0, + "GEN3BTNLED": 0, + "GEN4BTNLED": 0, + "OpenKellyCockLed": 0, + "CloseKellyCockLed": 0, + "OpenSafetyValveLed": 0, + "CloseSafetyValveLed": 0, + "IRSafetyValveLed": 0, + "IRIBopLed": 0, + "LatchPipeLED": 0, + "UnlatchPipeLED": 0, + "SwingLed": 0, + "FillMouseHoleLed": 0 + }, + "Hook": { + "HookHeight_S": 0.0E+0, + "HookHeight": 0.0E+0 + }, + "StandPipeManifold": { + "StandPipeManifoldValve1": false, + "StandPipeManifoldValve2": false, + "StandPipeManifoldValve3": false, + "StandPipeManifoldValve4": false, + "StandPipeManifoldValve5": false, + "StandPipeManifoldValve6": false, + "StandPipeManifoldValve7": false, + "StandPipeManifoldValve8": false, + "StandPipeManifoldValve9": false, + "StandPipeManifoldValve10": false, + "StandPipeManifoldValve11": false, + "StandPipeManifoldValve12": false, + "StandPipeManifoldValve13": false, + "StandPipeManifoldValve14": false, + "StandPipeManifoldValve15": false, + "StandPipeGauge1": 0.0E+0, + "StandPipeGauge2": 0.0E+0 + }, + "DrillingWatch": { + "Depth": 0.0E+0, + "BitPosition": 0.0E+0, + "HookLoad": 0.0E+0, + "WeightOnBit": 0.0E+0, + "RPM": 0.0E+0, + "ROP": 0.0E+0, + "Torque": 0.0E+0, + "PumpPressure": 0.0E+0, + "SPM1": 0.0E+0, + "SPM2": 0.0E+0, + "CasingPressure": 0.0E+0, + "PercentFlow": 0.0E+0, + "PitGainLose": 0.0E+0, + "PitVolume": 0.0E+0, + "KillMudVolume": 0.0E+0, + "TripTankVolume": 0.0E+0, + "MudWeightIn": 0.0E+0, + "FillVolume": 0.0E+0, + "MudWeightOut": 0.0E+0 + }, + "Tank": [] + } +}