Bug fix in TBF.Rig.Bench/Feeding/Meters/OutputPath

This commit is contained in:
Milan Hanajik 2022-04-13 15:29:17 +02:00
parent 33f823b2d8
commit 80f4308ae1
5 changed files with 53 additions and 32 deletions

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
/// Copyright (c) 2013-2022 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.GenericDevices;
@ -46,19 +46,24 @@ namespace TBF.Rig
StopBFValve = TbfComponents.FindComponent(entity.StopBFValve, components) as IValve;
string[] vOpen = entity.ValvesOpen.Split(new char[] { ';' });
ValvesOpen = new List<IValve>();
foreach (var vName in vOpen) ValvesOpen.Add((IValve)TbfComponents.FindComponent(vName, components));
foreach (var vName in vOpen)
{
var cmpnt = TbfComponents.FindComponent(vName, components);
if (cmpnt is IValve) ValvesOpen.Add(cmpnt as IValve);
}
string[] vClose = entity.ValvesClose.Split(new char[] { ';' });
ValvesClose = new List<IValve>();
foreach (var vName in vClose) ValvesClose.Add((IValve)TbfComponents.FindComponent(vName, components));
}
string[] vClose = entity.ValvesClose.Split(new char[] { ';' });
ValvesClose = new List<IValve>();
foreach (var vName in vClose)
{
var cmpnt = TbfComponents.FindComponent(vName, components);
if (cmpnt is IValve) ValvesClose.Add(cmpnt as IValve);
}
}
public override string ToString()
{
return string.Format("{0} StopBF={1}",
Name,
(StopBFValve != null) ? StopBFValve.Name : "---");
return string.Format("{0} StopBF={1}", Name, (StopBFValve != null) ? StopBFValve.Name : "---");
}
}
}

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2016 Sensus Metering Systems
/// Copyright (c) 2013-2022 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.GenericDevices;
@ -37,7 +37,7 @@ namespace TBF.Rig
Qfrom = entity.Qfrom;
Qto = entity.Qto;
Selector = entity.Selector;
Pump = (IValve)TbfComponents.FindComponent(entity.Pump, components);
Pump = TbfComponents.FindComponent(entity.Pump, components) as IValve;
///
/// Feeding regulation valve components
@ -65,12 +65,20 @@ namespace TBF.Rig
string[] vOpen = entity.ValvesOpen.Split(new char[] { ';' });
ValvesOpen = new List<IValve>();
foreach (var vName in vOpen) ValvesOpen.Add((IValve)TbfComponents.FindComponent(vName, components));
foreach (var vName in vOpen)
{
var cmpnt = TbfComponents.FindComponent(vName, components);
if (cmpnt is IValve) ValvesOpen.Add(cmpnt as IValve);
}
string[] vClose = entity.ValvesClose.Split(new char[] { ';' });
ValvesClose = new List<IValve>();
foreach (var vName in vClose) ValvesClose.Add((IValve)TbfComponents.FindComponent(vName, components));
}
string[] vClose = entity.ValvesClose.Split(new char[] { ';' });
ValvesClose = new List<IValve>();
foreach (var vName in vClose)
{
var cmpnt = TbfComponents.FindComponent(vName, components);
if (cmpnt is IValve) ValvesClose.Add(cmpnt as IValve);
}
}
public override string ToString()
{

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
/// Copyright (c) 2016 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.GenericDevices;

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Copyright (c) 2013-2022 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.GenericDevices;
@ -25,7 +25,7 @@ namespace TBF.Rig
{
for (int i = 0; i < Sequences.ProcessData.WMsCount; i++)
{
RegisterReaders[i] = (IRegReader)TbfComponents.FindComponent(entity.GetSensor(i), components);
RegisterReaders[i] = TbfComponents.FindComponent(entity.GetSensor(i), components) as IRegReader;
}
}
}

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2017 Sensus Slovensko a.s.
/// Copyright (c) 2013-2022 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using TBF.Rig.GenericDevices;
@ -46,38 +46,46 @@ namespace TBF.Rig
Qfrom = entity.Qfrom;
Qto = entity.Qto;
Selector = entity.Selector;
FlowMeter = (IFlowMeter)TbfComponents.FindComponent(entity.FlowMeter, components);
RegValve = (IRegValve)TbfComponents.FindComponent(entity.RegValve, components);
FlowMeter = TbfComponents.FindComponent(entity.FlowMeter, components) as IFlowMeter;
RegValve = TbfComponents.FindComponent(entity.RegValve, components) as IRegValve;
PidCoef = entity.PidCoef;
Diverter = (IDiverter)TbfComponents.FindComponent(entity.Diverter, components);
TempMtrDiv = (ITempMeter)TbfComponents.FindComponent(entity.TempMtrDiv, components);
Scale = (IScaleOrTank)TbfComponents.FindComponent(entity.Scale, components);
Diverter = TbfComponents.FindComponent(entity.Diverter, components) as IDiverter;
TempMtrDiv = TbfComponents.FindComponent(entity.TempMtrDiv, components) as ITempMeter;
Scale = TbfComponents.FindComponent(entity.Scale, components) as IScaleOrTank;
string[] svs = entity.StartValve != null ? entity.StartValve.Split(new char[] { '~' }) : new string[0];
int iTmp;
///
StartValve1 = (IValve)TbfComponents.FindComponent(((svs.Length > 0) ? svs[0] : string.Empty), components);
StartValve1 = TbfComponents.FindComponent(((svs.Length > 0) ? svs[0] : string.Empty), components) as IValve;
InvertSV1 = (svs.Length > 1) ? svs[1].Equals("i") : false;
StartValve2 = (IValve)TbfComponents.FindComponent(((svs.Length > 2) ? svs[2] : string.Empty), components);
StartValve2 = TbfComponents.FindComponent(((svs.Length > 2) ? svs[2] : string.Empty), components) as IValve;
InvertSV2 = (svs.Length > 3) ? svs[3].Equals("i") : false;
LagSV2 = (svs.Length > 4 && int.TryParse(svs[4], out iTmp)) ? iTmp : 0;
StartValve3 = (IValve)TbfComponents.FindComponent(((svs.Length > 5) ? svs[5] : string.Empty), components);
StartValve3 = TbfComponents.FindComponent(((svs.Length > 5) ? svs[5] : string.Empty), components) as IValve;
InvertSV3 = (svs.Length > 6) ? svs[6].Equals("i") : false;
LagSV3 = (svs.Length > 7 && int.TryParse(svs[7], out iTmp)) ? iTmp : 0;
string[] vOpen = entity.ValvesOpen.Split(new char[] { ';' });
ValvesOpen = new List<IValve>();
foreach (var vName in vOpen) ValvesOpen.Add((IValve)TbfComponents.FindComponent(vName, components));
foreach (var vName in vOpen)
{
var cmpnt = TbfComponents.FindComponent(vName, components);
if (cmpnt is IValve) ValvesOpen.Add(cmpnt as IValve);
}
string[] vClose = entity.ValvesClose.Split(new char[] { ';' });
ValvesClose = new List<IValve>();
foreach (var vName in vClose) ValvesClose.Add((IValve)TbfComponents.FindComponent(vName, components));
foreach (var vName in vClose)
{
var cmpnt = TbfComponents.FindComponent(vName, components);
if (cmpnt is IValve) ValvesClose.Add(cmpnt as IValve);
}
}
public override string ToString()
{
return string.Format("{0} RV={1}, Flowm.={2}, Div.={3}, Scale={4}",
Name,
Name,
(RegValve != null) ? RegValve.Name : "---",
(FlowMeter != null) ? FlowMeter.Name : "---",
(Diverter != null) ? Diverter.Name : "---",