139 lines
7.2 KiB
C#
139 lines
7.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using Logic.ProductionToProductMapper.Cordonel;
|
|
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts;
|
|
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts;
|
|
|
|
namespace CordonelPreadjustmentUi
|
|
{
|
|
public class PreAdjustmentSettingsContainer
|
|
{
|
|
#region prep
|
|
public Int32 CalFactor1 { get; internal set; } = 15625;
|
|
public Int32 CalFactor2 { get; internal set; } = 15625;
|
|
public Int32 CalFactor3 { get; internal set; } = 15625;
|
|
public Int32 ZeroOffset1 { get; internal set; } = 0;
|
|
public Int32 ZeroOffset2 { get; internal set; } = 0;
|
|
public Int32 ZeroOffset3 { get; internal set; } = 0;
|
|
public Int32 Samplerate { get; internal set; } = 10;
|
|
public MeterSize MeterSize { get; internal set; } = MeterSize.DN50;
|
|
public LedMode LedMode { get; internal set; } = LedMode.CalibData;
|
|
#endregion
|
|
|
|
#region ProcessesEnabled
|
|
//todo read from checkbox
|
|
public bool doOffsetTest { get; internal set; } = true;
|
|
public bool doAmplTest { get; internal set; } = true;
|
|
#endregion
|
|
|
|
#region TempControl
|
|
public Double UpperTempLimit { get; internal set; } = 35;
|
|
public Double LowerTempLimit { get; internal set; } = 15;
|
|
public Double TempDeviationLimit { get; internal set; } = 1;
|
|
#endregion
|
|
#region AmpTest
|
|
public Int32 AmpTestTofRecordingTime { get; internal set; } = 6;
|
|
public Double AmpTestTriggerValue { get; internal set; } = 0.5;
|
|
public bool AmpTestGenerateLogfiles { get; internal set; } = true;
|
|
public bool AmpTestGenerateMeanValuesFile { get; internal set; } = true;
|
|
public Int32 AmpTestFirstHitLevelPropMin { get; internal set; } = 12;//(Int32)nUD_Settings_AmplitudeTestLowerLimit.Value,
|
|
public Int32 AmpTestFirstHitLevelPropMax { get; internal set; } = 32;//(Int32)nUD_Settings_AmplitudeTestUpperLimit.Value,
|
|
public Int32 AmpTestAmpTestDistance { get; internal set; } = 7;//(Int32)nUD_Settings_AmplitudeTestMinDistance.Value
|
|
public Int32 AmpTestPercentageStart { get; internal set; } = 5;//(Int32)nUD_Settings_AmplitudeTestMinDistance.Value
|
|
public Int32 AmpTestPercentageStop { get; internal set; } = 35;//(Int32)nUD_Settings_AmplitudeTestMinDistance.Value
|
|
public Int32 AmpTestActivityCheckInverval { get; internal set; } = 6;//(Int32)nUD_Settings_AmplitudeTestMinDistance.Value
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#region OffsetTest
|
|
|
|
public bool OffsetTestGenerateLogfiles { get; internal set; } = true;
|
|
public Int32 OffsetTestUpperVoltageLimitMV { get; internal set; } = 650;//(Int32)nUD_Settings_AmplitudeTestLowerLimit.Value,
|
|
public Int32 OffsetTestLowerVoltageLimitMV { get; internal set; } = 200;//(Int32)nUD_Settings_AmplitudeTestUpperLimit.Value,
|
|
public Int32 OffsetTestOffsetLimitPS { get; internal set; } = 300;//(Int32)nUD_Settings_AmplitudeTestMinDistance.Value
|
|
public Int32 OffsetTestSettlingTime { get; internal set; } = 60;//(Int32)nUD_Settings_AmplitudeTestMinDistance.Value
|
|
public Int32 OffsetTestNumberOfLines { get; internal set; } = 9000;
|
|
public Int32 OffsetTestActivityCheckInverval { get; internal set; } = 2;
|
|
|
|
public Int32 OffsetTestBadDataLimit { get; internal set; } = 3;
|
|
#endregion
|
|
|
|
|
|
private string CultureStr;
|
|
public List<Int32> TempMeters = new List<Int32>() { 1,10 };
|
|
public List<Int32> Meters = new List<Int32>() { 2, 3, 4, 5, 6, 7, 8, 9 };
|
|
|
|
public CultureInfo Culture
|
|
{
|
|
get { return CultureInfo.CreateSpecificCulture(CultureStr); }
|
|
set { CultureStr = value.Name; }
|
|
}
|
|
|
|
public Int32 NumberOfPaths { get; internal set; }
|
|
public bool TempOnly { get; internal set; } = false;
|
|
public bool TempMan { get; internal set; } = false;
|
|
|
|
public PreAdjustmentSettingsContainer(int numberOfPaths = 3, Int32[] meters = null, string cultureStr = "de-DE", Int32[] tempMeters = null, MeterSize meterSize = MeterSize.DN50, Double upperTempLimit = 35, Double lowerTempLimit = 15, Double tempDeviationLimit = 1, Int32 ampTestTofRecordingTime = 2, Double ampTestTriggerValue = 0.5, bool ampTestGenerateLogfiles = true, bool ampTestGenerateMeanValuesFile = true, Int32 ampTestFirstHitLevelPropMin = 12, Int32 ampTestFirstHitLevelPropMax = 32, Int32 ampTestAmpTestDistance = 7, Int32 ampTestPercentageStart = 5, Int32 ampTestPercentageStop = 35, Int32 ampTestActivityCheckInverval = 6, bool offsetTestGenerateLogfiles = true, Int32 offsetTestUpperVoltageLimitMV = 650, Int32 offsetTestLowerVoltageLimitMV = 200, Int32 offsetTestOffsetLimitPS = 300, Int32 offsetTestSettlingTime = 60, Int32 offsetTestZeroflowOffsetTestNumberOfLines = 9000, Int32 offsetTestActivityCheckInverval = 2, Int32 offsetTestBadDataLimit = 3, Int32 samplerate = 16)
|
|
{
|
|
NumberOfPaths = numberOfPaths;
|
|
|
|
CultureStr = cultureStr;//"en-US"
|
|
MeterSize = meterSize;
|
|
if (meters != null)
|
|
{
|
|
Meters = meters.ToList();
|
|
}
|
|
else
|
|
{
|
|
Meters = new List<int>() { 2, 3, 4, 5, 6, 7, 8, 9 };
|
|
}
|
|
if (tempMeters != null)
|
|
{
|
|
TempMeters = tempMeters.ToList();
|
|
}
|
|
else
|
|
{
|
|
TempMeters = new List<int>() { 1, 10 };
|
|
}
|
|
UpperTempLimit = upperTempLimit;
|
|
LowerTempLimit = lowerTempLimit;
|
|
TempDeviationLimit = tempDeviationLimit;
|
|
AmpTestTofRecordingTime = ampTestTofRecordingTime;
|
|
AmpTestTriggerValue = ampTestTriggerValue;
|
|
AmpTestGenerateLogfiles = ampTestGenerateLogfiles;
|
|
AmpTestGenerateMeanValuesFile = ampTestGenerateMeanValuesFile;
|
|
AmpTestFirstHitLevelPropMin = ampTestFirstHitLevelPropMin;
|
|
AmpTestFirstHitLevelPropMax = ampTestFirstHitLevelPropMax;
|
|
AmpTestAmpTestDistance = ampTestAmpTestDistance;
|
|
AmpTestPercentageStart = ampTestPercentageStart;
|
|
AmpTestPercentageStop = ampTestPercentageStop;
|
|
AmpTestActivityCheckInverval = ampTestActivityCheckInverval;
|
|
OffsetTestGenerateLogfiles = offsetTestGenerateLogfiles;
|
|
OffsetTestUpperVoltageLimitMV = offsetTestUpperVoltageLimitMV;
|
|
OffsetTestLowerVoltageLimitMV = offsetTestLowerVoltageLimitMV;
|
|
OffsetTestOffsetLimitPS = offsetTestOffsetLimitPS;
|
|
OffsetTestSettlingTime = offsetTestSettlingTime;
|
|
OffsetTestNumberOfLines = offsetTestZeroflowOffsetTestNumberOfLines;
|
|
OffsetTestActivityCheckInverval = offsetTestActivityCheckInverval;
|
|
OffsetTestBadDataLimit = offsetTestBadDataLimit;
|
|
Samplerate = samplerate;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
var sb = new StringBuilder();
|
|
foreach (var p in this.GetType().GetProperties().Where(p => !p.GetGetMethod().GetParameters().Any()))
|
|
{
|
|
sb.Append($"{p.Name}={p.GetValue(this, null).ToString()}");
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
|
|
}
|
|
} |