领胜LDS 键盘AOI检测项目
wells
2020-07-11 8dd7b24e5649edf6f73e1146c4db576f7eb3dcdb
7.11
5个文件已修改
144 ■■■■ 已修改文件
src/Bro.Common.Model/Model/MotionCardRelated.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.Device.GTSCard/GTSCardDriver.cs 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Bro.Common.Model/Model/MotionCardRelated.cs
@@ -249,7 +249,7 @@
        [DisplayName("运动轴索引")]
        [Description("AxisIndex:运动轴索引")]
        [TypeConverter(typeof(AxisIndexConvert))]
        public string AxisIndexStr { get; set; } = "0";
        public string AxisIndexStr { get; set; } = "1";
        [Browsable(false)]
        [JsonIgnore]
src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -343,8 +343,8 @@
                {
                    var task = SingleAxisMoving(movingOp);
                    taskList.Add(task);
                    task.Start();
                }
                Task.WaitAll(taskList.ToArray());
                responseMessage.Result = taskList.All(u => u.GetAwaiter().GetResult());
                if (!responseMessage.Result)
@@ -382,69 +382,70 @@
            return resultOK;
        }
        TaskFactory taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.LongRunning);
        /// <summary>
        /// 单个轴 运动(点到点 jog 回零...)
        /// </summary>
        /// <param name="optionPara">运动参数对象</param>
        public override async Task<bool> SingleAxisMoving(MovingOption optionPara)
        public override Task<bool> SingleAxisMoving(MovingOption optionPara)
        {
            return await Task.Run(() =>
            {
                axisImmediatePauseHandleDict[optionPara.AxisIndex].WaitOne();
                bool isSuccessAndStop = false;
                try
                {
                    if (IConfig.AxisSettings.FirstOrDefault(a => a.AxisIndex == optionPara.AxisIndex)?.IsAxisEnabled ?? false)
                    {
                        string _position = "";
                        string motionType = optionPara.MoveMode == EnumHelper.MotionMode.Normal ? (optionPara.IsAbsolute ? "Abs" : "Rel") : optionPara.MoveMode.ToString();
            return new Task<bool>(() =>
             {
                 axisImmediatePauseHandleDict[optionPara.AxisIndex].WaitOne();
                 bool isSuccessAndStop = false;
                 try
                 {
                     if (IConfig.AxisSettings.FirstOrDefault(a => a.AxisIndex == optionPara.AxisIndex)?.IsAxisEnabled ?? false)
                     {
                         string _position = "";
                         string motionType = optionPara.MoveMode == EnumHelper.MotionMode.Normal ? (optionPara.IsAbsolute ? "Abs" : "Rel") : optionPara.MoveMode.ToString();
                        _position = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff},{optionPara.AxisIndex},{motionType},{GetPosition(optionPara.AxisIndex)},{GetPrfPosition(optionPara.AxisIndex)},{optionPara.Destination},";
                         _position = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff},{optionPara.AxisIndex},{motionType},{GetPosition(optionPara.AxisIndex)},{GetPrfPosition(optionPara.AxisIndex)},{optionPara.Destination},";
                        switch (optionPara.MoveMode)
                        {
                            case MotionMode.Normal:
                                {
                                    if (_isResetting)
                                    {
                                        LogAsync(DateTime.Now, "复位中启动运动异常", optionPara.AxisIndex + "启动运动异常");
                                        return false;
                                    }
                         switch (optionPara.MoveMode)
                         {
                             case MotionMode.Normal:
                                 {
                                     if (_isResetting)
                                     {
                                         LogAsync(DateTime.Now, "复位中启动运动异常", optionPara.AxisIndex + "启动运动异常");
                                         return false;
                                     }
                                    if (optionPara.IsAbsolute)
                                    {
                                        isSuccessAndStop = P2PMoveAbs(optionPara);
                                    }
                                    else
                                    {
                                        isSuccessAndStop = P2PMoveRel(optionPara);
                                    }
                                     if (optionPara.IsAbsolute)
                                     {
                                         isSuccessAndStop = P2PMoveAbs(optionPara);
                                     }
                                     else
                                     {
                                         isSuccessAndStop = P2PMoveRel(optionPara);
                                     }
                                }
                                break;
                            case MotionMode.FindOri:
                                {
                                    isSuccessAndStop = GoHome(optionPara);
                                }
                                break;
                            case MotionMode.Jog:
                                {
                                    isSuccessAndStop = JogMove(optionPara);
                                }
                                break;
                        }
                        _position += $"{GetPosition(optionPara.AxisIndex)},";
                        _position += $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}";
                        LogAsync(DateTime.Now, "", _position);
                    }
                }
                catch (Exception ex)
                {
                    isSuccessAndStop = false;
                    LogAsync(DateTime.Now, $"轴{optionPara.AxisIndex}运动异常", ex.GetExceptionMessage());
                }
                return isSuccessAndStop;
            });
                                 }
                                 break;
                             case MotionMode.FindOri:
                                 {
                                     isSuccessAndStop = GoHome(optionPara);
                                 }
                                 break;
                             case MotionMode.Jog:
                                 {
                                     isSuccessAndStop = JogMove(optionPara);
                                 }
                                 break;
                         }
                         _position += $"{GetPosition(optionPara.AxisIndex)},";
                         _position += $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}";
                         LogAsync(DateTime.Now, "", _position);
                     }
                 }
                 catch (Exception ex)
                 {
                     isSuccessAndStop = false;
                     LogAsync(DateTime.Now, $"轴{optionPara.AxisIndex}运动异常", ex.GetExceptionMessage());
                 }
                 return isSuccessAndStop;
             });
        }
        /// <summary>
@@ -461,8 +462,8 @@
            {
                throw new Exception("轴" + axisNum + "获取规划位置异常,错误码:" + ret);
            }
            var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
            position = prfpos / AxisRatio;
            //var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
            position = prfpos ;
            return position;
        }
@@ -476,14 +477,14 @@
            lock (moveLock)
            {
                double position = 0;
                int pPos = 0;
                var ret = GTSCardAPI.GT_GetPos((short)IConfig.CardNum, (short)axisNum, out pPos);
                double pPos = 0;
                var ret = GTSCardAPI.GT_GetPrfPos((short)IConfig.CardNum, (short)axisNum, out pPos, 1, out uint pclock);
                if (ret != (short)GTSRetCode.GRCRunOK)
                {
                    throw new Exception("轴" + axisNum + "获取目标位置异常,错误码:" + ret);
                }
                var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
                position = pPos / AxisRatio;
                //var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
                position = pPos;
                return position;
            }
        }
@@ -607,7 +608,7 @@
                {
                    //设置 运动参数
                    isSuccessSetAxisParam = SetAxisParam(optionPara);
                    ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition * AxisRatio));// 设置规划位置
                    ret = GTSCardAPI.GT_SetPos((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)
@@ -683,7 +684,7 @@
                {
                    //设置 运动参数
                    isSuccessSetAxisParam = SetAxisParam(optionPara);
                    ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination * AxisRatio));// 设置规划位置
                    ret = GTSCardAPI.GT_SetPos((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)
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs
@@ -231,7 +231,6 @@
            this.buttonNegative.TabIndex = 6;
            this.buttonNegative.Text = "负向";
            this.buttonNegative.UseVisualStyleBackColor = true;
            this.buttonNegative.Click += new System.EventHandler(this.buttonNegative_Click);
            this.buttonNegative.MouseDown += new System.Windows.Forms.MouseEventHandler(this.buttonNegative_MouseDown);
            this.buttonNegative.MouseUp += new System.Windows.Forms.MouseEventHandler(this.buttonNegative_MouseUp);
            // 
@@ -251,7 +250,6 @@
            this.buttonPositive.TabIndex = 6;
            this.buttonPositive.Text = "正向";
            this.buttonPositive.UseVisualStyleBackColor = true;
            this.buttonPositive.Click += new System.EventHandler(this.buttonPositive_Click);
            this.buttonPositive.MouseDown += new System.Windows.Forms.MouseEventHandler(this.buttonPositive_MouseDown);
            this.buttonPositive.MouseUp += new System.Windows.Forms.MouseEventHandler(this.buttonPositive_MouseUp);
            // 
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs
@@ -76,16 +76,6 @@
            MotionCard.MoveToPoint(opConfig);
        }
        private void buttonPositive_Click(object sender, EventArgs e)
        {
        }
        private void buttonNegative_Click(object sender, EventArgs e)
        {
        }
        private void buttonStart_Click(object sender, EventArgs e)
        {
            var opConfig = new MotionOperationCollection();
src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs
@@ -45,6 +45,7 @@
            }
            MotionCardMovingOption.SetAxisSetting(MotionCard.IConfig.AxisSettings);
            propGrid.SelectedObject = MotionCardMovingOption;
        }
@@ -75,7 +76,7 @@
        private void btnStart_Click(object sender, EventArgs e)
        {
            MotionCard.SingleAxisMoving(MotionCardMovingOption).GetAwaiter().GetResult();
            MotionCard.SingleAxisMoving(MotionCardMovingOption).Start();
        }
        private void buttonSmoothStop_Click(object sender, EventArgs e)