领胜LDS 键盘AOI检测项目
wells.liu
2020-07-09 2ac92737a42c2b05e88b48ff5d10d7e577982848
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)