From e54c5a471c372e314f89c340644ddda98ab063bb Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期三, 19 八月 2020 11:04:22 +0800
Subject: [PATCH] 1. 优化gts板卡回原点操作 2. 添加数据精度配置 3. 添加HalconTool异常捕捉分类和部分非空判断

---
 src/Bro.Device.GTSCard/GTSCardDriver.cs |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index 573f480..c430886 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -894,11 +894,9 @@
                 short capture = 0;
 
                 GTSCardAPI.TTrapPrm trapPrm;
-                //鎼滅储璺濈 闃舵1
-                // 鍚姩Home鎹曡幏
-                short sRtn = GTSCardAPI.GT_SetCaptureMode((short)IConfig.CardNum, (short)movingOption.AxisIndex, GTSCardAPI.CAPTURE_HOME);
+
                 // 鍒囨崲鍒扮偣浣嶈繍鍔ㄦā寮�
-                sRtn = GTSCardAPI.GT_PrfTrap((short)IConfig.CardNum, (short)movingOption.AxisIndex);
+                short sRtn = GTSCardAPI.GT_PrfTrap((short)IConfig.CardNum, (short)movingOption.AxisIndex);
                 // 璇诲彇鐐逛綅妯″紡杩愬姩鍙傛暟
                 sRtn = GTSCardAPI.GT_GetTrapPrm((short)IConfig.CardNum, (short)movingOption.AxisIndex, out trapPrm);
                 trapPrm.acc = movingOption.VelocityPara.Acc;
@@ -912,6 +910,10 @@
                 {
                     PositionReset(movingOption.AxisIndex, 1);
                     ClearStatus(movingOption.AxisIndex, 1);
+
+                    //鎼滅储璺濈 闃舵1
+                    // 鍚姩Home鎹曡幏
+                    sRtn = GTSCardAPI.GT_SetCaptureMode((short)IConfig.CardNum, (short)movingOption.AxisIndex, GTSCardAPI.CAPTURE_HOME);
 
                     // 璁剧疆鐐逛綅妯″紡鐩爣浣嶇疆锛屽嵆鍘熺偣鎼滅储璺濈
                     sRtn = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)movingOption.AxisIndex, homeDirection ? 99999999 : -99999999);
@@ -942,8 +944,6 @@
 
                     if (isStop && capture != 1)
                     {
-                        ClearStatus((short)movingOption.AxisIndex, 1);
-
                         if (((axisStatus.AxisStatus & 0x20) != 0) || ((axisStatus.AxisStatus & 0x40) != 0))
                         {
                             //movingOption.GoHomePara.HomeDir = (short)(movingOption.GoHomePara.HomeDir == 1 ? -1 : 1);
@@ -954,7 +954,6 @@
                                 isRightLimitReached = true;
                             }
 
-
                             //璐熼檺浣�
                             if ((axisStatus.AxisStatus & 0x40) != 0 && goHomePara.IsCaptureDirPositive)
                             {
@@ -963,6 +962,8 @@
 
                             homeDirection = !homeDirection;
                         }
+
+                        ClearStatus(movingOption.AxisIndex, 1);
                     }
 
                     if (capture == 1)
@@ -970,6 +971,7 @@
                         if (!isRightLimitReached)
                         {
                             capture = 0;
+                            ClearStatus(movingOption.AxisIndex, 1);
                             //GTSCardAPI.GT_SetCaptureMode((short)IConfig.CardNum, (short)movingOption.AxisIndex, GTSCardAPI.CAPTURE_HOME);
                             continue;
                         }
@@ -977,6 +979,7 @@
                         //鍏坰top
                         MoveStop((short)movingOption.AxisIndex, 0);
                         ClearStatus((short)movingOption.AxisIndex, 1);
+
                         //宸茬粡鎹曡幏鍒癏ome鎵嶅彲浠ュ洖闆� 闃舵2
                         // 杩愬姩鍒�"鎹曡幏浣嶇疆+鍋忕Щ閲�"
                         sRtn = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)movingOption.AxisIndex, pos + goHomePara.HomeOffset);

--
Gitblit v1.8.0