ProductionUiCordonel: - NA reboot counter chack skipped with warning

This commit is contained in:
Thomas Wiedebusch 2026-03-05 11:03:59 +01:00
parent 4f55792196
commit 8386c0818f
7 changed files with 35 additions and 11 deletions

View File

@ -38,6 +38,11 @@
/// <summary>
/// the measurement is out of range for threshold checks
/// </summary>
MeasurementOutOfRange
MeasurementOutOfRange,
/// <summary>
/// The setup value is out of range
/// </summary>
SetupOutOfRange
}
}

View File

@ -616,8 +616,13 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
get => _doublePulseDeadtime_ms;
set
{
// Fire an event if setup is OOR
if (value > DOUBLE_PULSE_DEADTIME_MAX_ms)
{
return;
}
_doublePulseDeadtime_ms = value;
// Calculate and set up the values 'S' and 's' needed for the FM2014
@ -932,7 +937,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
var cmdName = CmdName.CmdSwitchDoublePulseDeadtimeOff;
var actualFm2014 = CmdType.broadcast == GetCmdType(cmdName) ? BroadcastFm2014 : fm2014;
// Check if double pulse deadtime has been set or si switched off
// Check if double pulse deadtime has been set or is switched off
if (DOUBLE_PULSE_DEADTIME_MIN_ms == fm2014.DoublePulseDeadtime_ms)
{
// This is a command without parameter

View File

@ -46,7 +46,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
public Double? DoubleValue { get; private set; }
/// <summary>
/// Measurement SI unit
/// Unit of the measurement
/// </summary>
public String Unit { get; private set; }

View File

@ -43,6 +43,12 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
/// <remarks date="2025-Dec-15" author="Thomas Wiedebusch">
/// - Reboot counter temporary deactivated with WARNING.
/// </remarks>
/// <remarks date="2026-Feb-12" author="Thomas Wiedebusch">
/// - Reboot counter reactivated.
/// </remarks>
/// <remarks date="2026-Mar-05" author="Thomas Wiedebusch">
/// - Reboot counter for NA region temporary deactivated.
/// </remarks>
public override StatusReturn ExecuteProcess()
{
Boolean retVal;
@ -79,10 +85,18 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
{
if (rebootCount > MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW)
{
ErrorMsgDispatcher(Resources.StrErrorMsgTooManyReboots +
$" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" +
$" - {Resources.StrProcessStateDetected}: {rebootCount}");
return StatusReturn.Failed;
if (Meter.Region.Equals("NA"))
{
WarningMsgDispatcher(Resources.StrWarningRebootCounterCheckSkipped +
$" - {Resources.StrProcessStateDetected}: {rebootCount}");
}
else // EMEA
{
ErrorMsgDispatcher(Resources.StrErrorMsgTooManyReboots +
$" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" +
$" - {Resources.StrProcessStateDetected}: {rebootCount}");
return StatusReturn.Failed;
}
}
// Skip reboot counter check on reties as it passed here the initial phase as a retry may follow an

View File

@ -2718,9 +2718,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.Properties {
/// <summary>
/// Looks up a localized string similar to WARNING: Reboot counter check skipped.
/// </summary>
internal static string StrWarningRebbotCounterCheckSkipped {
internal static string StrWarningRebootCounterCheckSkipped {
get {
return ResourceManager.GetString("StrWarningRebbotCounterCheckSkipped", resourceCulture);
return ResourceManager.GetString("StrWarningRebootCounterCheckSkipped", resourceCulture);
}
}
}

View File

@ -682,7 +682,7 @@
<data name="StrWarningMsgProcess" xml:space="preserve">
<value>WARNUNG: Ergebnis muß überprüft werden! Prozeß </value>
</data>
<data name="StrWarningRebbotCounterCheckSkipped" xml:space="preserve">
<data name="StrWarningRebootCounterCheckSkipped" xml:space="preserve">
<value>WARNUNG: Hardwareneustartüberprüfung (Reboot) ausgelassen</value>
</data>
<data name="StrErrorMsgTooManyReboots" xml:space="preserve">

View File

@ -682,7 +682,7 @@
<data name="StrWarningMsgProcess" xml:space="preserve">
<value>WARNING: Result needs inspection! Process</value>
</data>
<data name="StrWarningRebbotCounterCheckSkipped" xml:space="preserve">
<data name="StrWarningRebootCounterCheckSkipped" xml:space="preserve">
<value>WARNING: Reboot counter check skipped</value>
</data>
<data name="StrErrorMsgTooManyReboots" xml:space="preserve">