更新1222

This commit is contained in:
GukSang.Jin
2026-06-10 12:36:26 +08:00
parent da74c0a523
commit 000957de3d

View File

@@ -1989,6 +1989,7 @@ public sealed class MainWindowViewModel : ObservableObject
await WriteChangedFloatAsync(SpeedCoefficientRegister, "转速系数", current.SpeedCoefficient, updated.SpeedCoefficient); await WriteChangedFloatAsync(SpeedCoefficientRegister, "转速系数", current.SpeedCoefficient, updated.SpeedCoefficient);
await WriteChangedFloatAsync(SpeedStopThresholdRegister, "低速停止", current.SpeedStopThreshold, updated.SpeedStopThreshold); await WriteChangedFloatAsync(SpeedStopThresholdRegister, "低速停止", current.SpeedStopThreshold, updated.SpeedStopThreshold);
await WriteChangedFloatAsync(PressureCoefficientRegister, "压力系数", current.PressureCoefficient, updated.PressureCoefficient); await WriteChangedFloatAsync(PressureCoefficientRegister, "压力系数", current.PressureCoefficient, updated.PressureCoefficient);
await WriteChangedTenthsAsync(HoldTorqueRegister, "保持扭矩设置", current.HoldTorque, updated.HoldTorque);
return changedItems; return changedItems;
@@ -2012,6 +2013,26 @@ public sealed class MainWindowViewModel : ObservableObject
Log.Information("PLC参数写入并回读确认成功参数 {FieldName}D{RegisterAddress}={Value}", fieldName, registerAddress, confirmedValue); Log.Information("PLC参数写入并回读确认成功参数 {FieldName}D{RegisterAddress}={Value}", fieldName, registerAddress, confirmedValue);
} }
async Task WriteChangedTenthsAsync(ushort registerAddress, string fieldName, double oldValue, double newValue)
{
ushort oldRaw = ScaleTenthsToPlc(oldValue, fieldName);
ushort newRaw = ScaleTenthsToPlc(newValue, fieldName);
if (oldRaw == newRaw)
{
return;
}
await _plcRegisterService.WriteUInt16Async(plcConfig, registerAddress, newRaw);
ushort confirmedRawValue = await _plcRegisterService.ReadUInt16Async(plcConfig, registerAddress);
if (confirmedRawValue != newRaw)
{
throw new InvalidOperationException($"{fieldName} D{registerAddress} 写入后回读不一致。");
}
changedItems.Add(fieldName);
Log.Information("PLC参数写入并回读确认成功参数 {FieldName}D{RegisterAddress}={Value}", fieldName, registerAddress, ScaleTenthsFromPlc(confirmedRawValue));
}
} }
private bool TryReadParameterPageConfig(out TestParameterConfig config, out string error) private bool TryReadParameterPageConfig(out TestParameterConfig config, out string error)