Scale display bug fix when units are g, Parallel flowmeter initialization, ReadFlow() fix and logging, ver. 3.1.1898

This commit is contained in:
Milan Hanajik 2022-04-29 13:50:48 +02:00
parent 4361227975
commit e3bb64ef0f
5 changed files with 23 additions and 20 deletions

View File

@ -663,7 +663,8 @@ namespace SchematicDrawing
if (dshape.Shape == Shape.Scale)
{
Rectangle r = dshape.GetRotatedFlippedImageRectangle(item);
int level = (int)Math.Round((r.Height - 2) * Math.Max(0, Math.Min(msrdVal, itm.MsrdValLimHi)) / itm.MsrdValLimHi);
int level = (int)Math.Round((r.Height - 2)
* Math.Max(0, Math.Min(measuredValues[msrdValIx], itm.MsrdValLimHi)) / itm.MsrdValLimHi);
e.Graphics.FillRectangle(brushWater, r.X + 2, r.Y + r.Height - 2 - level, r.Width - 4, level);
}

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("3.1.1896.0")]
[assembly: AssemblyFileVersion("3.1.1896.0")]
[assembly: AssemblyVersion("3.1.1898.0")]
[assembly: AssemblyFileVersion("3.1.1898.0")]

View File

@ -292,7 +292,7 @@ namespace TBF.Rig.Uni.FlowMeter
NominalFlow = 1;
NominalFreq = 2000;
MsrdFormat = "{0:F3} m2/h";
MsrdFormat = "{0:F3} m3/h";
MsrdUnit = Unit.m3ph;
MsrdValLimLo = 0;
MsrdValLimHi = NominalFlow;

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2021 Sensus Slovensko a.s.
/// Copyright (c) 2021-2022 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@ -17,10 +17,11 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
readonly FlowMeterCfg flowMeterCfg;
readonly UniCB uniCB;
readonly IFlowMeter flowMeter1;
readonly IFlowMeter flowMeter2;
readonly IFlowMeter flowMeter3;
UniCB uniCB;
IFlowMeter flowMeter1;
IFlowMeter flowMeter2;
IFlowMeter flowMeter3;
double nominalFlow;
double nominalFreq;
double ltrPerPulse;
@ -122,19 +123,17 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
: base(cfg)
{
flowMeterCfg = cfg as FlowMeterCfg;
uniCB = TbfComponents.FindComponent(cfg.ParentName, components) as UniCB;
if (uniCB == null) throw new Exception("Cannot find " + Name + " parent");
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter1)) flowMeter1 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter1, components) as IFlowMeter;
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter2)) flowMeter2 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter2, components) as IFlowMeter;
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter3)) flowMeter3 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter3, components) as IFlowMeter;
log.Warn(this.ToString());
}
public override void Initialize()
{
uniCB = TbfComponents.FindComponent(flowMeterCfg.ParentName) as UniCB;
if (uniCB == null) throw new Exception("Cannot find " + Name + " parent");
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter1)) flowMeter1 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter1) as IFlowMeter;
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter2)) flowMeter2 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter2) as IFlowMeter;
if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter3)) flowMeter3 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter3) as IFlowMeter;
nominalFlow = 0;
flowMetersCount = 0;
flowMetersBitfield = 0;
@ -168,11 +167,14 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
refFreq = new double[4];
refPulses = new int[4];
log.FatalFormat("{0} initialized: {1} nom.flow={2} m3/h nom.freq={3} Hz bitfield=0x{4:X2}",
Name, this, nominalFlow, nominalFreq, flowMetersBitfield);
}
public double ReadFlow()
{
return nominalFlow * ReadFrequency() / (3.6 * nominalFreq);
return ReadFrequency() * nominalFlow / nominalFreq;
}
public double ReadFrequency()

View File

@ -83,7 +83,7 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
Flowmeter1 = "I11";
Flowmeter2 = "I12";
Flowmeter3 = string.Empty;
MsrdFormat = "{0:F3} m2/h";
MsrdFormat = "{0:F3} m3/h";
MsrdUnit = Unit.m3ph;
}