Add initial MassMeter implementation

This commit is contained in:
2026-02-19 19:22:02 +01:00
parent b43657a4db
commit ead350eef3
70 changed files with 8013 additions and 4604 deletions
@@ -89,9 +89,12 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
}
}
public RegisterReaderType RegisterReaderType { get { return RegisterReaderType.DataStream; } }
public double PulsesPerLtr { get { return 1000.0; } }
public double PulsesPerLtr {
get { return 1000.0; }
set {PulsesPerLtr = value; }
}
public double LtrsPerPulse { get { return 1 / PulsesPerLtr; } }
public string QuantityUnits { get; set; }
public double CalibTarget { get { return iperlHeadCfg.ProcParams.CalibTarget; } }
public ushort FactorLimitLo { get { return (ushort)iperlHeadCfg.ProcParams.FactorLimitLo; } }
public ushort FactorLimitHi { get { return (ushort)iperlHeadCfg.ProcParams.FactorLimitHi; } }
@@ -1,19 +1,22 @@
///
using Common;
using Config.Entities;
using log4net;
///
/// Copyright (c) 2015-2023 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Common;
using Config.Entities;
using TBF.Rig.Generic;
using System.Collections.Generic;
namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
{
private static readonly ILog log = LogManager.GetLogger(typeof(ProcParams));
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
public int WMType_ID;
@@ -146,26 +149,39 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
return pars;
}
public override void UpdateFromDbEntity(ComponentProcedure dbEntity)
{
if (dbEntity == null) return;
try
{
ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
public override bool UpdateFromDbEntity(ComponentProcedure dbEntity)
{
if (dbEntity == null) return false;
try
{
ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
}
}
if (tmp != null)
{
tmp.CopyContentTo(this);
return true;
}
else return false;
}
catch (Exception ex)
{
log.DebugFormat(
"Error during Procedure parameters deserialization. CmpntName='{0}', Procedure='{1}', Parameters='{2}', Exception: {3}",
dbEntity?.CmpntName,
dbEntity?.Procedure,
dbEntity?.Parameters,
ex
);
return false;
}
}
public ProcParams()
public ProcParams()
{
}