领胜LDS 键盘AOI检测项目
xcd
2020-07-04 753b5add58defa5c09015308efb81bcaea0ebe91
src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
@@ -27,12 +27,14 @@
        public abstract void ResetAlarm();
        public abstract ResponseMessage Run(IOperationConfig config);
        public void ExcuteMonitorInvoke(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet)
        public virtual void ExcuteMonitorInvoke(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet)
        {
            OnMonitorInvoke?.BeginInvoke(dateTime, invokeDevice, device, monitorSet, null, null);
            OnMonitorInvoke?.BeginInvoke(dateTime, invokeDevice, device, monitorSet, OnMethodInvoked, null);
        }
        public void ExcuteMonitorAlarm(DateTime dateTime, IDevice device, IWarningSet warningSet)
        public abstract void OnMethodInvoked(IAsyncResult ar);
        public virtual void ExcuteMonitorAlarm(DateTime dateTime, IDevice device, IWarningSet warningSet)
        {
            OnMonitorAlarm?.BeginInvoke(dateTime, device, warningSet, null, null);
        }
@@ -124,7 +126,6 @@
        public List<IMonitorSet> GetAllMonitorSet()
        {
            WarningSetCollection.ForEach(m => m.Source = this.Name);
            MonitorSetCollection.ForEach(m => m.SourceDevice = this.Id);
            return MonitorSetCollection;
        }
@@ -134,12 +135,30 @@
    [Device("MotionCardBase", "板卡操作配置基类", EnumHelper.DeviceAttributeType.OperationConfig)]
    public class MotionCardOperationConfigBase : OperationConfigBase, IComplexDisplay
    {
        [Category("板卡操作")]
        [Description("板卡操作配置基类集合,依次执行")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<MotionCardOperationConfigBase>), typeof(UITypeEditor))]
        public List<MotionCardOperationSet> OperationCollection { get; set; } = new List<MotionCardOperationSet>();
        public string GetDisplayText()
        {
            return string.Join(" ", OperationCollection.Select(u => u.GetDisplayText()));
        }
    }
    public class MotionCardOperationSet : IComplexDisplay
    {
        [Category("IO操作配置")]
        [DisplayName("IO预检查定义集合")]
        [Description("IO预检查定义集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(IORefrenceItemCollectionEditor), typeof(UITypeEditor))]
        public List<IORefrenceItem> PreCheckIOCollection { get; set; } = new List<IORefrenceItem>();
        [Category("IO操作配置")]
        [Description("超时设置,单位:ms")]
        [DisplayName("IO预检查超时")]
        public int PreCheckIOTimeout { get; set; } = 0;
        [Category("IO操作配置")]
        [DisplayName("IO输出定义集合")]
@@ -152,6 +171,10 @@
        [Description("IO确认定义集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        public List<IORefrenceItem> IOConfirmCollection { get; set; } = new List<IORefrenceItem>();
        [Category("IO操作配置")]
        [Description("超时设置,单位:ms")]
        [DisplayName("IO确认超时")]
        public int IOConfirmTimeout { get; set; } = 0;
        [Category("板卡运动配置")]
        [DisplayName("运动配置集合")]
@@ -159,6 +182,10 @@
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<MovingOption>), typeof(UITypeEditor))]
        public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>();
        [Category("板卡运动配置")]
        [Description("超时设置,单位:ms")]
        [DisplayName("运动超时")]
        public int MovingTimeout { get; set; } = 0;
        public string GetDisplayText()
        {
@@ -205,15 +232,15 @@
        }
    }
    [Device("MotionCardOperationConfigCollection", "板卡操作配置基类集合", EnumHelper.DeviceAttributeType.OperationConfig)]
    public class MotionCardOperationConfigCollection : OperationConfigBase
    {
        [Category("复位操作")]
        [Description("板卡操作配置基类集合,依次执行")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<MotionCardOperationConfigBase>), typeof(UITypeEditor))]
        public List<MotionCardOperationConfigBase> MotionCardOpsCollection { get; set; } = new List<MotionCardOperationConfigBase>();
    }
    //[Device("MotionCardOperationConfigCollection", "板卡操作配置基类集合", EnumHelper.DeviceAttributeType.OperationConfig)]
    //public class MotionCardOperationConfigCollection : OperationConfigBase
    //{
    //    [Category("复位操作")]
    //    [Description("板卡操作配置基类集合,依次执行")]
    //    [TypeConverter(typeof(CollectionCountConvert))]
    //    [Editor(typeof(ComplexCollectionEditor<MotionCardOperationConfigBase>), typeof(UITypeEditor))]
    //    public List<MotionCardOperationConfigBase> MotionCardOpsCollection { get; set; } = new List<MotionCardOperationConfigBase>();
    //}
    public class IORefrenceItemCollectionEditor : CollectionEditor
    {