From 1bc2df66bc88a6405df345dccc24a5031e18b592 Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期一, 21 十二月 2020 09:54:48 +0800 Subject: [PATCH] 1. gocator添加byte2/byte4的配置,目前测试byte4不成功,暂时还是使用byte2配置。 2. 添加键名代码映射配置和NG键名代码上传功能 --- src/Bro.M071.Process/M071Config.cs | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/Bro.M071.Process/M071Config.cs b/src/Bro.M071.Process/M071Config.cs index 33cba6e..99f9cdc 100644 --- a/src/Bro.M071.Process/M071Config.cs +++ b/src/Bro.M071.Process/M071Config.cs @@ -1,5 +1,6 @@ 锘縰sing Bro.Common.Base; using Bro.Common.Helper; +using Bro.Common.Interface; using Bro.Common.Model; using Bro.Process; using System; @@ -91,13 +92,13 @@ //[Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))] //public string ResultDataSaveFolder { get; set; } = ""; - [Category("鍥剧墖淇濆瓨閰嶇疆")] + [Category("鍗曢敭鍥剧墖淇濆瓨閰嶇疆")] [Description("鍗曢敭鍥剧墖淇濆瓨閰嶇疆")] [TypeConverter(typeof(ComplexObjectConvert))] [Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))] public ImageSaveOption ImageSaveOption { get; set; } = new ImageSaveOption(); - [Category("鍥剧墖淇濆瓨閰嶇疆")] + [Category("鍗曢敭鍥剧墖淇濆瓨閰嶇疆")] [Description("鍗曢敭鍥剧墖淇濆瓨鐩綍璺緞")] [Editor(typeof(FoldDialogEditor), typeof(UITypeEditor))] public string ImageSaveFolder { get; set; } = ""; @@ -167,9 +168,63 @@ [DisplayName("澶氭楠岃瘉寮�鍏�")] public bool IsDisableMultipleCheckTimes { get; set; } + [Category("MES璁剧疆")] + [Description("閿悕鍜屼笂浼犱唬鐮佹槧灏勫叧绯�")] + [DisplayName("閿悕鏄犲皠")] + [TypeConverter(typeof(CollectionCountConvert))] + [Editor(typeof(ComplexCollectionEditor<KeyCodeMap>), typeof(UITypeEditor))] + public List<KeyCodeMap> KeyCodeMappingCollection { get; set; } = new List<KeyCodeMap>(); + [Category("澶嶄綅璁剧疆")] [Description("澶у浣嶉渶瑕佷俊鍙锋寔缁椂闂达紝澶嶄綅淇″彿鎸佺画瓒呭嚭璇ユ椂闂存墽琛屽ぇ澶嶄綅锛屽崟浣嶏細s")] [DisplayName("澶у浣嶆寔缁俊鍙烽暱搴�")] public int FullResetRequiredDuration { get; set; } = 3; } + + [Device("Demostration", "Demo鎿嶄綔閰嶇疆", EnumHelper.DeviceAttributeType.OperationConfig)] + public class DemostrationOperationConfig : OperationConfigBase, IHalconToolPath + { + [Category("缁勫悎鎿嶄綔閰嶇疆闆嗗悎")] + [Description("缁勫悎鎿嶄綔閰嶇疆闆嗗悎")] + [TypeConverter(typeof(CollectionCountConvert))] + [Editor(typeof(ComplexCollectionEditor<OperationCombination>), typeof(UITypeEditor))] + public List<OperationCombination> DemoOperations { get; set; } = new List<OperationCombination>(); + + public List<string> GetHalconToolPathList() + { + return DemoOperations.SelectMany(d => d.GetHalconToolPathList()).ToList(); + } + } + + public class OperationCombination : IComplexDisplay, IHalconToolPath + { + [Category("杩愬姩鏈烘瀯閰嶇疆")] + [Description("杩愬姩鏈烘瀯閰嶇疆")] + [TypeConverter(typeof(ComplexObjectConvert))] + [Editor(typeof(IOperationConfigByDeviceEditor), typeof(UITypeEditor))] + public DeviceOpBind MotionOp { get; set; } = new DeviceOpBind(); + + [Category("鐩告満鍜屾搷浣滈厤缃�")] + [Description("鐩告満鍜屾搷浣滈厤缃�")] + [TypeConverter(typeof(ComplexObjectConvert))] + [Editor(typeof(IOperationConfigByDeviceEditor), typeof(UITypeEditor))] + public DeviceOpBind CameraOp { get; set; } = new DeviceOpBind(); + + public string GetDisplayText() + { + return MotionOp.GetDisplayText() + "\t" + CameraOp.GetDisplayText(); + } + + public List<string> GetHalconToolPathList() + { + if (CameraOp.OpConfig is IHalconToolPath path) + { + return path.GetHalconToolPathList(); + } + else + { + return new List<string>(); + } + } + } } -- Gitblit v1.8.0