MagFlux implemnted

This commit is contained in:
Roland Drabesch 2023-05-10 15:44:40 +02:00
parent 48e5f26913
commit 2db0e27fc0
10 changed files with 72 additions and 38 deletions

View File

@ -803,6 +803,11 @@ namespace Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxCore
/// <inheritdoc />
public void StartMeasurement()
{
//todo: Thomas bitte besser machen
if (IntermediateUpdateTimeS == 0)
{
IntermediateUpdateTimeS = 10;
}
_listOfIMeasurement = new List<IMeasurement>
{
new BaseMeasurement(Slot, typeof(MagFluxRecord), IntermediateUpdateTimeS)
@ -1119,6 +1124,12 @@ namespace Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxCore
}
}
}
void IMeter.SetupFromConfigFile(Int32 slot, Boolean ignoreCorruptedData, Boolean useRequest, Boolean useStreaming)
{
SetupFromConfigFile(slot, ignoreCorruptedData);
}
#endregion
}
}

View File

@ -91,6 +91,8 @@ namespace Xylem.Common.Hardware.WaterMeter.WaterMeterCore
/// has to be calculated depending on flow-rate and nominal diameter (DN)
/// </summary>
Int32 IntermediateUpdateTimeS { get; set; }
Boolean SkipPreparationForTestBench { get; set; }
String CurrentActionText { get; set; }
#endregion
#region method

View File

@ -6,7 +6,7 @@
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<userSettings>
<Xylem.Common.Ui.GenesisToolBox.Properties.Settings>

View File

@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Xylem.Common.Ui.GenesisToolBox</RootNamespace>
<AssemblyName>Xylem.Common.Ui.GenesisToolBox</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />

View File

@ -441,8 +441,9 @@ namespace GenesisToolBox
ctlBatch.AddAllMeters("50", 0, 40, 60, 0.1, false);
while (!ctlBatch.MetersArePrepared())
{
Thread.Sleep(100);
Thread.Sleep(10000);
}
foreach (var item in container.meterTestSettings)
@ -470,7 +471,7 @@ namespace GenesisToolBox
while (!ctlBatch.MeasurementIsActive())
{
Thread.Sleep(100);
Thread.Sleep(5000);
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
<package id="NLog" version="4.6.7" targetFramework="net40" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" requireReinstallation="true" />
<package id="NLog" version="4.6.7" targetFramework="net40" requireReinstallation="true" />
<package id="QRCoder" version="1.4.3" targetFramework="net40" />
</packages>

View File

@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>XylemCommonUiLegacyGenCtl</RootNamespace>
<AssemblyName>XylemCommonUiLegacyGenCtl</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
@ -23,6 +23,7 @@
<WarningLevel>4</WarningLevel>
<RegisterForComInterop>false</RegisterForComInterop>
<LangVersion>7.0</LangVersion>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -32,6 +33,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<LangVersion>7.0</LangVersion>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<StartupObject>
@ -46,6 +48,7 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<LangVersion>7.0</LangVersion>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
@ -56,6 +59,7 @@
<LangVersion>7.0</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
@ -66,6 +70,7 @@
<LangVersion>7.0</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '_MANUAL_CONTROL|x64'">
<DebugSymbols>true</DebugSymbols>
@ -76,6 +81,7 @@
<LangVersion>7.0</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />

View File

@ -192,6 +192,7 @@ namespace XylemCommonUiLegacyGenCtl
testSetup.meterTestSettings[Slot - 1].FlowAdjustmentTarget = Convert.ToDecimal(FlowAdjustmentTarget);
testSetup.meterTestSettings[Slot - 1].PreAdjustment = PreAdjustment;
testSetup.meterTestSettings[Slot - 1].FlowTesting = FlowTesting;
testSetup.meterTestSettings[Slot - 1].meterType = Xylem.Common.Hardware.WaterMeter.WaterMeterCore.MeterTypes.MagFlux ;
}

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>

View File

@ -752,20 +752,20 @@ namespace XylemCommonUiLegacyGenCtl
{
IMeter meter;
switch (item.meterType)
{
case MeterTypes.Cordonel:
{
case MeterTypes.Cordonel:
meter = new GenesisMeter();
break;
case MeterTypes.MagFlux:
case MeterTypes.MagFlux:
meter = new MagFluxMeter();
break;
default:
default:
meter = new GenesisMeter();
break;
}
}
meter.SerialNumber = item.SerialNr;
meter.CurrentActionText = "FlowTest";
meter.SetupFromConfigFile(item.Slot, false, _useRequest, true);
@ -1096,17 +1096,22 @@ namespace XylemCommonUiLegacyGenCtl
foreach (var meter in batch.ListOfMeters)
{
_logger.Debug($"Add Meter To Grid {meter.Slot}");
if (!(meter is GenesisMeter genesisMeter))
{
return false;
AddMeterToGrid(meter.Slot, meter.SerialNumber, "-", IsFlyingStartStop);
}
else
{
AddMeterToGrid(meter.Slot, meter.SerialNumber, genesisMeter.PcbId, IsFlyingStartStop);
}
//todo : roland check SkipPrepearationForTestBench
//((GenesisMeter)meter).SkipPrepearationForTestBench = true;
_logger.Debug($"Add Meter To Grid {meter.Slot}");
AddMeterToGrid(meter.Slot, meter.SerialNumber, genesisMeter.PcbId, IsFlyingStartStop);
if (IsAdjustment)
{
@ -1119,16 +1124,20 @@ namespace XylemCommonUiLegacyGenCtl
listOfTasks.Add(new Task(() =>
{
((GenesisMeter)meter).ReLogin();
((GenesisMeter)meter).WriteLog("Prepare meter for Measurement/Adjustment ");
if ((meter is GenesisMeter gMeter))
{
((GenesisMeter)meter).ReLogin();
}
meter.WriteLog("Prepare meter for Measurement/Adjustment ");
_logger.Debug("Prepare Meters for Measurement/Adjustment");
if (IsAdjustment)
{
((GenesisMeter)meter).InitCalibration();
meter.InitCalibration();
}
else
{
((GenesisMeter)meter).InitMeasurement();
meter.InitMeasurement();
}
}));
//// Reboot, HighPressure
@ -1455,19 +1464,23 @@ namespace XylemCommonUiLegacyGenCtl
var meter = batch.ListOfMeters.First(f => f.Slot == Slot);
MeasurementResults result;
if (Chnnl != 0 && meter is GenesisMeter genesisMeter)
if (meter is GenesisMeter genesisMeter)
{
result = genesisMeter.GetAllMeasurementResults(refVolQm, refTimeS)
.FirstOrDefault(f => f.Channel == Chnnl);
return result;
}
if (((GenesisMeter)meter).AllChannelsRequired)
{
if (meter.GetMeasurementState() != MeasurementStates.IsCompleted)
if (Chnnl != 0)
{
return null;
result = genesisMeter.GetAllMeasurementResults(refVolQm, refTimeS)
.FirstOrDefault(f => f.Channel == Chnnl);
return result;
}
if (((GenesisMeter)meter).AllChannelsRequired)
{
if (meter.GetMeasurementState() != MeasurementStates.IsCompleted)
{
return null;
}
}
}
@ -1755,8 +1768,8 @@ namespace XylemCommonUiLegacyGenCtl
{
try
{
if (item is GenesisMeter)
{
//if (item is GenesisMeter)
//{
var settings = TestSetupContainer.meterTestSettings.First(f => f != null && f.Slot == item.Slot);
if ((IsAdjustment && !settings.FlowAdjustment) || (!IsAdjustment && !settings.FlowTesting))
@ -1765,7 +1778,7 @@ namespace XylemCommonUiLegacyGenCtl
continue;
}
var _meter = (GenesisMeter)item;
var _meter = item;
var onlyChnl = _checkAllChannels ? null : (Int32?)0;
var ProcessStatus = item.GetMeasurementState(onlyChnl);
listOfStates.Add(ProcessStatus);
@ -1855,7 +1868,7 @@ namespace XylemCommonUiLegacyGenCtl
}
}
}
}
//}
}
catch (Exception e)
{