更新
This commit is contained in:
@@ -635,18 +635,63 @@ namespace COFTester.ViewModels
|
||||
OnPropertyChanged(nameof(IsConnected));
|
||||
OnPropertyChanged(nameof(ConnectionButtonText));
|
||||
|
||||
// 连接成功后立即检查M31状态
|
||||
// 连接成功后立即检查M31状态并读取参数
|
||||
if (_daqService is ModbusServiceBase modbusService)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 读取M31状态
|
||||
_m31Status = await modbusService.ReadTestStatusAsync();
|
||||
System.Diagnostics.Debug.WriteLine($"[ViewModel] 连接后M31状态: {(_m31Status ? "1 (测试中)" : "0 (停止)")}");
|
||||
UpdateCanStartTest();
|
||||
|
||||
// 从寄存器读取参数并更新 Parameters
|
||||
System.Diagnostics.Debug.WriteLine("[ViewModel] 正在从寄存器读取参数...");
|
||||
var deviceParams = await modbusService.ReadManualControlParametersAsync();
|
||||
|
||||
if (deviceParams != null)
|
||||
{
|
||||
// 更新基本测试参数
|
||||
Parameters.SledMass = deviceParams.SledMass;
|
||||
Parameters.TestSpeed = deviceParams.TestSpeed;
|
||||
Parameters.TestDuration = deviceParams.TestDuration;
|
||||
Parameters.TestStroke = deviceParams.TestStroke;
|
||||
Parameters.SamplingRate = deviceParams.SamplingRate;
|
||||
|
||||
// 更新手动控制参数
|
||||
Parameters.HorizontalManualSpeed = deviceParams.HorizontalManualSpeed;
|
||||
Parameters.HorizontalManualDisplacement = deviceParams.HorizontalManualDisplacement;
|
||||
Parameters.VerticalManualSpeed = deviceParams.VerticalManualSpeed;
|
||||
Parameters.VerticalManualDisplacement = deviceParams.VerticalManualDisplacement;
|
||||
Parameters.VerticalLimit = deviceParams.VerticalLimit;
|
||||
Parameters.HorizontalLimit = deviceParams.HorizontalLimit;
|
||||
Parameters.ForceCoefficient = deviceParams.ForceCoefficient;
|
||||
Parameters.ForceProtection = deviceParams.ForceProtection;
|
||||
|
||||
// 更新基本测试参数(新增)- SettingsPage 显示用
|
||||
Parameters.HorizontalTestSpeed = deviceParams.HorizontalTestSpeed;
|
||||
Parameters.HorizontalTestDisplacement = deviceParams.HorizontalTestDisplacement;
|
||||
Parameters.VerticalTestSpeed = deviceParams.VerticalTestSpeed;
|
||||
Parameters.VerticalTestDisplacement = deviceParams.VerticalTestDisplacement;
|
||||
|
||||
// 通知 UI 更新
|
||||
OnPropertyChanged(nameof(Parameters));
|
||||
|
||||
System.Diagnostics.Debug.WriteLine("[ViewModel] 参数读取成功并已更新到 UI");
|
||||
System.Diagnostics.Debug.WriteLine($" 水平测试速度: {deviceParams.HorizontalTestSpeed} mm/min");
|
||||
System.Diagnostics.Debug.WriteLine($" 水平测试位移: {deviceParams.HorizontalTestDisplacement} mm");
|
||||
System.Diagnostics.Debug.WriteLine($" 升降测试速度: {deviceParams.VerticalTestSpeed} mm/min");
|
||||
System.Diagnostics.Debug.WriteLine($" 升降测试位移: {deviceParams.VerticalTestDisplacement} mm");
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine("[ViewModel] 从寄存器读取参数失败,使用默认值");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Diagnostics.Debug.WriteLine($"[ViewModel] 读取M31状态失败: {ex.Message}");
|
||||
System.Diagnostics.Debug.WriteLine($"[ViewModel] 读取设备参数失败: {ex.Message}");
|
||||
// 读取失败不影响连接,继续使用默认参数
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user