diff --git a/CSI-H238M/CSI-H238M/Services/ModbusService.cs b/CSI-H238M/CSI-H238M/Services/ModbusService.cs index 235ddac..affa18d 100644 --- a/CSI-H238M/CSI-H238M/Services/ModbusService.cs +++ b/CSI-H238M/CSI-H238M/Services/ModbusService.cs @@ -1410,6 +1410,27 @@ namespace COFTester.Services var forceProtRegs = await _modbusMaster.ReadHoldingRegistersAsync( _config.SlaveId, _config.ForceProtectionRegister, 2); parameters.ForceProtection = ConvertRegistersToFloat(forceProtRegs, 0); + + // === 讀取基本測試參數(新增)=== + // D370 水平測試速度 + var hTestSpeedRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.HorizontalTestSpeedRegister, 2); + parameters.HorizontalTestSpeed = ConvertRegistersToFloat(hTestSpeedRegs, 0); + + // D380 水平測試位移 + var hTestDispRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.HorizontalTestDisplacementRegister, 2); + parameters.HorizontalTestDisplacement = ConvertRegistersToFloat(hTestDispRegs, 0); + + // D330 升降測試速度 + var vTestSpeedRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.VerticalTestSpeedRegister, 2); + parameters.VerticalTestSpeed = ConvertRegistersToFloat(vTestSpeedRegs, 0); + + // D340 升降測試位移 + var vTestDispRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.VerticalTestDisplacementRegister, 2); + parameters.VerticalTestDisplacement = ConvertRegistersToFloat(vTestDispRegs, 0); System.Diagnostics.Debug.WriteLine($"[ModbusTCP] 所有參數讀取完成:"); System.Diagnostics.Debug.WriteLine($" === 基本測試參數 ==="); @@ -1427,6 +1448,11 @@ namespace COFTester.Services System.Diagnostics.Debug.WriteLine($" 水平極限: {parameters.HorizontalLimit} mm"); System.Diagnostics.Debug.WriteLine($" 拉力系數: {parameters.ForceCoefficient} N/V"); System.Diagnostics.Debug.WriteLine($" 拉力保護: {parameters.ForceProtection} N"); + System.Diagnostics.Debug.WriteLine($" === 基本測試參數(新增)==="); + System.Diagnostics.Debug.WriteLine($" 水平測試速度: {parameters.HorizontalTestSpeed} mm/min"); + System.Diagnostics.Debug.WriteLine($" 水平測試位移: {parameters.HorizontalTestDisplacement} mm"); + System.Diagnostics.Debug.WriteLine($" 升降測試速度: {parameters.VerticalTestSpeed} mm/min"); + System.Diagnostics.Debug.WriteLine($" 升降測試位移: {parameters.VerticalTestDisplacement} mm"); return parameters; } @@ -1931,8 +1957,34 @@ namespace COFTester.Services var forceProtRegs = await _modbusMaster.ReadHoldingRegistersAsync( _config.SlaveId, _config.ForceProtectionRegister, 2); parameters.ForceProtection = ConvertRegistersToFloat(forceProtRegs, 0); + + // === 讀取基本測試參數(新增)=== + // D370 水平測試速度 + var hTestSpeedRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.HorizontalTestSpeedRegister, 2); + parameters.HorizontalTestSpeed = ConvertRegistersToFloat(hTestSpeedRegs, 0); + + // D380 水平測試位移 + var hTestDispRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.HorizontalTestDisplacementRegister, 2); + parameters.HorizontalTestDisplacement = ConvertRegistersToFloat(hTestDispRegs, 0); + + // D330 升降測試速度 + var vTestSpeedRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.VerticalTestSpeedRegister, 2); + parameters.VerticalTestSpeed = ConvertRegistersToFloat(vTestSpeedRegs, 0); + + // D340 升降測試位移 + var vTestDispRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.VerticalTestDisplacementRegister, 2); + parameters.VerticalTestDisplacement = ConvertRegistersToFloat(vTestDispRegs, 0); System.Diagnostics.Debug.WriteLine($"[ModbusRTU] 所有參數讀取完成"); + System.Diagnostics.Debug.WriteLine($" === 基本測試參數(新增)==="); + System.Diagnostics.Debug.WriteLine($" 水平測試速度: {parameters.HorizontalTestSpeed} mm/min"); + System.Diagnostics.Debug.WriteLine($" 水平測試位移: {parameters.HorizontalTestDisplacement} mm"); + System.Diagnostics.Debug.WriteLine($" 升降測試速度: {parameters.VerticalTestSpeed} mm/min"); + System.Diagnostics.Debug.WriteLine($" 升降測試位移: {parameters.VerticalTestDisplacement} mm"); return parameters; } @@ -2416,8 +2468,34 @@ namespace COFTester.Services var forceProtRegs = await _modbusMaster.ReadHoldingRegistersAsync( _config.SlaveId, _config.ForceProtectionRegister, 2); parameters.ForceProtection = ConvertRegistersToFloat(forceProtRegs, 0); + + // === 讀取基本測試參數(新增)=== + // D370 水平測試速度 + var hTestSpeedRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.HorizontalTestSpeedRegister, 2); + parameters.HorizontalTestSpeed = ConvertRegistersToFloat(hTestSpeedRegs, 0); + + // D380 水平測試位移 + var hTestDispRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.HorizontalTestDisplacementRegister, 2); + parameters.HorizontalTestDisplacement = ConvertRegistersToFloat(hTestDispRegs, 0); + + // D330 升降測試速度 + var vTestSpeedRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.VerticalTestSpeedRegister, 2); + parameters.VerticalTestSpeed = ConvertRegistersToFloat(vTestSpeedRegs, 0); + + // D340 升降測試位移 + var vTestDispRegs = await _modbusMaster.ReadHoldingRegistersAsync( + _config.SlaveId, _config.VerticalTestDisplacementRegister, 2); + parameters.VerticalTestDisplacement = ConvertRegistersToFloat(vTestDispRegs, 0); System.Diagnostics.Debug.WriteLine($"[ModbusASCII] 所有參數讀取完成"); + System.Diagnostics.Debug.WriteLine($" === 基本測試參數(新增)==="); + System.Diagnostics.Debug.WriteLine($" 水平測試速度: {parameters.HorizontalTestSpeed} mm/min"); + System.Diagnostics.Debug.WriteLine($" 水平測試位移: {parameters.HorizontalTestDisplacement} mm"); + System.Diagnostics.Debug.WriteLine($" 升降測試速度: {parameters.VerticalTestSpeed} mm/min"); + System.Diagnostics.Debug.WriteLine($" 升降測試位移: {parameters.VerticalTestDisplacement} mm"); return parameters; } diff --git a/CSI-H238M/CSI-H238M/ViewModels/ConfigViewModel.cs b/CSI-H238M/CSI-H238M/ViewModels/ConfigViewModel.cs index 8219496..5439996 100644 --- a/CSI-H238M/CSI-H238M/ViewModels/ConfigViewModel.cs +++ b/CSI-H238M/CSI-H238M/ViewModels/ConfigViewModel.cs @@ -100,6 +100,12 @@ namespace COFTester.ViewModels ConfigParams.ForceCoefficient = deviceParams.ForceCoefficient; ConfigParams.ForceProtection = deviceParams.ForceProtection; + // 更新基本測試參數(新增) + ConfigParams.HorizontalTestSpeed = deviceParams.HorizontalTestSpeed; + ConfigParams.HorizontalTestDisplacement = deviceParams.HorizontalTestDisplacement; + ConfigParams.VerticalTestSpeed = deviceParams.VerticalTestSpeed; + ConfigParams.VerticalTestDisplacement = deviceParams.VerticalTestDisplacement; + // 通知 UI 更新 OnPropertyChanged(nameof(ConfigParams)); @@ -119,6 +125,11 @@ namespace COFTester.ViewModels System.Diagnostics.Debug.WriteLine($" 水平極限: {deviceParams.HorizontalLimit} mm"); System.Diagnostics.Debug.WriteLine($" 拉力系數: {deviceParams.ForceCoefficient} N/V"); System.Diagnostics.Debug.WriteLine($" 拉力保護: {deviceParams.ForceProtection} N"); + System.Diagnostics.Debug.WriteLine($" === 基本測試參數(新增)==="); + 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 {