@@ -57,26 +57,26 @@ | |||||
"name": "stdout", | "name": "stdout", | ||||
"output_type": "stream", | "output_type": "stream", | ||||
"text": [ | "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": [ | "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", | "input = open(\"Text1.txt\")\n", | ||||
"lines = input.readlines()\n", | "lines = input.readlines()\n", | ||||
"for line in lines:\n", | "for line in lines:\n", | ||||
@@ -1,4 +1,3 @@ | |||||
<<<<<<< HEAD | |||||
module CPathGeneration | module CPathGeneration | ||||
use SimulationVariables !@ | use SimulationVariables !@ | ||||
use json_module | use json_module | ||||
@@ -43,31 +42,4 @@ module CPathGeneration | |||||
call json%add(parent,ppath) | call json%add(parent,ppath) | ||||
end subroutine | 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 | end module CPathGeneration |
@@ -5,44 +5,44 @@ module CBopControlPanel | |||||
public | public | ||||
contains | contains | ||||
subroutine CBopToJson(parent) | |||||
subroutine BopControlPanelToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p | type(json_value),pointer :: p | ||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
@@ -5,185 +5,31 @@ module CChokeControlPanel | |||||
public | public | ||||
contains | contains | ||||
subroutine CChokeToJson(parent) | |||||
subroutine ChokeControlPanelToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p | type(json_value),pointer :: p | ||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
end subroutine | 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 | end module CChokeControlPanel |
@@ -7,35 +7,33 @@ module CChokeManifold | |||||
public | public | ||||
contains | contains | ||||
subroutine CChokeManifoldToJson(parent) | |||||
subroutine ChokeManifoldToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p | type(json_value),pointer :: p | ||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
end subroutine | end subroutine | ||||
@@ -5,96 +5,95 @@ module CDataDisplayConsole | |||||
public | public | ||||
contains | contains | ||||
subroutine CDataDisplayToJson(parent) | |||||
subroutine DataDisplayConsoleToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p | type(json_value),pointer :: p | ||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
@@ -5,16 +5,16 @@ module CHook | |||||
public | public | ||||
contains | contains | ||||
subroutine CHookToJson(parent) | |||||
subroutine HookToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p | type(json_value),pointer :: p | ||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
end subroutine | end subroutine | ||||
@@ -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 |
@@ -7,232 +7,34 @@ module CStandPipeManifold | |||||
contains | contains | ||||
subroutine CStandPipeToJson(parent) | |||||
subroutine StandPipeManifoldToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p | type(json_value),pointer :: p | ||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
end subroutine | 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 | end module CStandPipeManifold |
@@ -6,7 +6,7 @@ module CTopDrivePanel | |||||
public | public | ||||
contains | contains | ||||
subroutine CDrivePanelToJson(parent) | |||||
subroutine TopDrivePanelToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
@@ -15,253 +15,26 @@ module CTopDrivePanel | |||||
! 1. create new node | ! 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) | call json%add(parent,p) | ||||
end subroutine | 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 |
@@ -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 |
@@ -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 | module CTanks | ||||
use SimulationVariables | use SimulationVariables | ||||
@@ -28,38 +7,33 @@ | |||||
contains | contains | ||||
subroutine CTankToJson(parent) | |||||
subroutine TankToJson(parent) | |||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
type(json_core) :: json | type(json_core) :: json | ||||
type(json_value),pointer :: p,pform | type(json_value),pointer :: p,pform | ||||
integer :: i | 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) | call json%add(parent,p) | ||||
end subroutine | end subroutine | ||||
@@ -77,5 +51,4 @@ | |||||
end subroutine | end subroutine | ||||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||||
end module CTanks | end module CTanks |
@@ -163,6 +163,13 @@ SRCS_F =\ | |||||
CSharp/Problems/CMudTreatmentProblemsVariables.f90 \ | CSharp/Problems/CMudTreatmentProblemsVariables.f90 \ | ||||
CSharp/Problems/CBopProblemsVariables.f90 \ | CSharp/Problems/CBopProblemsVariables.f90 \ | ||||
Simulation/SimulationVariables.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/CMudTreatmentProblems.f90 \ | ||||
CSharp/Problems/CChokeProblems.f90 \ | CSharp/Problems/CChokeProblems.f90 \ | ||||
CSharp/Equipments/ControlPanels/CHook.f90 \ | CSharp/Equipments/ControlPanels/CHook.f90 \ | ||||
@@ -98,7 +98,7 @@ module SimulationVariables | |||||
Type(HookType)::Hook | Type(HookType)::Hook | ||||
type(StandPipeManifoldType)::StandPipeManifold | type(StandPipeManifoldType)::StandPipeManifold | ||||
Type(TopDrivePanelType)::TopDrivePanel | Type(TopDrivePanelType)::TopDrivePanel | ||||
! Drill Watch | |||||
Type(DrillingWatchType)::DrillingWatch | Type(DrillingWatchType)::DrillingWatch | ||||
Type(TankType)::Tank | Type(TankType)::Tank | ||||
end type EquipmentControlType | end type EquipmentControlType | ||||
@@ -53,6 +53,17 @@ module Simulator | |||||
use PermissionsModule | use PermissionsModule | ||||
use UnitySignalsModule | 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 | use :: json_module, rk => json_rk | ||||
implicit none | implicit none | ||||
@@ -92,6 +103,9 @@ module Simulator | |||||
call initConnection() | call initConnection() | ||||
call write_variables() | call write_variables() | ||||
call read_variables() | call read_variables() | ||||
call jsoncore%print(jsonvalue,'test.json') | |||||
call jsoncore%destroy(jsonvalue) | |||||
! print *,"s2=",redisContent | ! print *,"s2=",redisContent | ||||
! call deallocateData() | ! call deallocateData() | ||||
! print *,"redisContent Deallocated!" | ! print *,"redisContent Deallocated!" | ||||
@@ -198,19 +212,12 @@ module Simulator | |||||
call ConfigurationToJson(jsonvalue) | call ConfigurationToJson(jsonvalue) | ||||
call WarningsToJson(jsonvalue) | call WarningsToJson(jsonvalue) | ||||
call ProblemsToJson(jsonvalue) | call ProblemsToJson(jsonvalue) | ||||
call EquipmentsToJson(jsonvalue) | |||||
print *,"write starts" | print *,"write starts" | ||||
<<<<<<< HEAD | |||||
call jsoncore%serialize(jsonvalue,redisContent) | call jsoncore%serialize(jsonvalue,redisContent) | ||||
! s = "Test redis write!" | ! s = "Test redis write!" | ||||
call setData(redisContent) | 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" | print *,"write ends" | ||||
end subroutine | end subroutine | ||||
@@ -268,6 +275,31 @@ module Simulator | |||||
! call OperationScenarios_Init() | ! call OperationScenarios_Init() | ||||
end subroutine init_modules | 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) | subroutine ConfigurationToJson(parent) | ||||
type(json_value),pointer :: parent | type(json_value),pointer :: parent | ||||
@@ -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 |
@@ -1,73 +1,22 @@ | |||||
{ | { | ||||
"cells": [ | "cells": [ | ||||
{ | { | ||||
<<<<<<< HEAD | |||||
"attachments": {}, | "attachments": {}, | ||||
"cell_type": "markdown", | "cell_type": "markdown", | ||||
"metadata": {}, | "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": [ | "source": [ | ||||
"# Make makefile" | "# Make makefile" | ||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
"cell_type": "code", | "cell_type": "code", | ||||
<<<<<<< HEAD | |||||
"execution_count": 72, | "execution_count": 72, | ||||
======= | |||||
"execution_count": 5, | |||||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||||
"metadata": {}, | "metadata": {}, | ||||
"outputs": [ | "outputs": [ | ||||
{ | { | ||||
"name": "stdout", | "name": "stdout", | ||||
"output_type": "stream", | "output_type": "stream", | ||||
"text": [ | "text": [ | ||||
<<<<<<< HEAD | |||||
"\tCSharp/OperationScenarios/Common/COperationScenariosVariables.f90 /\n", | "\tCSharp/OperationScenarios/Common/COperationScenariosVariables.f90 /\n", | ||||
"\tTorqueDrag/TD_Modules/TD_WellGeometry.f90 /\n", | "\tTorqueDrag/TD_Modules/TD_WellGeometry.f90 /\n", | ||||
"\tTorqueDrag/TD_Modules/TD_WellElements.f90 /\n", | "\tTorqueDrag/TD_Modules/TD_WellElements.f90 /\n", | ||||
@@ -373,28 +322,10 @@ | |||||
"\tSimulationCore2.f90 /\n", | "\tSimulationCore2.f90 /\n", | ||||
"\tEquipments/MudSystem/Plot_Final_Mud_Elements.f90 /\n", | "\tEquipments/MudSystem/Plot_Final_Mud_Elements.f90 /\n", | ||||
"\tFluidFlow/Fluid_Flow_Solver.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": [ | "source": [ | ||||
<<<<<<< HEAD | |||||
"import re\n", | "import re\n", | ||||
"current_dir = 'C:\\\\Projects\\\\VSIM\\\\SimulationCore2\\\\'\n", | "current_dir = 'C:\\\\Projects\\\\VSIM\\\\SimulationCore2\\\\'\n", | ||||
"target_dir = 'x64\\\\Debug\\\\'\n", | "target_dir = 'x64\\\\Debug\\\\'\n", | ||||
@@ -973,25 +904,38 @@ | |||||
}, | }, | ||||
{ | { | ||||
"cell_type": "code", | "cell_type": "code", | ||||
"execution_count": 8, | |||||
"execution_count": 3, | |||||
"metadata": {}, | "metadata": {}, | ||||
"outputs": [ | "outputs": [ | ||||
{ | { | ||||
"name": "stdout", | "name": "stdout", | ||||
"output_type": "stream", | "output_type": "stream", | ||||
"text": [ | "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" | "}\n" | ||||
] | ] | ||||
} | } | ||||
], | ], | ||||
"source": [ | "source": [ | ||||
"#Artifical JSon\n", | |||||
"input = open(\"Text1.txt\")\n", | "input = open(\"Text1.txt\")\n", | ||||
"output = \"{\"\n", | "output = \"{\"\n", | ||||
"lines = input.readlines()\n", | "lines = input.readlines()\n", | ||||
@@ -1020,10 +964,7 @@ | |||||
} | } | ||||
], | ], | ||||
"source": [ | "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", | "input = open(\"Text1.txt\")\n", | ||||
"lines = input.readlines()\n", | "lines = input.readlines()\n", | ||||
"for line in lines:\n", | "for line in lines:\n", | ||||
@@ -1037,72 +978,24 @@ | |||||
}, | }, | ||||
{ | { | ||||
"cell_type": "code", | "cell_type": "code", | ||||
<<<<<<< HEAD | |||||
"execution_count": 20, | |||||
"execution_count": 2, | |||||
"metadata": {}, | "metadata": {}, | ||||
"outputs": [ | "outputs": [ | ||||
{ | { | ||||
"name": "stdout", | "name": "stdout", | ||||
"output_type": "stream", | "output_type": "stream", | ||||
"text": [ | "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", | "cell_type": "code", | ||||
"execution_count": 3, | "execution_count": 3, | ||||
======= | |||||
"execution_count": 2, | |||||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||||
"metadata": {}, | "metadata": {}, | ||||
"outputs": [ | "outputs": [ | ||||
{ | { | ||||
@@ -1156,6 +1046,7 @@ | |||||
] | ] | ||||
}, | }, | ||||
{ | { | ||||
"attachments": {}, | |||||
"cell_type": "markdown", | "cell_type": "markdown", | ||||
"metadata": {}, | "metadata": {}, | ||||
"source": [ | "source": [ | ||||
@@ -1565,7 +1456,7 @@ | |||||
], | ], | ||||
"metadata": { | "metadata": { | ||||
"kernelspec": { | "kernelspec": { | ||||
"display_name": "Python 3 (ipykernel)", | |||||
"display_name": "base", | |||||
"language": "python", | "language": "python", | ||||
"name": "python3" | "name": "python3" | ||||
}, | }, | ||||
@@ -1579,8 +1470,9 @@ | |||||
"name": "python", | "name": "python", | ||||
"nbconvert_exporter": "python", | "nbconvert_exporter": "python", | ||||
"pygments_lexer": "ipython3", | "pygments_lexer": "ipython3", | ||||
"version": "3.11.4" | |||||
"version": "3.9.12" | |||||
}, | }, | ||||
"orig_nbformat": 4, | |||||
"vscode": { | "vscode": { | ||||
"interpreter": { | "interpreter": { | ||||
"hash": "1ef4a26de7183d96d6da1045a38581e0a15b2215d0c1b98c7b273c6e514c6c7e" | "hash": "1ef4a26de7183d96d6da1045a38581e0a15b2215d0c1b98c7b273c6e514c6c7e" | ||||