module CChokeManifold use CChokeManifoldVariables use CLog2 implicit none public contains ! Input routines subroutine SetChokeManifoldValve1(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve1 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve1' :: SetChokeManifoldValve1 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve1 = v call ChangeValve(61, v) #ifdef deb !print*, 'ChokeManifoldValve1=', ChokeManifoldValve1 #endif end subroutine subroutine SetChokeManifoldValve2(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve2 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve2' :: SetChokeManifoldValve2 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve2 = v call ChangeValve(64, v) #ifdef deb !print*, 'ChokeManifoldValve2=', ChokeManifoldValve2 #endif end subroutine subroutine SetLeftManualChoke(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetLeftManualChoke !DEC$ ATTRIBUTES ALIAS: 'SetLeftManualChoke' :: SetLeftManualChoke implicit none real*8, intent(in) :: v !LeftManualChoke = abs(v-100) ChokeManifold%LeftManualChoke = v if(ChokeManifold%LeftManChokeOnProblem) then call ChangeValve(32, .true.) else if(ChokeManifold%LeftManualChoke > 99.9) then !call Log_2( 'valve 32 is closed=', LeftManualChoke) call ChangeValve(32, .false.) else !call Log_2( 'valve 32 is open=', LeftManualChoke) call ChangeValve(32, .true.) endif endif #ifdef deb !print*, 'LeftManualChoke=', LeftManualChoke #endif end subroutine subroutine SetChokeManifoldValve4(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve4 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve4' :: SetChokeManifoldValve4 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve4 = v call ChangeValve(62, v) !WRITE (*,*) ' valve 62 ', v #ifdef deb !print*, 'ChokeManifoldValve4=', ChokeManifoldValve4 #endif end subroutine subroutine SetChokeManifoldValve5(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve5 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve5' :: SetChokeManifoldValve5 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve5 = v call ChangeValve(63, v) !WRITE (*,*) ' valve 63 ', v #ifdef deb !print*, 'ChokeManifoldValve5=', ChokeManifoldValve5 #endif end subroutine subroutine SetRightManualChoke(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetRightManualChoke !DEC$ ATTRIBUTES ALIAS: 'SetRightManualChoke' :: SetRightManualChoke implicit none real*8, intent(in) :: v !RightManualChoke = abs(v -100) ChokeManifold%RightManualChoke = v if(ChokeManifold%RightManChokeOnProblem) then call ChangeValve(35, .true.) else if(ChokeManifold%RightManualChoke > 99.9) then !call Log_2( 'valve 35 is closed=', RightManualChoke) call ChangeValve(35, .false.) else !call Log_2( 'valve 35 is open=', RightManualChoke) call ChangeValve(35, .true.) endif endif #ifdef deb !print*, 'RightManualChoke=', RightManualChoke #endif end subroutine subroutine SetChokeManifoldValve7(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve7 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve7' :: SetChokeManifoldValve7 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve7 = v call ChangeValve(27, v) #ifdef deb !print*, 'ChokeManifoldValve7=', ChokeManifoldValve7 #endif end subroutine subroutine SetChokeManifoldValve8(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve8 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve8' :: SetChokeManifoldValve8 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve8 = v call ChangeValve(28, v) !WRITE (*,*) ' valve 28 ', v #ifdef deb !print*, 'ChokeManifoldValve8=', ChokeManifoldValve8 #endif end subroutine subroutine SetChokeManifoldValve9(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve9 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve9' :: SetChokeManifoldValve9 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve9 = v call ChangeValve(29, v) #ifdef deb !print*, 'ChokeManifoldValve9=', ChokeManifoldValve9 #endif end subroutine subroutine SetChokeManifoldValve10(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve10 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve10' :: SetChokeManifoldValve10 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve10 = v call ChangeValve(30, v) !WRITE (*,*) ' valve 30 ', v #ifdef deb !print*, 'ChokeManifoldValve10=', ChokeManifoldValve10 #endif end subroutine subroutine SetChokeManifoldValve11(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve11 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve11' :: SetChokeManifoldValve11 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve11 = v call ChangeValve(31, v) #ifdef deb !print*, 'ChokeManifoldValve11=', ChokeManifoldValve11 #endif end subroutine subroutine SetChokeManifoldValve12(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve12 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve12' :: SetChokeManifoldValve12 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve12 = v call ChangeValve(25, v) #ifdef deb !print*, 'ChokeManifoldValve12=', ChokeManifoldValve12 #endif end subroutine subroutine SetChokeManifoldValve13(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetChokeManifoldValve13 !DEC$ ATTRIBUTES ALIAS: 'SetChokeManifoldValve13' :: SetChokeManifoldValve13 implicit none logical, intent(in) :: v ChokeManifold%ChokeManifoldValve13 = v call ChangeValve(26, v) !WRITE (*,*) ' valve 26 ', v #ifdef deb !print*, 'ChokeManifoldValve13=', ChokeManifoldValve13 #endif end subroutine ! Output routines integer function GetHydraulicChock1() !DEC$ ATTRIBUTES DLLEXPORT :: GetHydraulicChock1 !DEC$ ATTRIBUTES ALIAS: 'GetHydraulicChock1' :: GetHydraulicChock1 implicit none GetHydraulicChock1 = ChokeManifold%HydraulicChock1 !GetHydraulicChock1 = 23 end function integer function GetHydraulicChock2() !DEC$ ATTRIBUTES DLLEXPORT :: GetHydraulicChock2 !DEC$ ATTRIBUTES ALIAS: 'GetHydraulicChock2' :: GetHydraulicChock2 implicit none GetHydraulicChock2 = ChokeManifold%HydraulicChock2 !GetHydraulicChock2 = 54 end function end module CChokeManifold