From 5b6ffebeeee53e375cf8f8d5c30c51f03ad1d96e Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期四, 09 七月 2020 19:12:42 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071

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

diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index 5e34794..3a167dd 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -387,7 +387,7 @@
         public override async Task<bool> SingleAxisMoving(MovingOption optionPara)
         {
             return await Task.Run(() =>
-            {               
+            {
                 axisImmediatePauseHandleDict[optionPara.AxisIndex].WaitOne();
                 bool isSuccessAndStop = false;
                 try
@@ -459,7 +459,8 @@
             {
                 throw new Exception("杞�" + axisNum + "鑾峰彇瑙勫垝浣嶇疆寮傚父锛岄敊璇爜锛�" + ret);
             }
-            position = prfpos / IConfig.AxisVelocityRatio;
+            var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
+            position = prfpos / AxisRatio;
             return position;
         }
 
@@ -479,7 +480,8 @@
                 {
                     throw new Exception("杞�" + axisNum + "鑾峰彇鐩爣浣嶇疆寮傚父锛岄敊璇爜锛�" + ret);
                 }
-                position = pPos / IConfig.AxisVelocityRatio;
+                var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
+                position = pPos / AxisRatio;
                 return position;
             }
         }
@@ -488,7 +490,7 @@
         /// 鑾峰彇瑙勫垝閫熷害
         /// </summary>
         /// <param name="axisNum">Axis number</param>
-        /// <returns></returns>
+        /// <returns>閫熷害鑴夊啿</returns>
         public double GetPrfVelocity(int axisNum)
         {
             double prfVel = 0;
@@ -498,7 +500,6 @@
             {
                 throw new Exception("杞�" + axisNum + "鑾峰彇瑙勫垝閫熷害寮傚父锛岄敊璇爜锛�" + ret);
             }
-            prfVel = prfVel / IConfig.AxisVelocityRatio;
             return prfVel;
         }
 
@@ -506,7 +507,7 @@
         /// 鑾峰彇褰撳墠閫熷害
         /// </summary>
         /// <param name="axisNum">Axis number</param>
-        /// <returns></returns>
+        /// <returns>閫熷害鑴夊啿</returns>
         public double GetVelocity(int axisNum)
         {
             double vel = 0;
@@ -515,7 +516,6 @@
             {
                 throw new Exception("杞�" + axisNum + "鑾峰彇褰撳墠閫熷害寮傚父锛岄敊璇爜锛�" + ret);
             }
-            vel = vel / IConfig.AxisVelocityRatio;
             return vel;
         }
 
@@ -600,11 +600,12 @@
                 int currentPosition = (int)GetPosition(optionPara.AxisIndex);
                 int dPosition = optionPara.Destination + currentPosition;
                 int timeout = optionPara.MovingTimeout;
+                var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == optionPara.AxisIndex) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == optionPara.AxisIndex).AxisRatio;
                 while (CurrentState == DeviceState.DSOpen)
                 {
                     //璁剧疆 杩愬姩鍙傛暟
                     isSuccessSetAxisParam = SetAxisParam(optionPara);
-                    ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition * IConfig.AxisVelocityRatio));// 璁剧疆瑙勫垝浣嶇疆
+                    ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition * AxisRatio));// 璁剧疆瑙勫垝浣嶇疆
                     ret = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (optionPara.AxisIndex - 1));//鏇存柊杩愬姩
 
                     if (ret != (short)GTSRetCode.GRCRunOK)
@@ -675,11 +676,12 @@
                 short ret = 0;
                 bool isSuccessSetAxisParam = false;
                 int timeout = optionPara.MovingTimeout;
-                while (CurrentState == DeviceState.DSOpen&&!_isPause)
+                var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == optionPara.AxisIndex) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == optionPara.AxisIndex).AxisRatio;
+                while (CurrentState == DeviceState.DSOpen && !_isPause)
                 {
                     //璁剧疆 杩愬姩鍙傛暟
                     isSuccessSetAxisParam = SetAxisParam(optionPara);
-                    ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination * IConfig.AxisVelocityRatio));// 璁剧疆瑙勫垝浣嶇疆
+                    ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination * AxisRatio));// 璁剧疆瑙勫垝浣嶇疆
                     ret = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (optionPara.AxisIndex - 1));//鏇存柊杩愬姩
 
                     if (ret != (short)GTSRetCode.GRCRunOK)

--
Gitblit v1.8.0