src/Bro.M141.Process/M141Config.cs
@@ -6,6 +6,7 @@
using Bro.Common.Model;
using Bro.M135.Common;
using Bro.Process;
using MathNet.Numerics.Distributions;
using Newtonsoft.Json;
using System.ComponentModel;
using System.Drawing.Design;
@@ -13,23 +14,21 @@
using System.Drawing.Printing;
using System.Reflection;
using System.Windows.Forms.Design;
using Windows.Services.Maps;
using static Bro.Common.Helper.EnumHelper;
namespace Bro.M141.Process
{
    public class M141Config : ProcessConfigBase
    {
        [Category("打印机配置")]
        [Description("打印机配置集合")]
        [DisplayName("打印机配置集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<Printer>), typeof(UITypeEditor))]
        public List<Printer> Printers { get; set; } = new List<Printer>();
@@ -74,6 +73,37 @@
        [DisplayName("异常指示标准")]
        [TypeConverter(typeof(SpecCodeSelectorConverter))]
        public string CheckErrorSpecCode { get; set; } = "";
        [Category("特定缺陷配置")]
        [Description("S3和S5共同判断缺陷")]
        [DisplayName("缺陷名称")]
        [TypeConverter(typeof(GlobalDefectNameConverter))]
        public string defectname { get; set; } = "";
        private class GlobalDefectNameConverter : StringConverter
        {
            public override bool GetStandardValuesExclusive(ITypeDescriptorContext? context)
            {
                return false;
            }
            public override bool GetStandardValuesSupported(ITypeDescriptorContext? context)
            {
                return true;
            }
            public override StandardValuesCollection? GetStandardValues(ITypeDescriptorContext? context)
            {
                using (var scope = GlobalVar.Container.BeginLifetimeScope())
                {
                    var config = scope.Resolve<IProcessConfig>();
                    return new StandardValuesCollection((config as IDefectSwitcher).DefectSwitchCollection.Select(u => u.DefectName).ToList());
                }
            }
        }
        [Category("位置度设置")]
@@ -137,6 +167,15 @@
        [DisplayName("当前栏具码")]
        public string basketcode { get; set; } = "NoRead";
        [Category("栏具条码配置")]
        [Description("当前工单号")]
        [DisplayName("当前工单号")]
        public string zwoid { get; set; } = "";
        [Category("栏具条码配置")]
        [Description("本站是否读取栏具码")]
        [DisplayName("本站是否读取栏具码")]
@@ -155,6 +194,86 @@
        [Description("心跳地址")]
        [DisplayName("心跳地址")]
        public int heartadd { get; set; } = 1505;
        [Category("MES配置")]
        [Description("是否上传MES")]
        [DisplayName("是否上传MES")]
        public bool ISupMES { get; set; } = false;
        [Category("MES配置")]
        [Description("接口选择,0篮具接口,1数据上传接口,-1所有接口")]
        [DisplayName("接口选择")]
        public int MESchannel { get; set; } = 0;
        [Category("MES配置")]
        [Description("账号")]
        [DisplayName("账号")]
        public string zuser { get; set; } = "aoiUser";
        [Category("MES配置")]
        [Description("密码")]
        [DisplayName("密码")]
        public string zpassword { get; set; } = "Chia@aoi";
        [Category("MES配置")]
        [Description("IP")]
        [DisplayName("Ip")]
        public string zIP { get; set; } = "10.2.20.114";
        [Category("MES配置")]
        [Description("端口号")]
        [DisplayName("端口号")]
        public int zport { get; set; } = 15672;
        //[Category("MES配置")]
        //[Description("备用栏具码")]
        //[DisplayName("备用栏具码")]
        //public string basketcode2 { get; set; } = "NoRead";
        [Category("MES配置")]
        [Description("numpro")]
        [DisplayName("numpro")]
        [JsonIgnore]
        public int numpro { get; set; } = 0;
        [Category("MES配置")]
        [Description("mesnum1")]
        [DisplayName("mesnum1")]
        [JsonIgnore]
        public int mesnum1 { get; set; } = 0;
        [Category("MES配置")]
        [Description("mesnum2")]
        [DisplayName("mesnum2")]
        [JsonIgnore]
        public int mesnum2 { get; set; } = 0;
        [Category("MES配置")]
        [Description("mesnum3")]
        [DisplayName("mesnum3")]
        [JsonIgnore]
        public int mesnum3 { get; set; } = 0;
        [Category("MES配置")]
        [Description("mesnum4")]
        [DisplayName("mesnum4")]
        [JsonIgnore]
        public int mesnum4 { get; set; } = 0;
        [Category("MES配置")]
        [Description("plc序号和篮具码集合")]
        [DisplayName("plc序号和篮具码集合")]
        [TypeConverter(typeof(CollectionCountConvert))]
        [Editor(typeof(ComplexCollectionEditor<PlcAndBasketcode>), typeof(UITypeEditor))]
        public List<PlcAndBasketcode> PlcAndBasketcodes { get; set; } = new List<PlcAndBasketcode>();
    }
@@ -286,7 +405,7 @@
            {
                var temchar = data.Split(',');
                ret.alarmname = temchar[0];
                ret.address =Convert.ToInt32(temchar[1]);
                ret.address = Convert.ToInt32(temchar[1]);
                ret.address2 = Convert.ToInt32(temchar[2]);
            }
            catch (Exception ex)
@@ -346,7 +465,19 @@
    }
    public class PlcAndBasketcode
    {
        [Category("配置")]
        [Description("序号")]
        [DisplayName("序号")]
        public int id { get; set; } = 0;
        [Category("配置")]
        [Description("条码")]
        [DisplayName("条码")]
        public string code { get; set; }
    }
@@ -931,10 +1062,6 @@
        [Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))]
        public string ImageFolder { get; set; }
        [Category("启动配置")]
        [Description("true:启动离线测试 false:停止离线测试")]
        [DisplayName("测试开关")]
        public bool IsStart { get; set; } = true;
        [Category("检测功能")]