src/Bro.Device.Gocator/GocatorDriver.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.M071.Process/M071Process.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.M071.Process/M071Process_MES.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/Bro.M071.Process/M071Process_MotionCard.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/Bro.Device.Gocator/GocatorDriver.cs
@@ -269,6 +269,8 @@ GoDataSet dataSet = null; if (IIConfig.IsAsyncMode) { if (opConfig.IsSnapshotAction) { if (!IIConfig.IsHardwareTrigger) { _snapFlag = true; @@ -279,6 +281,11 @@ } dataSet = _currentData; } } else { imgSet = null; } } else @@ -342,12 +349,12 @@ Thread.Sleep(100); } } while (true); sensor.Flush(); LogAsync(DateTime.Now, $"传感器关闭成功", ""); } } sensor.Flush(); if (dataSet != null) { HandleGoData(dataSet, imgSet); src/Bro.M071.Process/M071Process.cs
@@ -199,9 +199,9 @@ List<ProductionMeasurement> productionList = new List<ProductionMeasurement>(); bool _isdoing = false; object _doingLock = new object(); [ProcessMethod("", "StartJob", "开始扫描", InvokeType.TestInvoke)] [MethodImpl(MethodImplOptions.Synchronized)] public ProcessResponse StartJob(IOperationConfig opConfig, IDevice invokeDevice, IDevice sourceDevice) { if (!IsAllowedWork) @@ -226,7 +226,16 @@ throw new ProcessException(hint); } lock (_doingLock) { if (_isdoing) { LogAsync(DateTime.Now, "设备正在运行中", ""); return new ProcessResponse(true); } _isdoing = true; } MachineState = MachineState.Running; @@ -272,6 +281,8 @@ pMeasure.InitialMeasurementsPropertyChanged(); pMeasure.PropertyChanged += MeasureProduction_PropertyChanged; try { Config.SnapshotPointCollection.Where(u => u.IsEnabled).ToList().ForEach(s => { _pausedHandle.Wait(); @@ -321,26 +332,42 @@ RunImageHandle(s.CameraOp.OpConfig, set, s.Id, s.Name, pMeasure.Measurements); }); } catch (Exception ex) { throw ex; } finally { LogAsync(DateTime.Now, $"{pMeasure.Barcode}测量动作完成", ""); _isdoing = false; GC.Collect(0, GCCollectionMode.Optimized); } return new ProcessResponse(true); } #region 双手启动 object _leftStartLock = new object(); object _rightStartLock = new object(); bool isLeftStart = false; bool IsLeftStart { get => isLeftStart; set { if (isLeftStart != value) { lock (_leftStartLock) { if (IsLeftStart != value) { isLeftStart = value; StartCheck(); } } } } } @@ -353,14 +380,21 @@ { if (isRightStart != value) { lock (_rightStartLock) { if (isRightStart != value) { isRightStart = value; StartCheck(); } } } } } private void StartCheck() { if (isRightStart && isLeftStart) { if (_isdoing) src/Bro.M071.Process/M071Process_MES.cs
@@ -207,7 +207,7 @@ if (Config.IsEnableMESLog) { LogAsync(DateTime.Now, $"{barcode}产品检测数据上传", JsonConvert.SerializeObject(paras)); LogAsync(DateTime.Now, $"{pMeasure.Barcode}产品检测数据上传", JsonConvert.SerializeObject(paras)); } var result = DataUploadMethod?.Invoke(DataUploadObj, paras).ToString(); src/Bro.M071.Process/M071Process_MotionCard.cs
@@ -250,6 +250,8 @@ (invokeDevice as MotionCardBase).ResetAlarm(); _isdoing = false; _pausedHandle.Set(); RaisedAlarm(""); OnCheckHintUpload?.Invoke("", false);