领胜LDS 键盘AOI检测项目
src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
@@ -22,7 +22,8 @@
        public event Action<DateTime, IDevice, IWarningSet> OnMonitorAlarm;
        public event Action<int, string> OnAxisAlarmRaised;
        public event Action<int, int, int> OnAxisStatusChanged;
        public event Action<int, int> OnAxisPositionChanged;
        public void AxisAlarmRaised(int axisIndex, string msg)
        {
            OnAxisAlarmRaised?.Invoke(axisIndex, msg);
@@ -33,6 +34,27 @@
            OnAxisStatusChanged?.Invoke(axisIndex, preStatus, curStatus);
        }
        public void AxisPositionChanged(int axisIndex, int currentPosition)
        {
            OnAxisPositionChanged?.Invoke(axisIndex, currentPosition);
        }
        protected override void Start()
        {
            AxisStatusList = IConfig.AxisSettings.Where(a => a.IsAxisEnabled).ToList().ConvertAll(a =>
            {
                AxisMovingStatus axisSts = new AxisMovingStatus();
                axisSts.AxisIndex = a.AxisIndex;
                axisSts.AxisName = a.AxisName;
                return axisSts;
            });
            Task.Run(() =>
            {
                Monitor();
            });
        }
        public abstract List<AxisInfo> GetCurrentAxisInfo(params string[] axisName);
        public abstract void Monitor();
        public abstract ResponseMessage MoveToPoint(IOperationConfig opConfig);
@@ -124,7 +146,7 @@
        /// <summary>
        /// 恢复立即暂停
        /// </summary>
        public abstract void ResetImmediatePause();
        public abstract void ResetImmediatePause(bool isResumeMoving);
        #endregion
    }
@@ -133,7 +155,7 @@
        [Category("板卡配置")]
        [DisplayName("卡号")]
        [Description("CardNum:卡号")]
        public int CardNum { get; set; }
        public int CardNum { get; set; } = 1;
        [Category("板卡配置")]
        [DisplayName("初始配置文件路径")]
@@ -175,6 +197,10 @@
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<IODefinition>), typeof(UITypeEditor))]
        public List<IODefinition> IODefinitionCollection { get; set; } = new List<IODefinition>();
        [Category("IO配置")]
        [Description("true:输出取反 false:输出不取反")]
        public bool IsOutputReversed { get; set; } = true;
        #region IMonitorConfig
        [Category("监听设置")]
@@ -299,6 +325,14 @@
        [Editor(typeof(MovingOpsCollectionEditor), typeof(UITypeEditor))]
        public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>();
        [Category("3.运动延时")]
        [Description("操作前延时,单位ms")]
        public int DelayBefore { get; set; } = 0;
        [Category("3.运动延时")]
        [Description("操作后延时,单位ms")]
        public int DelayAfter { get; set; } = 0;
        public string MotionCardId = "";
        //[Category("板卡运动配置")]