quanzhou
2 天以前 86f899fa91e811415614dff1a699141144bfc802
src/Bro.M141.Process/M141Config.cs
@@ -31,6 +31,12 @@
        public List<Printer> Printers { get; set; } = new List<Printer>();
        [Category("打印机配置")]
        [Description("是否打印封装码")]
        [DisplayName("是否打印封装码")]
        public bool Isprint { get; set; } = false;
        [Category("产品显示界面配置")]
        [Description("字体大小")]
@@ -58,6 +64,14 @@
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<MeasureBind>), typeof(UITypeEditor))]
        public List<MeasureBind> MeasureBindCollection { get; set; } = new List<MeasureBind>();
        [Category("点检配置")]
        [Description("点检配置集合,配置检测的工位,图片索引,相机和检测调用项关系")]
        [DisplayName("点检配置集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<MeasureBind>), typeof(UITypeEditor))]
        public List<MeasureBind> MeasureBindCollection_Check { get; set; } = new List<MeasureBind>();
@@ -104,7 +118,33 @@
            }
        }
        [Category("连续NG报警设置")]
        [Description("连续NG报警总开关。true:开启连续NG报警 false:关闭连续NG报警机制")]
        [DisplayName("连续NG报警总开关")]
        public bool IsEnableContinuousNGAlarm { get; set; } = true;
        [Category("连续NG报警设置")]
        [Description("连续NG报警地址。出现连续NG时,上位机向该地址写入1,取消时,向该地址写入0。")]
        [DisplayName("连续NG报警地址")]
        public int ContinuousNGAlarmAddress { get; set; } = 0;
        //[Category("连续NG报警设置")]
        //[Description("连续NG报警上传MES的方法地址。")]
        //[DisplayName("连续NG报警上传MES的方法地址")]
        //public string ContinuousNGAlarmMESFunc { get; set; } = "";
        [Category("连续NG报警设置")]
        [Description("连续NG报警是否需要人工复位")]
        [DisplayName("连续NG报警是否需要人工复位")]
        public bool IsOperatorReset { get; set; } = false;
        [Category("连续NG报警设置")]
        [Description("连续NG报警设置集合。设置连续NG报警的开关,类型,数量和时间阈值。添加或删除监控需要软件重启生效。")]
        [DisplayName("连续NG报警设置集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<ContinuousNGAlarm>), typeof(UITypeEditor))]
        public List<ContinuousNGAlarm> ContinuousNGAlarmColletion { get; set; } = new List<ContinuousNGAlarm>();
        [Category("位置度设置")]
        [Description("产品测量点位集合")]
@@ -203,6 +243,16 @@
        public bool ISupMES { get; set; } = false;
        [Category("MES配置")]
        [Description("是否强制MES上传成功")]
        [DisplayName("是否强制MES上传成功")]
        public bool ISokMes { get; set; } = false;
        [Category("MES配置")]
        [Description("是否上传NG数据")]
        [DisplayName("是否上传NG数据")]
        public bool ISupNG { get; set; } = true;
        [Category("MES配置")]
        [Description("接口选择,0篮具接口,1数据上传接口,-1所有接口")]
        [DisplayName("接口选择")]
        public int MESchannel { get; set; } = 0;
@@ -276,8 +326,72 @@
        public List<PlcAndBasketcode> PlcAndBasketcodes { get; set; } = new List<PlcAndBasketcode>();
        [Category("MES配置")]
        [Description("产品ID集合")]
        [DisplayName("产品ID集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<ProductionID>), typeof(UITypeEditor))]
        public List<ProductionID> Productioncode { get; set; } = new List<ProductionID>();
        [Category("MES配置")]
        [Description("条码集合")]
        [DisplayName("条码集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<MES_code>), typeof(UITypeEditor))]
        public List<MES_code> MES_codes { get; set; } = new List<MES_code>();
    }
    public class MES_code: IComplexDisplay
    {
        [Category("配置")]
        [Description("MES下发的条码")]
        [DisplayName("条码")]
        public string Printers_code { get; set; }
        public string GetDisplayText()
        {
            return $"{Printers_code}";
        }
    }
    public class ProductionID : IComplexDisplay
    {
        [Category("配置")]
        [Description("序号")]
        [DisplayName("序号")]
        public int Uptomesid { get; set; } = 0;
        [Category("配置")]
        [Description("条码")]
        [DisplayName("PID")]
        public string PID { get; set; }
        [Category("配置")]
        [Description("条码")]
        [DisplayName("SEQUENCE")]
        public string SEQUENCE { get; set; }
        [Category("配置")]
        [Description("条码")]
        [DisplayName("BasketCode")]
        public string BasketCode { get; set; }
        [Category("配置")]
        [Description("条码")]
        [DisplayName("Zword")]
        public string Zword { get; set; }
        [Category("配置")]
        [Description("条码")]
        [DisplayName("SN")]
        public string SN { get; set; }
        public string GetDisplayText()
        {
            return $"产品{PID}上传批次序号{Uptomesid}";
        }
    }
    public class WorkPositionSet : IComplexDisplay
    {
@@ -350,6 +464,7 @@
        public string plcname { get; set; } = "";
        [Category("PLC配置")]
        [DisplayName("是否启用")]
        [Description("是否启用")]
@@ -385,6 +500,12 @@
        [DisplayName("报警名称")]
        [Description("报警名称")]
        public string alarmname { get; set; } = "";
        [Category("配置")]
        [DisplayName("报警种类")]
        [Description("报警种类")]
        public string alarmtype { get; set; } = "";
        [Browsable(false)]
        [JsonIgnore]
@@ -478,12 +599,6 @@
        public string code { get; set; }
    }
    public class MeasureBind : IComplexDisplay, IHalconToolPath
    {
        [Category("索引配置")]
@@ -1062,14 +1177,10 @@
        [Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))]
        public string ImageFolder { get; set; }
        [Category("检测功能")]
        [Description("图片在批量测试过程中最终图片结果会存储较慢需要设置延时确保图片不被资源自动释放")]
        [DisplayName("图片存图延时")]
        public int SaveImageTime { get; set; } = 0;
        [Category("检测功能")]
        [Description("true:启动OK测试 false:启动NG测试")]