Merge pull request #598 from OpenWaterAnalytics/dev_feature_in_control

Dev feature in control
This commit is contained in:
Elad Salomons
2020-05-31 16:36:45 +03:00
committed by GitHub
5 changed files with 20 additions and 9 deletions

View File

@@ -25,7 +25,6 @@ Public Const EN_SOURCEMASS = 13
Public Const EN_INITVOLUME = 14
Public Const EN_MIXMODEL = 15
Public Const EN_MIXZONEVOL = 16
Public Const EN_TANKDIAM = 17
Public Const EN_MINVOLUME = 18
Public Const EN_VOLCURVE = 19
@@ -37,6 +36,7 @@ Public Const EN_TANKVOLUME = 24
Public Const EN_MAXVOLUME = 25
Public Const EN_CANOVERFLOW = 26
Public Const EN_DEMANDDEFICIT = 27
Public Const EN_NODE_INCONTROL = 28
Public Const EN_DIAMETER = 0 ' Link parameters
Public Const EN_LENGTH = 1
@@ -61,6 +61,7 @@ Public Const EN_PUMP_HCURVE = 19
Public Const EN_PUMP_ECURVE = 20
Public Const EN_PUMP_ECOST = 21
Public Const EN_PUMP_EPAT = 22
Public Const EN_LINK_INCONTROL = 23
Public Const EN_DURATION = 0 ' Time parameters
Public Const EN_HYDSTEP = 1

View File

@@ -31,7 +31,6 @@ const
EN_INITVOLUME = 14;
EN_MIXMODEL = 15;
EN_MIXZONEVOL = 16;
EN_TANKDIAM = 17;
EN_MINVOLUME = 18;
EN_VOLCURVE = 19;
@@ -42,7 +41,8 @@ const
EN_TANKVOLUME = 24;
EN_MAXVOLUME = 25;
EN_CANOVERFLOW = 26;
EN_DEMANDDEFICIT = 27;
EN_DEMANDDEFICIT = 27;
EN_NODE_INCONTROL = 28;
EN_DIAMETER = 0; { Link parameters }
EN_LENGTH = 1;
@@ -67,6 +67,7 @@ const
EN_PUMP_ECURVE = 20;
EN_PUMP_ECOST = 21;
EN_PUMP_EPAT = 22;
EN_LINK_INCONTROL = 23;
EN_DURATION = 0; { Time parameters }
EN_HYDSTEP = 1;

View File

@@ -29,7 +29,6 @@ Public Const EN_SOURCEMASS = 13
Public Const EN_INITVOLUME = 14
Public Const EN_MIXMODEL = 15
Public Const EN_MIXZONEVOL = 16
Public Const EN_TANKDIAM = 17
Public Const EN_MINVOLUME = 18
Public Const EN_VOLCURVE = 19
@@ -37,11 +36,11 @@ Public Const EN_MINLEVEL = 20
Public Const EN_MAXLEVEL = 21
Public Const EN_MIXFRACTION = 22
Public Const EN_TANK_KBULK = 23
Public Const EN_TANKVOLUME = 24
Public Const EN_MAXVOLUME = 25
Public Const EN_CANOVERFLOW = 26
Public Const EN_DEMANDDEFICIT = 27
Public Const EN_DEMANDDEFICIT = 27
Public Const EN_NODE_INCONTROL = 28
Public Const EN_DIAMETER = 0 ' Link parameters
Public Const EN_LENGTH = 1
@@ -59,7 +58,6 @@ Public Const EN_SETTING = 12
Public Const EN_ENERGY = 13
Public Const EN_LINKQUAL = 14
Public Const EN_LINKPATTERN = 15
Public Const EN_PUMP_STATE = 16
Public Const EN_PUMP_EFFIC = 17
Public Const EN_PUMP_POWER = 18
@@ -67,6 +65,7 @@ Public Const EN_PUMP_HCURVE = 19
Public Const EN_PUMP_ECURVE = 20
Public Const EN_PUMP_ECOST = 21
Public Const EN_PUMP_EPAT = 22
Public Const EN_LINK_INCONTROL = 23
Public Const EN_DURATION = 0 ' Time parameters
Public Const EN_HYDSTEP = 1

View File

@@ -63,7 +63,8 @@ typedef enum {
EN_TANKVOLUME = 24, //!< Current computed tank volume (read only)
EN_MAXVOLUME = 25, //!< Tank maximum volume (read only)
EN_CANOVERFLOW = 26, //!< Tank can overflow (= 1) or not (= 0)
EN_DEMANDDEFICIT = 27 //!< Amount that full demand is reduced under PDA (read only)
EN_DEMANDDEFICIT = 27,//!< Amount that full demand is reduced under PDA (read only)
EN_NODE_INCONTROL = 28 //!< Is present in any simple or rule-based control (= 1) or not (= 0)
} EN_NodeProperty;
/// Link properties
@@ -94,7 +95,8 @@ typedef enum {
EN_PUMP_HCURVE = 19, //!< Pump head v. flow curve index
EN_PUMP_ECURVE = 20, //!< Pump efficiency v. flow curve index
EN_PUMP_ECOST = 21, //!< Pump average energy price
EN_PUMP_EPAT = 22 //!< Pump energy price time pattern index
EN_PUMP_EPAT = 22, //!< Pump energy price time pattern index
EN_LINK_INCONTROL = 23 //!< Is present in any simple or rule-based control (= 1) or not (= 0)
} EN_LinkProperty;
/// Time parameters

View File

@@ -2254,6 +2254,10 @@ int DLLEXPORT EN_getnodevalue(EN_Project p, int index, int property, double *val
(hyd->NodeDemand[index] - hyd->EmitterFlow[index])) * Ucf[FLOW];
break;
case EN_NODE_INCONTROL:
v = (double)incontrols(p, NODE, index);
break;
default:
return 251;
}
@@ -3787,6 +3791,10 @@ int DLLEXPORT EN_getlinkvalue(EN_Project p, int index, int property, double *val
}
break;
case EN_LINK_INCONTROL:
v = (double)incontrols(p, LINK, index);
break;
default:
return 251;
}