From 642cd31f0d1586a2a5ca6f9a3b3364725f4f1ecd Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期六, 04 七月 2020 13:44:24 +0800 Subject: [PATCH] 暂存 --- src/Bro.Device.GTSCard/GTSCardDriver.cs | 24 +- src/Bro.M071.Process/UI/M071_MainForm.cs | 63 ++++ src/Bro.Common.Device/DeviceBase/MotionCardBase.cs | 37 ++ src/Bro.Common.Model/Model/IOItem.cs | 15 src/Bro.M071.Process/M071Process_MotionCard.cs | 217 ++++++++++++++++++ src/Bro.M071.Process/UI/M071_MainForm.Designer.cs | 80 ++++++ src/Bro.UI.Config/MenuForms/FrmOperation.resx | 4 src/Bro.UI.Config/MainFrm.cs | 17 src/Bro.Common.Model/Helper/EnumHelper.cs | 19 + /dev/null | 13 - src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs | 24 +- src/Bro.UI.Config/MenuForms/FrmConfig.cs | 2 src/Bro.M071.Process/M071Process.cs | 56 ---- src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs | 39 +++ src/Bro.M071.Process/UI/M071_ShortcutFrm.cs | 22 + src/Bro.UI.Config/MainFrm.Designer.cs | 1 src/Bro.M071.Process/Bro.M071.Process.csproj | 8 src/Bro.UI.Config/MenuForms/FrmOperation.cs | 15 src/Bro.M071.Process/M071Config.cs | 21 + src/Bro.M071.Process/M071Models.cs | 4 20 files changed, 550 insertions(+), 131 deletions(-) diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs index ca5ba82..e42e318 100644 --- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs +++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs @@ -12,6 +12,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using static Bro.Common.Helper.EnumHelper; namespace Bro.Common.Base { @@ -26,12 +27,14 @@ public abstract void ResetAlarm(); public abstract ResponseMessage Run(IOperationConfig config); - public void ExcuteMonitorInvok(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet, AsyncCallback OnMethodInvoked) + public virtual void ExcuteMonitorInvoke(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet) { 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); } @@ -43,6 +46,10 @@ return InitialConfig as MotionCardInitialConfigBase; } } + + public List<IOItem> MonitorValues { get; set; } = new List<IOItem>(); + + public abstract void WriteOutput(short cardNum, short index, IOValue value); } public class MotionCardInitialConfigBase : InitialConfigBase, IMonitorConfig @@ -119,14 +126,28 @@ public List<IMonitorSet> GetAllMonitorSet() { WarningSetCollection.ForEach(m => m.Source = this.Name); - MonitorSetCollection.ForEach(m => m.SourceDevice = this.Id); return MonitorSetCollection; } #endregion } + [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棰勬鏌ュ畾涔夐泦鍚�")] @@ -208,6 +229,16 @@ } } + //[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 { protected override CollectionForm CreateCollectionForm() diff --git a/src/Bro.Common.Model/Helper/EnumHelper.cs b/src/Bro.Common.Model/Helper/EnumHelper.cs index 52c5349..703be4a 100644 --- a/src/Bro.Common.Model/Helper/EnumHelper.cs +++ b/src/Bro.Common.Model/Helper/EnumHelper.cs @@ -577,6 +577,16 @@ OUTPUT = 1 } + public enum IOValue + { + [Description("鍏抽棴")] + FALSE = 0, + [Description("寮�鍚�")] + TRUE = 1, + [Description("鍙嶈浆")] + REVERSE = 2, + } + /// <summary> /// PubSubCenter浜嬩欢涓績鐨勬秷鎭被鍨� /// </summary> @@ -593,5 +603,14 @@ //[Description("鏇存柊鏁版嵁")] //UpdateData, } + + public enum MachineState + { + Unknown, + Ready, + Running, + Alarm, + Pause, + } } } diff --git a/src/Bro.Common.Model/Model/IOItem.cs b/src/Bro.Common.Model/Model/IOItem.cs index 147880e..653cdb2 100644 --- a/src/Bro.Common.Model/Model/IOItem.cs +++ b/src/Bro.Common.Model/Model/IOItem.cs @@ -22,8 +22,9 @@ /// IO鐐圭殑鍊� /// </summary> [Category("IO閰嶇疆")] - [Description("IO鏁板��")] - public virtual int Value { get; set; } + [Description("IO鐘舵��")] + [TypeConverter(typeof(EnumDescriptionConverter<IOValue>))] + public virtual IOValue Value { get; set; } /// <summary> /// IO鐐规槸in杩樻槸out @@ -44,7 +45,7 @@ public virtual string GetDisplayText() { - return $"{IOType.GetEnumDescription()}-{IONum}-{Value}"; + return $"{IOType.GetEnumDescription()}-{IONum}-{Value.GetEnumDescription()}"; } public int GetHashCode(object obj) @@ -70,7 +71,7 @@ [Browsable(false)] [JsonIgnore] - public override int Value { get; set; } + public override IOValue Value { get; set; } public override string GetDisplayText() { @@ -86,8 +87,8 @@ public IODefinition IOItem { get; set; } = new IODefinition(); [Category("IO鎿嶄綔閰嶇疆")] - [Description("闇�瑕佹搷浣滅殑IO鐨勬暟鍊�")] - public int CheckValue + [Description("闇�瑕佹搷浣滅殑IO鐨勭姸鎬�")] + public IOValue CheckValue { get => IOItem.Value; set => IOItem.Value = value; @@ -99,7 +100,7 @@ public string GetDisplayText() { - return IOItem.IODesc + "-" + CheckValue; + return IOItem.IODesc + "-" + CheckValue.GetEnumDescription(); } } diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs index b8e668e..3368e83 100644 --- a/src/Bro.Device.GTSCard/GTSCardDriver.cs +++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs @@ -756,16 +756,17 @@ /// </summary> /// <param name="index">杈撳嚭鍙�,杩斿洖1-16</param> /// <param name="value">false琛ㄧず杈撳嚭锛宼rue琛ㄧず鍏抽棴</param> - public void WriteOut(short index, bool value) + public override void WriteOutput(short cardNum, short index, IOValue value) { short outNum = (short)(index % 100 + 1); - if (value) + if ((int)value <= 1) { - GTSCardAPI.GT_SetDoBit((short)IConfig.CardNum, GTSCardAPI.MC_GPO, outNum, 0); + GTSCardAPI.GT_SetDoBit(cardNum, GTSCardAPI.MC_GPO, outNum, (short)value); } else { - GTSCardAPI.GT_SetDoBit((short)IConfig.CardNum, GTSCardAPI.MC_GPO, outNum, 1); + var currentValue = (int)MonitorValues.FirstOrDefault(u => u.IONum == outNum && u.IOType == IOType.OUTPUT).Value; + GTSCardAPI.GT_SetDoBit(cardNum, GTSCardAPI.MC_GPO, outNum, (short)(currentValue == 1 ? 0 : 1)); } } @@ -791,7 +792,7 @@ #region IMonitor - public List<IOItem> MonitorValues { get; set; } = new List<IOItem>(); + //public List<IOItem> MonitorValues { get; set; } = new List<IOItem>(); public List<IOItem> GetMonitorValues() @@ -810,13 +811,13 @@ IOItem inItem = new IOItem() { IONum = index, - Value = (inValue & (1 << index)) == 0 ? 1 : 0, + Value = (inValue & (1 << index)) == 0 ? IOValue.TRUE : IOValue.FALSE, IOType = IOType.INPUT }; IOItem outItem = new IOItem() { IONum = index, - Value = (outValue & (1 << index)) == 0 ? 1 : 0, + Value = (outValue & (1 << index)) == 0 ? IOValue.TRUE : IOValue.FALSE, IOType = IOType.OUTPUT }; result.Add(inItem); @@ -873,7 +874,7 @@ }); } - private void OnMethodInvoked(IAsyncResult ar) + public override void OnMethodInvoked(IAsyncResult ar) { MotionCardMonitorSet monitorSet = ar.AsyncState as MotionCardMonitorSet; ProcessResponse resValues = monitorSet.Response; @@ -905,13 +906,12 @@ { MotionCardWarningSet warningSet = wSet as MotionCardWarningSet; - bool isOn = ((tempNew.FirstOrDefault(u => u.IONum == warningSet.TriggerIndex && u.IOType == warningSet.WarningIOModel)?.Value >> warningSet.TriggerIndex) & 1) == (warningSet.TriggerValue ? 1 : 0); + bool isOn = (((int)((tempNew.FirstOrDefault(u => u.IONum == warningSet.TriggerIndex && u.IOType == warningSet.WarningIOModel)?.Value)) >> warningSet.TriggerIndex) & 1) == (warningSet.TriggerValue ? 1 : 0); if (warningSet.CurrentStatus != isOn) { warningSet.CurrentStatus = isOn; warningSet.TriggerTime = DateTime.Now; - warningSet.WarningDescription = $"璀︽姤锛歿warningSet.Name}-瑙﹀彂绱㈠紩锛歿warningSet.TriggerIndex}-{warningSet.WarningIOModel.GetEnumDescription()}:{warningSet.WarningCode}"; SaveAlarmCSVAsync(DateTime.Now, this.Name, warningSet); ExcuteMonitorAlarm(DateTime.Now, this, warningSet); } @@ -932,7 +932,7 @@ if (newIOItem?.Value != oldIOItem?.Value) { - if (monitorSet.TriggerValue == -999 || newIOItem.Value == monitorSet.TriggerValue) + if (monitorSet.TriggerValue == -999 || (int)newIOItem.Value == monitorSet.TriggerValue) { if (monitorSet.OpConfig == null) { @@ -944,7 +944,7 @@ // return tempNew[index].Value; //}).ToList(); - ExcuteMonitorInvok(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet, OnMethodInvoked); + ExcuteMonitorInvoke(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet); } } }); diff --git a/src/Bro.M071.Process/Bro.M071.Process.csproj b/src/Bro.M071.Process/Bro.M071.Process.csproj index ebc097e..e251945 100644 --- a/src/Bro.M071.Process/Bro.M071.Process.csproj +++ b/src/Bro.M071.Process/Bro.M071.Process.csproj @@ -110,7 +110,7 @@ <Compile Include="M071Config.cs" /> <Compile Include="M071Models.cs" /> <Compile Include="M071Process.cs" /> - <Compile Include="M071Process_IO.cs" /> + <Compile Include="M071Process_MotionCard.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="UI\KeyIndicator.cs" /> <Compile Include="UI\M071Node.cs" /> @@ -120,6 +120,12 @@ <Compile Include="UI\M071_MainForm.Designer.cs"> <DependentUpon>M071_MainForm.cs</DependentUpon> </Compile> + <Compile Include="UI\M071_ShortcutFrm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="UI\M071_ShortcutFrm.Designer.cs"> + <DependentUpon>M071_ShortcutFrm.cs</DependentUpon> + </Compile> <EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.cs</LastGenOutput> diff --git a/src/Bro.M071.Process/M071Config.cs b/src/Bro.M071.Process/M071Config.cs index b3ae3f3..aa06147 100644 --- a/src/Bro.M071.Process/M071Config.cs +++ b/src/Bro.M071.Process/M071Config.cs @@ -44,18 +44,21 @@ [Category("鑳屾櫙鍥剧墖璁剧疆")] [Description("杩愯鑳屾櫙鍥剧墖璺緞")] [Editor(typeof(FileDialogEditor), typeof(UITypeEditor))] + [DisplayName("鑳屾櫙鍥剧墖")] public string BackgroundImagePath { get; set; } [Category("妫�娴嬭缃�")] [Description("鎷嶆憚鐐逛綅璁剧疆闆嗗悎")] [TypeConverter(typeof(CollectionCountConvert))] [Editor(typeof(ComplexCollectionEditor<SnapshotPoint>), typeof(UITypeEditor))] + [DisplayName("鎷嶆憚鐐逛綅")] public List<SnapshotPoint> SnapshotPointCollection { get; set; } = new List<SnapshotPoint>(); [Category("妫�娴嬭缃�")] [Description("瑙嗚妫�娴嬪崟閿厤缃泦鍚�")] [TypeConverter(typeof(CollectionCountConvert))] [Editor(typeof(ComplexCollectionEditor<KeyUnit>), typeof(UITypeEditor))] + [DisplayName("鍗曢敭閰嶇疆")] public List<KeyUnit> KeyUnitCollection { get; set; } = new List<KeyUnit>(); [Category("妫�娴嬭缃�")] @@ -74,5 +77,23 @@ [Description("鍗曢敭鍥剧墖淇濆瓨鐩綍璺緞")] [Editor(typeof(FoldDialogEditor),typeof(UITypeEditor))] public string ImageSaveFolder { get; set; } = ""; + + [Category("灞忚斀閰嶇疆")] + [Description("true锛氬睆钄藉畨鍏ㄩ棬 false锛氬惎鐢ㄥ畨鍏ㄩ棬")] + [ReadOnly(true)] + public bool IsSafetyDoorBlocked { get; set; } = false; + + [Category("灞忚斀閰嶇疆")] + [Description("true锛氬睆钄藉畨鍏ㄥ厜绾� false锛氬惎鐢ㄥ畨鍏ㄥ厜绾�")] + [ReadOnly(true)] + public bool IsSafetyBeamBlocked { get; set; } = false; + + [Category("灞忚斀閰嶇疆")] + [Description("true锛氬睆钄借渹楦e櫒 false锛氬惎鐢ㄨ渹楦e櫒")] + public bool IsBeepBlocked { get; set; } = false; + + [Category("灞忚斀閰嶇疆")] + [Description("true锛氱姝㈡墜鍔ㄨ緭鍏ユ潯鐮� false锛氬厑璁告墜鍔ㄨ緭鍏ユ潯鐮�")] + public bool IsBarcodeManulInputBlocked { get; set; } = true; } } diff --git a/src/Bro.M071.Process/M071Models.cs b/src/Bro.M071.Process/M071Models.cs index 8c15fde..a5c4137 100644 --- a/src/Bro.M071.Process/M071Models.cs +++ b/src/Bro.M071.Process/M071Models.cs @@ -312,7 +312,7 @@ [Category("鍗曢敭閰嶇疆")] [Description("鍗曢敭缁撴灉閰嶇疆")] [TypeConverter(typeof(KeyUnitResultConverter))] - public string KeyResult { get; set; } = ""; + public string KeyResultId { get; set; } = ""; public List<HImage> KeyImages = new List<HImage>(); @@ -342,7 +342,7 @@ { string msg = Key; - msg += string.IsNullOrWhiteSpace(KeyResult) ? "" : $"-{KeyResult}"; + msg += string.IsNullOrWhiteSpace(KeyResultId) ? "" : $"-{KeyResultId}"; return msg; } diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs index 68b79c6..65f74a9 100644 --- a/src/Bro.M071.Process/M071Process.cs +++ b/src/Bro.M071.Process/M071Process.cs @@ -33,7 +33,7 @@ #region 浜嬩欢 public event Action OnMeasureStart; - public event Action<string> OnBarcodeChanged; + public event Action OnClearBarcode; public event Action<IShapeElement> OnElementUpdated; #endregion @@ -51,7 +51,7 @@ /// </summary> private void CheckMachineState() { - throw new NotImplementedException(); + //throw new NotImplementedException(); } private void InitialSetting() @@ -110,7 +110,7 @@ if (keyRespone.Count == 0) throw new ProcessException($"{u.GetDisplayText()}瀵瑰簲鐨勫崟閿笉瀛樺湪鎴栦笉鍙敤"); - if (b.KeyResult == "All") + if (b.KeyResultId == "All") { keyRespone.SelectMany(kr => kr.KeyResultList).ToList().ForEach(r => { @@ -119,7 +119,7 @@ } else { - b.MeasureValueDict[b.KeyResult] = null; + b.MeasureValueDict[b.KeyResultId] = null; } }); }); @@ -150,19 +150,7 @@ //} #endregion - private string barCode = ""; - public string BarCode - { - get => barCode; - set - { - if (barCode != value) - { - barCode = value; - OnBarcodeChanged?.Invoke(value); - } - } - } + public string BarCode { get; set; } List<ProductionMeasurement> productionList = new List<ProductionMeasurement>(); @@ -171,6 +159,7 @@ { if (string.IsNullOrWhiteSpace(BarCode)) { + OnClearBarcode?.Invoke(); throw new ProcessException("鏈緭鍏ヤ骇鍝佹潯鐮侊紝璇峰嬁寮�濮嬫祴閲�"); } @@ -236,39 +225,6 @@ BarCode = ""; return new ProcessResponse(true); - } - - /// <summary> - /// 鏆傚仠鏍囧織 - /// WaitHandle 鏆傚仠鍙ユ焺 榛樿涓洪潪闃诲 鍙墽琛� - /// WaitResult 鏆傚仠鏍囧織 true 姝e父鎵ц false 鏆傚仠涓� - /// </summary> - ManualWaitConfirm _pauseHandle = new ManualWaitConfirm() - { - WaitHandle = new ManualResetEvent(true), - WaitResult = true, - }; - - [ProcessMethod("", "PauseJob", "鏆傚仠娴佺▼", InvokeType.TestInvoke)] - public ProcessResponse PauseJob(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) - { - if (_pauseHandle.WaitResult) - { - #region 鏉垮崱鏆傚仠鍔ㄤ綔 - #endregion - - _pauseHandle.WaitHandle.Reset(); - } - else - { - #region 鏉垮崱鎭㈠鍔ㄤ綔 - #endregion - - _pauseHandle.WaitHandle.Set(); - } - - _pauseHandle.WaitResult = !_pauseHandle.WaitResult; - return new ProcessResponse(_pauseHandle.WaitResult); } #region 绉佹湁鏂规硶 diff --git a/src/Bro.M071.Process/M071Process_IO.cs b/src/Bro.M071.Process/M071Process_IO.cs deleted file mode 100644 index 3a0dd4f..0000000 --- a/src/Bro.M071.Process/M071Process_IO.cs +++ /dev/null @@ -1,13 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Bro.M071.Process -{ - public partial class M071Process - { - - } -} diff --git a/src/Bro.M071.Process/M071Process_MotionCard.cs b/src/Bro.M071.Process/M071Process_MotionCard.cs new file mode 100644 index 0000000..514b46d --- /dev/null +++ b/src/Bro.M071.Process/M071Process_MotionCard.cs @@ -0,0 +1,217 @@ +锘縰sing Bro.Common.Base; +using Bro.Common.Helper; +using Bro.Common.Interface; +using Bro.Common.Model; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing.Design; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using static Bro.Common.Helper.EnumHelper; + +namespace Bro.M071.Process +{ + public partial class M071Process + { + Timer _resetTimer = null; + const int FULLRESETTIME = 5; + + MachineState machineState = MachineState.Unknown; + MachineState MachineState + { + get => machineState; + set + { + machineState = value; + + switch (machineState) + { + case MachineState.Ready: + break; + case MachineState.Running: + break; + case MachineState.Alarm: + break; + case MachineState.Pause: + break; + default: + break; + } + } + } + + [ProcessMethod("MotionCardBase", "Reset", "绠�鍗曞浣嶆搷浣�", InvokeType.TestInvoke)] + public ProcessResponse Reset(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + //if (opConfig == null) + //{ + // var monitorSet = Config.MonitorSetCollection.FirstOrDefault(u => u.MethodCode == "Reset"); + // if (monitorSet == null) + // throw new ProcessException("鏈厤缃粯璁ゅ浣嶆搷浣�"); + + // opConfig = monitorSet.OpConfig; + // if (opConfig == null) + // throw new ProcessException("鏈厤缃浣嶆搷浣滃叿浣撻厤缃姩浣�"); + + // if (invokeDevice == null) + // { + // invokeDevice = DeviceCollection.FirstOrDefault(u => u.Id == monitorSet.InvokeDevice); + // if (invokeDevice == null) + // throw new ProcessException("鏈厤缃浣嶆搷浣滄墽琛岃澶�"); + // } + //} + + MotionCardDefaultRun("Reset", ref opConfig, ref invokeDevice); + + if (_resetTimer == null) + { + _resetTimer = new Timer(FullReset, null, -1, -1); + } + + if (opConfig.InputPara.Count > 0) + { + //澶у浣嶄俊鍙� + _resetTimer.Change(-1, opConfig.InputPara[0] == 1 ? FULLRESETTIME * 1000 : -1); + } + + //if (invokeDevice is MotionCardBase motionCard) + //{ + // motionCard.Run(opConfig); + //} + + return new ProcessResponse(true); + } + + private void FullReset(object state) + { + FullReset(null, null, null); + } + + [ProcessMethod("MotionCardOperationConfigCollection", "FullReset", "澶у浣嶆搷浣�", InvokeType.TestInvoke)] + public ProcessResponse FullReset(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + //if (opConfig == null) + //{ + // var monitorSet = Config.MonitorSetCollection.FirstOrDefault(u => u.MethodCode == "FullReset"); + // if (monitorSet == null) + // throw new ProcessException("鏈厤缃粯璁ゅぇ澶嶄綅鎿嶄綔"); + + // opConfig = monitorSet.OpConfig; + // if (opConfig == null) + // throw new ProcessException("鏈厤缃ぇ澶嶄綅鎿嶄綔鍏蜂綋閰嶇疆鍔ㄤ綔"); + + // if (invokeDevice == null) + // { + // invokeDevice = DeviceCollection.FirstOrDefault(u => u.Id == monitorSet.InvokeDevice); + // if (invokeDevice == null) + // throw new ProcessException("鏈厤缃ぇ澶嶄綅鎿嶄綔鎵ц璁惧"); + // } + //} + + //if (invokeDevice is MotionCardBase motionCard) + //{ + // motionCard.Run(opConfig); + //} + + //MotionCardDefaultRun("FullReset", ref opConfig, ref invokeDevice); + + return new ProcessResponse(true); + } + + /// <summary> + /// 鏆傚仠鏍囧織 + /// WaitHandle 鏆傚仠鍙ユ焺 榛樿涓洪潪闃诲 鍙墽琛� + /// WaitResult 鏆傚仠鏍囧織 true 姝e父鎵ц false 鏆傚仠涓� + /// </summary> + ManualWaitConfirm _pauseHandle = new ManualWaitConfirm() + { + WaitHandle = new ManualResetEvent(true), + WaitResult = true, + }; + + [ProcessMethod("", "PauseJob", "鏆傚仠娴佺▼", InvokeType.TestInvoke)] + public ProcessResponse PauseJob(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + if (_pauseHandle.WaitResult) + { + #region 鏉垮崱鏆傚仠鍔ㄤ綔 + #endregion + + _pauseHandle.WaitHandle.Reset(); + } + else + { + #region 鏉垮崱鎭㈠鍔ㄤ綔 + #endregion + + _pauseHandle.WaitHandle.Set(); + } + + _pauseHandle.WaitResult = !_pauseHandle.WaitResult; + return new ProcessResponse(_pauseHandle.WaitResult); + } + + [ProcessMethod("MotionCardBase", "SwitchLightRed", "鍒囨崲鎸囩ず鐏�-绾�", InvokeType.TestInvoke)] + public ProcessResponse SwitchLightRed(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + MotionCardDefaultRun("SwitchLightRed", ref opConfig, ref invokeDevice); + return new ProcessResponse(true); + } + + [ProcessMethod("MotionCardBase", "SwitchLightYellow", "鍒囨崲鎸囩ず鐏�-榛�", InvokeType.TestInvoke)] + public ProcessResponse SwitchLightYellow(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + return new ProcessResponse(true); + } + + [ProcessMethod("MotionCardBase", "SwitchLightGreen", "鍒囨崲鎸囩ず鐏�-缁�", InvokeType.TestInvoke)] + public ProcessResponse SwitchLightGreen(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + return new ProcessResponse(true); + } + + [ProcessMethod("MotionCardBase", "SwitchBeep", "鍒囨崲铚傞福鍣�", InvokeType.TestInvoke)] + public ProcessResponse SwitchBeep(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + return new ProcessResponse(true); + } + + [ProcessMethod("MotionCardBase", "SwitchNormalLight", "鍒囨崲鏃ュ厜鐏�", InvokeType.TestInvoke)] + public ProcessResponse SwitchNormalLight(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) + { + MotionCardDefaultRun("SwitchNormalLight", ref opConfig, ref invokeDevice); + + return new ProcessResponse(true); + } + + private void MotionCardDefaultRun(string methodCode, ref IOperationConfig opConfig, ref IDevice invokeDevice) + { + IMonitorSet monitorSet = null; + if (opConfig == null) + { + monitorSet = Config.MonitorSetCollection.FirstOrDefault(u => u.MethodCode == methodCode); + if (monitorSet == null) + throw new ProcessException("鏈厤缃粯璁ゆ搷浣�"); + + opConfig = monitorSet.OpConfig; + if (opConfig == null) + throw new ProcessException("鏈厤缃叿浣撻厤缃姩浣�"); + } + + if (invokeDevice == null) + { + invokeDevice = DeviceCollection.FirstOrDefault(u => u.Id == monitorSet.InvokeDevice); + if (invokeDevice == null) + throw new ProcessException("鏈厤缃搷浣滄墽琛岃澶�"); + } + + if (invokeDevice is MotionCardBase motionCard) + { + motionCard.Run(opConfig); + } + } + } +} diff --git a/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs b/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs index 996ca15..b83b97d 100644 --- a/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs +++ b/src/Bro.M071.Process/UI/M071_MainForm.Designer.cs @@ -33,6 +33,11 @@ this.tsmiShowToolBar = new System.Windows.Forms.ToolStripMenuItem(); this.tsmiShowStatusBar = new System.Windows.Forms.ToolStripMenuItem(); this.tsmiShowEditor = new System.Windows.Forms.ToolStripMenuItem(); + this.lblCT = new System.Windows.Forms.Label(); + this.txtBarcode = new System.Windows.Forms.TextBox(); + this.lblProductionState = new System.Windows.Forms.Label(); + this.lblMachineState = new System.Windows.Forms.Label(); + this.plImage = new System.Windows.Forms.Panel(); this.tscEditLocation = new System.Windows.Forms.ToolStripContainer(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.btnConfirmEdit = new System.Windows.Forms.Button(); @@ -82,6 +87,61 @@ this.tsmiShowEditor.Size = new System.Drawing.Size(148, 22); this.tsmiShowEditor.Text = "缂栬緫鏄剧ず鐐逛綅"; this.tsmiShowEditor.CheckedChanged += new System.EventHandler(this.tsmiShowEditor_CheckedChanged); + // + // lblCT + // + this.lblCT.AutoSize = true; + this.lblCT.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(134))); + this.lblCT.Location = new System.Drawing.Point(464, 19); + this.lblCT.Name = "lblCT"; + this.lblCT.Size = new System.Drawing.Size(35, 14); + this.lblCT.TabIndex = 4; + this.lblCT.Text = "XXXX"; + // + // txtBarcode + // + this.txtBarcode.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(134))); + this.txtBarcode.Location = new System.Drawing.Point(138, 13); + this.txtBarcode.Name = "txtBarcode"; + this.txtBarcode.Size = new System.Drawing.Size(261, 24); + this.txtBarcode.TabIndex = 3; + this.txtBarcode.Text = "BARCODE"; + this.txtBarcode.TextChanged += new System.EventHandler(this.txtBarcode_TextChanged); + // + // lblProductionState + // + this.lblProductionState.AutoSize = true; + this.lblProductionState.BackColor = System.Drawing.Color.Lime; + this.lblProductionState.Font = new System.Drawing.Font("Tahoma", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.World, ((byte)(134))); + this.lblProductionState.ForeColor = System.Drawing.Color.White; + this.lblProductionState.Location = new System.Drawing.Point(405, 13); + this.lblProductionState.Name = "lblProductionState"; + this.lblProductionState.Size = new System.Drawing.Size(39, 24); + this.lblProductionState.TabIndex = 2; + this.lblProductionState.Text = "OK"; + // + // lblMachineState + // + this.lblMachineState.AutoSize = true; + this.lblMachineState.BackColor = System.Drawing.Color.Lime; + this.lblMachineState.Font = new System.Drawing.Font("Tahoma", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.World, ((byte)(134))); + this.lblMachineState.ForeColor = System.Drawing.Color.White; + this.lblMachineState.Location = new System.Drawing.Point(22, 12); + this.lblMachineState.Name = "lblMachineState"; + this.lblMachineState.Size = new System.Drawing.Size(79, 24); + this.lblMachineState.TabIndex = 2; + this.lblMachineState.Text = "READY"; + // + // plImage + // + this.plImage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.plImage.ContextMenuStrip = this.contextMenuStrip1; + this.plImage.Location = new System.Drawing.Point(1, 47); + this.plImage.Name = "plImage"; + this.plImage.Size = new System.Drawing.Size(796, 304); + this.plImage.TabIndex = 1; // // tscEditLocation // @@ -159,7 +219,7 @@ // this.splitContainer1.Panel2.Controls.Add(this.propGridKeyIndicator); this.splitContainer1.Size = new System.Drawing.Size(203, 284); - this.splitContainer1.SplitterDistance = 164; + this.splitContainer1.SplitterDistance = 163; this.splitContainer1.TabIndex = 1; // // lvMeasures @@ -171,7 +231,7 @@ this.lvMeasures.Location = new System.Drawing.Point(0, 0); this.lvMeasures.MultiSelect = false; this.lvMeasures.Name = "lvMeasures"; - this.lvMeasures.Size = new System.Drawing.Size(203, 164); + this.lvMeasures.Size = new System.Drawing.Size(203, 163); this.lvMeasures.TabIndex = 0; this.lvMeasures.UseCompatibleStateImageBehavior = false; this.lvMeasures.View = System.Windows.Forms.View.List; @@ -182,7 +242,7 @@ this.propGridKeyIndicator.Dock = System.Windows.Forms.DockStyle.Fill; this.propGridKeyIndicator.Location = new System.Drawing.Point(0, 0); this.propGridKeyIndicator.Name = "propGridKeyIndicator"; - this.propGridKeyIndicator.Size = new System.Drawing.Size(203, 116); + this.propGridKeyIndicator.Size = new System.Drawing.Size(203, 117); this.propGridKeyIndicator.TabIndex = 0; this.propGridKeyIndicator.ToolbarVisible = false; // @@ -191,10 +251,16 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 351); - this.ContextMenuStrip = this.contextMenuStrip1; + this.Controls.Add(this.lblCT); + this.Controls.Add(this.txtBarcode); + this.Controls.Add(this.lblProductionState); + this.Controls.Add(this.lblMachineState); + this.Controls.Add(this.plImage); this.Controls.Add(this.tscEditLocation); + this.KeyPreview = true; this.Name = "M071_MainForm"; this.Text = "M071_MainForm"; + this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.M071_MainForm_KeyUp); this.contextMenuStrip1.ResumeLayout(false); this.tscEditLocation.ContentPanel.ResumeLayout(false); this.tscEditLocation.ResumeLayout(false); @@ -205,6 +271,7 @@ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.ResumeLayout(false); + this.PerformLayout(); } @@ -221,5 +288,10 @@ private System.Windows.Forms.ListView lvMeasures; private System.Windows.Forms.ToolStripMenuItem tsmiShowToolBar; private System.Windows.Forms.ToolStripMenuItem tsmiShowStatusBar; + private System.Windows.Forms.Panel plImage; + private System.Windows.Forms.Label lblMachineState; + private System.Windows.Forms.Label lblProductionState; + private System.Windows.Forms.TextBox txtBarcode; + private System.Windows.Forms.Label lblCT; } } \ No newline at end of file diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs index 2ec9284..97904b6 100644 --- a/src/Bro.M071.Process/UI/M071_MainForm.cs +++ b/src/Bro.M071.Process/UI/M071_MainForm.cs @@ -12,7 +12,7 @@ namespace Bro.M071.Process.UI { - [MenuNode("M071_MainForm", "閿洏妫�娴嬩富鐣岄潰", 3, "M071Node", true)] + [MenuNode("M071_MainForm", "杩愯鐣岄潰", 1, "M071Node", true)] public partial class M071_MainForm : MenuFrmBase { Canvas cvImage = new Canvas(); @@ -26,7 +26,7 @@ tsmiShowStatusBar.Checked = cvImage.IsShowStatusBar = false; tsmiShowToolBar.Checked = cvImage.IsShowToolBar = false; cvImage.Dock = DockStyle.Fill; - this.Controls.Add(cvImage); + plImage.Controls.Add(cvImage); tscEditLocation.Visible = tsmiShowEditor.Checked = false; } @@ -66,17 +66,14 @@ item.Tag = u.Id; lvMeasures.Items.Add(item); }); - } - - private void lvMeasures_SelectedIndexChanged(object sender, EventArgs e) - { - if (lvMeasures.SelectedItems.Count <= 0) - return; - var ele = cvImage.Elements.FirstOrDefault(u => u.ID == lvMeasures.SelectedItems[0].Tag.ToString()); - propGridKeyIndicator.SelectedObject = ele; + txtBarcode.ReadOnly = Config.IsBarcodeManulInputBlocked; + + (Process as M071Process).OnClearBarcode -= M071_MainForm_OnClearBarcode; + (Process as M071Process).OnClearBarcode += M071_MainForm_OnClearBarcode; } + #region 鍥剧墖鍖哄彸閿彍鍗� private void tsmiShowToolBar_CheckedChanged(object sender, EventArgs e) { cvImage.IsShowToolBar = tsmiShowToolBar.Checked; @@ -90,6 +87,18 @@ private void tsmiShowEditor_CheckedChanged(object sender, EventArgs e) { tscEditLocation.Visible = tsmiShowEditor.Checked; + tscEditLocation.BringToFront(); + } + #endregion + + #region 鏍囩缂栬緫鍖� + private void lvMeasures_SelectedIndexChanged(object sender, EventArgs e) + { + if (lvMeasures.SelectedItems.Count <= 0) + return; + + var ele = cvImage.Elements.FirstOrDefault(u => u.ID == lvMeasures.SelectedItems[0].Tag.ToString()); + propGridKeyIndicator.SelectedObject = ele; } private void btnCancelEdit_Click(object sender, EventArgs e) @@ -125,5 +134,39 @@ MessageBox.Show("鏍囩淇敼瀹屾垚"); } + #endregion + + #region 涓婃柟鐘舵�佸尯 + + #region 鏉$爜 + string _barcode = ""; + private void M071_MainForm_KeyUp(object sender, KeyEventArgs e) + { + string keyStr = e.KeyCode.ToString(); + if (keyStr.Length == 1) + { + _barcode += keyStr.ToUpper(); + } + + if (e.KeyValue == 13) + { + txtBarcode.Text = _barcode; + _barcode = ""; + } + } + + private void txtBarcode_TextChanged(object sender, EventArgs e) + { + (Process as M071Process).BarCode = txtBarcode.Text.Trim(); + } + + private void M071_MainForm_OnClearBarcode() + { + txtBarcode.BeginInvoke(new Action(() => txtBarcode.Clear())); + } + #endregion + + #endregion + } } diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs new file mode 100644 index 0000000..6ed449b --- /dev/null +++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.Designer.cs @@ -0,0 +1,39 @@ +锘縩amespace Bro.M071.Process.UI +{ + partial class M071_ShortcutFrm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Text = "M071_ShortcutFrm"; + } + + #endregion + } +} \ No newline at end of file diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs new file mode 100644 index 0000000..245d16d --- /dev/null +++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs @@ -0,0 +1,22 @@ +锘縰sing Bro.UI.Model.Winform; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Bro.M071.Process.UI +{ + [MenuNode("M071_ShortcutFrm", "蹇嵎鎿嶄綔", 2, "M071Node", true)] + public partial class M071_ShortcutFrm : MenuFrmBase + { + public M071_ShortcutFrm() + { + InitializeComponent(); + } + } +} diff --git a/src/Bro.UI.Config/MainFrm.Designer.cs b/src/Bro.UI.Config/MainFrm.Designer.cs index 86203a8..925f0ff 100644 --- a/src/Bro.UI.Config/MainFrm.Designer.cs +++ b/src/Bro.UI.Config/MainFrm.Designer.cs @@ -197,6 +197,7 @@ this.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(134))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.IsMdiContainer = true; + this.KeyPreview = true; this.MainMenuStrip = this.menuMain; this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.Name = "MainFrm"; diff --git a/src/Bro.UI.Config/MainFrm.cs b/src/Bro.UI.Config/MainFrm.cs index a3b3e18..e7940f5 100644 --- a/src/Bro.UI.Config/MainFrm.cs +++ b/src/Bro.UI.Config/MainFrm.cs @@ -32,7 +32,7 @@ VisualStudioToolStripExtender extender = new VisualStudioToolStripExtender(); extender.SetStyle(menuMain, VisualStudioToolStripExtender.VsVersion.Vs2015, theme); - + InitialMenu(MenuFormFactory.MenuFrmTypeDict, ""); //MenuFormFactory.MenuFrmTypeDict.ToList().ForEach(t => @@ -491,15 +491,18 @@ private void Device_OnDeviceStateChanged(IDevice device, EnumHelper.DeviceState currentState) { - for (int i = 1; i < ststripDevices.Items.Count; i++) + ststripDevices.BeginInvoke(new Action(() => { - if ((ststripDevices.Items[i].Tag as IDevice)?.Id == device.Id) + for (int i = 1; i < ststripDevices.Items.Count; i++) { - ststripDevices.Items[i].BackColor = currentState.GetEnumSelectedColor(); - ststripDevices.Items[i].ForeColor = currentState.GetEnumSelectedFontColor(); - break; + if ((ststripDevices.Items[i].Tag as IDevice)?.Id == device.Id) + { + ststripDevices.Items[i].BackColor = currentState.GetEnumSelectedColor(); + ststripDevices.Items[i].ForeColor = currentState.GetEnumSelectedFontColor(); + break; + } } - } + })); } #endregion diff --git a/src/Bro.UI.Config/MenuForms/FrmConfig.cs b/src/Bro.UI.Config/MenuForms/FrmConfig.cs index ef01a46..b58f66c 100644 --- a/src/Bro.UI.Config/MenuForms/FrmConfig.cs +++ b/src/Bro.UI.Config/MenuForms/FrmConfig.cs @@ -53,7 +53,7 @@ private void buttonCreateConfig_Click(object sender, EventArgs e) { - string pCode = Interaction.InputBox("璇疯緭鍏ヤ骇鍝佺紪鐮�", "浜у搧缂栫爜","",0,0); + string pCode = Interaction.InputBox("璇疯緭鍏ヤ骇鍝佺紪鐮�", "浜у搧缂栫爜", "", 0, 0); if (string.IsNullOrWhiteSpace(pCode)) { MessageBox.Show("璇疯緭鍏ヤ骇鍝佺紪鐮侊紒"); diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.cs index 891d678..025c4fb 100644 --- a/src/Bro.UI.Config/MenuForms/FrmOperation.cs +++ b/src/Bro.UI.Config/MenuForms/FrmOperation.cs @@ -140,7 +140,7 @@ } bool isStart = true; - private void btnStart_Click(object sender, System.EventArgs e) + private async void btnStart_Click(object sender, System.EventArgs e) { if (Process == null) { @@ -157,11 +157,11 @@ //if (Process.ProcessState != EnumHelper.DeviceState.DSOpen) if (isStart) { - ProcessOperation(true); + await ProcessOperation(true); } else { - ProcessOperation(false); + await ProcessOperation(false); } isStart = !isStart; @@ -172,7 +172,8 @@ } finally { - this.BeginInvoke(new Action(() => btnStart.Enabled = true)); + //this.BeginInvoke(new Action(() => btnStart.Enabled = true)); + btnStart.Enabled = true; } //}); } @@ -255,11 +256,11 @@ // } //} - private void ProcessOperation(bool isStart) + private async Task ProcessOperation(bool isStart) { if (isStart) { - Process.Open(); + await Task.Run(() => Process.Open()); //this.BeginInvoke(new Action(() => //{ @@ -273,7 +274,7 @@ } else { - Process.Close(); + await Task.Run(() => Process.Close()); //this.BeginInvoke(new Action(() => //{ diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.resx b/src/Bro.UI.Config/MenuForms/FrmOperation.resx index 28530b7..b406f47 100644 --- a/src/Bro.UI.Config/MenuForms/FrmOperation.resx +++ b/src/Bro.UI.Config/MenuForms/FrmOperation.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm - CgAAAk1TRnQBSQFMAgEBAgEAAdgBAAHYAQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CgAAAk1TRnQBSQFMAgEBAgEAAeABAAHgAQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABYAMAARgDAAEBAQABCAYAAQkYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -182,7 +182,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD4 - CAAAAk1TRnQBSQFMAwEBAAHYAQAB2AEAARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA + CAAAAk1TRnQBSQFMAwEBAAHgAQAB4AEAARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA AWADAAEYAwABAQEAAQgGAAEJGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs index 2b8d8dd..0552bb9 100644 --- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs +++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardOperationBase.cs @@ -52,18 +52,18 @@ private void RadioButton_CheckedChanged(object sender, EventArgs e) { //鍔犺浇瀵瑰簲杩愬姩鐨� movingConfig - if (radioP2P.Checked) - { - movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Normal); - } - else if (radioJog.Checked) - { - movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Jog); - } - else if (radioGoHome.Checked) - { - movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.FindOri); - } + //if (radioP2P.Checked) + //{ + // movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Normal); + //} + //else if (radioJog.Checked) + //{ + // movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.Jog); + //} + //else if (radioGoHome.Checked) + //{ + // movingConfig = MotionCardOperationConfig.MovingOps.FirstOrDefault(u => u.MoveMode == EnumHelper.MotorMoveMode.FindOri); + //} propGrid.SelectedObject = movingConfig; } -- Gitblit v1.8.0