ソースを参照

lcd增加屏幕长度卡关

KWD 2 ヶ月 前
コミット
3c61a9674a
1 ファイル変更17 行追加0 行削除
  1. 17 0
      TeamAAS-VM/Core/Management.cs

+ 17 - 0
TeamAAS-VM/Core/Management.cs

@@ -1461,6 +1461,23 @@ namespace TeamAAS_VP.Core
                                         float distance = (float)Math.Sqrt(deltaX * deltaX + deltaY * deltaY);
 
                                         SendTaskMessage($"屏幕长度: {distance:F4}", MessageLevel.Info);
+                                        if (currentProduct.GlobalParamListCollection.Count >= 4)
+                                        {
+                                            var param = currentProduct.GlobalParamListCollection.FirstOrDefault(p => p.Number == 2);
+                                            if (param != null)//长
+                                            {
+                                                var length = Double.Parse(param.Param1);
+                                                var limtDown = Double.Parse(param.Param2);
+                                                var LimtUp = Double.Parse(param.Param3);
+                                                if (((length + limtDown) > distance) || (distance > (length + LimtUp)))
+                                                {
+                                                    SendTaskMessage($"屏幕长度超范围:长1={distance},para1={length},para2={limtDown},para3={LimtUp}", MessageLevel.Alarm);
+                                                    await plc.WriteNodeAsync(addressConfig.Out_DownCameraStatus.Address, (Int16)2);
+                                                    return;
+                                                }
+                                                SendTaskMessage($"屏幕长度防呆:长1={distance},para1={length},para2={limtDown},para3={LimtUp}", MessageLevel.Info);
+                                            }
+                                        }
                                         dis[5] = distance.ToString();
 
                                         _FixedUpCameraAngle = Common.CalculateAngleBetweenPointsDegrees(new PointF((float)visionResults[0].X, (float)visionResults[0].Y), new PointF((float)visionResults[1].X, (float)visionResults[1].Y));