From 4823d6031b6081c4c25c2ada5e477a9118c549bf Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期一, 06 七月 2020 17:42:17 +0800
Subject: [PATCH] 板卡操作及运行界面

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

diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index 28e82b1..4a236b9 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -552,7 +552,7 @@
                 repeatTime = 1000;
                 do
                 {
-                    isStop = IsStop((short)IConfig.CardNum, (short)optionPara.AxisIndex);
+                    isStop = IsStop((short)optionPara.AxisIndex);
                     Thread.Sleep(50);
                     repeatTime--;
                 } while (!isStop && repeatTime > 0);
@@ -624,7 +624,7 @@
                 repeatTime = 1000;
                 do
                 {
-                    isStop = IsStop((short)IConfig.CardNum, (short)optionPara.AxisIndex);
+                    isStop = IsStop((short)optionPara.AxisIndex);
                     Thread.Sleep(50);
                     repeatTime--;
                 } while (!isStop && repeatTime > 0);
@@ -667,7 +667,7 @@
                 int repeatTime = 100;
                 do
                 {
-                    isStop = IsStop((short)IConfig.CardNum, (short)axisNum);
+                    isStop = IsStop((short)axisNum);
                     Thread.Sleep(10);
                     repeatTime--;
                 } while (!isStop && repeatTime > 0);
@@ -799,18 +799,29 @@
         /// <param name="cardNum">鏉垮崱鍙�</param>
         /// <param name="axisNum">杞村彿</param>
         /// <returns></returns>
-        public bool IsStop(short cardNum, short axisNum)
+        public bool IsStop(short axisNum)
+        {
+            int sts = GetAxisStatus(axisNum);
+            if ((sts & 0x400) == 0) return true;//鍋滄杩斿洖true
+            else return false;              //杩愯涓繑鍥瀎alse
+        }
+
+        /// <summary>
+        /// 璇诲彇杞寸姸鎬�
+        /// </summary>
+        /// <param name="cardNum">鏉垮崱鍙�</param>
+        /// <param name="axisNum">杞村彿</param>
+        /// <returns></returns>
+        public int GetAxisStatus(int axisNum)
         {
             lock (moveLock)
             {
                 int sts = 0;
                 uint pclock = 0;
-                GTSCardAPI.GT_GetSts(cardNum, axisNum, out sts, 1, out pclock);
-                if ((sts & 0x400) == 0) return true;//鍋滄杩斿洖true
-                else return false;              //杩愯涓繑鍥瀎alse
+                GTSCardAPI.GT_GetSts((short)IConfig.CardNum, (short)axisNum, out sts, 1, out pclock);
+                return sts;
             }
         }
-
         #endregion
 
         #region IMonitor
@@ -827,6 +838,8 @@
                 axisMovingStatus.Destination = Convert.ToInt32(GetPrfPosition(axisMovingStatus.AxisIndex));
                 axisMovingStatus.CurVelocity = GetVelocity(axisMovingStatus.AxisIndex);
                 axisMovingStatus.PrfVelocity = GetPrfVelocity(axisMovingStatus.AxisIndex);
+                axisMovingStatus.AxisStatus = GetAxisStatus(axisMovingStatus.AxisIndex);
+
                 axisMovingStatusesList.Add(axisMovingStatus);
 
             }
@@ -997,12 +1010,11 @@
         public override void ResetAlarm()
         {
             int axis_sts;
-            uint clk;
             var axisSettings = IConfig.AxisSettings.FindAll(u => u.IsAxisEnabled);
             GTSCardAPI.GT_ClrSts((short)IConfig.CardNum, 1, (short)axisSettings.Count);
             foreach (var axisSetting in axisSettings)
             {
-                GTSCardAPI.GT_GetSts((short)IConfig.CardNum, (short)axisSetting.AxisIndex, out axis_sts, 1, out clk);
+                axis_sts = GetAxisStatus((short)axisSetting.AxisIndex);
                 if ((axis_sts & 0x200) == 0)
                 {
                     var rst = GTSCardAPI.GT_AxisOn((short)IConfig.CardNum, (short)axisSetting.AxisIndex);

--
Gitblit v1.8.0