From fa7128cd030c9e7beaf6a8710cc4299772c2291b Mon Sep 17 00:00:00 2001 From: Thomas Wiedebusch Date: Tue, 10 Feb 2026 09:12:07 +0100 Subject: [PATCH] FM2014TestBench: - initial setup to test multiple FM2014 - 11.Step --- .../FM2014/FM2014Config/FM2014Config.cs | 13 - .../FM2014/FM2014Core/FM2014.cs | 15 +- FM2014TestApp/Fm2014TestApp.sln | 8 +- .../Ui/Fm2014sTest/FM2014TestBenchWindow.xaml | 5 +- .../Fm2014sTest/FM2014TestBenchWindow.xaml.cs | 498 +++++++++--------- 5 files changed, 257 insertions(+), 282 deletions(-) diff --git a/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Config/FM2014Config.cs b/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Config/FM2014Config.cs index c5bbbcf4..decb4c1f 100644 --- a/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Config/FM2014Config.cs +++ b/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Config/FM2014Config.cs @@ -102,19 +102,6 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Config if (!File.Exists(configFile)) return false; - //{ - // //// Take actual working directory - // //configFile = Path.Combine(ProgramConfig.FM2014ConfigFileName); - // //if (!File.Exists(configFile)) - // //{ - // // SerialPort = null; - // // Address = null; - // // TolerancePercent = null; - // // SlotIsSelected = null; - // // IndividualTolerancePercent = null; - // return false; - // //} - //} using (var tr = new StreamReader(configFile)) { diff --git a/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs b/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs index d42730ec..c060157b 100644 --- a/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs +++ b/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs @@ -293,12 +293,12 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core /// /// REF pulse counter is switched active /// - private Boolean RefPulseCtrOn { set; get; } + public Boolean RefPulseCtrOn { set; get; } /// /// DUT pulse counter is switched active /// - private Boolean DutPulseCtrOn { set; get; } + public Boolean DutPulseCtrOn { set; get; } /// /// Serial number of the FM2014 @@ -590,13 +590,12 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core get => _doublePulseDeadtime_ms; set { - if (value < DOUBLE_PULSE_DEADTIME_MIN_ms || - value > DOUBLE_PULSE_DEADTIME_MAX_ms) + if (value > DOUBLE_PULSE_DEADTIME_MAX_ms) return; _doublePulseDeadtime_ms = value; // Calculate and set up the values 'S' and 's' needed for the FM2014 - var tempBase_ms = (UInt16)value; + var tempBase_ms = value; var tempMultiplier = 1; while (tempBase_ms > DOUBLE_PULSE_BASE_DEADTIME_MAX_ms && tempMultiplier < DOUBLE_PULSE_DEADTIME_MULTIPLIER_INPUT_MAX) @@ -844,9 +843,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core /// Exit: /// - Set to false. /// - /// request to count REF pulses - /// request to count DUT pulses - /// true if initialization successfully executed or + /// true if initialization successfully executed or /// marks the already started cyclic requests /// for all registered FM2014s /// @@ -868,7 +865,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core /// /// - Static. /// - public static Boolean PulseCounterMeasurement(Boolean refCtrOn = true, Boolean dutCtrOn = false) + public static Boolean PulseCounterMeasurement() { // If the cyclic task has already been started everything is fine if (SharedCyclicMeasSequ == CyclicMeasSequ.PULSE_CTR) diff --git a/FM2014TestApp/Fm2014TestApp.sln b/FM2014TestApp/Fm2014TestApp.sln index be90a8c9..5560f243 100644 --- a/FM2014TestApp/Fm2014TestApp.sln +++ b/FM2014TestApp/Fm2014TestApp.sln @@ -50,8 +50,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Metrology", "Metrology", "{ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Measurements", "..\Common\Metrology\Measurements\Measurements.csproj", "{6CCDB656-C676-4360-BABA-C4596AAD175D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fm2014TestApp", "Ui\FM2014TestBenchWinFrms\Fm2014TestApp.csproj", "{09CBCD8A-C729-4AB6-9C39-1510774509D6}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fm2014TestBench", "Ui\Fm2014sTest\Fm2014TestBench.csproj", "{ED34FACA-492B-44FD-B56C-A2BD83F33D8B}" EndProject Global @@ -88,10 +86,6 @@ Global {6CCDB656-C676-4360-BABA-C4596AAD175D}.Debug|Any CPU.Build.0 = Debug|Any CPU {6CCDB656-C676-4360-BABA-C4596AAD175D}.Release|Any CPU.ActiveCfg = Release|Any CPU {6CCDB656-C676-4360-BABA-C4596AAD175D}.Release|Any CPU.Build.0 = Release|Any CPU - {09CBCD8A-C729-4AB6-9C39-1510774509D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {09CBCD8A-C729-4AB6-9C39-1510774509D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {09CBCD8A-C729-4AB6-9C39-1510774509D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {09CBCD8A-C729-4AB6-9C39-1510774509D6}.Release|Any CPU.Build.0 = Release|Any CPU {ED34FACA-492B-44FD-B56C-A2BD83F33D8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {ED34FACA-492B-44FD-B56C-A2BD83F33D8B}.Debug|Any CPU.Build.0 = Debug|Any CPU {ED34FACA-492B-44FD-B56C-A2BD83F33D8B}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -117,7 +111,7 @@ Global {2E139F63-B6FE-4EA9-A098-85364FE9B26C} = {83A52B6E-DB81-4B43-B5C1-F9B637D135BE} {2FD60CF1-45CD-4060-B8E5-4F39FBA7F1CB} = {DBC8FF8D-D0A2-4C55-B7D5-F7D17CCEE01F} {6CCDB656-C676-4360-BABA-C4596AAD175D} = {6695522E-E681-434C-8006-5A92AABB9807} - {09CBCD8A-C729-4AB6-9C39-1510774509D6} = {BDA40851-F353-416A-A6A8-6BA33ACB7371} + {ED34FACA-492B-44FD-B56C-A2BD83F33D8B} = {BDA40851-F353-416A-A6A8-6BA33ACB7371} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B72A8444-29F9-4FA4-82BE-B6E230750911} diff --git a/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml b/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml index dc120e70..0ce1a6aa 100644 --- a/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml +++ b/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml @@ -392,7 +392,6 @@