diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 1f374098e..d3adaa5a4 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("3.2.1912.0")] -[assembly: AssemblyFileVersion("3.2.1912.0")] +[assembly: AssemblyVersion("3.2.1913.0")] +[assembly: AssemblyFileVersion("3.2.1913.0")] diff --git a/TBF/Rig/Modbus/TempControl/Novus/SetTemperatureSetpointOp.cs b/TBF/Rig/Modbus/TempControl/Novus/SetTemperatureSetpointOp.cs index a1459d9f2..5d5bb4fc1 100644 --- a/TBF/Rig/Modbus/TempControl/Novus/SetTemperatureSetpointOp.cs +++ b/TBF/Rig/Modbus/TempControl/Novus/SetTemperatureSetpointOp.cs @@ -32,7 +32,7 @@ namespace TBF.Rig.Modbus.TempControl.Novus log.Debug(this.ToString()); } public SetTemperatureSetpointOp(TControl tempControl, double temperature) - : this(tempControl, temperature, Event.ConditionMet) + : this(tempControl, temperature, Event.ConditionNotMet) { } diff --git a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs index 5a1f8fe06..ce6828817 100644 --- a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs +++ b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs @@ -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 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; diff --git a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs index b87146b2c..c5555b5bc 100644 --- a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs +++ b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs @@ -30,8 +30,9 @@ namespace TBF.Rig.Uni.FlowMetersInParallel public string Flowmeter1; /// 0 Flowmeter component name or string.Empty public string Flowmeter2; /// 1 - ' ' - public string Flowmeter3; /// 2 - ' ' - - public string MsrdFormat { get; set; } /// 3 - public Unit MsrdUnit { get; set; } /// 4 + public string InactiveFlowmtr; /// 3 Inactive flowmeter component name or string.Empty + public string MsrdFormat { get; set; } /// 4 + public Unit MsrdUnit { get; set; } /// 5 /// Schematic drawing info public Shape Shape { get; set; } @@ -83,6 +84,7 @@ namespace TBF.Rig.Uni.FlowMetersInParallel Flowmeter1 = "I11"; Flowmeter2 = "I12"; Flowmeter3 = string.Empty; + InactiveFlowmtr = "I13"; MsrdFormat = "{0:F3} m3/h"; MsrdUnit = Unit.m3ph; } @@ -92,8 +94,9 @@ namespace TBF.Rig.Uni.FlowMetersInParallel "Flow meter 1", /// 0 "Flow meter 2", /// 1 "Flow meter 3", /// 2 - "Display format", /// 3 - "Unit of flow on a display", /// 4 + "Inactive flow meter", /// 3 + "Display format", /// 4 + "Unit of flow on a display", /// 5 }; public string ParamName(int i) { return paramNames[i]; } public int ParamsCount() { return paramNames.Length; } @@ -105,12 +108,13 @@ namespace TBF.Rig.Uni.FlowMetersInParallel case 0: case 1: case 2: + case 3: if (flowMeters == null) return null; var fmtrs = new List(); foreach (var fmtr in flowMeters) fmtrs.Add(fmtr.Name); fmtrs.Add("---"); return fmtrs; - case 4: + case 5: return new string[] { "m3/h", "l/h" }; default: return null; @@ -124,12 +128,13 @@ namespace TBF.Rig.Uni.FlowMetersInParallel case 0: return string.IsNullOrEmpty(Flowmeter1) ? "---" : Flowmeter1; case 1: return string.IsNullOrEmpty(Flowmeter2) ? "---" : Flowmeter2; case 2: return string.IsNullOrEmpty(Flowmeter3) ? "---" : Flowmeter3; - case 3: return MsrdFormat; - case 4: return MsrdUnit.ToDescription(); + case 3: return string.IsNullOrEmpty(InactiveFlowmtr) ? "---" : InactiveFlowmtr; + case 4: return MsrdFormat; + case 5: return MsrdUnit.ToDescription(); default: - return string.Format("Name={0} {1} {2} {3} fmt={4} unit={5} Lo={6} Hi={7}", - Name, Flowmeter1, Flowmeter2, Flowmeter3, + return string.Format("Name={0} {1} {2} {3} ~{4} fmt={5} unit={6} Lo={7} Hi={8}", + Name, Flowmeter1, Flowmeter2, Flowmeter3, InactiveFlowmtr, MsrdFormat, MsrdUnit.ToDescription(), MsrdValLimLo, MsrdValLimHi); } } @@ -141,8 +146,9 @@ namespace TBF.Rig.Uni.FlowMetersInParallel case 0: Flowmeter1 = (str != "---") ? str : string.Empty; return CfgUpdateFlags.RestartRqrd; case 1: Flowmeter2 = (str != "---") ? str : string.Empty; return CfgUpdateFlags.RestartRqrd; case 2: Flowmeter3 = (str != "---") ? str : string.Empty; return CfgUpdateFlags.RestartRqrd; - case 3: MsrdFormat = str; return CfgUpdateFlags.RestartRqrd; - case 4: MsrdUnit = (str == "l/h") ? Unit.lph : Unit.m3ph; return CfgUpdateFlags.RestartRqrd; + case 3: InactiveFlowmtr = (str != "---") ? str : string.Empty; return CfgUpdateFlags.RestartRqrd; + case 4: MsrdFormat = str; return CfgUpdateFlags.RestartRqrd; + case 5: MsrdUnit = (str == "l/h") ? Unit.lph : Unit.m3ph; return CfgUpdateFlags.RestartRqrd; default: return CfgUpdateFlags.None; } @@ -157,10 +163,11 @@ namespace TBF.Rig.Uni.FlowMetersInParallel case 0: case 1: case 2: - case 4: + case 3: + case 5: if (ParamValues(i).Contains(str)) return true; break; - case 3: + case 4: return true; default: message = "Invalid index"; @@ -176,6 +183,7 @@ namespace TBF.Rig.Uni.FlowMetersInParallel prms.Flowmeter1 = this.Flowmeter1; prms.Flowmeter2 = this.Flowmeter2; prms.Flowmeter3 = this.Flowmeter3; + prms.InactiveFlowmtr = this.InactiveFlowmtr; prms.MsrdFormat = this.MsrdFormat; prms.MsrdUnit = this.MsrdUnit; }