src/Bro.M071.Process/M071Process.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.M071.Process/M071Process_MotionCard.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.M071.Process/Properties/AssemblyInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.M071.Process/UI/M071_MainForm.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.Process/ProcessControl.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/Bro.M071.Process/M071Process.cs
@@ -48,6 +48,7 @@ public event Action<IShapeElement> OnElementUpdated; public event Action<MachineState> OnMachineStateChanged; public event Action OnFullResetDone; public event Action OnResetDone; #endregion string _precision = "f3"; @@ -197,6 +198,8 @@ object productionLock = new object(); List<ProductionMeasurement> productionList = new List<ProductionMeasurement>(); bool _isdoing = false; [ProcessMethod("", "StartJob", "开始扫描", InvokeType.TestInvoke)] [MethodImpl(MethodImplOptions.Synchronized)] public ProcessResponse StartJob(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) @@ -207,6 +210,7 @@ } string hint = ""; //if (MachineState != MachineState.Ready) //{ // hint = "机台未就绪,请勿开始测量"; @@ -221,6 +225,8 @@ OnCheckHintUpload?.Invoke(hint, true); throw new ProcessException(hint); } _isdoing = true; MachineState = MachineState.Running; @@ -317,6 +323,7 @@ }); LogAsync(DateTime.Now, $"{pMeasure.Barcode}测量动作完成", ""); _isdoing = false; GC.Collect(0, GCCollectionMode.Optimized); @@ -330,8 +337,11 @@ get => isLeftStart; set { if (IsLeftStart != value) { isLeftStart = value; StartCheck(); } } } @@ -341,8 +351,11 @@ get => isRightStart; set { if (isRightStart != value) { isRightStart = value; StartCheck(); } } } @@ -350,6 +363,11 @@ { if (isRightStart && isLeftStart) { if (_isdoing) { OnCheckHintUpload?.Invoke("设备运行中", false); return; } StartJob(null, null, null); } } src/Bro.M071.Process/M071Process_MotionCard.cs
@@ -7,6 +7,7 @@ using System.ComponentModel; using System.Drawing.Design; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -34,6 +35,8 @@ Task.Run(() => { OnMachineStateChanged?.Invoke(machineState); switch (machineState) { case MachineState.Ready: @@ -124,8 +127,6 @@ break; } }); OnMachineStateChanged?.Invoke(machineState); } } @@ -248,7 +249,9 @@ MotionCardDefaultRun("Reset", ref opConfig, ref invokeDevice); (invokeDevice as MotionCardBase).ResetAlarm(); _isdoing = false; RaisedAlarm(""); OnCheckHintUpload?.Invoke("", false); //if (MachineState != MachineState.Pause) //{ @@ -268,6 +271,7 @@ } LogAsync(DateTime.Now, "普通复位动作完成", ""); OnResetDone?.Invoke(); return new ProcessResponse(true); } @@ -646,9 +650,12 @@ ManualResetEventSlim _pausedHandle = new ManualResetEventSlim(true); MachineState _machineStateBeforePause = MachineState.Unknown; private void CheckMachinePauseState() object _pauseLock = new object(); private async void CheckMachinePauseState() { //await Task.Run(() => await Task.Run(() => { lock (_pauseLock) { if (IsMachinePaused) { @@ -668,7 +675,7 @@ { if (MachineState == MachineState.Pause) { if (_machineStateBeforePause == MachineState.Running) if (_machineStateBeforePause == MachineState.Running || _machineStateBeforePause == MachineState.Ready) { Resume(true); } @@ -678,7 +685,8 @@ } } } //); } ); } public bool IsMachinePaused @@ -687,6 +695,7 @@ } [ProcessMethod("", "SafetyDoorSignal", "安全门信号监控,正常ON,OFF时报警", InvokeType.TestInvoke)] [MethodImpl(MethodImplOptions.Synchronized)] public ProcessResponse SafetyDoorSignal(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { //if (MachineState != MachineState.Running && MachineState != MachineState.Pause) @@ -706,6 +715,7 @@ } [ProcessMethod("", "SafetyBeamSignal", "安全光幕信号监控,正常ON,OFF时报警", InvokeType.TestInvoke)] [MethodImpl(MethodImplOptions.Synchronized)] public ProcessResponse SafetyBeamSignal(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { if (opConfig.InputPara == null || opConfig.InputPara.Count == 0) src/Bro.M071.Process/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.3.0")] [assembly: AssemblyFileVersion("1.0.3.0")] [assembly: AssemblyVersion("1.0.4.1")] [assembly: AssemblyFileVersion("1.0.4.1")] src/Bro.M071.Process/UI/M071_MainForm.cs
@@ -119,6 +119,9 @@ Process_M071.OnFullResetDone -= Process_M071_FullResetDone; Process_M071.OnFullResetDone += Process_M071_FullResetDone; Process_M071.OnResetDone -= Process_M071_ResetDone; Process_M071.OnResetDone += Process_M071_ResetDone; Config.PropertyChanged -= Config_PropertyChanged; Config.PropertyChanged += Config_PropertyChanged; @@ -129,6 +132,14 @@ Process_M071.OnOperatorLogin = OnOperatorLogin; } private void Process_M071_ResetDone() { lblCT.BeginInvoke(new Action(() => { lblCT.Text = ""; })); } private void Config_PropertyChanged(object sender, PropertyChangedEventArgs e) { txtBarcode.Enabled = !Config.IsBarcodeManualInputBlocked; src/Bro.Process/ProcessControl.cs
@@ -732,9 +732,12 @@ OnAlarmUpdate?.BeginInvoke(alarmMsg, null, null); } public virtual void RaisedAlarm(string alarmMsg) public async virtual void RaisedAlarm(string alarmMsg) { await Task.Run(() => { OnAlarmUpdate?.Invoke(alarmMsg); }); } #endregion