diff --git a/DentistryHandpieces/MainWindow.xaml b/DentistryHandpieces/MainWindow.xaml
index 5e3ec02..c739edf 100644
--- a/DentistryHandpieces/MainWindow.xaml
+++ b/DentistryHandpieces/MainWindow.xaml
@@ -384,7 +384,6 @@
-
-
@@ -408,7 +400,6 @@
-
-
@@ -683,25 +669,11 @@
Foreground="#0F766E"
VerticalAlignment="Center" />
-
-
-
-
-
-
-
-
+ Foreground="#52616F" />
@@ -981,7 +953,6 @@
-
@@ -1007,16 +978,6 @@
Style="{StaticResource MutedText}"
Margin="0,16,0,0"
VerticalAlignment="Center" />
-
-
-
diff --git a/DentistryHandpieces/MainWindowViewModel.cs b/DentistryHandpieces/MainWindowViewModel.cs
index 4e247af..0b71078 100644
--- a/DentistryHandpieces/MainWindowViewModel.cs
+++ b/DentistryHandpieces/MainWindowViewModel.cs
@@ -204,10 +204,6 @@ public sealed class MainWindowViewModel : ObservableObject
private bool _isDisplacementResetting;
private bool _isSpeedTorqueResetting;
private bool _hasShownSpeedTorqueEndWarnings;
- private bool _isAxialResetEnabled;
- private bool _isAxialResetDone;
- private bool _isSpeedTorqueResetEnabled;
- private bool _isSpeedTorqueResetDone;
private DateTime _lastParameterReadFailureLogAt = DateTime.MinValue;
private string _relativeDisplacementText = "0.000 mm";
private string _axialAxisPositionText = "0.000 mm";
@@ -217,15 +213,12 @@ public sealed class MainWindowViewModel : ObservableObject
private string _finalDisplacementText = "--";
private string _axialForceText = "0.00 N";
private string _finalAxialForceText = "--";
- private string _displacementStatusText = "状态:待复位";
private string _realtimeSpeedText = "0 r/min";
private string _realtimeTorqueText = $"0.00 {TorqueUnit}";
private string _realtimePressureText = "0.000 MPa";
private string _noLoadSpeedRecordText = "0 r/min";
private string _noLoadSpeedErrorRateText = "0.00 %";
- private string _noLoadSpeedStatusText = "状态:待记录";
private string _noLoadSpeedSettingInput = "0";
- private string _speedTorqueStatusText = "状态:待启动";
private string _finalSpeedTorqueText = "最终:-- / --";
private string _speedTorqueAxisPositionText = "0.000 mm";
private string _speedTorqueDisplacementText = "0.000 mm";
@@ -277,8 +270,8 @@ public sealed class MainWindowViewModel : ObservableObject
_parameterConfig = LoadParameterConfig();
ApplyParameterConfigToInputs();
- UpdateDisplacementDisplay("状态:待复位");
- UpdateSpeedTorqueDisplay("状态:待启动");
+ UpdateDisplacementDisplay();
+ UpdateSpeedTorqueDisplay();
RefreshOverallResult();
UpdateDataCaptureStatus();
@@ -401,9 +394,7 @@ public sealed class MainWindowViewModel : ObservableObject
if (!TryReadNonNegative(value, GetActiveAxialForceSetpointName(), out double axialForceSetpoint, out string error))
{
- SetTestPageInputStatus(
- _parameterConfig.UseAxialPullForceSetpoint ? TestPageInputParameter.AxialPullForceSetpoint : TestPageInputParameter.AxialJumpForceSetpoint,
- error);
+ SetTestPageInputStatus(error);
return;
}
@@ -553,12 +544,6 @@ public sealed class MainWindowViewModel : ObservableObject
private set => SetProperty(ref _finalAxialForceText, value);
}
- public string DisplacementStatusText
- {
- get => _displacementStatusText;
- private set => SetProperty(ref _displacementStatusText, value);
- }
-
public string RealtimeSpeedText
{
get => _realtimeSpeedText;
@@ -589,18 +574,6 @@ public sealed class MainWindowViewModel : ObservableObject
private set => SetProperty(ref _noLoadSpeedErrorRateText, value);
}
- public string NoLoadSpeedStatusText
- {
- get => _noLoadSpeedStatusText;
- private set => SetProperty(ref _noLoadSpeedStatusText, value);
- }
-
- public string SpeedTorqueStatusText
- {
- get => _speedTorqueStatusText;
- private set => SetProperty(ref _speedTorqueStatusText, value);
- }
-
public string FinalSpeedTorqueText
{
get => _finalSpeedTorqueText;
@@ -738,8 +711,8 @@ public sealed class MainWindowViewModel : ObservableObject
await StopSpeedTorqueTestAsync("状态:已完成");
}
- UpdateDisplacementDisplay(ResolveDisplacementStatus(DisplacementStatusText));
- UpdateSpeedTorqueDisplay(ResolveSpeedTorqueStatus(SpeedTorqueStatusText));
+ UpdateDisplacementDisplay();
+ UpdateSpeedTorqueDisplay();
UpdateNoLoadSpeedDisplay();
await AutoStopIfSetpointReachedAsync();
await AutoStopIfSpeedTorqueProtectionReachedAsync();
@@ -747,7 +720,6 @@ public sealed class MainWindowViewModel : ObservableObject
if (_lastRealtimeReadFailed)
{
StatusText = "实时数据已恢复";
- NoLoadSpeedStatusText = "状态:实时数据已恢复";
_lastRealtimeReadFailed = false;
Log.Information("PLC实时数据读取已恢复");
}
@@ -757,7 +729,6 @@ public sealed class MainWindowViewModel : ObservableObject
if (!_lastRealtimeReadFailed)
{
StatusText = $"实时数据读取失败:{ex.Message}";
- NoLoadSpeedStatusText = "状态:实时数据读取失败";
_lastRealtimeReadFailed = true;
Log.Warning(ex, "PLC实时数据读取失败,后续相同故障将等待恢复后再记录");
}
@@ -849,8 +820,8 @@ public sealed class MainWindowViewModel : ObservableObject
ApplyParameterConfigToInputs();
NoLoadSpeedSettingInput = FormatConfigNumber(noLoadSpeedSetting);
NotifyParameterInputsChanged();
- UpdateDisplacementDisplay(DisplacementStatusText);
- UpdateSpeedTorqueDisplay(SpeedTorqueStatusText);
+ UpdateDisplacementDisplay();
+ UpdateSpeedTorqueDisplay();
_hasLoadedParameterConfigFromPlc = true;
_parameterRetryTimer.Stop();
ParameterStatusText = "通信读取成功";
@@ -1850,8 +1821,8 @@ public sealed class MainWindowViewModel : ObservableObject
_parameterConfig = config;
SaveParameterConfig();
UpdateParameterSummaries();
- UpdateDisplacementDisplay(_isDisplacementRunning ? "状态:测试中" : _finalDisplacement.HasValue ? "状态:已停止" : "状态:待启动");
- UpdateSpeedTorqueDisplay(_isSpeedTorqueRunning ? "状态:测试中" : _finalSpeed.HasValue ? "状态:已停止" : "状态:待启动");
+ UpdateDisplacementDisplay();
+ UpdateSpeedTorqueDisplay();
await AutoStopIfSetpointReachedAsync();
await AutoStopIfSpeedTorqueProtectionReachedAsync();
_hasLoadedParameterConfigFromPlc = true;
@@ -2055,7 +2026,7 @@ public sealed class MainWindowViewModel : ObservableObject
return;
}
- await MoveSpeedTorqueDisplacementAsync("状态:前进");
+ await MoveSpeedTorqueDisplacementAsync();
}
private async Task BackwardSpeedTorqueAsync()
@@ -2065,7 +2036,7 @@ public sealed class MainWindowViewModel : ObservableObject
return;
}
- await MoveSpeedTorqueDisplacementAsync("状态:后退");
+ await MoveSpeedTorqueDisplacementAsync();
}
private async Task TriggerVentValveAsync()
@@ -2085,7 +2056,7 @@ public sealed class MainWindowViewModel : ObservableObject
if (!TryReadNonNegative(input, fieldName, out double value, out string error))
{
- SetTestPageInputStatus(parameter, error);
+ SetTestPageInputStatus(error);
return;
}
@@ -2102,7 +2073,7 @@ public sealed class MainWindowViewModel : ObservableObject
if (!TryReadNonNegative(input, fieldName, out double value, out string error)
|| !CanScaleTenthsToPlc(value, fieldName, out error))
{
- SetTestPageInputStatus(parameter, error);
+ SetTestPageInputStatus(error);
return;
}
@@ -2126,7 +2097,7 @@ public sealed class MainWindowViewModel : ObservableObject
}
catch (Exception ex)
{
- SetTestPageInputStatus(parameter, $"{fieldName}自动写入 D{registerAddress} 失败:{ex.Message}");
+ SetTestPageInputStatus($"{fieldName}自动写入 D{registerAddress} 失败:{ex.Message}");
Log.Error(ex, "{FieldName}自动写入失败,D{RegisterAddress}={Value}", fieldName, registerAddress, value);
}
finally
@@ -2149,7 +2120,7 @@ public sealed class MainWindowViewModel : ObservableObject
}
catch (Exception ex)
{
- SetTestPageInputStatus(parameter, $"{fieldName}自动写入 D{registerAddress} 失败:{ex.Message}");
+ SetTestPageInputStatus($"{fieldName}自动写入 D{registerAddress} 失败:{ex.Message}");
Log.Error(ex, "{FieldName}自动写入失败,D{RegisterAddress}={Value}", fieldName, registerAddress, value);
}
finally
@@ -2176,7 +2147,7 @@ public sealed class MainWindowViewModel : ObservableObject
UpdateTorqueCurveStatus();
}
- SetTestPageInputStatus(parameter, $"{fieldName}已自动写入并回读确认 D{registerAddress}={FormatConfigNumber(confirmedValue)}");
+ SetTestPageInputStatus($"{fieldName}已自动写入并回读确认 D{registerAddress}={FormatConfigNumber(confirmedValue)}");
Log.Information("{FieldName}自动写入并回读成功,D{RegisterAddress}={Value}", fieldName, registerAddress, confirmedValue);
if (parameter is TestPageInputParameter.AxialPullForceSetpoint or TestPageInputParameter.AxialJumpForceSetpoint)
@@ -2235,24 +2206,17 @@ public sealed class MainWindowViewModel : ObservableObject
}
}
- private void SetTestPageInputStatus(TestPageInputParameter parameter, string message)
+ private void SetTestPageInputStatus(string message)
{
ParameterStatusText = message;
- if (parameter == TestPageInputParameter.NoLoadSpeedSetting)
- {
- NoLoadSpeedStatusText = $"状态:{message}";
- }
- else
- {
- StatusText = message;
- }
+ StatusText = message;
}
private async Task SaveNoLoadSpeedSettingAsync()
{
if (!TryReadNonNegative(NoLoadSpeedSettingInput, "空载转速设置", out double setting, out string error))
{
- NoLoadSpeedStatusText = $"状态:{error}";
+ StatusText = error;
Log.Warning("空载转速设置被阻止:{ValidationError}", error);
return;
}
@@ -2268,20 +2232,18 @@ public sealed class MainWindowViewModel : ObservableObject
{
if (_activeNoLoadSpeedRun is not null)
{
- NoLoadSpeedStatusText = "状态:空载转速正在记录,请稍候";
+ StatusText = "空载转速正在记录,请稍候。";
return;
}
if (!await PulsePlcAsync(NoLoadSpeedRecordCoil, "记录空载转速"))
{
- NoLoadSpeedStatusText = "状态:记录指令发送失败";
return;
}
PrepareSessionForNewRun();
_activeNoLoadSpeedRun = CreateTestRun("空载转速测试");
_noLoadCaptureDeadline = DateTime.Now.Add(NoLoadCaptureDuration);
- NoLoadSpeedStatusText = $"状态:已触发 M{NoLoadSpeedRecordCoil},正在完整记录 PLC 更新";
UpdateDataCaptureStatus();
}
@@ -2289,7 +2251,7 @@ public sealed class MainWindowViewModel : ObservableObject
{
if (_isSpeedTorqueRunning)
{
- UpdateSpeedTorqueDisplay("状态:测试已在运行");
+ UpdateSpeedTorqueDisplay();
return;
}
@@ -2300,7 +2262,7 @@ public sealed class MainWindowViewModel : ObservableObject
if (!TryGetRealtimeSpeed(out _) || !TryGetRealtimeTorque(out _))
{
- UpdateSpeedTorqueDisplay("状态:读数无效");
+ UpdateSpeedTorqueDisplay();
return;
}
@@ -2315,7 +2277,7 @@ public sealed class MainWindowViewModel : ObservableObject
ClearTorqueSamples();
AppendTorqueSample(GetScaledTorque(), _speedTorqueStartedAt.Value);
_maxSpeedTorqueDisplacement = Math.Max(_maxSpeedTorqueDisplacement, Math.Abs(_speedTorqueDisplacement));
- UpdateSpeedTorqueDisplay("状态:测试中");
+ UpdateSpeedTorqueDisplay();
Log.Information("转速/扭矩测试已启动,起始转速 {Speed},起始扭矩 {Torque},起始位移 {Displacement}", _realtimeSpeed, GetScaledTorque(), _speedTorqueDisplacement);
await AutoStopIfSpeedTorqueProtectionReachedAsync();
}
@@ -2334,7 +2296,7 @@ public sealed class MainWindowViewModel : ObservableObject
{
_isSpeedTorqueResetting = true;
SpeedTorqueResetButtonText = "复位中";
- UpdateSpeedTorqueDisplay("状态:复位中");
+ UpdateSpeedTorqueDisplay();
try
{
@@ -2349,7 +2311,7 @@ public sealed class MainWindowViewModel : ObservableObject
"转速/扭矩复位",
UpdateSpeedTorqueResetState))
{
- UpdateSpeedTorqueDisplay("状态:复位完成未确认");
+ UpdateSpeedTorqueDisplay();
return;
}
@@ -2367,7 +2329,7 @@ public sealed class MainWindowViewModel : ObservableObject
_speedTorqueStartedAt = null;
_hasShownSpeedTorqueEndWarnings = false;
ClearTorqueSamples();
- UpdateSpeedTorqueDisplay("状态:已复位");
+ UpdateSpeedTorqueDisplay();
Log.Information("转速/扭矩复位完成,零点 {ZeroPosition}", _speedTorqueZero);
}
finally
@@ -2384,7 +2346,7 @@ public sealed class MainWindowViewModel : ObservableObject
return;
}
- await MoveAxialDisplacementAsync("状态:前进");
+ await MoveAxialDisplacementAsync();
}
private async Task BackwardDisplacementAsync()
@@ -2394,14 +2356,14 @@ public sealed class MainWindowViewModel : ObservableObject
return;
}
- await MoveAxialDisplacementAsync("状态:后退");
+ await MoveAxialDisplacementAsync();
}
private async Task StartDisplacementAsync()
{
if (_isDisplacementRunning)
{
- UpdateDisplacementDisplay("状态:测试已在运行");
+ UpdateDisplacementDisplay();
return;
}
@@ -2412,7 +2374,7 @@ public sealed class MainWindowViewModel : ObservableObject
if (!TryGetDialValue(out _) || !TryGetAxialForceValue(out _))
{
- UpdateDisplacementDisplay("状态:读数无效");
+ UpdateDisplacementDisplay();
return;
}
@@ -2422,7 +2384,7 @@ public sealed class MainWindowViewModel : ObservableObject
_finalDisplacement = null;
_finalAxialForce = null;
_maxDisplacement = Math.Abs(_relativeDisplacement);
- UpdateDisplacementDisplay("状态:测试中");
+ UpdateDisplacementDisplay();
Log.Information("轴向测试已启动,起始位移 {Displacement},起始轴向力 {AxialForce}", _relativeDisplacement, GetScaledAxialForce());
await AutoStopIfSetpointReachedAsync();
}
@@ -2441,7 +2403,7 @@ public sealed class MainWindowViewModel : ObservableObject
{
_isDisplacementResetting = true;
DisplacementResetButtonText = "复位中";
- UpdateDisplacementDisplay("状态:复位中");
+ UpdateDisplacementDisplay();
try
{
@@ -2456,7 +2418,7 @@ public sealed class MainWindowViewModel : ObservableObject
"轴向复位",
UpdateAxialResetState))
{
- UpdateDisplacementDisplay("状态:复位完成未确认");
+ UpdateDisplacementDisplay();
return;
}
@@ -2464,7 +2426,7 @@ public sealed class MainWindowViewModel : ObservableObject
PersistCurrentPayloadSnapshot("轴向复位前");
if (!TryGetDialValue(out double currentDial))
{
- UpdateDisplacementDisplay("状态:读数无效");
+ UpdateDisplacementDisplay();
return;
}
@@ -2475,7 +2437,7 @@ public sealed class MainWindowViewModel : ObservableObject
_finalAxialForce = null;
await UpdateAxialForceFromInputAsync();
_isDisplacementRunning = false;
- UpdateDisplacementDisplay("状态:已复位");
+ UpdateDisplacementDisplay();
Log.Information("轴向复位完成,千分表零点 {DialZero}", _dialZero);
}
finally
@@ -2547,7 +2509,7 @@ public sealed class MainWindowViewModel : ObservableObject
return false;
}
- await MoveAxialDisplacementAsync($"状态:{actionName.Replace("轴向", string.Empty)}");
+ await MoveAxialDisplacementAsync();
return true;
}
@@ -2558,7 +2520,7 @@ public sealed class MainWindowViewModel : ObservableObject
return false;
}
- await MoveSpeedTorqueDisplacementAsync($"状态:{actionName.Replace("转速/扭矩", string.Empty)}");
+ await MoveSpeedTorqueDisplacementAsync();
return true;
}
@@ -2578,11 +2540,11 @@ public sealed class MainWindowViewModel : ObservableObject
}
}
- private async Task MoveSpeedTorqueDisplacementAsync(string status)
+ private async Task MoveSpeedTorqueDisplacementAsync()
{
if (_parameterConfig.SpeedTorqueManualDisplacement <= 0)
{
- UpdateSpeedTorqueDisplay("状态:手动位移为 0");
+ UpdateSpeedTorqueDisplay();
return;
}
@@ -2592,15 +2554,15 @@ public sealed class MainWindowViewModel : ObservableObject
_finalSpeedTorqueDisplacement = null;
}
- UpdateSpeedTorqueDisplay(_isSpeedTorqueRunning ? "状态:测试中" : status);
+ UpdateSpeedTorqueDisplay();
await AutoStopIfSpeedTorqueProtectionReachedAsync();
}
- private async Task MoveAxialDisplacementAsync(string status)
+ private async Task MoveAxialDisplacementAsync()
{
if (_parameterConfig.AxialManualDisplacement <= 0)
{
- UpdateDisplacementDisplay("状态:手动位移为 0");
+ UpdateDisplacementDisplay();
return;
}
@@ -2611,7 +2573,7 @@ public sealed class MainWindowViewModel : ObservableObject
_finalAxialForce = null;
}
- UpdateDisplacementDisplay(_isDisplacementRunning ? "状态:测试中" : status);
+ UpdateDisplacementDisplay();
await AutoStopIfSetpointReachedAsync();
}
@@ -2623,7 +2585,7 @@ public sealed class MainWindowViewModel : ObservableObject
}
_axialForce = force;
- UpdateDisplacementDisplay(_isDisplacementRunning ? "状态:测试中" : _finalDisplacement.HasValue ? "状态:已停止" : "状态:待启动");
+ UpdateDisplacementDisplay();
await AutoStopIfSetpointReachedAsync();
}
@@ -2677,7 +2639,7 @@ public sealed class MainWindowViewModel : ObservableObject
{
if (!_isDisplacementRunning && _finalDisplacement.HasValue)
{
- UpdateDisplacementDisplay(status);
+ UpdateDisplacementDisplay();
return;
}
@@ -2686,7 +2648,7 @@ public sealed class MainWindowViewModel : ObservableObject
_finalAxialForce = GetScaledAxialForce();
FinalizeDisplacementRun(status);
PersistCurrentPayloadSnapshot("轴向测试停止");
- UpdateDisplacementDisplay(status);
+ UpdateDisplacementDisplay();
Log.Information("轴向测试停止:{Status},最终位移 {FinalDisplacement},最终轴向力 {FinalAxialForce}", status, _finalDisplacement, _finalAxialForce);
}
@@ -2715,7 +2677,7 @@ public sealed class MainWindowViewModel : ObservableObject
}
_realtimeSpeed = speed;
- UpdateSpeedTorqueDisplay(_isSpeedTorqueRunning ? "状态:测试中" : _finalSpeed.HasValue ? "状态:已停止" : "状态:待启动");
+ UpdateSpeedTorqueDisplay();
}
private async Task UpdateRealtimeTorqueFromInputAsync()
@@ -2726,7 +2688,7 @@ public sealed class MainWindowViewModel : ObservableObject
}
_realtimeTorque = torque;
- UpdateSpeedTorqueDisplay(_isSpeedTorqueRunning ? "状态:测试中" : _finalTorque.HasValue ? "状态:已停止" : "状态:待启动");
+ UpdateSpeedTorqueDisplay();
await AutoStopIfSpeedTorqueProtectionReachedAsync();
}
@@ -2772,7 +2734,7 @@ public sealed class MainWindowViewModel : ObservableObject
{
if (!TryGetRealtimeSpeed(out double speed) || !TryGetRealtimeTorque(out double torque))
{
- UpdateSpeedTorqueDisplay("状态:读数无效");
+ UpdateSpeedTorqueDisplay();
return;
}
@@ -2784,7 +2746,7 @@ public sealed class MainWindowViewModel : ObservableObject
_finalSpeedTorqueDisplacement = _speedTorqueDisplacement;
FinalizeSpeedTorqueRun(status);
PersistCurrentPayloadSnapshot("转速/扭矩测试停止");
- UpdateSpeedTorqueDisplay(status);
+ UpdateSpeedTorqueDisplay();
Log.Information("转速/扭矩测试停止:{Status},最终位移 {FinalDisplacement},最终转速 {FinalSpeed},最终扭矩 {FinalTorque}", status, _finalSpeedTorqueDisplacement, _finalSpeed, _finalTorque);
await ShowSpeedTorqueEndWarningsAsync();
}
@@ -2867,60 +2829,20 @@ public sealed class MainWindowViewModel : ObservableObject
private void UpdateAxialResetState(bool enabled, bool done)
{
- _isAxialResetEnabled = enabled;
- _isAxialResetDone = done;
DisplacementResetButtonText = _isDisplacementResetting || enabled ? "复位中" : "复位";
}
private void UpdateSpeedTorqueResetState(bool enabled, bool done)
{
- _isSpeedTorqueResetEnabled = enabled;
- _isSpeedTorqueResetDone = done;
SpeedTorqueResetButtonText = _isSpeedTorqueResetting || enabled ? "复位中" : "复位";
}
- private string ResolveDisplacementStatus(string fallback)
- {
- if (_isDisplacementResetting || _isAxialResetEnabled)
- {
- return "状态:复位中";
- }
-
- if (!_isDisplacementRunning && _isAxialResetDone && IsResetOrIdleStatus(fallback))
- {
- return "状态:已复位";
- }
-
- return fallback;
- }
-
- private string ResolveSpeedTorqueStatus(string fallback)
- {
- if (_isSpeedTorqueResetting || _isSpeedTorqueResetEnabled)
- {
- return "状态:复位中";
- }
-
- if (!_isSpeedTorqueRunning && _isSpeedTorqueResetDone && IsResetOrIdleStatus(fallback))
- {
- return "状态:已复位";
- }
-
- return fallback;
- }
-
- private static bool IsResetOrIdleStatus(string status)
- {
- return status.Contains("复位", StringComparison.Ordinal)
- || status.Contains("待启动", StringComparison.Ordinal);
- }
-
private static bool ReadCoilValue(IReadOnlyDictionary coilValues, ushort address)
{
return coilValues.TryGetValue(address, out bool value) && value;
}
- private void UpdateDisplacementDisplay(string status)
+ private void UpdateDisplacementDisplay()
{
RelativeDisplacementText = $"{FormatDisplacement(_relativeDisplacement)} mm";
AxialAxisPositionText = $"{FormatDisplacement(_axialAxisPosition)} mm";
@@ -2930,10 +2852,9 @@ public sealed class MainWindowViewModel : ObservableObject
FinalDisplacementText = _finalDisplacement.HasValue ? $"{FormatDisplacement(_finalDisplacement.Value)} mm" : "--";
AxialForceText = $"{FormatForce(GetScaledAxialForce())} N";
FinalAxialForceText = _finalAxialForce.HasValue ? $"{FormatForce(_finalAxialForce.Value)} N" : "--";
- DisplacementStatusText = status;
}
- private void UpdateSpeedTorqueDisplay(string status)
+ private void UpdateSpeedTorqueDisplay()
{
RealtimeSpeedText = $"{FormatSpeed(_realtimeSpeed)} r/min";
RealtimeTorqueText = $"{FormatTorque(GetScaledTorque())} {TorqueUnit}";
@@ -2946,7 +2867,6 @@ public sealed class MainWindowViewModel : ObservableObject
SpeedTorquePeakTorqueText = $"{FormatTorque(_speedTorquePeakTorque)} {TorqueUnit}";
SpeedTorqueMaxDisplacementText = $"{FormatDisplacement(_maxSpeedTorqueDisplacement)} mm";
SpeedTorqueFinalDisplacementText = _finalSpeedTorqueDisplacement.HasValue ? $"{FormatDisplacement(_finalSpeedTorqueDisplacement.Value)} mm" : "--";
- SpeedTorqueStatusText = status;
UpdateTorqueCurveStatus();
}
@@ -3260,7 +3180,6 @@ public sealed class MainWindowViewModel : ObservableObject
_completedRuns.Add(_activeNoLoadSpeedRun);
_activeNoLoadSpeedRun = null;
_noLoadCaptureDeadline = null;
- NoLoadSpeedStatusText = "状态:空载转速完整记录已保存";
PersistCurrentPayloadSnapshot("空载转速记录完成");
UpdateDataCaptureStatus();
}