From c0b8009ef36746c7a14606267662570e8c59c2c6 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期四, 09 七月 2020 19:12:37 +0800 Subject: [PATCH] 部分模型修改 --- src/Bro.Device.GTSCard/GTSCardDriver.cs | 40 +++++----- src/Bro.M071.Process/UI/M071_MainForm.cs | 50 ++++++------ src/Bro.Common.Device/DeviceBase/MotionCardBase.cs | 35 ++++---- src/Bro.Common.Model/Model/MonitorSet.cs | 12 +- src/Bro.Common.Model/Model/IOItem.cs | 6 + src/Bro.M071.Process/UI/M071_DataForm.cs | 2 src/Bro.M071.Process/M071Models.cs | 17 ++++ src/Bro.M071.Process/UI/KeyIndicator.cs | 2 src/Bro.UI.Config/MainFrm.cs | 35 ++++---- src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs | 1 10 files changed, 113 insertions(+), 87 deletions(-) diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs index 1ff6cd5..2825f26 100644 --- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs +++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs @@ -237,35 +237,38 @@ [Device("MotionOperationSet", "杩愬姩鎿嶄綔閰嶇疆鍩虹被", EnumHelper.DeviceAttributeType.OperationConfig)] public class MotionCardOperationSet : IComplexDisplay { - [Category("IO鎿嶄綔閰嶇疆")] - [DisplayName("IO棰勬鏌ュ畾涔夐泦鍚�")] + [Category("1.IO鎿嶄綔閰嶇疆")] + [DisplayName("1.IO棰勬鏌�")] [Description("IO棰勬鏌ュ畾涔夐泦鍚�")] [TypeConverter(typeof(CollectionCountConvert))] [Editor(typeof(IORefrenceItemCollectionEditor), typeof(UITypeEditor))] public List<IORefrenceItem> PreCheckIOCollection { get; set; } = new List<IORefrenceItem>(); - [Category("IO鎿嶄綔閰嶇疆")] + [Category("1.IO鎿嶄綔閰嶇疆")] [Description("瓒呮椂璁剧疆锛屽崟浣嶏細ms")] - [DisplayName("IO棰勬鏌ヨ秴鏃�")] + [DisplayName("2.IO棰勬鏌ヨ秴鏃�")] public int PreCheckIOTimeout { get; set; } = 0; - [Category("IO鎿嶄綔閰嶇疆")] - [DisplayName("IO杈撳嚭瀹氫箟闆嗗悎")] + [Category("1.IO鎿嶄綔閰嶇疆")] + [DisplayName("3.IO杈撳嚭")] [Description("IO杈撳嚭瀹氫箟闆嗗悎")] [TypeConverter(typeof(CollectionCountConvert))] + [Editor(typeof(IORefrenceItemCollectionEditor), typeof(UITypeEditor))] public List<IORefrenceItem> IOOutputCollection { get; set; } = new List<IORefrenceItem>(); - [Category("IO鎿嶄綔閰嶇疆")] - [DisplayName("IO纭瀹氫箟闆嗗悎")] + [Category("1.IO鎿嶄綔閰嶇疆")] + [DisplayName("4.IO杈撳嚭纭")] [Description("IO纭瀹氫箟闆嗗悎")] [TypeConverter(typeof(CollectionCountConvert))] + [Editor(typeof(IORefrenceItemCollectionEditor), typeof(UITypeEditor))] public List<IORefrenceItem> IOConfirmCollection { get; set; } = new List<IORefrenceItem>(); - [Category("IO鎿嶄綔閰嶇疆")] + + [Category("1.IO鎿嶄綔閰嶇疆")] [Description("瓒呮椂璁剧疆锛屽崟浣嶏細ms")] - [DisplayName("IO纭瓒呮椂")] + [DisplayName("5.IO杈撳嚭纭瓒呮椂")] public int IOConfirmTimeout { get; set; } = 0; - [Category("鏉垮崱杩愬姩閰嶇疆")] + [Category("2.鏉垮崱杩愬姩閰嶇疆")] [DisplayName("杩愬姩閰嶇疆闆嗗悎")] [Description("MovingOps锛氳繍鍔ㄩ厤缃泦鍚�")] [TypeConverter(typeof(CollectionCountConvert))] @@ -378,13 +381,13 @@ if (itemType == typeof(IORefrenceItem)) { IORefrenceItem item = new IORefrenceItem(); - if ((this.Context.Instance is IOperationConfig opConfig) && !string.IsNullOrWhiteSpace(opConfig.DeviceId)) + if (this.Context.Instance is MotionCardOperationSet set) { using (var scope = GlobalVar.Container.BeginLifetimeScope()) { List<IDevice> deviceList = scope.Resolve<List<IDevice>>(); - var device = deviceList.FirstOrDefault(u => u.Id == opConfig.DeviceId); + var device = deviceList.FirstOrDefault(u => u.Id == set.MotionCardId); if (device != null && (device is MotionCardBase motionCard)) { @@ -411,9 +414,9 @@ public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { - if (context.Instance is IOperationConfig opConfig) + if (context.Instance is MotionCardOperationSet set) { - if (string.IsNullOrWhiteSpace(opConfig.DeviceId)) + if (string.IsNullOrWhiteSpace(set.MotionCardId)) { return base.EditValue(context, provider, value); } @@ -422,7 +425,7 @@ { List<IDevice> deviceList = scope.Resolve<List<IDevice>>(); - var device = deviceList.FirstOrDefault(u => u.Id == opConfig.DeviceId); + var device = deviceList.FirstOrDefault(u => u.Id == set.MotionCardId); if (device == null) { diff --git a/src/Bro.Common.Model/Model/IOItem.cs b/src/Bro.Common.Model/Model/IOItem.cs index 653cdb2..14a5754 100644 --- a/src/Bro.Common.Model/Model/IOItem.cs +++ b/src/Bro.Common.Model/Model/IOItem.cs @@ -113,7 +113,9 @@ { item.IOItemSource.ForEach(i => { - itemDict[i] = i.IODesc + "-" + i.IOType.GetEnumDescription() + "-" + i.IONum; + IODefinition temp = new IODefinition(); + temp.DataFrom(i); + itemDict[temp] = (string.IsNullOrWhiteSpace(i.IODesc) ? i.IOPreStatement.GetEnumDescription() : i.IODesc) + "|" + i.IOType.GetEnumDescription() + "|" + i.IONum; }); return new StandardValuesCollection(itemDict.Keys); @@ -158,7 +160,7 @@ /// <returns></returns> public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { - var s = value.ToString().Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); + var s = value.ToString().Split(new char[] { '|' }); if (s.Length == 3) { diff --git a/src/Bro.Common.Model/Model/MonitorSet.cs b/src/Bro.Common.Model/Model/MonitorSet.cs index 6151b49..228e2f0 100644 --- a/src/Bro.Common.Model/Model/MonitorSet.cs +++ b/src/Bro.Common.Model/Model/MonitorSet.cs @@ -209,12 +209,12 @@ /// <summary> /// 鐩戝惉鍥炰紶 /// </summary> - [Category("鍥炰紶璁剧疆")] - [DisplayName("鐩戝惉鍥炰紶")] - [Description("鐩戝惉杩愬姩鏉垮崱锛屽苟寰�鎸囧畾鐨処O鍐欏叆鏁版嵁")] - [TypeConverter(typeof(CollectionCountConvert))] - [Editor(typeof(IOItem), typeof(UITypeEditor))] - public List<IOItem> ReplyIODatas { get; set; } = new List<IOItem>(); + //[Category("鍥炰紶璁剧疆")] + //[DisplayName("鐩戝惉鍥炰紶")] + //[Description("鐩戝惉杩愬姩鏉垮崱锛屽苟寰�鎸囧畾鐨処O鍐欏叆鏁版嵁")] + //[TypeConverter(typeof(CollectionCountConvert))] + //[Editor(typeof(ComplexCollectionEditor<IOItem>), typeof(UITypeEditor))] + //public List<IOItem> ReplyIODatas { get; set; } = new List<IOItem>(); } public class IOperationConfigEditor : UITypeEditor diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs index 5b3eb7f..5e34794 100644 --- a/src/Bro.Device.GTSCard/GTSCardDriver.cs +++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs @@ -1027,27 +1027,27 @@ public override void OnMethodInvoked(IAsyncResult ar) { - MotionCardMonitorSet monitorSet = ar.AsyncState as MotionCardMonitorSet; - ProcessResponse resValues = monitorSet.Response; - if (resValues.ResultValue == (int)ReplyValue.IGNORE) - { - return; - } + //MotionCardMonitorSet monitorSet = ar.AsyncState as MotionCardMonitorSet; + //ProcessResponse resValues = monitorSet.Response; + //if (resValues.ResultValue == (int)ReplyValue.IGNORE) + //{ + // return; + //} - Stopwatch sw = new Stopwatch(); - sw.Start(); - // 灏嗘寚瀹欼OItem鍐欏叆鏉垮崱 - foreach (var replyIOData in monitorSet.ReplyIODatas) - { - //鍐欏叆IO杈撳嚭 - if (replyIOData.IOType == IOType.OUTPUT) - { - GTSCardAPI.GT_SetDoBit((short)IConfig.CardNum, GTSCardAPI.MC_GPI, (short)replyIOData.IONum, (short)replyIOData.Value); - } - // in鍙涓嶈兘鍐� - } - sw.Stop(); - LogAsync(DateTime.Now, $"{Name}鍙嶉瀹屾垚锛岃�楁椂{sw.ElapsedMilliseconds}ms", $"{resValues.GetDisplayText()}"); + //Stopwatch sw = new Stopwatch(); + //sw.Start(); + //// 灏嗘寚瀹欼OItem鍐欏叆鏉垮崱 + //foreach (var replyIOData in monitorSet.ReplyIODatas) + //{ + // //鍐欏叆IO杈撳嚭 + // if (replyIOData.IOType == IOType.OUTPUT) + // { + // GTSCardAPI.GT_SetDoBit((short)IConfig.CardNum, GTSCardAPI.MC_GPI, (short)replyIOData.IONum, (short)replyIOData.Value); + // } + // // in鍙涓嶈兘鍐� + //} + //sw.Stop(); + //LogAsync(DateTime.Now, $"{Name}鍙嶉瀹屾垚锛岃�楁椂{sw.ElapsedMilliseconds}ms", $"{resValues.GetDisplayText()}"); } protected void MonitorCheckAndInvoke(List<IOItem> tempNew, List<IOItem> tempOld) diff --git a/src/Bro.M071.Process/M071Models.cs b/src/Bro.M071.Process/M071Models.cs index bd98beb..434029f 100644 --- a/src/Bro.M071.Process/M071Models.cs +++ b/src/Bro.M071.Process/M071Models.cs @@ -178,7 +178,22 @@ public string GetDisplayText() { - return $"{AliasName}"; + string snapShot = "鏈寚瀹�"; + + using (var scope = GlobalVar.Container.BeginLifetimeScope()) + { + var config = scope.Resolve<IProcessConfig>(); + if (config != null) + { + var snapshotPoint = (config as M071Config).SnapshotPointCollection.FirstOrDefault(u => u.Id == SnapshotPointId); + if (snapshotPoint != null) + { + snapShot = snapshotPoint.Name; + } + } + } + + return $"{AliasName}-{snapShot}-{ImageSeq}"; } public List<string> GetHalconToolPathList() diff --git a/src/Bro.M071.Process/UI/KeyIndicator.cs b/src/Bro.M071.Process/UI/KeyIndicator.cs index 75271a0..ec6d69b 100644 --- a/src/Bro.M071.Process/UI/KeyIndicator.cs +++ b/src/Bro.M071.Process/UI/KeyIndicator.cs @@ -58,7 +58,7 @@ protected override void SetSelectedPen() { - Pen = new Pen(Color.Red, 6); + Pen = new Pen(Color.Red, 3); } public override void Draw(Graphics g) diff --git a/src/Bro.M071.Process/UI/M071_DataForm.cs b/src/Bro.M071.Process/UI/M071_DataForm.cs index af0c8eb..b86ee46 100644 --- a/src/Bro.M071.Process/UI/M071_DataForm.cs +++ b/src/Bro.M071.Process/UI/M071_DataForm.cs @@ -11,7 +11,7 @@ namespace Bro.M071.Process.UI { - [MenuNode("M071_DataForm", "鏁版嵁鏌ヨ鐣岄潰", 1, "M071Node", true)] + [MenuNode("M071_DataForm", "鏁版嵁鏌ヨ鐣岄潰", 3, "M071Node", true)] public partial class M071_DataForm : MenuFrmBase { public M071_DataForm() diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs index df918c4..938e116 100644 --- a/src/Bro.M071.Process/UI/M071_MainForm.cs +++ b/src/Bro.M071.Process/UI/M071_MainForm.cs @@ -51,35 +51,37 @@ if (string.IsNullOrWhiteSpace(Config.BackgroundImagePath)) return; - try + this.Invoke(new Action(() => { - Bitmap image = (Bitmap)Image.FromFile(Config.BackgroundImagePath); - cvImage.LoadImage(image); - cvImage.SetScreenSize(); - } - catch (Exception ex) - { - LogAsync(new LogMsg(DateTime.Now, "杞藉叆鑳屾櫙鍥惧紓甯�", ex.Message)); - return; - } - - cvImage.Elements.Clear(); - lvMeasures.Items.Clear(); - Config.MeasurementUnitCollection.ForEach(u => - { - if (!u.IsEnabled) + try + { + Bitmap image = (Bitmap)Image.FromFile(Config.BackgroundImagePath); + cvImage.LoadImage(image); + cvImage.SetScreenSize(); + } + catch (Exception ex) + { + LogAsync(new LogMsg(DateTime.Now, "杞藉叆鑳屾櫙鍥惧紓甯�", ex.Message)); return; + } - var ele = new KeyIndicator(u.Id, u.DisplayLocation); - cvImage.Elements.Add(ele); + cvImage.Elements.Clear(); + lvMeasures.Items.Clear(); + txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked; - ListViewItem item = new ListViewItem(u.GetDisplayText()); - item.Tag = u.Id; - lvMeasures.Items.Add(item); - }); + Config.MeasurementUnitCollection.ForEach(u => + { + if (!u.IsEnabled) + return; - if (txtBarcode.IsHandleCreated) - txtBarcode.BeginInvoke(new Action(() => txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked)); + var ele = new KeyIndicator(u.Id, u.DisplayLocation); + cvImage.Elements.Add(ele); + + ListViewItem item = new ListViewItem(u.GetDisplayText()); + item.Tag = u.Id; + lvMeasures.Items.Add(item); + }); + })); Process_M071.OnClearBarcode -= M071_MainForm_OnClearBarcode; Process_M071.OnClearBarcode += M071_MainForm_OnClearBarcode; diff --git a/src/Bro.UI.Config/MainFrm.cs b/src/Bro.UI.Config/MainFrm.cs index 39c483d..39c3169 100644 --- a/src/Bro.UI.Config/MainFrm.cs +++ b/src/Bro.UI.Config/MainFrm.cs @@ -74,10 +74,10 @@ //}); m_deserializeMenuFrm = new DeserializeDockContent(GetMenuFromPersistString); - LoadLayoutFromXML(m_deserializeMenuFrm); - m_deserializeDeviceRunFrm = new DeserializeDockContent(GetAllFormPersistString); - _allMenuLoadDoneHandle.Set(); + + //LoadLayoutFromXML(m_deserializeMenuFrm); + //_allMenuLoadDoneHandle.Set(); Text = SettingHelper.GetProgramDescription(); string iconPath = SettingHelper.GetProgramIcon(); @@ -254,13 +254,16 @@ private void MainFrm_Load(object sender, EventArgs e) { + LoadLayoutFromXML(m_deserializeMenuFrm); + _allMenuLoadDoneHandle.Set(); + AdvancedPwdFrm.OnLoginOK = OnLoginOK; - SpinWait wait = new SpinWait(); - while (_process == null) - { - wait.SpinOnce(); - } + //SpinWait wait = new SpinWait(); + //while (_process == null) + //{ + // wait.SpinOnce(); + //} LoadLayoutFromXML(m_deserializeDeviceRunFrm); } @@ -542,10 +545,10 @@ dockFrm.Text = desc[2]; - if (_process != null) - { - dockFrm.DownloadProcess(_process); - } + //if (_process != null) + //{ + // dockFrm.DownloadProcess(_process); + //} dockFrm.SetLoginStatus(IsLogin); @@ -580,10 +583,10 @@ dockFrm.Text = desc[2]; - if (_process != null) - { - dockFrm.DownloadProcess(_process); - } + //if (_process != null) + //{ + // dockFrm.DownloadProcess(_process); + //} dockFrm.SetLoginStatus(IsLogin); diff --git a/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs b/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs index 007a6db..ab29bdb 100644 --- a/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs +++ b/src/Bro.UI.Model.Winform/UI/DockContent/MenuFrmBase.cs @@ -27,6 +27,7 @@ _constructionDoneHandle.Wait(); OnProcessUpdated(); + _constructionDoneHandle.Reset(); } } } -- Gitblit v1.8.0