Преглед изворни кода

修复抓取策略与串口配置等细节问题

- 将相机抓取策略由 OneByOne 改为 Upcoming,确保采集模式正确
- 优化扭力测量仪串口配置的判断与异常处理
- 修正 PLC 读取地址,支持多站点格式化
- 清空 _pressureSamples 前增加判空,防止异常
- 代码格式微调,提升可读性与健壮性
徐孝锋 пре 7 месеци
родитељ
комит
27695ca488
2 измењених фајлова са 10 додато и 10 уклоњено
  1. 2 2
      TeamAAS-VM/Core/Cameras/OptCamera.cs
  2. 8 8
      TeamAAS-VM/Core/Management.cs

+ 2 - 2
TeamAAS-VM/Core/Cameras/OptCamera.cs

@@ -436,9 +436,9 @@ namespace TeamAAS_VP.Core.Cameras
                         if (lastImageOnly)
                         {
                             //判断当前的模式是否为最新模式,如果不是则设置为最新模式
-                            if (CurrentGrabStrategy != SciCam.SciCamGrabStrategy.SciCam_GrabStrategy_OneByOne)
+                            if (CurrentGrabStrategy != SciCam.SciCamGrabStrategy.SciCam_GrabStrategy_Upcoming)
                             {
-                                CurrentGrabStrategy = SciCam.SciCamGrabStrategy.SciCam_GrabStrategy_OneByOne;
+                                CurrentGrabStrategy = SciCam.SciCamGrabStrategy.SciCam_GrabStrategy_Upcoming;
                                 nReVal = mvCameraAcq.SetGrabStrategy(CurrentGrabStrategy);
                             }
                         }

+ 8 - 8
TeamAAS-VM/Core/Management.cs

@@ -684,13 +684,13 @@ namespace TeamAAS_VP.Core
 
             var torqueConfig = _configService.GetTorqueReaderConfig();
 
-            if (torqueConfig!=null)
+            if (torqueConfig != null)
             {
                 try
-                {                    
+                {
                     var port = FileHelper.ReadJsonFile<TorqueProduceModel>(FilePath.TorqueReaderConfigurationPath);
                     if (string.IsNullOrEmpty(port.TorqueMeasureSerialPort))
-                    
+
                     {
                         client = new TouchSocket.SerialPorts.SerialPortClient();
                         client.Connecting = (client1, e) => { return EasyTask.CompletedTask; };//即将连接到端口
@@ -720,7 +720,7 @@ namespace TeamAAS_VP.Core
                     }
                     else
                     {
-                        SendTaskMessage("请设置扭力测量仪串口!" , MessageLevel.Error);
+                        SendTaskMessage("请设置扭力测量仪串口!", MessageLevel.Error);
                     }
                 }
                 catch (Exception ex)
@@ -732,7 +732,7 @@ namespace TeamAAS_VP.Core
             else
             {
                 TorqueSerialPortConfig config = new TorqueSerialPortConfig();
-                FileHelper.WriteJsonFile(config,FilePath.TorqueReaderConfigurationPath);
+                FileHelper.WriteJsonFile(config, FilePath.TorqueReaderConfigurationPath);
             }
         }
         #endregion
@@ -2065,7 +2065,7 @@ namespace TeamAAS_VP.Core
                                     }
 
                                     //读取产品结果
-                                    Int16 resultIndex = plc.ReadNode<Int16>(addressConfig.In_Result.Address);
+                                    Int16 resultIndex = plc.ReadNode<Int16>(string.Format(addressConfig.In_Result.Address, i));
 
                                     //目前只记录当前站
                                     if (i == 0)
@@ -2131,7 +2131,7 @@ namespace TeamAAS_VP.Core
                 _pressureCts?.Cancel();
                 _pressureTimeoutCts?.Cancel();
                 _pressureLinkedCts?.Dispose();
-                _pressureSamples.Clear();
+                _pressureSamples?.Clear();
 
                 _pressureCts = new CancellationTokenSource();
                 _pressureTimeoutCts = new CancellationTokenSource();
@@ -2250,7 +2250,7 @@ namespace TeamAAS_VP.Core
                     _pressureLinkedCts?.Dispose();
                     _pressureTimeoutCts?.Dispose();
                     _pressureCts?.Dispose();
-                    _pressureSamples.Clear();
+                    _pressureSamples?.Clear();
                 }
                 catch { }
             }