@@ -57,26 +57,26 @@ | |||
"name": "stdout", | |||
"output_type": "stream", | |||
"text": [ | |||
"call json%add(p,\"TopDriveTdsPowerState\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerState)\n", | |||
"call json%add(p,\"TopDriveTorqueWrench\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrench)\n", | |||
"call json%add(p,\"TopDriveDrillTorqueState\",data%Equipments%ControlPanel%CTopDrive%TopDriveDrillTorqueState)\n", | |||
"call json%add(p,\"TopDriveLinkTiltState\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltState)\n", | |||
"call json%add(p,\"TopDriveIbop\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbop)\n", | |||
"call json%add(p,\"TopDriveTorqueLimitKnob\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob)\n", | |||
"call json%add(p,\"RpmKnob\",data%Equipments%ControlPanel%CTopDrive%RpmKnob)\n", | |||
"call json%add(p,\"TopDriveOperationFaultLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveOperationFaultLed)\n", | |||
"call json%add(p,\"TopDriveTdsPowerLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerLed)\n", | |||
"call json%add(p,\"TopDriveTorqueWrenchLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed)\n", | |||
"call json%add(p,\"TopDriveLinkTiltLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltLed)\n", | |||
"call json%add(p,\"TopDriveIbopLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbopLed)\n", | |||
"call json%add(p,\"TopDriveTorqueLimitGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge)\n", | |||
"call json%add(p,\"TopDriveTorqueGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueGauge)\n", | |||
"call json%add(p,\"TopDriveRpmGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveRpmGauge)\n" | |||
"call json%add(p,\"TopDriveTdsPowerState\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTdsPowerState)\n", | |||
"call json%add(p,\"TopDriveTorqueWrench\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueWrench)\n", | |||
"call json%add(p,\"TopDriveDrillTorqueState\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveDrillTorqueState)\n", | |||
"call json%add(p,\"TopDriveLinkTiltState\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveLinkTiltState)\n", | |||
"call json%add(p,\"TopDriveIbop\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveIbop)\n", | |||
"call json%add(p,\"TopDriveTorqueLimitKnob\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob)\n", | |||
"call json%add(p,\"RpmKnob\",data%EquipmentControl%ControlPanel%CTopDrive%RpmKnob)\n", | |||
"call json%add(p,\"TopDriveOperationFaultLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveOperationFaultLed)\n", | |||
"call json%add(p,\"TopDriveTdsPowerLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTdsPowerLed)\n", | |||
"call json%add(p,\"TopDriveTorqueWrenchLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed)\n", | |||
"call json%add(p,\"TopDriveLinkTiltLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveLinkTiltLed)\n", | |||
"call json%add(p,\"TopDriveIbopLed\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveIbopLed)\n", | |||
"call json%add(p,\"TopDriveTorqueLimitGauge\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge)\n", | |||
"call json%add(p,\"TopDriveTorqueGauge\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveTorqueGauge)\n", | |||
"call json%add(p,\"TopDriveRpmGauge\",data%EquipmentControl%ControlPanel%CTopDrive%TopDriveRpmGauge)\n" | |||
] | |||
} | |||
], | |||
"source": [ | |||
"precode = \"\"\"call json%add(pform,\"\",data%Equipments%ControlPanel%CTopDrive%\"\"\"\n", | |||
"precode = \"\"\"call json%add(pform,\"\",data%EquipmentControl%ControlPanel%CTopDrive%\"\"\"\n", | |||
"input = open(\"Text1.txt\")\n", | |||
"lines = input.readlines()\n", | |||
"for line in lines:\n", | |||
@@ -1,4 +1,3 @@ | |||
<<<<<<< HEAD | |||
module CPathGeneration | |||
use SimulationVariables !@ | |||
use json_module | |||
@@ -43,31 +42,4 @@ module CPathGeneration | |||
call json%add(parent,ppath) | |||
end subroutine | |||
======= | |||
module CPathGeneration | |||
use SimulationVariables !@ | |||
use json_module | |||
implicit none | |||
public | |||
contains | |||
subroutine PathGenerationToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'Path') | |||
! 2. add member of data type to new node | |||
! call StringConfigurationToJson(p) | |||
! call FormationToJson(p) | |||
! call json%add(p,"",data%Configuration%Formation%Formations(i)%Abrasiveness) | |||
! 3. add new node to parent | |||
call json%add(parent,p) | |||
end subroutine | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
end module CPathGeneration |
@@ -5,44 +5,44 @@ module CBopControlPanel | |||
public | |||
contains | |||
subroutine CBopToJson(parent) | |||
subroutine BopControlPanelToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'CBop') | |||
call json%create_object(p,'BopControl') | |||
call json%add(p,"AnnularRegulatorSetControl",data%Equipments%ContolPanel%CBop%AnnularRegulatorSetControl) | |||
call json%add(p,"AirMasterValve",data%Equipments%ContolPanel%CBop%AirMasterValve) | |||
call json%add(p,"ByePassValve",data%Equipments%ContolPanel%CBop%ByePassValve) | |||
call json%add(p,"AnnularValve",data%Equipments%ContolPanel%CBop%AnnularValve) | |||
call json%add(p,"UpperRamsValve",data%Equipments%ContolPanel%CBop%UpperRamsValve) | |||
call json%add(p,"MiddleRamsValve",data%Equipments%ContolPanel%CBop%MiddleRamsValve) | |||
call json%add(p,"KillLineValve",data%Equipments%ContolPanel%CBop%KillLineValve) | |||
call json%add(p,"ChokeLineValve",data%Equipments%ContolPanel%CBop%ChokeLineValve) | |||
call json%add(p,"LowerRamsValve",data%Equipments%ContolPanel%CBop%LowerRamsValve) | |||
call json%add(p,"ManifoldPressureGauge",data%Equipments%ContolPanel%CBop%ManifoldPressureGauge) | |||
call json%add(p,"AirSupplyPressureGauge",data%Equipments%ContolPanel%CBop%AirSupplyPressureGauge) | |||
call json%add(p,"AccumulatorPressureGauge",data%Equipments%ContolPanel%CBop%AccumulatorPressureGauge) | |||
call json%add(p,"AnnularPressureGauge",data%Equipments%ContolPanel%CBop%AnnularPressureGauge) | |||
call json%add(p,"AnnularOpenLED",data%Equipments%ContolPanel%CBop%AnnularOpenLED) | |||
call json%add(p,"AnnularCloseLED",data%Equipments%ContolPanel%CBop%AnnularCloseLED) | |||
call json%add(p,"UpperRamsOpenLED",data%Equipments%ContolPanel%CBop%UpperRamsOpenLED) | |||
call json%add(p,"UpperRamsCloseLED",data%Equipments%ContolPanel%CBop%UpperRamsCloseLED) | |||
call json%add(p,"MiddleRamsOpenLED",data%Equipments%ContolPanel%CBop%MiddleRamsOpenLED) | |||
call json%add(p,"MiddleRamsCloseLED",data%Equipments%ContolPanel%CBop%MiddleRamsCloseLED) | |||
call json%add(p,"KillLineOpenLED",data%Equipments%ContolPanel%CBop%KillLineOpenLED) | |||
call json%add(p,"KillLineCloseLED",data%Equipments%ContolPanel%CBop%KillLineCloseLED) | |||
call json%add(p,"ChokeLineOpenLED",data%Equipments%ContolPanel%CBop%ChokeLineOpenLED) | |||
call json%add(p,"ChokeLineCloseLED",data%Equipments%ContolPanel%CBop%ChokeLineCloseLED) | |||
call json%add(p,"LowerRamsOpenLED",data%Equipments%ContolPanel%CBop%LowerRamsOpenLED) | |||
call json%add(p,"LowerRamsCloseLED",data%Equipments%ContolPanel%CBop%LowerRamsCloseLED) | |||
call json%add(p,"AnnularStatus",data%Equipments%ContolPanel%CBop%AnnularStatus) | |||
call json%add(p,"UpperRamsStatus",data%Equipments%ContolPanel%CBop%UpperRamsStatus) | |||
call json%add(p,"MiddleRamsStatus",data%Equipments%ContolPanel%CBop%MiddleRamsStatus) | |||
call json%add(p,"LowerRamsStatus",data%Equipments%ContolPanel%CBop%LowerRamsStatus) | |||
call json%add(p,"AnnularRegulatorSetControl",data%EquipmentControl%BopControlPanel%AnnularRegulatorSetControl) | |||
call json%add(p,"AirMasterValve",data%EquipmentControl%BopControlPanel%AirMasterValve) | |||
call json%add(p,"ByePassValve",data%EquipmentControl%BopControlPanel%ByePassValve) | |||
call json%add(p,"AnnularValve",data%EquipmentControl%BopControlPanel%AnnularValve) | |||
call json%add(p,"UpperRamsValve",data%EquipmentControl%BopControlPanel%UpperRamsValve) | |||
call json%add(p,"MiddleRamsValve",data%EquipmentControl%BopControlPanel%MiddleRamsValve) | |||
call json%add(p,"KillLineValve",data%EquipmentControl%BopControlPanel%KillLineValve) | |||
call json%add(p,"ChokeLineValve",data%EquipmentControl%BopControlPanel%ChokeLineValve) | |||
call json%add(p,"LowerRamsValve",data%EquipmentControl%BopControlPanel%LowerRamsValve) | |||
call json%add(p,"ManifoldPressureGauge",data%EquipmentControl%BopControlPanel%ManifoldPressureGauge) | |||
call json%add(p,"AirSupplyPressureGauge",data%EquipmentControl%BopControlPanel%AirSupplyPressureGauge) | |||
call json%add(p,"AccumulatorPressureGauge",data%EquipmentControl%BopControlPanel%AccumulatorPressureGauge) | |||
call json%add(p,"AnnularPressureGauge",data%EquipmentControl%BopControlPanel%AnnularPressureGauge) | |||
call json%add(p,"AnnularOpenLED",data%EquipmentControl%BopControlPanel%AnnularOpenLED) | |||
call json%add(p,"AnnularCloseLED",data%EquipmentControl%BopControlPanel%AnnularCloseLED) | |||
call json%add(p,"UpperRamsOpenLED",data%EquipmentControl%BopControlPanel%UpperRamsOpenLED) | |||
call json%add(p,"UpperRamsCloseLED",data%EquipmentControl%BopControlPanel%UpperRamsCloseLED) | |||
call json%add(p,"MiddleRamsOpenLED",data%EquipmentControl%BopControlPanel%MiddleRamsOpenLED) | |||
call json%add(p,"MiddleRamsCloseLED",data%EquipmentControl%BopControlPanel%MiddleRamsCloseLED) | |||
call json%add(p,"KillLineOpenLED",data%EquipmentControl%BopControlPanel%KillLineOpenLED) | |||
call json%add(p,"KillLineCloseLED",data%EquipmentControl%BopControlPanel%KillLineCloseLED) | |||
call json%add(p,"ChokeLineOpenLED",data%EquipmentControl%BopControlPanel%ChokeLineOpenLED) | |||
call json%add(p,"ChokeLineCloseLED",data%EquipmentControl%BopControlPanel%ChokeLineCloseLED) | |||
call json%add(p,"LowerRamsOpenLED",data%EquipmentControl%BopControlPanel%LowerRamsOpenLED) | |||
call json%add(p,"LowerRamsCloseLED",data%EquipmentControl%BopControlPanel%LowerRamsCloseLED) | |||
call json%add(p,"AnnularStatus",data%EquipmentControl%BopControlPanel%AnnularStatus) | |||
call json%add(p,"UpperRamsStatus",data%EquipmentControl%BopControlPanel%UpperRamsStatus) | |||
call json%add(p,"MiddleRamsStatus",data%EquipmentControl%BopControlPanel%MiddleRamsStatus) | |||
call json%add(p,"LowerRamsStatus",data%EquipmentControl%BopControlPanel%LowerRamsStatus) | |||
call json%add(parent,p) | |||
@@ -5,185 +5,31 @@ module CChokeControlPanel | |||
public | |||
contains | |||
subroutine CChokeToJson(parent) | |||
subroutine ChokeControlPanelToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'CChoke') | |||
call json%add(p,"ChokePanelPumpSelectorSwitch",data%Equipments%ContolPanel%CChoke%ChokePanelPumpSelectorSwitch) | |||
call json%add(p,"ChokePanelStrokeResetSwitch",data%Equipments%ContolPanel%CChoke%ChokePanelStrokeResetSwitch) | |||
call json%add(p,"ChokeSelectorSwitch",data%Equipments%ContolPanel%CChoke%ChokeSelectorSwitch) | |||
call json%add(p,"ChokeRateControlKnob",data%Equipments%ContolPanel%CChoke%ChokeRateControlKnob) | |||
call json%add(p,"ChokeControlLever",data%Equipments%ContolPanel%CChoke%ChokeControlLever) | |||
call json%add(p,"ChokePanelRigAirSwitch",data%Equipments%ContolPanel%CChoke%ChokePanelRigAirSwitch) | |||
call json%add(p,"EnableAutoChoke",data%Equipments%ContolPanel%CChoke%EnableAutoChoke) | |||
call json%add(p,"StandPipePressure",data%Equipments%ContolPanel%CChoke%StandPipePressure) | |||
call json%add(p,"CasingPressure",data%Equipments%ContolPanel%CChoke%CasingPressure) | |||
call json%add(p,"ChokePosition",data%Equipments%ContolPanel%CChoke%ChokePosition) | |||
call json%add(p,"ChokePanelSPMCounter",data%Equipments%ContolPanel%CChoke%ChokePanelSPMCounter) | |||
call json%add(p,"ChokePanelTotalStrokeCounter",data%Equipments%ContolPanel%CChoke%ChokePanelTotalStrokeCounter) | |||
call json%add(p,"Choke1LED",data%Equipments%ContolPanel%CChoke%Choke1LED) | |||
call json%add(p,"Choke2LED",data%Equipments%ContolPanel%CChoke%Choke2LED) | |||
call json%create_object(p,'ChokeControl') | |||
call json%add(p,"ChokePanelPumpSelectorSwitch",data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch) | |||
call json%add(p,"ChokePanelStrokeResetSwitch",data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch) | |||
call json%add(p,"ChokeSelectorSwitch",data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch) | |||
call json%add(p,"ChokeRateControlKnob",data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob) | |||
call json%add(p,"ChokeControlLever",data%EquipmentControl%ChokeControlPanel%ChokeControlLever) | |||
call json%add(p,"ChokePanelRigAirSwitch",data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch) | |||
call json%add(p,"EnableAutoChoke",data%EquipmentControl%ChokeControlPanel%EnableAutoChoke) | |||
call json%add(p,"StandPipePressure",data%EquipmentControl%ChokeControlPanel%StandPipePressure) | |||
call json%add(p,"CasingPressure",data%EquipmentControl%ChokeControlPanel%CasingPressure) | |||
call json%add(p,"ChokePosition",data%EquipmentControl%ChokeControlPanel%ChokePosition) | |||
call json%add(p,"ChokePanelSPMCounter",data%EquipmentControl%ChokeControlPanel%ChokePanelSPMCounter) | |||
call json%add(p,"ChokePanelTotalStrokeCounter",data%EquipmentControl%ChokeControlPanel%ChokePanelTotalStrokeCounter) | |||
call json%add(p,"Choke1LED",data%EquipmentControl%ChokeControlPanel%Choke1LED) | |||
call json%add(p,"Choke2LED",data%EquipmentControl%ChokeControlPanel%Choke2LED) | |||
call json%add(parent,p) | |||
end subroutine | |||
! Input routines | |||
subroutine SetChokePanelPumpSelectorSwitch(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelPumpSelectorSwitch | |||
!DEC$ ATTRIBUTES ALIAS: 'SetChokePanelPumpSelectorSwitch' :: SetChokePanelPumpSelectorSwitch | |||
implicit none | |||
integer, intent(in) :: v | |||
data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch = v | |||
#ifdef deb | |||
print*, 'ChokePanelPumpSelectorSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelPumpSelectorSwitch | |||
#endif | |||
end subroutine | |||
subroutine SetChokePanelStrokeResetSwitch(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelStrokeResetSwitch | |||
!DEC$ ATTRIBUTES ALIAS: 'SetChokePanelStrokeResetSwitch' :: SetChokePanelStrokeResetSwitch | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch = v | |||
#ifdef deb | |||
print*, 'ChokePanelStrokeResetSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelStrokeResetSwitch | |||
#endif | |||
end subroutine | |||
subroutine SetChokeSelectorSwitch(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetChokeSelectorSwitch | |||
!DEC$ ATTRIBUTES ALIAS: 'SetChokeSelectorSwitch' :: SetChokeSelectorSwitch | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch = v | |||
#ifdef deb | |||
print*, 'ChokeSelectorSwitch=', data%EquipmentControl%ChokeControlPanel%ChokeSelectorSwitch | |||
#endif | |||
end subroutine | |||
subroutine SetChokeRateControlKnob(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetChokeRateControlKnob | |||
!DEC$ ATTRIBUTES ALIAS: 'SetChokeRateControlKnob' :: SetChokeRateControlKnob | |||
implicit none | |||
real*8, intent(in) :: v | |||
!character(8) :: date | |||
!character(10) :: time | |||
!character(5) :: zone | |||
!integer,dimension(8) :: values | |||
data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob = v | |||
#ifdef deb | |||
!call date_and_time(date,time,zone,values) | |||
!!print '(a,2x,a,2x,a)', date, time, zone | |||
!print '(8i5)', values | |||
print*, 'ChokeRateControlKnob=', data%EquipmentControl%ChokeControlPanel%ChokeRateControlKnob | |||
#endif | |||
end subroutine | |||
subroutine SetChokeControlLever(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetChokeControlLever | |||
!DEC$ ATTRIBUTES ALIAS: 'SetChokeControlLever' :: SetChokeControlLever | |||
implicit none | |||
real*8, intent(in) :: v | |||
data%EquipmentControl%ChokeControlPanel%ChokeControlLever = v | |||
#ifdef deb | |||
print*, 'ChokeControlLever=', data%EquipmentControl%ChokeControlPanel%ChokeControlLever | |||
#endif | |||
end subroutine | |||
subroutine SetChokePanelRigAirSwitch(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetChokePanelRigAirSwitch | |||
!DEC$ ATTRIBUTES ALIAS: 'SetChokePanelRigAirSwitch' :: SetChokePanelRigAirSwitch | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch = v | |||
#ifdef deb | |||
print*, 'ChokePanelRigAirSwitch=', data%EquipmentControl%ChokeControlPanel%ChokePanelRigAirSwitch | |||
#endif | |||
end subroutine | |||
subroutine SetEnableAutoChoke(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetEnableAutoChoke | |||
!DEC$ ATTRIBUTES ALIAS: 'SetEnableAutoChoke' :: SetEnableAutoChoke | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%ChokeControlPanel%EnableAutoChoke = v | |||
#ifdef deb | |||
print*, 'EnableAutoChoke=', data%EquipmentControl%ChokeControlPanel%EnableAutoChoke | |||
#endif | |||
end subroutine | |||
! Output routines | |||
real(8) function GetStandPipePressure() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipePressure | |||
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipePressure' :: GetStandPipePressure | |||
implicit none | |||
GetStandPipePressure = data%EquipmentControl%ChokeControlPanel%StandPipePressure | |||
end function | |||
real(8) function GetCasingPressure() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressure | |||
!DEC$ ATTRIBUTES ALIAS: 'GetCasingPressure' :: GetCasingPressure | |||
implicit none | |||
GetCasingPressure = data%EquipmentControl%ChokeControlPanel%CasingPressure | |||
end function | |||
real(8) function GetChokePosition() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetChokePosition | |||
!DEC$ ATTRIBUTES ALIAS: 'GetChokePosition' :: GetChokePosition | |||
implicit none | |||
GetChokePosition = data%EquipmentControl%ChokeControlPanel%ChokePosition | |||
end function | |||
real(8) function GetChokePanelSPMCounter() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetChokePanelSPMCounter | |||
!DEC$ ATTRIBUTES ALIAS: 'GetChokePanelSPMCounter' :: GetChokePanelSPMCounter | |||
implicit none | |||
!GetChokePanelSPMCounter = 0 | |||
GetChokePanelSPMCounter = data%EquipmentControl%ChokeControlPanel%ChokePanelSPMCounter | |||
end function | |||
real(8) function GetChokePanelTotalStrokeCounter() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetChokePanelTotalStrokeCounter | |||
!DEC$ ATTRIBUTES ALIAS: 'GetChokePanelTotalStrokeCounter' :: GetChokePanelTotalStrokeCounter | |||
implicit none | |||
!GetChokePanelTotalStrokeCounter = 0 | |||
GetChokePanelTotalStrokeCounter = data%EquipmentControl%ChokeControlPanel%ChokePanelTotalStrokeCounter | |||
end function | |||
integer function GetChoke1LED() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetChoke1LED | |||
!DEC$ ATTRIBUTES ALIAS: 'GetChoke1LED' :: GetChoke1LED | |||
implicit none | |||
GetChoke1LED = data%EquipmentControl%ChokeControlPanel%Choke1LED | |||
end function | |||
integer function GetChoke2LED() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetChoke2LED | |||
!DEC$ ATTRIBUTES ALIAS: 'GetChoke2LED' :: GetChoke2LED | |||
implicit none | |||
GetChoke2LED = data%EquipmentControl%ChokeControlPanel%Choke2LED | |||
end function | |||
end module CChokeControlPanel |
@@ -7,35 +7,33 @@ module CChokeManifold | |||
public | |||
contains | |||
subroutine CChokeManifoldToJson(parent) | |||
subroutine ChokeManifoldToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'CChokeManifold') | |||
call json%add(p,"ChokeManifoldValve1",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve1) | |||
call json%add(p,"ChokeManifoldValve2",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve2) | |||
call json%add(p,"LeftManualChoke",data%Equipments%ContolPanel%CChokeManifold%LeftManualChoke) | |||
call json%add(p,"ChokeManifoldValve4",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve4) | |||
call json%add(p,"ChokeManifoldValve5",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve5) | |||
call json%add(p,"RightManualChoke",data%Equipments%ContolPanel%CChokeManifold%RightManualChoke) | |||
call json%add(p,"ChokeManifoldValve7",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve7) | |||
call json%add(p,"ChokeManifoldValve8",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve8) | |||
call json%add(p,"ChokeManifoldValve9",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve9) | |||
call json%add(p,"ChokeManifoldValve10",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve10) | |||
call json%add(p,"ChokeManifoldValve11",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve11) | |||
call json%add(p,"ChokeManifoldValve12",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve12) | |||
call json%add(p,"ChokeManifoldValve13",data%Equipments%ContolPanel%CChokeManifold%ChokeManifoldValve13) | |||
call json%add(p,"HydraulicChock1",data%Equipments%ContolPanel%CChokeManifold%HydraulicChock1) | |||
call json%add(p,"HydraulicChock2",data%Equipments%ContolPanel%CChokeManifold%HydraulicChock2) | |||
call json%add(p,"HyChock1OnProblem",data%Equipments%ContolPanel%CChokeManifold%HyChock1OnProblem) | |||
call json%add(p,"HyChock2OnProblem",data%Equipments%ContolPanel%CChokeManifold%HyChock2OnProblem) | |||
call json%add(p,"LeftManChokeOnProblem",data%Equipments%ContolPanel%CChokeManifold%LeftManChokeOnProblem) | |||
call json%add(p,"RightManChokeOnProblem",data%Equipments%ContolPanel%CChokeManifold%RightManChokeOnProblem) | |||
call json%create_object(p,'ChokeManifold') | |||
call json%add(p,"ChokeManifoldValve1",data%EquipmentControl%ChokeManifold%ChokeManifoldValve1) | |||
call json%add(p,"ChokeManifoldValve2",data%EquipmentControl%ChokeManifold%ChokeManifoldValve2) | |||
call json%add(p,"LeftManualChoke",data%EquipmentControl%ChokeManifold%LeftManualChoke) | |||
call json%add(p,"ChokeManifoldValve4",data%EquipmentControl%ChokeManifold%ChokeManifoldValve4) | |||
call json%add(p,"ChokeManifoldValve5",data%EquipmentControl%ChokeManifold%ChokeManifoldValve5) | |||
call json%add(p,"RightManualChoke",data%EquipmentControl%ChokeManifold%RightManualChoke) | |||
call json%add(p,"ChokeManifoldValve7",data%EquipmentControl%ChokeManifold%ChokeManifoldValve7) | |||
call json%add(p,"ChokeManifoldValve8",data%EquipmentControl%ChokeManifold%ChokeManifoldValve8) | |||
call json%add(p,"ChokeManifoldValve9",data%EquipmentControl%ChokeManifold%ChokeManifoldValve9) | |||
call json%add(p,"ChokeManifoldValve10",data%EquipmentControl%ChokeManifold%ChokeManifoldValve10) | |||
call json%add(p,"ChokeManifoldValve11",data%EquipmentControl%ChokeManifold%ChokeManifoldValve11) | |||
call json%add(p,"ChokeManifoldValve12",data%EquipmentControl%ChokeManifold%ChokeManifoldValve12) | |||
call json%add(p,"ChokeManifoldValve13",data%EquipmentControl%ChokeManifold%ChokeManifoldValve13) | |||
call json%add(p,"HydraulicChock1",data%EquipmentControl%ChokeManifold%HydraulicChock1) | |||
call json%add(p,"HydraulicChock2",data%EquipmentControl%ChokeManifold%HydraulicChock2) | |||
call json%add(p,"HyChock1OnProblem",data%EquipmentControl%ChokeManifold%HyChock1OnProblem) | |||
call json%add(p,"HyChock2OnProblem",data%EquipmentControl%ChokeManifold%HyChock2OnProblem) | |||
call json%add(p,"LeftManChokeOnProblem",data%EquipmentControl%ChokeManifold%LeftManChokeOnProblem) | |||
call json%add(p,"RightManChokeOnProblem",data%EquipmentControl%ChokeManifold%RightManChokeOnProblem) | |||
call json%add(parent,p) | |||
end subroutine | |||
@@ -5,96 +5,95 @@ module CDataDisplayConsole | |||
public | |||
contains | |||
subroutine CDataDisplayToJson(parent) | |||
subroutine DataDisplayConsoleToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'CDataDisplay') | |||
call json%add(p,"TripAlarmLow",data%Equipments%ControlPanel%CDataDisplay%TripAlarmLow) | |||
call json%add(p,"TripAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%TripAlarmHigh) | |||
call json%add(p,"RetFlowAlarmLow",data%Equipments%ControlPanel%CDataDisplay%RetFlowAlarmLow) | |||
call json%add(p,"RetFlowAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%RetFlowAlarmHigh) | |||
call json%add(p,"PitAlarmLow",data%Equipments%ControlPanel%CDataDisplay%PitAlarmLow) | |||
call json%add(p,"PitAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%PitAlarmHigh) | |||
call json%add(p,"PortWeightOnBit",data%Equipments%ControlPanel%CDataDisplay%PortWeightOnBit) | |||
call json%add(p,"PortHookLoad",data%Equipments%ControlPanel%CDataDisplay%PortHookLoad) | |||
call json%add(p,"PortCasingPressure",data%Equipments%ControlPanel%CDataDisplay%PortCasingPressure) | |||
call json%add(p,"PortPumpPressure",data%Equipments%ControlPanel%CDataDisplay%PortPumpPressure) | |||
call json%add(p,"TripTankSetAlarmLow",data%Equipments%ControlPanel%CDataDisplay%TripTankSetAlarmLow) | |||
call json%add(p,"TripTankSetAlarmHigh",data%Equipments%ControlPanel%CDataDisplay%TripTankSetAlarmHigh) | |||
call json%add(p,"TripTankSetAlarmSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankSetAlarmSwitch) | |||
call json%add(p,"TripTankPowerSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankPowerSwitch) | |||
call json%add(p,"TripTankPumpSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankPumpSwitch) | |||
call json%add(p,"TripTankHornSwitch",data%Equipments%ControlPanel%CDataDisplay%TripTankHornSwitch) | |||
call json%add(p,"AcidGasDetectionHornSwitch",data%Equipments%ControlPanel%CDataDisplay%AcidGasDetectionHornSwitch) | |||
call json%add(p,"TotalStrokeCounterResetSwitch",data%Equipments%ControlPanel%CDataDisplay%TotalStrokeCounterResetSwitch) | |||
call json%add(p,"DrillingTrippingSelectorSwitch",data%Equipments%ControlPanel%CDataDisplay%DrillingTrippingSelectorSwitch) | |||
call json%add(p,"MVTSetAlarmLowKnob",data%Equipments%ControlPanel%CDataDisplay%MVTSetAlarmLowKnob) | |||
call json%add(p,"MVTSetAlarmHighKnob",data%Equipments%ControlPanel%CDataDisplay%MVTSetAlarmHighKnob) | |||
call json%add(p,"MVTSetAlarmSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTSetAlarmSwitch) | |||
call json%add(p,"MudTank1Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank1Switch) | |||
call json%add(p,"MudTank2Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank2Switch) | |||
call json%add(p,"MudTank3Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank3Switch) | |||
call json%add(p,"MudTank4Switch",data%Equipments%ControlPanel%CDataDisplay%MudTank4Switch) | |||
call json%add(p,"MVTFineKnob",data%Equipments%ControlPanel%CDataDisplay%MVTFineKnob) | |||
call json%add(p,"MVTCoarseKnob",data%Equipments%ControlPanel%CDataDisplay%MVTCoarseKnob) | |||
call json%add(p,"MVTHornSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTHornSwitch) | |||
call json%add(p,"MVTDeviationTripSelectionSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTDeviationTripSelectionSwitch) | |||
call json%add(p,"MVTPowerSwitch",data%Equipments%ControlPanel%CDataDisplay%MVTPowerSwitch) | |||
call json%add(p,"MFFIResetTotalStrokes",data%Equipments%ControlPanel%CDataDisplay%MFFIResetTotalStrokes) | |||
call json%add(p,"MFFIResetFillCounter",data%Equipments%ControlPanel%CDataDisplay%MFFIResetFillCounter) | |||
call json%add(p,"MFFIPumpSelectorSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIPumpSelectorSwitch) | |||
call json%add(p,"MFFIFillSPMSelectorSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIFillSPMSelectorSwitch) | |||
call json%add(p,"MFFISetAlarmLowKnob",data%Equipments%ControlPanel%CDataDisplay%MFFISetAlarmLowKnob) | |||
call json%add(p,"MFFISetAlarmHighKnob",data%Equipments%ControlPanel%CDataDisplay%MFFISetAlarmHighKnob) | |||
call json%add(p,"MFFISetAlarmSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFISetAlarmSwitch) | |||
call json%add(p,"MFFIPowerSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIPowerSwitch) | |||
call json%add(p,"MFFIHornSwitch",data%Equipments%ControlPanel%CDataDisplay%MFFIHornSwitch) | |||
call json%add(p,"ResetWob",data%Equipments%ControlPanel%CDataDisplay%ResetWob) | |||
call json%add(p,"Clutch",data%Equipments%ControlPanel%CDataDisplay%Clutch) | |||
call json%add(p,"WOBPointer",data%Equipments%ControlPanel%CDataDisplay%WOBPointer) | |||
call json%add(p,"HookLoadPointer",data%Equipments%ControlPanel%CDataDisplay%HookLoadPointer) | |||
call json%add(p,"TripTankGauge",data%Equipments%ControlPanel%CDataDisplay%TripTankGauge) | |||
call json%add(p,"TripTankAlarmLED",data%Equipments%ControlPanel%CDataDisplay%TripTankAlarmLED) | |||
call json%add(p,"TripTankPumpLED",data%Equipments%ControlPanel%CDataDisplay%TripTankPumpLED) | |||
call json%add(p,"StandPipePressureGauge",data%Equipments%ControlPanel%CDataDisplay%StandPipePressureGauge) | |||
call json%add(p,"CasingPressureGauge",data%Equipments%ControlPanel%CDataDisplay%CasingPressureGauge) | |||
call json%add(p,"MP1SPMGauge",data%Equipments%ControlPanel%CDataDisplay%MP1SPMGauge) | |||
call json%add(p,"MP2SPMGauge",data%Equipments%ControlPanel%CDataDisplay%MP2SPMGauge) | |||
call json%add(p,"ReturnLineTempGauge",data%Equipments%ControlPanel%CDataDisplay%ReturnLineTempGauge) | |||
call json%add(p,"RotaryTorqueGauge",data%Equipments%ControlPanel%CDataDisplay%RotaryTorqueGauge) | |||
call json%add(p,"RotaryRPMGauge",data%Equipments%ControlPanel%CDataDisplay%RotaryRPMGauge) | |||
call json%add(p,"AcidGasDetectionLED",data%Equipments%ControlPanel%CDataDisplay%AcidGasDetectionLED) | |||
call json%add(p,"TotalStrokeCounter",data%Equipments%ControlPanel%CDataDisplay%TotalStrokeCounter) | |||
call json%add(p,"TotalStrokeCounter_temp",data%Equipments%ControlPanel%CDataDisplay%TotalStrokeCounter_temp) | |||
call json%add(p,"PitGainLossGauge",data%Equipments%ControlPanel%CDataDisplay%PitGainLossGauge) | |||
call json%add(p,"MudTanksVolumeGauge",data%Equipments%ControlPanel%CDataDisplay%MudTanksVolumeGauge) | |||
call json%add(p,"MVTAlarmLED",data%Equipments%ControlPanel%CDataDisplay%MVTAlarmLED) | |||
call json%add(p,"ReturnMudFlowGauge",data%Equipments%ControlPanel%CDataDisplay%ReturnMudFlowGauge) | |||
call json%add(p,"FillStrokeCounter",data%Equipments%ControlPanel%CDataDisplay%FillStrokeCounter) | |||
call json%add(p,"MFFITotalStrokeCounter",data%Equipments%ControlPanel%CDataDisplay%MFFITotalStrokeCounter) | |||
call json%add(p,"MFFIAlarmLED",data%Equipments%ControlPanel%CDataDisplay%MFFIAlarmLED) | |||
call json%add(p,"MFFIPumpLED",data%Equipments%ControlPanel%CDataDisplay%MFFIPumpLED) | |||
call json%add(p,"TotalWellDepth",data%Equipments%ControlPanel%CDataDisplay%TotalWellDepth) | |||
call json%add(p,"BitDepth",data%Equipments%ControlPanel%CDataDisplay%BitDepth) | |||
call json%add(p,"HookLoad",data%Equipments%ControlPanel%CDataDisplay%HookLoad) | |||
call json%add(p,"StandPipePressure",data%Equipments%ControlPanel%CDataDisplay%StandPipePressure) | |||
call json%add(p,"CasingPressure",data%Equipments%ControlPanel%CDataDisplay%CasingPressure) | |||
call json%add(p,"MP1SPM",data%Equipments%ControlPanel%CDataDisplay%MP1SPM) | |||
call json%add(p,"MP2SPM",data%Equipments%ControlPanel%CDataDisplay%MP2SPM) | |||
call json%add(p,"RTTorque",data%Equipments%ControlPanel%CDataDisplay%RTTorque) | |||
call json%add(p,"RTRPM",data%Equipments%ControlPanel%CDataDisplay%RTRPM) | |||
call json%add(p,"WOP",data%Equipments%ControlPanel%CDataDisplay%WOP) | |||
call json%add(p,"ROP",data%Equipments%ControlPanel%CDataDisplay%ROP) | |||
call json%add(p,"MudWeightIn",data%Equipments%ControlPanel%CDataDisplay%MudWeightIn) | |||
call json%add(p,"MudWeightOut",data%Equipments%ControlPanel%CDataDisplay%MudWeightOut) | |||
call json%add(p,"Buzzer1",data%Equipments%ControlPanel%CDataDisplay%Buzzer1) | |||
call json%add(p,"Buzzer2",data%Equipments%ControlPanel%CDataDisplay%Buzzer2) | |||
call json%add(p,"Buzzer3",data%Equipments%ControlPanel%CDataDisplay%Buzzer3) | |||
call json%add(p,"Buzzer4",data%Equipments%ControlPanel%CDataDisplay%Buzzer4) | |||
call json%create_object(p,'DataDisplay') | |||
call json%add(p,"TripAlarmLow",data%EquipmentControl%DataDisplayConsole%TripAlarmLow) | |||
call json%add(p,"TripAlarmHigh",data%EquipmentControl%DataDisplayConsole%TripAlarmHigh) | |||
call json%add(p,"RetFlowAlarmLow",data%EquipmentControl%DataDisplayConsole%RetFlowAlarmLow) | |||
call json%add(p,"RetFlowAlarmHigh",data%EquipmentControl%DataDisplayConsole%RetFlowAlarmHigh) | |||
call json%add(p,"PitAlarmLow",data%EquipmentControl%DataDisplayConsole%PitAlarmLow) | |||
call json%add(p,"PitAlarmHigh",data%EquipmentControl%DataDisplayConsole%PitAlarmHigh) | |||
call json%add(p,"PortWeightOnBit",data%EquipmentControl%DataDisplayConsole%PortWeightOnBit) | |||
call json%add(p,"PortHookLoad",data%EquipmentControl%DataDisplayConsole%PortHookLoad) | |||
call json%add(p,"PortCasingPressure",data%EquipmentControl%DataDisplayConsole%PortCasingPressure) | |||
call json%add(p,"PortPumpPressure",data%EquipmentControl%DataDisplayConsole%PortPumpPressure) | |||
call json%add(p,"TripTankSetAlarmLow",data%EquipmentControl%DataDisplayConsole%TripTankSetAlarmLow) | |||
call json%add(p,"TripTankSetAlarmHigh",data%EquipmentControl%DataDisplayConsole%TripTankSetAlarmHigh) | |||
call json%add(p,"TripTankSetAlarmSwitch",data%EquipmentControl%DataDisplayConsole%TripTankSetAlarmSwitch) | |||
call json%add(p,"TripTankPowerSwitch",data%EquipmentControl%DataDisplayConsole%TripTankPowerSwitch) | |||
call json%add(p,"TripTankPumpSwitch",data%EquipmentControl%DataDisplayConsole%TripTankPumpSwitch) | |||
call json%add(p,"TripTankHornSwitch",data%EquipmentControl%DataDisplayConsole%TripTankHornSwitch) | |||
call json%add(p,"AcidGasDetectionHornSwitch",data%EquipmentControl%DataDisplayConsole%AcidGasDetectionHornSwitch) | |||
call json%add(p,"TotalStrokeCounterResetSwitch",data%EquipmentControl%DataDisplayConsole%TotalStrokeCounterResetSwitch) | |||
call json%add(p,"DrillingTrippingSelectorSwitch",data%EquipmentControl%DataDisplayConsole%DrillingTrippingSelectorSwitch) | |||
call json%add(p,"MVTSetAlarmLowKnob",data%EquipmentControl%DataDisplayConsole%MVTSetAlarmLowKnob) | |||
call json%add(p,"MVTSetAlarmHighKnob",data%EquipmentControl%DataDisplayConsole%MVTSetAlarmHighKnob) | |||
call json%add(p,"MVTSetAlarmSwitch",data%EquipmentControl%DataDisplayConsole%MVTSetAlarmSwitch) | |||
call json%add(p,"MudTank1Switch",data%EquipmentControl%DataDisplayConsole%MudTank1Switch) | |||
call json%add(p,"MudTank2Switch",data%EquipmentControl%DataDisplayConsole%MudTank2Switch) | |||
call json%add(p,"MudTank3Switch",data%EquipmentControl%DataDisplayConsole%MudTank3Switch) | |||
call json%add(p,"MudTank4Switch",data%EquipmentControl%DataDisplayConsole%MudTank4Switch) | |||
call json%add(p,"MVTFineKnob",data%EquipmentControl%DataDisplayConsole%MVTFineKnob) | |||
call json%add(p,"MVTCoarseKnob",data%EquipmentControl%DataDisplayConsole%MVTCoarseKnob) | |||
call json%add(p,"MVTHornSwitch",data%EquipmentControl%DataDisplayConsole%MVTHornSwitch) | |||
call json%add(p,"MVTDeviationTripSelectionSwitch",data%EquipmentControl%DataDisplayConsole%MVTDeviationTripSelectionSwitch) | |||
call json%add(p,"MVTPowerSwitch",data%EquipmentControl%DataDisplayConsole%MVTPowerSwitch) | |||
call json%add(p,"MFFIResetTotalStrokes",data%EquipmentControl%DataDisplayConsole%MFFIResetTotalStrokes) | |||
call json%add(p,"MFFIResetFillCounter",data%EquipmentControl%DataDisplayConsole%MFFIResetFillCounter) | |||
call json%add(p,"MFFIPumpSelectorSwitch",data%EquipmentControl%DataDisplayConsole%MFFIPumpSelectorSwitch) | |||
call json%add(p,"MFFIFillSPMSelectorSwitch",data%EquipmentControl%DataDisplayConsole%MFFIFillSPMSelectorSwitch) | |||
call json%add(p,"MFFISetAlarmLowKnob",data%EquipmentControl%DataDisplayConsole%MFFISetAlarmLowKnob) | |||
call json%add(p,"MFFISetAlarmHighKnob",data%EquipmentControl%DataDisplayConsole%MFFISetAlarmHighKnob) | |||
call json%add(p,"MFFISetAlarmSwitch",data%EquipmentControl%DataDisplayConsole%MFFISetAlarmSwitch) | |||
call json%add(p,"MFFIPowerSwitch",data%EquipmentControl%DataDisplayConsole%MFFIPowerSwitch) | |||
call json%add(p,"MFFIHornSwitch",data%EquipmentControl%DataDisplayConsole%MFFIHornSwitch) | |||
call json%add(p,"ResetWob",data%EquipmentControl%DataDisplayConsole%ResetWob) | |||
call json%add(p,"Clutch",data%EquipmentControl%DataDisplayConsole%Clutch) | |||
call json%add(p,"WOBPointer",data%EquipmentControl%DataDisplayConsole%WOBPointer) | |||
call json%add(p,"HookLoadPointer",data%EquipmentControl%DataDisplayConsole%HookLoadPointer) | |||
call json%add(p,"TripTankGauge",data%EquipmentControl%DataDisplayConsole%TripTankGauge) | |||
call json%add(p,"TripTankAlarmLED",data%EquipmentControl%DataDisplayConsole%TripTankAlarmLED) | |||
call json%add(p,"TripTankPumpLED",data%EquipmentControl%DataDisplayConsole%TripTankPumpLED) | |||
call json%add(p,"StandPipePressureGauge",data%EquipmentControl%DataDisplayConsole%StandPipePressureGauge) | |||
call json%add(p,"CasingPressureGauge",data%EquipmentControl%DataDisplayConsole%CasingPressureGauge) | |||
call json%add(p,"MP1SPMGauge",data%EquipmentControl%DataDisplayConsole%MP1SPMGauge) | |||
call json%add(p,"MP2SPMGauge",data%EquipmentControl%DataDisplayConsole%MP2SPMGauge) | |||
call json%add(p,"ReturnLineTempGauge",data%EquipmentControl%DataDisplayConsole%ReturnLineTempGauge) | |||
call json%add(p,"RotaryTorqueGauge",data%EquipmentControl%DataDisplayConsole%RotaryTorqueGauge) | |||
call json%add(p,"RotaryRPMGauge",data%EquipmentControl%DataDisplayConsole%RotaryRPMGauge) | |||
call json%add(p,"AcidGasDetectionLED",data%EquipmentControl%DataDisplayConsole%AcidGasDetectionLED) | |||
call json%add(p,"TotalStrokeCounter",data%EquipmentControl%DataDisplayConsole%TotalStrokeCounter) | |||
call json%add(p,"PitGainLossGauge",data%EquipmentControl%DataDisplayConsole%PitGainLossGauge) | |||
call json%add(p,"MudTanksVolumeGauge",data%EquipmentControl%DataDisplayConsole%MudTanksVolumeGauge) | |||
call json%add(p,"MVTAlarmLED",data%EquipmentControl%DataDisplayConsole%MVTAlarmLED) | |||
call json%add(p,"ReturnMudFlowGauge",data%EquipmentControl%DataDisplayConsole%ReturnMudFlowGauge) | |||
call json%add(p,"FillStrokeCounter",data%EquipmentControl%DataDisplayConsole%FillStrokeCounter) | |||
call json%add(p,"MFFITotalStrokeCounter",data%EquipmentControl%DataDisplayConsole%MFFITotalStrokeCounter) | |||
call json%add(p,"MFFIAlarmLED",data%EquipmentControl%DataDisplayConsole%MFFIAlarmLED) | |||
call json%add(p,"MFFIPumpLED",data%EquipmentControl%DataDisplayConsole%MFFIPumpLED) | |||
call json%add(p,"TotalWellDepth",data%EquipmentControl%DataDisplayConsole%TotalWellDepth) | |||
call json%add(p,"BitDepth",data%EquipmentControl%DataDisplayConsole%BitDepth) | |||
call json%add(p,"HookLoad",data%EquipmentControl%DataDisplayConsole%HookLoad) | |||
call json%add(p,"StandPipePressure",data%EquipmentControl%DataDisplayConsole%StandPipePressure) | |||
call json%add(p,"CasingPressure",data%EquipmentControl%DataDisplayConsole%CasingPressure) | |||
call json%add(p,"MP1SPM",data%EquipmentControl%DataDisplayConsole%MP1SPM) | |||
call json%add(p,"MP2SPM",data%EquipmentControl%DataDisplayConsole%MP2SPM) | |||
call json%add(p,"RTTorque",data%EquipmentControl%DataDisplayConsole%RTTorque) | |||
call json%add(p,"RTRPM",data%EquipmentControl%DataDisplayConsole%RTRPM) | |||
call json%add(p,"WOP",data%EquipmentControl%DataDisplayConsole%WOP) | |||
call json%add(p,"ROP",data%EquipmentControl%DataDisplayConsole%ROP) | |||
call json%add(p,"MudWeightIn",data%EquipmentControl%DataDisplayConsole%MudWeightIn) | |||
call json%add(p,"MudWeightOut",data%EquipmentControl%DataDisplayConsole%MudWeightOut) | |||
call json%add(p,"Buzzer1",data%EquipmentControl%DataDisplayConsole%Buzzer1) | |||
call json%add(p,"Buzzer2",data%EquipmentControl%DataDisplayConsole%Buzzer2) | |||
call json%add(p,"Buzzer3",data%EquipmentControl%DataDisplayConsole%Buzzer3) | |||
call json%add(p,"Buzzer4",data%EquipmentControl%DataDisplayConsole%Buzzer4) | |||
call json%add(parent,p) | |||
@@ -5,16 +5,16 @@ module CHook | |||
public | |||
contains | |||
subroutine CHookToJson(parent) | |||
subroutine HookToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'CHook') | |||
call json%add(p,"HookHeight_S",data%Equipments%ControlPanel%CHook%HookHeight_S) | |||
call json%add(p,"HookHeight",data%Equipments%ControlPanel%CHook%HookHeight) | |||
call json%create_object(p,'Hook') | |||
call json%add(p,"HookHeight_S",data%EquipmentControl%Hook%HookHeight_S) | |||
call json%add(p,"HookHeight",data%EquipmentControl%Hook%HookHeight) | |||
call json%add(parent,p) | |||
end subroutine | |||
@@ -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 | |||
subroutine CStandPipeToJson(parent) | |||
subroutine StandPipeManifoldToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'CStandPipe') | |||
call json%add(p,"StandPipeManifoldValve1",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve1) | |||
call json%add(p,"StandPipeManifoldValve2",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve2) | |||
call json%add(p,"StandPipeManifoldValve3",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve3) | |||
call json%add(p,"StandPipeManifoldValve4",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve4) | |||
call json%add(p,"StandPipeManifoldValve5",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve5) | |||
call json%add(p,"StandPipeManifoldValve6",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve6) | |||
call json%add(p,"StandPipeManifoldValve7",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve7) | |||
call json%add(p,"StandPipeManifoldValve8",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve8) | |||
call json%add(p,"StandPipeManifoldValve9",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve9) | |||
call json%add(p,"StandPipeManifoldValve10",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve10) | |||
call json%add(p,"StandPipeManifoldValve11",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve11) | |||
call json%add(p,"StandPipeManifoldValve12",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve12) | |||
call json%add(p,"StandPipeManifoldValve13",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve13) | |||
call json%add(p,"StandPipeManifoldValve14",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve14) | |||
call json%add(p,"StandPipeManifoldValve15",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve15) | |||
call json%add(p,"StandPipeGauge1",data%Equipments%ControlPanel%CStandPipe%StandPipeGauge1) | |||
call json%add(p,"StandPipeGauge2",data%Equipments%ControlPanel%CStandPipe%StandPipeGauge2) | |||
call json%create_object(p,'StandPipeManifold') | |||
call json%add(p,"StandPipeManifoldValve1",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1) | |||
call json%add(p,"StandPipeManifoldValve2",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2) | |||
call json%add(p,"StandPipeManifoldValve3",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3) | |||
call json%add(p,"StandPipeManifoldValve4",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4) | |||
call json%add(p,"StandPipeManifoldValve5",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5) | |||
call json%add(p,"StandPipeManifoldValve6",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6) | |||
call json%add(p,"StandPipeManifoldValve7",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7) | |||
call json%add(p,"StandPipeManifoldValve8",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8) | |||
call json%add(p,"StandPipeManifoldValve9",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9) | |||
call json%add(p,"StandPipeManifoldValve10",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10) | |||
call json%add(p,"StandPipeManifoldValve11",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11) | |||
call json%add(p,"StandPipeManifoldValve12",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12) | |||
call json%add(p,"StandPipeManifoldValve13",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13) | |||
call json%add(p,"StandPipeManifoldValve14",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14) | |||
call json%add(p,"StandPipeManifoldValve15",data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15) | |||
call json%add(p,"StandPipeGauge1",data%EquipmentControl%StandPipeManifold%StandPipeGauge1) | |||
call json%add(p,"StandPipeGauge2",data%EquipmentControl%StandPipeManifold%StandPipeGauge2) | |||
call json%add(parent,p) | |||
end subroutine | |||
! Input routines | |||
subroutine SetStandPipeManifoldValve1(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve1 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve1' :: SetStandPipeManifoldValve1 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1 = v | |||
call ChangeValve(13, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve1=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve2(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve2 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve2' :: SetStandPipeManifoldValve2 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2 = v | |||
call ChangeValve(14, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve2=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve3(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve3 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve3' :: SetStandPipeManifoldValve3 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3 = v | |||
call ChangeValve(15, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve3=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve4(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve4 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve4' :: SetStandPipeManifoldValve4 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4 = v | |||
call ChangeValve(11, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve4=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve5(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve5 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve5' :: SetStandPipeManifoldValve5 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5 = v | |||
call ChangeValve(12, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve5=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve6(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve6 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve6' :: SetStandPipeManifoldValve6 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6 = v | |||
call ChangeValve(9, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve6=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve7(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve7 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve7' :: SetStandPipeManifoldValve7 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7 = v | |||
call ChangeValve(10, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve7=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve8(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve8 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve8' :: SetStandPipeManifoldValve8 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8 = v | |||
call ChangeValve(6, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve8=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve9(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve9 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve9' :: SetStandPipeManifoldValve9 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9 = v | |||
call ChangeValve(7, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve9=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve10(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve10 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve10' :: SetStandPipeManifoldValve10 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10 = v | |||
call ChangeValve(8, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve10=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve11(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve11 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve11' :: SetStandPipeManifoldValve11 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11 = v | |||
call ChangeValve(1, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve11=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve12(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve12 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve12' :: SetStandPipeManifoldValve12 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12 = v | |||
call ChangeValve(2, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve12=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve13(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve13 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve13' :: SetStandPipeManifoldValve13 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13 = v | |||
call ChangeValve(3, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve13=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve14(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve14 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve14' :: SetStandPipeManifoldValve14 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14 = v | |||
call ChangeValve(4, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve14=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14 | |||
#endif | |||
end subroutine | |||
subroutine SetStandPipeManifoldValve15(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve15 | |||
!DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve15' :: SetStandPipeManifoldValve15 | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15 = v | |||
call ChangeValve(5, v) | |||
#ifdef deb | |||
print*, 'StandPipeManifoldValve15=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15 | |||
#endif | |||
end subroutine | |||
! Output routines | |||
real(8) function GetStandPipeGauge1() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge1 | |||
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge1' :: GetStandPipeGauge1 | |||
implicit none | |||
GetStandPipeGauge1 = data%EquipmentControl%StandPipeManifold%StandPipeGauge1 | |||
!GetStandPipeGauge1 = 567.4 | |||
end function | |||
real(8) function GetStandPipeGauge2() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge2 | |||
!DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge2' :: GetStandPipeGauge2 | |||
implicit none | |||
GetStandPipeGauge2 = data%EquipmentControl%StandPipeManifold%StandPipeGauge2 | |||
!GetStandPipeGauge2 = 1564.0 | |||
end function | |||
end module CStandPipeManifold |
@@ -6,7 +6,7 @@ module CTopDrivePanel | |||
public | |||
contains | |||
subroutine CDrivePanelToJson(parent) | |||
subroutine TopDrivePanelToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
@@ -15,253 +15,26 @@ module CTopDrivePanel | |||
! 1. create new node | |||
call json%create_object(p,'CDrivePanel') | |||
call json%add(p,"TdsPower_REV",data%Equipments%ControlPanel%CTopDrive%TdsPower_REV) | |||
call json%add(p,"TdsPower_OFF",data%Equipments%ControlPanel%CTopDrive%TdsPower_OFF) | |||
call json%add(p,"TdsPower_FWD",data%Equipments%ControlPanel%CTopDrive%TdsPower_FWD) | |||
call json%add(p,"TdsMu_TORQ",data%Equipments%ControlPanel%CTopDrive%TdsMu_TORQ) | |||
call json%add(p,"TdsMu_SPINE",data%Equipments%ControlPanel%CTopDrive%TdsMu_SPINE) | |||
call json%add(p,"TdsMu_DRILL",data%Equipments%ControlPanel%CTopDrive%TdsMu_DRILL) | |||
call json%add(p,"TdsLinkTilt_TILT",data%Equipments%ControlPanel%CTopDrive%TdsLinkTilt_TILT) | |||
call json%add(p,"TdsLinkTilt_OFF",data%Equipments%ControlPanel%CTopDrive%TdsLinkTilt_OFF) | |||
call json%add(p,"TdsLinkTilt_DRILL",data%Equipments%ControlPanel%CTopDrive%TdsLinkTilt_DRILL) | |||
call json%add(p,"LED_OFF",data%Equipments%ControlPanel%CTopDrive%LED_OFF) | |||
call json%add(p,"LED_ON",data%Equipments%ControlPanel%CTopDrive%LED_ON) | |||
call json%add(p,"LED_BLINK",data%Equipments%ControlPanel%CTopDrive%LED_BLINK) | |||
do i=1,data%Equipments%ControlPanel%CTopDrive%Count | |||
call json%create_object(pform,'') | |||
call json%create_object(p,'TopDrivePanel') | |||
call json%add(pform,"TopDriveTdsPowerState",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerState) | |||
call json%add(pform,"TopDriveTorqueWrench",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrench) | |||
call json%add(pform,"TopDriveDrillTorqueState",data%Equipments%ControlPanel%CTopDrive%TopDriveDrillTorqueState) | |||
call json%add(pform,"TopDriveLinkTiltState",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltState) | |||
call json%add(pform,"TopDriveIbop",data%Equipments%ControlPanel%CTopDrive%TopDriveIbop) | |||
call json%add(pform,"TopDriveTorqueLimitKnob",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob) | |||
call json%add(pform,"RpmKnob",data%Equipments%ControlPanel%CTopDrive%RpmKnob) | |||
call json%add(pform,"TopDriveOperationFaultLed",data%Equipments%ControlPanel%CTopDrive%TopDriveOperationFaultLed) | |||
call json%add(pform,"TopDriveTdsPowerLed",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerLed) | |||
call json%add(pform,"TopDriveTorqueWrenchLed",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed) | |||
call json%add(pform,"TopDriveLinkTiltLed",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltLed) | |||
call json%add(pform,"TopDriveIbopLed",data%Equipments%ControlPanel%CTopDrive%TopDriveIbopLed) | |||
call json%add(pform,"TopDriveTorqueLimitGauge",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge) | |||
call json%add(pform,"TopDriveTorqueGauge",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueGauge) | |||
call json%add(pform,"TopDriveRpmGauge",data%Equipments%ControlPanel%CTopDrive%TopDriveRpmGauge) | |||
call json%add(pform,"TopDriveTdsPowerState",data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState) | |||
call json%add(pform,"TopDriveTorqueWrench",data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrench) | |||
call json%add(pform,"TopDriveDrillTorqueState",data%EquipmentControl%TopDrivePanel%TopDriveDrillTorqueState) | |||
call json%add(pform,"TopDriveLinkTiltState",data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltState) | |||
call json%add(pform,"TopDriveIbop",data%EquipmentControl%TopDrivePanel%TopDriveIbop) | |||
call json%add(pform,"TopDriveTorqueLimitKnob",data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob) | |||
call json%add(pform,"RpmKnob",data%EquipmentControl%TopDrivePanel%RpmKnob) | |||
call json%add(pform,"TopDriveOperationFaultLed",data%EquipmentControl%TopDrivePanel%TopDriveOperationFaultLed) | |||
call json%add(pform,"TopDriveTdsPowerLed",data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerLed) | |||
call json%add(pform,"TopDriveTorqueWrenchLed",data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrenchLed) | |||
call json%add(pform,"TopDriveLinkTiltLed",data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltLed) | |||
call json%add(pform,"TopDriveIbopLed",data%EquipmentControl%TopDrivePanel%TopDriveIbopLed) | |||
call json%add(pform,"TopDriveTorqueLimitGauge",data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitGauge) | |||
call json%add(pform,"TopDriveTorqueGauge",data%EquipmentControl%TopDrivePanel%TopDriveTorqueGauge) | |||
call json%add(pform,"TopDriveRpmGauge",data%EquipmentControl%TopDrivePanel%TopDriveRpmGauge) | |||
call json%add(p,pform) | |||
end do | |||
call json%add(parent,p) | |||
end subroutine | |||
! Input routines | |||
subroutine SetTopDriveTdsPowerState(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTdsPowerState | |||
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTdsPowerState' :: SetTopDriveTdsPowerState | |||
implicit none | |||
integer, intent(in) :: v | |||
data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState = v | |||
#ifdef deb | |||
call Log_3( 'TopDriveTdsPowerState=', data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState) | |||
#endif | |||
end subroutine | |||
subroutine SetTopDriveTorqueWrench(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTorqueWrench | |||
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTorqueWrench' :: SetTopDriveTorqueWrench | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrench = v | |||
#ifdef deb | |||
call Log_3( 'TopDriveTorqueWrench=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrench) | |||
#endif | |||
end subroutine | |||
subroutine SetTopDriveDrillTorqueState(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveDrillTorqueState | |||
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveDrillTorqueState' :: SetTopDriveDrillTorqueState | |||
implicit none | |||
integer, intent(in) :: v | |||
data%EquipmentControl%TopDrivePanel%TopDriveDrillTorqueState = v | |||
#ifdef deb | |||
call Log_3( 'TopDriveDrillTorqueState=', data%EquipmentControl%TopDrivePanel%TopDriveDrillTorqueState) | |||
#endif | |||
end subroutine | |||
subroutine SetTopDriveLinkTiltState(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveLinkTiltState | |||
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveLinkTiltState' :: SetTopDriveLinkTiltState | |||
implicit none | |||
integer, intent(in) :: v | |||
data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltState = v | |||
#ifdef deb | |||
call Log_3( 'TopDriveLinkTiltState=', data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltState) | |||
#endif | |||
end subroutine | |||
subroutine SetTopDriveIbop(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveIbop | |||
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveIbop' :: SetTopDriveIbop | |||
implicit none | |||
logical, intent(in) :: v | |||
data%EquipmentControl%TopDrivePanel%TopDriveIbop = v | |||
#ifdef deb | |||
call Log_3( 'TopDriveIbop=', data%EquipmentControl%TopDrivePanel%TopDriveIbop) | |||
#endif | |||
end subroutine | |||
subroutine SetTopDriveTorqueLimitKnob(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetTopDriveTorqueLimitKnob | |||
!DEC$ ATTRIBUTES ALIAS: 'SetTopDriveTorqueLimitKnob' :: SetTopDriveTorqueLimitKnob | |||
! use CSimulationVariables, only: IsPortable | |||
use CDrillingConsoleVariables | |||
use SimulationVariables | |||
use SimulationVariables!, only: data%EquipmentControl%DrillingConsole%RTSwitch, data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob | |||
use CWarnings, only: Activate_TopdriveRotaryTableConfilict | |||
use CScaleRange | |||
implicit none | |||
real, intent(in) :: v | |||
if (IsPortable) then | |||
if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict() | |||
if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch == 0) then | |||
data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob = 0 | |||
data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob = v | |||
#ifdef deb | |||
call Log_3( 'RTTorqueLimitKnob=', data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob ) | |||
call Log_3( 'TopDriveTorqueLimitKnob=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob ) | |||
#endif | |||
endif | |||
if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState == 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) then | |||
data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob = 0 | |||
data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob = real(ScaleRange(v, 0.0, 10.0, 0.0, 6000.0), 8) | |||
#ifdef deb | |||
call Log_3( 'RTTorqueLimitKnob=', data%EquipmentControl%DrillingConsole%RTTorqueLimitKnob ) | |||
call Log_3( 'TopDriveTorqueLimitKnob=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob ) | |||
#endif | |||
endif | |||
else | |||
data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob = v | |||
#ifdef deb | |||
call Log_3( 'TopDriveTorqueLimitKnob=', data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitKnob) | |||
#endif | |||
endif | |||
end subroutine | |||
subroutine SetRpmKnob(v) | |||
!DEC$ ATTRIBUTES DLLEXPORT :: SetRpmKnob | |||
!DEC$ ATTRIBUTES ALIAS: 'SetRpmKnob' :: SetRpmKnob | |||
! use CSimulationVariables, only: IsPortable | |||
use CDrillingConsoleVariables | |||
use SimulationVariables | |||
use SimulationVariables!, only: data%EquipmentControl%DrillingConsole%RTSwitch, data%EquipmentControl%DrillingConsole%RTThrottle | |||
use CWarnings, only: Activate_TopdriveRotaryTableConfilict | |||
use CScaleRange | |||
implicit none | |||
real, intent(in) :: v | |||
if (IsPortable) then | |||
if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) call Activate_TopdriveRotaryTableConfilict() | |||
if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch == 0) then | |||
data%EquipmentControl%DrillingConsole%RTThrottle = 0 | |||
data%EquipmentControl%TopDrivePanel%RpmKnob = v | |||
#ifdef deb | |||
call Log_3( 'RTThrottle=', data%EquipmentControl%DrillingConsole%RTThrottle ) | |||
call Log_3( 'RpmKnob=', data%EquipmentControl%TopDrivePanel%RpmKnob ) | |||
#endif | |||
endif | |||
if(data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState == 0 .and. data%EquipmentControl%DrillingConsole%RTSwitch /= 0) then | |||
data%EquipmentControl%TopDrivePanel%RpmKnob = 0 | |||
data%EquipmentControl%DrillingConsole%RTThrottle = real(ScaleRange(v, 0.0, 965.0, 0.0, 250.0), 8) | |||
#ifdef deb | |||
call Log_3( 'RpmKnob=', data%EquipmentControl%TopDrivePanel%RpmKnob ) | |||
call Log_3( 'RTThrottle=', data%EquipmentControl%DrillingConsole%RTThrottle ) | |||
#endif | |||
endif | |||
else | |||
data%EquipmentControl%TopDrivePanel%RpmKnob = v | |||
endif | |||
if (IsPortable) then | |||
! | |||
else | |||
data%EquipmentControl%TopDrivePanel%RpmKnob = v | |||
#ifdef deb | |||
call Log_3( 'RpmKnob=', data%EquipmentControl%TopDrivePanel%RpmKnob ) | |||
#endif | |||
endif | |||
end subroutine | |||
! Output routines | |||
integer function GetTopDriveOperationFaultLed() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveOperationFaultLed | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveOperationFaultLed' :: GetTopDriveOperationFaultLed | |||
implicit none | |||
GetTopDriveOperationFaultLed = data%EquipmentControl%TopDrivePanel%TopDriveOperationFaultLed | |||
!GetTopDriveOperationFaultLed = 1 | |||
end function | |||
integer function GetTopDriveTdsPowerLed() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTdsPowerLed | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTdsPowerLed' :: GetTopDriveTdsPowerLed | |||
implicit none | |||
GetTopDriveTdsPowerLed = data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerLed | |||
!GetTopDriveTdsPowerLed = 1 | |||
end function | |||
integer function GetTopDriveTorqueWrenchLed() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueWrenchLed | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueWrenchLed' :: GetTopDriveTorqueWrenchLed | |||
implicit none | |||
GetTopDriveTorqueWrenchLed = data%EquipmentControl%TopDrivePanel%TopDriveTorqueWrenchLed | |||
!GetTopDriveTorqueWrenchLed = 1 | |||
end function | |||
integer function GetTopDriveLinkTiltLed() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveLinkTiltLed | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveLinkTiltLed' :: GetTopDriveLinkTiltLed | |||
implicit none | |||
GetTopDriveLinkTiltLed = data%EquipmentControl%TopDrivePanel%TopDriveLinkTiltLed | |||
!GetTopDriveLinkTiltLed = 1 | |||
end function | |||
integer function GetTopDriveIbopLed() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveIbopLed | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveIbopLed' :: GetTopDriveIbopLed | |||
implicit none | |||
GetTopDriveIbopLed = data%EquipmentControl%TopDrivePanel%TopDriveIbopLed | |||
!GetTopDriveIbopLed = 1 | |||
end function | |||
real function GetTopDriveTorqueGauge() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueGauge | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueGauge' :: GetTopDriveTorqueGauge | |||
implicit none | |||
GetTopDriveTorqueGauge = data%EquipmentControl%TopDrivePanel%TopDriveTorqueGauge | |||
!GetTopDriveTorqueGauge = 340 | |||
end function | |||
real function GetTopDriveTorqueLimitGauge() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveTorqueLimitGauge | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveTorqueLimitGauge' :: GetTopDriveTorqueLimitGauge | |||
implicit none | |||
GetTopDriveTorqueLimitGauge = data%EquipmentControl%TopDrivePanel%TopDriveTorqueLimitGauge | |||
!GetTopDriveTorqueLimitGauge = 442 | |||
end function | |||
real function GetTopDriveRpmGauge() | |||
!DEC$ ATTRIBUTES DLLEXPORT :: GetTopDriveRpmGauge | |||
!DEC$ ATTRIBUTES ALIAS: 'GetTopDriveRpmGauge' :: GetTopDriveRpmGauge | |||
implicit none | |||
GetTopDriveRpmGauge = data%EquipmentControl%TopDrivePanel%TopDriveRpmGauge | |||
!GetTopDriveRpmGauge = 67 | |||
end function | |||
end module CTopDrivePanel | |||
end module CTopDrivePanel |
@@ -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 | |||
use SimulationVariables | |||
@@ -28,38 +7,33 @@ | |||
contains | |||
subroutine CTankToJson(parent) | |||
subroutine TankToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p,pform | |||
integer :: i | |||
call json%create_array(p,'CTank') | |||
do i=1,data%Equipments%Tanks%CTank%Count | |||
call json%create_object(pform,'') | |||
call json%add(pform,"WaterRate",data%Equipments%Tanks%CTanks%WaterRate) | |||
call json%add(pform,"CementTankVolume",data%Equipments%Tanks%CTanks%CementTankVolume) | |||
call json%add(pform,"CementTankDensity",data%Equipments%Tanks%CTanks%CementTankDensity) | |||
call json%add(pform,"TripTankVolume",data%Equipments%Tanks%CTanks%TripTankVolume) | |||
call json%add(pform,"TripTankDensity",data%Equipments%Tanks%CTanks%TripTankDensity) | |||
call json%add(pform,"ManualPumpPower",data%Equipments%Tanks%CTanks%ManualPumpPower) | |||
call json%add(pform,"Valve1",data%Equipments%Tanks%CTanks%Valve1) | |||
call json%add(pform,"Valve2",data%Equipments%Tanks%CTanks%Valve2) | |||
call json%add(pform,"Valve3",data%Equipments%Tanks%CTanks%Valve3) | |||
call json%add(pform,"Valve4",data%Equipments%Tanks%CTanks%Valve4) | |||
call json%add(pform,"Valve5",data%Equipments%Tanks%CTanks%Valve5) | |||
call json%add(pform,"Valve6",data%Equipments%Tanks%CTanks%Valve6) | |||
call json%add(pform,"Valve7",data%Equipments%Tanks%CTanks%Valve7) | |||
call json%add(pform,"Valve8",data%Equipments%Tanks%CTanks%Valve8) | |||
call json%add(pform,"Valve9",data%Equipments%Tanks%CTanks%Valve9) | |||
call json%add(pform,"Valve10",data%Equipments%Tanks%CTanks%Valve10) | |||
call json%add(pform,"Valve11",data%Equipments%Tanks%CTanks%Valve11) | |||
call json%add(p,pform) | |||
end do | |||
call json%create_array(p,'Tank') | |||
call json%create_object(pform,'') | |||
call json%add(pform,"WaterRate",data%EquipmentControl%Tank%WaterRate) | |||
call json%add(pform,"CementTankVolume",data%EquipmentControl%Tank%CementTankVolume) | |||
call json%add(pform,"CementTankDensity",data%EquipmentControl%Tank%CementTankDensity) | |||
call json%add(pform,"TripTankVolume",data%EquipmentControl%Tank%TripTankVolume) | |||
call json%add(pform,"TripTankDensity",data%EquipmentControl%Tank%TripTankDensity) | |||
call json%add(pform,"ManualPumpPower",data%EquipmentControl%Tank%ManualPumpPower) | |||
call json%add(pform,"Valve1",data%EquipmentControl%Tank%Valve1) | |||
call json%add(pform,"Valve2",data%EquipmentControl%Tank%Valve2) | |||
call json%add(pform,"Valve3",data%EquipmentControl%Tank%Valve3) | |||
call json%add(pform,"Valve4",data%EquipmentControl%Tank%Valve4) | |||
call json%add(pform,"Valve5",data%EquipmentControl%Tank%Valve5) | |||
call json%add(pform,"Valve6",data%EquipmentControl%Tank%Valve6) | |||
call json%add(pform,"Valve7",data%EquipmentControl%Tank%Valve7) | |||
call json%add(pform,"Valve8",data%EquipmentControl%Tank%Valve8) | |||
call json%add(pform,"Valve9",data%EquipmentControl%Tank%Valve9) | |||
call json%add(pform,"Valve10",data%EquipmentControl%Tank%Valve10) | |||
call json%add(pform,"Valve11",data%EquipmentControl%Tank%Valve11) | |||
call json%add(parent,p) | |||
end subroutine | |||
@@ -77,5 +51,4 @@ | |||
end subroutine | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
end module CTanks |
@@ -163,6 +163,13 @@ SRCS_F =\ | |||
CSharp/Problems/CMudTreatmentProblemsVariables.f90 \ | |||
CSharp/Problems/CBopProblemsVariables.f90 \ | |||
Simulation/SimulationVariables.f90 \ | |||
\ | |||
CSharp/Equipments/ControlPanels/CChokeControlPanel.f90 \ | |||
CSharp/Equipments/ControlPanels/CDrillingConsole.f90 \ | |||
CSharp/Equipments/ControlPanels/CStandPipeManifold.f90 \ | |||
CSharp/Equipments/ControlPanels/CTopDrivePanel.f90 \ | |||
CSharp/Equipments/DrillWatch/DrillWatch.f90 \ | |||
\ | |||
CSharp/Problems/CMudTreatmentProblems.f90 \ | |||
CSharp/Problems/CChokeProblems.f90 \ | |||
CSharp/Equipments/ControlPanels/CHook.f90 \ | |||
@@ -98,7 +98,7 @@ module SimulationVariables | |||
Type(HookType)::Hook | |||
type(StandPipeManifoldType)::StandPipeManifold | |||
Type(TopDrivePanelType)::TopDrivePanel | |||
! Drill Watch | |||
Type(DrillingWatchType)::DrillingWatch | |||
Type(TankType)::Tank | |||
end type EquipmentControlType | |||
@@ -53,6 +53,17 @@ module Simulator | |||
use PermissionsModule | |||
use UnitySignalsModule | |||
use CBopControlPanel | |||
use CChokeControlPanel | |||
use CChokeManifold | |||
use CDataDisplayConsole | |||
use CDrillingConsole | |||
use CHook | |||
use CStandPipeManifold | |||
use CTopDrivePanel | |||
use DrillingWatchModule | |||
use CTanks | |||
use :: json_module, rk => json_rk | |||
implicit none | |||
@@ -92,6 +103,9 @@ module Simulator | |||
call initConnection() | |||
call write_variables() | |||
call read_variables() | |||
call jsoncore%print(jsonvalue,'test.json') | |||
call jsoncore%destroy(jsonvalue) | |||
! print *,"s2=",redisContent | |||
! call deallocateData() | |||
! print *,"redisContent Deallocated!" | |||
@@ -198,19 +212,12 @@ module Simulator | |||
call ConfigurationToJson(jsonvalue) | |||
call WarningsToJson(jsonvalue) | |||
call ProblemsToJson(jsonvalue) | |||
call EquipmentsToJson(jsonvalue) | |||
print *,"write starts" | |||
<<<<<<< HEAD | |||
call jsoncore%serialize(jsonvalue,redisContent) | |||
! s = "Test redis write!" | |||
call setData(redisContent) | |||
======= | |||
call json%create_object(p,'') !create the root | |||
call ConfigurationToJson(p) | |||
call json%print(p,'test.json') !write it to a file | |||
call json%destroy(p) !cleanup print *,"written" | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
print *,"write ends" | |||
end subroutine | |||
@@ -268,6 +275,31 @@ module Simulator | |||
! call OperationScenarios_Init() | |||
end subroutine init_modules | |||
subroutine EquipmentsToJson(parent) | |||
type(json_value),pointer :: parent | |||
type(json_core) :: json | |||
type(json_value),pointer :: p | |||
! 1. create new node | |||
call json%create_object(p,'Equipments') | |||
! 2. add member of data type to new node | |||
call BopControlPanelToJson(p) | |||
call ChokeControlPanelToJson(p) | |||
call ChokeManifoldToJson(p) | |||
call DataDisplayConsoleToJson(p) | |||
call DrillingConsoleToJson(p) | |||
call HookToJson(p) | |||
call StandPipeManifoldToJson(p) | |||
call TopDrivePanelToJson(p) | |||
call DrillingWatchToJson(p) | |||
call TankToJson(p) | |||
! 3. add new node to parent | |||
call json%add(parent,p) | |||
end subroutine | |||
subroutine ConfigurationToJson(parent) | |||
type(json_value),pointer :: parent | |||
@@ -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": [ | |||
{ | |||
<<<<<<< HEAD | |||
"attachments": {}, | |||
"cell_type": "markdown", | |||
"metadata": {}, | |||
======= | |||
"cell_type": "code", | |||
"execution_count": 10, | |||
"metadata": {}, | |||
"outputs": [ | |||
{ | |||
"data": { | |||
"text/plain": [ | |||
"[' real(8) :: AnnularRegulatorSetControl\\n',\n", | |||
" ' real(8) :: AirMasterValve\\n',\n", | |||
" ' real(8) :: ByePassValve\\n',\n", | |||
" ' real(8) :: AnnularValve\\n',\n", | |||
" ' real(8) :: UpperRamsValve\\n',\n", | |||
" ' real(8) :: MiddleRamsValve\\n',\n", | |||
" ' real(8) :: KillLineValve\\n',\n", | |||
" ' real(8) :: ChokeLineValve\\n',\n", | |||
" ' real(8) :: LowerRamsValve\\n',\n", | |||
" ' real(8) :: ManifoldPressureGauge\\n',\n", | |||
" ' real(8) :: AirSupplyPressureGauge\\n',\n", | |||
" ' real(8) :: AccumulatorPressureGauge\\n',\n", | |||
" ' real(8) :: AnnularPressureGauge\\n',\n", | |||
" ' integer :: AnnularOpenLED\\n',\n", | |||
" ' integer :: AnnularCloseLED\\n',\n", | |||
" ' integer :: UpperRamsOpenLED\\n',\n", | |||
" ' integer :: UpperRamsCloseLED\\n',\n", | |||
" ' integer :: MiddleRamsOpenLED\\n',\n", | |||
" ' integer :: MiddleRamsCloseLED\\n',\n", | |||
" ' integer :: KillLineOpenLED\\n',\n", | |||
" ' integer :: KillLineCloseLED\\n',\n", | |||
" ' integer :: ChokeLineOpenLED\\n',\n", | |||
" ' integer :: ChokeLineCloseLED\\n',\n", | |||
" ' integer :: LowerRamsOpenLED\\n',\n", | |||
" ' integer :: LowerRamsCloseLED\\n',\n", | |||
" ' real(8) :: AnnularStatus\\n',\n", | |||
" ' real(8) :: UpperRamsStatus\\n',\n", | |||
" ' real(8) :: MiddleRamsStatus\\n',\n", | |||
" ' real(8) :: LowerRamsStatus']" | |||
] | |||
}, | |||
"execution_count": 10, | |||
"metadata": {}, | |||
"output_type": "execute_result" | |||
} | |||
], | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
"source": [ | |||
"# Make makefile" | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
<<<<<<< HEAD | |||
"execution_count": 72, | |||
======= | |||
"execution_count": 5, | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
"metadata": {}, | |||
"outputs": [ | |||
{ | |||
"name": "stdout", | |||
"output_type": "stream", | |||
"text": [ | |||
<<<<<<< HEAD | |||
"\tCSharp/OperationScenarios/Common/COperationScenariosVariables.f90 /\n", | |||
"\tTorqueDrag/TD_Modules/TD_WellGeometry.f90 /\n", | |||
"\tTorqueDrag/TD_Modules/TD_WellElements.f90 /\n", | |||
@@ -373,28 +322,10 @@ | |||
"\tSimulationCore2.f90 /\n", | |||
"\tEquipments/MudSystem/Plot_Final_Mud_Elements.f90 /\n", | |||
"\tFluidFlow/Fluid_Flow_Solver.f90 /\n" | |||
======= | |||
"call json%add(p,\"TopDriveTdsPowerState\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerState)\n", | |||
"call json%add(p,\"TopDriveTorqueWrench\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrench)\n", | |||
"call json%add(p,\"TopDriveDrillTorqueState\",data%Equipments%ControlPanel%CTopDrive%TopDriveDrillTorqueState)\n", | |||
"call json%add(p,\"TopDriveLinkTiltState\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltState)\n", | |||
"call json%add(p,\"TopDriveIbop\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbop)\n", | |||
"call json%add(p,\"TopDriveTorqueLimitKnob\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitKnob)\n", | |||
"call json%add(p,\"RpmKnob\",data%Equipments%ControlPanel%CTopDrive%RpmKnob)\n", | |||
"call json%add(p,\"TopDriveOperationFaultLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveOperationFaultLed)\n", | |||
"call json%add(p,\"TopDriveTdsPowerLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTdsPowerLed)\n", | |||
"call json%add(p,\"TopDriveTorqueWrenchLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueWrenchLed)\n", | |||
"call json%add(p,\"TopDriveLinkTiltLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveLinkTiltLed)\n", | |||
"call json%add(p,\"TopDriveIbopLed\",data%Equipments%ControlPanel%CTopDrive%TopDriveIbopLed)\n", | |||
"call json%add(p,\"TopDriveTorqueLimitGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueLimitGauge)\n", | |||
"call json%add(p,\"TopDriveTorqueGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveTorqueGauge)\n", | |||
"call json%add(p,\"TopDriveRpmGauge\",data%Equipments%ControlPanel%CTopDrive%TopDriveRpmGauge)\n" | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
] | |||
} | |||
], | |||
"source": [ | |||
<<<<<<< HEAD | |||
"import re\n", | |||
"current_dir = 'C:\\\\Projects\\\\VSIM\\\\SimulationCore2\\\\'\n", | |||
"target_dir = 'x64\\\\Debug\\\\'\n", | |||
@@ -973,25 +904,38 @@ | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 8, | |||
"execution_count": 3, | |||
"metadata": {}, | |||
"outputs": [ | |||
{ | |||
"name": "stdout", | |||
"output_type": "stream", | |||
"text": [ | |||
"{\"HoleType\":0,\n", | |||
"\"Angle\":0,\n", | |||
"\"Length\":0,\n", | |||
"\"FinalAngle\":0,\n", | |||
"\"TotalLength\":0,\n", | |||
"\"MeasuredDepth\":0,\n", | |||
"\"TotalVerticalDepth\":0,\n", | |||
"{\"Depth\":0,\n", | |||
"\"BitPosition\":0,\n", | |||
"\"HookLoad\":0,\n", | |||
"\"WeightOnBit\":0,\n", | |||
"\"RPM\":0,\n", | |||
"\"ROP\":0,\n", | |||
"\"Torque\":0,\n", | |||
"\"PumpPressure\":0,\n", | |||
"\"SPM1\":0,\n", | |||
"\"SPM2\":0,\n", | |||
"\"CasingPressure\":0,\n", | |||
"\"PercentFlow\":0,\n", | |||
"\"PitGainLose\":0,\n", | |||
"\"PitVolume\":0,\n", | |||
"\"KillMudVolume\":0,\n", | |||
"\"TripTankVolume\":0,\n", | |||
"\"MudWeightIn\":0,\n", | |||
"\"FillVolume\":0,\n", | |||
"\"MudWeightOut\":0,\n", | |||
"}\n" | |||
] | |||
} | |||
], | |||
"source": [ | |||
"#Artifical JSon\n", | |||
"input = open(\"Text1.txt\")\n", | |||
"output = \"{\"\n", | |||
"lines = input.readlines()\n", | |||
@@ -1020,10 +964,7 @@ | |||
} | |||
], | |||
"source": [ | |||
"precode = \"\"\"call ProblemToJson(p,\"\",data%State%OperationScenarios%\"\"\"\n", | |||
======= | |||
"precode = \"\"\"call json%add(pform,\"\",data%Equipments%ControlPanel%CTopDrive%\"\"\"\n", | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
"precode = \"\"\"call json%add(pform,\"TopDriveTdsPowerState\",data%EquipmentControl%DrillingWatch%\"\"\"\n", | |||
"input = open(\"Text1.txt\")\n", | |||
"lines = input.readlines()\n", | |||
"for line in lines:\n", | |||
@@ -1037,72 +978,24 @@ | |||
}, | |||
{ | |||
"cell_type": "code", | |||
<<<<<<< HEAD | |||
"execution_count": 20, | |||
"execution_count": 2, | |||
"metadata": {}, | |||
"outputs": [ | |||
{ | |||
"name": "stdout", | |||
"output_type": "stream", | |||
"text": [ | |||
"call HoistingToJson(p)\n", | |||
"call OperationScenarioToJson(p)\n", | |||
"call notificationsToJson(p)\n", | |||
"call permissionsToJson(p)\n", | |||
"call unitySignalsToJson(p)\n", | |||
"call StudentStationToJson(p)\n", | |||
"call BopStackInputToJson(p)\n", | |||
"call BopStackAccToJson(p)\n", | |||
"call RamLineToJson(p)\n", | |||
"call AnnularComputationalToJson(p)\n", | |||
"call AnnularToJson(p)\n", | |||
"call PipeRam1ToJson(p)\n", | |||
"call ShearRamToJson(p)\n", | |||
"call PipeRam2ToJson(p)\n", | |||
"call ChokeLineToJson(p)\n", | |||
"call KillLineToJson(p)\n", | |||
"call PumpsToJson(p)\n", | |||
"call RAMToJson(p)\n", | |||
"call RAMSToJson(p)\n", | |||
"call ChokeToJson(p)\n", | |||
"call AirDrivenPumpToJson(p)\n", | |||
"call AirPumpLineToJson(p)\n", | |||
"call CHOOKEToJson(p)\n", | |||
"call DrawworksToJson(p)\n", | |||
"call MudSystemToJson(p)\n", | |||
"call MUDToJson(p)\n", | |||
"call MPumpsToJson(p)\n", | |||
"call PUMPToJson(p)\n", | |||
"call RTableToJson(p)\n", | |||
"call TDSToJson(p)\n", | |||
"call GasType(3) ! 1 = methane , 2 = Hydrogen sulfide , 3 = Carbon dioxidToJson(p)\n", | |||
"call PressureDisplayToJson(p)\n", | |||
"call FricPressDropToJson(p)\n", | |||
"call ROP_SpecToJson(p)\n", | |||
"call ROP_BitToJson(p)\n", | |||
"call TDGeoToJson(p)\n", | |||
"call F_String(:)ToJson(p)\n", | |||
"call F_CountsToJson(p)\n", | |||
"call F_Interval(:)ToJson(p)\n", | |||
"call OD_Annulus(4)ToJson(p)\n", | |||
"call TD_DrillStemToJson(p)\n", | |||
"call TD_DrillStemsToJson(p)\n", | |||
"call TD_StringToJson(p)\n", | |||
"call TD_CountToJson(p)\n", | |||
"call G_StringElementToJson(p)\n", | |||
"call TD_VolToJson(p)\n", | |||
"call TD_GeneralToJson(p)\n", | |||
"call TD_BOPToJson(p)\n", | |||
"call TD_BOPElement(4)ToJson(p)\n", | |||
"call TD_StConnToJson(p)\n", | |||
"call TD_LoadToJson(p)\n", | |||
"call TD_WellElToJson(p)\n", | |||
"call TD_CasingToJson(p)\n", | |||
"call TD_LinerToJson(p)\n", | |||
"call TD_OpenHoleToJson(p)\n", | |||
"call TD_ROPHoleToJson(p)\n", | |||
"call TD_WellGeneralToJson(p)\n", | |||
"call TD_WellGeo(:)ToJson(p)\n" | |||
"call BopControlPanelToJson(p)\n", | |||
"call ChokeControlPanelToJson(p)\n", | |||
"call ChokeManifoldToJson(p)\n", | |||
"call DataDisplayConsoleToJson(p)\n", | |||
"call DrillingConsoleToJson(p)\n", | |||
"call HookToJson(p)\n", | |||
"call StandPipeManifoldToJson(p)\n", | |||
"call TopDrivePanelToJson(p)\n", | |||
"call ! Drill WatchToJson(p)\n", | |||
"call DrillingWatchToJson(p)\n", | |||
"call TankToJson(p)\n" | |||
] | |||
} | |||
], | |||
@@ -1123,9 +1016,6 @@ | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 3, | |||
======= | |||
"execution_count": 2, | |||
>>>>>>> 12c8e5ea51ec0ab746d971224588f794381f80d2 | |||
"metadata": {}, | |||
"outputs": [ | |||
{ | |||
@@ -1156,6 +1046,7 @@ | |||
] | |||
}, | |||
{ | |||
"attachments": {}, | |||
"cell_type": "markdown", | |||
"metadata": {}, | |||
"source": [ | |||
@@ -1565,7 +1456,7 @@ | |||
], | |||
"metadata": { | |||
"kernelspec": { | |||
"display_name": "Python 3 (ipykernel)", | |||
"display_name": "base", | |||
"language": "python", | |||
"name": "python3" | |||
}, | |||
@@ -1579,8 +1470,9 @@ | |||
"name": "python", | |||
"nbconvert_exporter": "python", | |||
"pygments_lexer": "ipython3", | |||
"version": "3.11.4" | |||
"version": "3.9.12" | |||
}, | |||
"orig_nbformat": 4, | |||
"vscode": { | |||
"interpreter": { | |||
"hash": "1ef4a26de7183d96d6da1045a38581e0a15b2215d0c1b98c7b273c6e514c6c7e" | |||