1 "Set temprature setp..." seq. condition never met, 2 FlowMetersInParallel : InactiveFlowmtr for correct display, ver. 3.2.1913

This commit is contained in:
Milan Hanajik
2022-05-16 11:11:05 +02:00
parent b0a534315e
commit 00fc9ea847
4 changed files with 41 additions and 30 deletions
+17 -14
View File
@@ -16,12 +16,13 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
private static readonly ILog log = LogManager.GetLogger(typeof(FlowMeter));
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
readonly FlowMeterCfg flowMeterCfg;
readonly FlowMeterCfg myCfg;
UniCB uniCB;
IFlowMeterSingle flowMtr1;
IFlowMeterSingle flowMtr2;
IFlowMeterSingle flowMtr3;
IFlowMeterSingle inactiveFlowMtr;
double nominalFlow;
double nominalFreq;
double ltrPerPulse;
@@ -33,11 +34,11 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
public double NominalFreq { get { return nominalFreq; } }
public double LtrPerPulse { get { return ltrPerPulse; } }
public SchematicDrawing.IDrawingItem DrawingItem { get { return flowMeterCfg as SchematicDrawing.IDrawingItem; } }
public string MsrdFormat { get { return flowMeterCfg.MsrdFormat; } }
public Common.Unit MsrdUnit { get { return flowMeterCfg.MsrdUnit; } }
public double MsrdValLimLo { get { return flowMeterCfg.MsrdValLimLo; } set { flowMeterCfg.MsrdValLimLo = value; } }
public double MsrdValLimHi { get { return flowMeterCfg.MsrdValLimHi; } set { flowMeterCfg.MsrdValLimHi = value; } }
public SchematicDrawing.IDrawingItem DrawingItem { get { return myCfg as SchematicDrawing.IDrawingItem; } }
public string MsrdFormat { get { return myCfg.MsrdFormat; } }
public Common.Unit MsrdUnit { get { return myCfg.MsrdUnit; } }
public double MsrdValLimLo { get { return myCfg.MsrdValLimLo; } set { myCfg.MsrdValLimLo = value; } }
public double MsrdValLimHi { get { return myCfg.MsrdValLimHi; } set { myCfg.MsrdValLimHi = value; } }
public bool MsrmntAvailable
@@ -45,9 +46,10 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
get
{
bool result = true;
if (flowMtr1 != null) result = result && flowMtr1.MsrmntAvailable;
if (flowMtr2 != null) result = result && flowMtr2.MsrmntAvailable;
if (flowMtr3 != null) result = result && flowMtr3.MsrmntAvailable;
if (flowMtr1 != null) result = (result && flowMtr1.MsrmntAvailable);
if (flowMtr2 != null) result = (result && flowMtr2.MsrmntAvailable);
if (flowMtr3 != null) result = (result && flowMtr3.MsrmntAvailable);
if (inactiveFlowMtr != null) result = (result && !inactiveFlowMtr.MsrmntAvailable);
return result;
}
}
@@ -65,17 +67,18 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
public FlowMeter(Generic.IComponentCfg cfg, IList<Generic.IComponent> components)
: base(cfg)
{
flowMeterCfg = cfg as FlowMeterCfg;
myCfg = cfg as FlowMeterCfg;
}
public override void Initialize()
{
uniCB = TbfComponents.FindComponent(flowMeterCfg.ParentName) as UniCB;
uniCB = TbfComponents.FindComponent(myCfg.ParentName) as UniCB;
if (uniCB == null) throw new Exception("Cannot find " + Name + " parent");
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter1)) flowMtr1 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter1) as IFlowMeterSingle;
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter2)) flowMtr2 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter2) as IFlowMeterSingle;
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter3)) flowMtr3 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter3) as IFlowMeterSingle;
if (!string.IsNullOrEmpty(myCfg.Flowmeter1)) flowMtr1 = TbfComponents.FindComponent(myCfg.Flowmeter1) as IFlowMeterSingle;
if (!string.IsNullOrEmpty(myCfg.Flowmeter2)) flowMtr2 = TbfComponents.FindComponent(myCfg.Flowmeter2) as IFlowMeterSingle;
if (!string.IsNullOrEmpty(myCfg.Flowmeter3)) flowMtr3 = TbfComponents.FindComponent(myCfg.Flowmeter3) as IFlowMeterSingle;
if (!string.IsNullOrEmpty(myCfg.InactiveFlowmtr)) inactiveFlowMtr = TbfComponents.FindComponent(myCfg.InactiveFlowmtr) as IFlowMeterSingle;
nominalFlow = 0;
flowMetersCount = 0;