| | |
| | | using HalconDotNet; |
| | | using LB_SmartVision.Forms.Pages.SettingPage; |
| | | using LB_SmartVision.ProcessRun; |
| | | using LB_VisionControl; |
| | | using Layout = LB_SmartVision.Forms.Pages.SettingPage.Layout; |
| | | |
| | | |
| | | namespace LB_SmartVision.Forms.Pages.ProcessPage |
| | | { |
| | |
| | | |
| | | if (ProcessRunBll != null) |
| | | this.label1.Text = $"总数:{ProcessRunBll.total}"; |
| | | this.isClosed = false ; |
| | | var TaskPhotoContinue = Task.Factory.StartNew(() => |
| | | { |
| | | ThreadCircleRun(); |
| | | }); |
| | | } |
| | | |
| | | public void SetTitle(string title) |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (isCircleRuning || ProcessRunBll.bPruning) |
| | | if (isCircleRuning || ProcessRunBll.bRuning) |
| | | ProcessRunBll.LogInfo($"{ProcessRunBll.Name}正在运行", LogInfoType.ERROR); |
| | | |
| | | ProcessRunBll.Run(); |
| | |
| | | |
| | | if (isCircleRuning) |
| | | { |
| | | threadCircleRun = new Thread(ThreadCircleRun); |
| | | threadCircleRun.IsBackground = true; |
| | | threadCircleRun.Start(); |
| | | this.mAutoResetEvent.Set(); |
| | | } |
| | | else |
| | | { |
| | | isCircleRuning = false; |
| | | threadCircleRun.Abort(); |
| | | } |
| | | if (!isCircleRuning) |
| | | { |
| | | ProcessRunBll.LogInfo($"{ProcessRunBll.Name}关闭连续运行", LogInfoType.PASS); |
| | | return; |
| | | } |
| | | |
| | | ProcessRunBll.LogInfo($"{ProcessRunBll.Name}开启连续运行", LogInfoType.WARN); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | Thread threadCircleRun = null; |
| | | private AutoResetEvent mAutoResetEvent = new AutoResetEvent(false); |
| | | bool isClosed = false; |
| | | |
| | | void ThreadCircleRun() |
| | | { |
| | | if (!isCircleRuning) |
| | | while (!isClosed) |
| | | { |
| | | ProcessRunBll.LogInfo($"{ProcessRunBll.Name}关闭连续运行", LogInfoType.PASS); |
| | | return; |
| | | } |
| | | |
| | | ProcessRunBll.LogInfo($"{ProcessRunBll.Name}开启连续运行", LogInfoType.WARN); |
| | | |
| | | while (isCircleRuning) |
| | | { |
| | | //this.BeginInvoke(new Action(() => |
| | | //{ |
| | | try |
| | | { |
| | | if (isCircleRuning == false) |
| | | { |
| | | this.mAutoResetEvent.WaitOne(); |
| | | } |
| | | |
| | | ProcessRunBll.LogInfo($"{ProcessRunBll.Name}开始运行", LogInfoType.WARN); |
| | | ClearObj(); |
| | | bool result = ProcessRunBll.Run(); |
| | |
| | | ShowHoImage(RecordImage); |
| | | } |
| | | catch { } |
| | | //})); |
| | | |
| | | Thread.Sleep(100); |
| | | Thread.Sleep(33); |
| | | } |
| | | } |
| | | |