FM2014: - status filter
This commit is contained in:
parent
1c3f071291
commit
7c3ad0ff0f
@ -202,7 +202,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
|
||||
/// <summary>
|
||||
/// Force to decode the entire status even if it is not important for this measurement sequence.
|
||||
/// </summary>
|
||||
public static Boolean DecodeEntireStatus { get; set; } = false;
|
||||
public static Boolean DecodeEntireStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reminder of actual ongoing measurement information
|
||||
@ -885,7 +885,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
|
||||
StatusDecodingMask = 0;
|
||||
if (measMaskOn) StatusDecodingMask += STATUS_MEASURE_MASK;
|
||||
if (errorMaskOn) StatusDecodingMask += STATUS_ERROR_MASK;
|
||||
if (faultMaskOn) StatusDecodingMask += (STATUS_FAULT1_MASK + STATUS_FAULT2_MASK);
|
||||
if (faultMaskOn) StatusDecodingMask += STATUS_FAULT1_MASK + STATUS_FAULT2_MASK;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -1439,7 +1439,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
|
||||
/// <param name="doublePulseDeadtime_ms">0 if double impulse deadtime detection is off</param>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2026-Jan-14..Feb-25" author="Thomas Wiedebusch">
|
||||
/// <remarks date="2026-Jan-14..Feb-26" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
public static Boolean PulseTimeMeasurement(UInt16? refPulsesRequired = null, UInt16? dutPulsesRequired = null,
|
||||
@ -1490,6 +1490,21 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
|
||||
if (!BuildAndWriteDoubleImpulseDeadtime(firstActiveFm2014))
|
||||
return false;
|
||||
|
||||
// START FAKE setup for time measurement!
|
||||
// Setup to get rid of the status message for missing 'Tolerance display attenuation missing' 'T' and
|
||||
// missing 'Scale REF to DUT missing or out of range' 'K' even if these setting don't have any function
|
||||
cmdName = CmdName.CmdSetCurrentOutputAttenuation;
|
||||
if (!Write(cmdName, firstActiveFm2014, firstActiveFm2014.CurrentOutputAttenuation))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
cmdName = CmdName.CmdRefToDutScale;
|
||||
if (!Write(cmdName, firstActiveFm2014, firstActiveFm2014.RefToDutScaleStr))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// END FAKE setup for time measurement!
|
||||
|
||||
if (refPulsesRequired != null)
|
||||
{
|
||||
cmdName = CmdName.CmdSetRefPulsesRequired;
|
||||
|
||||
@ -1290,19 +1290,19 @@ namespace Sensus.Ui.FM2014TestBench
|
||||
}
|
||||
else if (resp.DoubleValue != null)
|
||||
{
|
||||
LogText($"{timeUtcStr} - Ad: {fm2014.Address} - {resp.AnswerStr}: {resp.DoubleValue:F4} {resp.Unit}");
|
||||
LogText($"{timeUtcStr} - Ad: {fm2014.Address} - {resp.AnswerStr}: {resp.DoubleValue:F6} {resp.Unit}");
|
||||
switch (resp.CmdName)
|
||||
{
|
||||
case CmdName.CmdGetRefTimerTicks:
|
||||
valueStr = $"{resp.DoubleValue:F4}";
|
||||
valueStr = $"{resp.DoubleValue:F3}";
|
||||
ucFm2014?.SetValue(CAL_LBL_IDX_REF_MEAS_TMR, valueStr, statusColor);
|
||||
break;
|
||||
case CmdName.CmdGetDutTimerTicks:
|
||||
valueStr = $"{resp.DoubleValue:F4}";
|
||||
valueStr = $"{resp.DoubleValue:F3}";
|
||||
ucFm2014?.SetValue(CAL_LBL_IDX_DUT_MEAS_TMR, valueStr, statusColor);
|
||||
break;
|
||||
case CmdName.CmdCalculatedDutToRefTolerance:
|
||||
valueStr = $"{resp.DoubleValue:F4}";
|
||||
valueStr = $"{resp.DoubleValue:F3}";
|
||||
ucFm2014?.SetValue(CAL_LBL_IDX_DUT_TO_REF_TOL, valueStr, statusColor);
|
||||
break;
|
||||
case CmdName.CmdGetDutToRefToleranceUndamped:
|
||||
@ -1418,7 +1418,6 @@ namespace Sensus.Ui.FM2014TestBench
|
||||
|
||||
if (refPulsesRequired != null && dutPulsesRequired != null)
|
||||
{
|
||||
|
||||
UpdateContentControl(MeasurementLabels[CAL_LBL_IDX_DUT_TO_REF_TOL],
|
||||
StrLblDutToRefToleranceMeasured);
|
||||
}
|
||||
@ -1443,9 +1442,21 @@ namespace Sensus.Ui.FM2014TestBench
|
||||
|
||||
// Set initial required pulses as those are static upon the entire measurement
|
||||
if (refPulsesRequired != null)
|
||||
{
|
||||
ucFM2014.SetValue(CAL_LBL_IDX_REF_REQ_PLS, $"{_fm2014Common.RefPulsesRequired:D}");
|
||||
ucFM2014.SetValue(CAL_LBL_IDX_REF_MEAS_TMR, "---");
|
||||
}
|
||||
|
||||
if (dutPulsesRequired != null)
|
||||
{
|
||||
ucFM2014.SetValue(CAL_LBL_IDX_DUT_REQ_PLS, $"{_fm2014Common.DutPulsesRequired:D}");
|
||||
ucFM2014.SetValue(CAL_LBL_IDX_DUT_MEAS_TMR, "---");
|
||||
}
|
||||
|
||||
if (refPulsesRequired != null && dutPulsesRequired != null)
|
||||
{
|
||||
ucFM2014.SetValue(CAL_LBL_IDX_DUT_TO_REF_TOL, "---");
|
||||
}
|
||||
|
||||
// Set thresholds for tolerance verification
|
||||
fm2014.DutToRefCalibrationToleranceMax_percent = _fm2014Common.DutToRefCalibrationToleranceMax_percent;
|
||||
@ -1505,6 +1516,9 @@ namespace Sensus.Ui.FM2014TestBench
|
||||
var ucFM2014 = (UcFM2014Device)UcFM2014s[idx];
|
||||
ucFM2014.EnableMeasurements(REG_MEASURE_COUNT);
|
||||
fm2014.CurrentOutputDisplayRangeNominal_percent = _fm2014Common.CurrentOutputDisplayRangeNominal_percent;
|
||||
ucFM2014.SetValue(REG_LBL_IDX_REF_FREQU, "---");
|
||||
ucFM2014.SetValue(REG_LBL_IDX_FLOW_RATE, "---");
|
||||
ucFM2014.SetValue(REG_LBL_IDX_DUT_TO_REF_TOL, "---");
|
||||
}
|
||||
|
||||
// Backup if meanwhile anything has changed
|
||||
|
||||
@ -23,13 +23,13 @@
|
||||
|
||||
<!-- Bordered Static Labels -->
|
||||
<Label Name="lblStatus" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="OFFLINE" />
|
||||
<Label Name="lblMeasurement1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement6" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement7" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="0" />
|
||||
<Label Name="lblMeasurement1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblMeasurement2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblMeasurement3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblMeasurement4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblMeasurement5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblMeasurement6" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblMeasurement7" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblFirmwareVersion" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblSerialNumber" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="9" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
<Label Name="lblLifetime_h" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,0" Grid.Row="10" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Center" Content="---" />
|
||||
|
||||
Loading…
Reference in New Issue
Block a user