diff --git a/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs b/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs index 41809b3..cba1e9a 100644 --- a/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs +++ b/CSI-H238M/CSI-H238M/Resources/LanguageResources.cs @@ -158,7 +158,10 @@ namespace COFTester.Resources // 实时位置显示 ["LiftPosition"] = "升降位置", - ["HorizontalPosition"] = "水平位置" + ["HorizontalPosition"] = "水平位置", + + // 手动控制参数标题 + ["ManualControlParameters"] = "手动控制参数" }, ["en-US"] = new Dictionary @@ -303,7 +306,10 @@ namespace COFTester.Resources // Real-time Position Display ["LiftPosition"] = "Lift Position", - ["HorizontalPosition"] = "Horizontal Position" + ["HorizontalPosition"] = "Horizontal Position", + + // Manual Control Parameters Title + ["ManualControlParameters"] = "Manual Control Parameters" } }; @@ -441,6 +447,7 @@ namespace COFTester.Resources public string DirectionLeft => GetString("DirectionLeft"); public string LiftPosition => GetString("LiftPosition"); public string HorizontalPosition => GetString("HorizontalPosition"); + public string ManualControlParameters => GetString("ManualControlParameters"); private string GetString(string key) { @@ -581,6 +588,7 @@ namespace COFTester.Resources OnPropertyChanged(nameof(DirectionLeft)); OnPropertyChanged(nameof(LiftPosition)); OnPropertyChanged(nameof(HorizontalPosition)); + OnPropertyChanged(nameof(ManualControlParameters)); } public event PropertyChangedEventHandler? PropertyChanged; diff --git a/CSI-H238M/CSI-H238M/Services/ModbusService.cs b/CSI-H238M/CSI-H238M/Services/ModbusService.cs index 0a1afa5..37dbf95 100644 --- a/CSI-H238M/CSI-H238M/Services/ModbusService.cs +++ b/CSI-H238M/CSI-H238M/Services/ModbusService.cs @@ -205,14 +205,14 @@ namespace COFTester.Services /// /// 重置傳感器,發送重置命令(2) /// - public virtual void ResetSensors() + public virtual async void ResetSensors() { try { if (_modbusMaster != null && _isConnected) { System.Diagnostics.Debug.WriteLine("[Modbus] 發送重置命令 (2)"); - WriteControlRegisterAsync((ushort)ModbusControlCommand.Reset).Wait(); + await WriteControlRegisterAsync((ushort)ModbusControlCommand.Reset); } } catch (Exception ex) @@ -224,14 +224,14 @@ namespace COFTester.Services /// /// 零點標定,向 M1300 寫入命令 1 /// - public virtual void ZeroCalibration() + public virtual async void ZeroCalibration() { try { if (_modbusMaster != null && _isConnected) { System.Diagnostics.Debug.WriteLine("[Modbus] 發送零點標定命令 (1) 到 M1300"); - WriteCalibrationRegisterAsync((ushort)ModbusCalibrationCommand.ZeroCalibration).Wait(); + await WriteCalibrationRegisterAsync((ushort)ModbusCalibrationCommand.ZeroCalibration); } } catch (Exception ex) @@ -243,14 +243,14 @@ namespace COFTester.Services /// /// 拉力校準,向 M1300 寫入命令 2 /// - public virtual void ForceCalibration() + public virtual async void ForceCalibration() { try { if (_modbusMaster != null && _isConnected) { System.Diagnostics.Debug.WriteLine("[Modbus] 發送拉力校準命令 (2) 到 M1300"); - WriteCalibrationRegisterAsync((ushort)ModbusCalibrationCommand.ForceCalibration).Wait(); + await WriteCalibrationRegisterAsync((ushort)ModbusCalibrationCommand.ForceCalibration); } } catch (Exception ex) @@ -262,14 +262,14 @@ namespace COFTester.Services /// /// 復歸,向 M1300 寫入命令 3 /// - public virtual void ReturnToOrigin() + public virtual async void ReturnToOrigin() { try { if (_modbusMaster != null && _isConnected) { System.Diagnostics.Debug.WriteLine("[Modbus] 發送復歸命令 (3) 到 M1300"); - WriteCalibrationRegisterAsync((ushort)ModbusCalibrationCommand.Return).Wait(); + await WriteCalibrationRegisterAsync((ushort)ModbusCalibrationCommand.Return); } } catch (Exception ex) @@ -283,7 +283,7 @@ namespace COFTester.Services /// /// 方向:Up, Down, Right, Left /// true=开始移动, false=停止移动 - public virtual void DirectionControl(string direction, bool start) + public virtual async void DirectionControl(string direction, bool start) { try { @@ -302,7 +302,7 @@ namespace COFTester.Services string action = start ? "開始" : "停止"; System.Diagnostics.Debug.WriteLine($"[Modbus] 方向控制: {direction} {action} - 寫入寄存器 M{(ushort)register} = {value}"); - WriteDirectionRegisterAsync((ushort)register, value).Wait(); + await WriteDirectionRegisterAsync((ushort)register, value); } } catch (Exception ex) @@ -315,7 +315,7 @@ namespace COFTester.Services /// 开始指定方向的测试 - 写入1到对应寄存器 /// M0=上升, M1=下降, M2=向右, M3=向左 /// - public virtual void StartDirectionTest(string direction) + public virtual async void StartDirectionTest(string direction) { try { @@ -331,7 +331,7 @@ namespace COFTester.Services }; System.Diagnostics.Debug.WriteLine($"[Modbus] 开始测试: {direction} - 寫入寄存器 M{(ushort)register} = 1"); - WriteDirectionRegisterAsync((ushort)register, 1).Wait(); + await WriteDirectionRegisterAsync((ushort)register, 1); } } catch (Exception ex) @@ -343,7 +343,7 @@ namespace COFTester.Services /// /// 停止指定方向的测试 - 写入0到对应寄存器 /// - public virtual void StopDirectionTest(string direction) + public virtual async void StopDirectionTest(string direction) { try { @@ -359,7 +359,7 @@ namespace COFTester.Services }; System.Diagnostics.Debug.WriteLine($"[Modbus] 停止测试: {direction} - 寫入寄存器 M{(ushort)register} = 0"); - WriteDirectionRegisterAsync((ushort)register, 0).Wait(); + await WriteDirectionRegisterAsync((ushort)register, 0); } } catch (Exception ex)