private void CalNz(Nozzle nz, string funcName, VisionImage image) { if (this.machine.RunData.RUN_NzData[nz].State == NZ_State.Sucked) { // 移动完成开始拍照 var item = new Tool.ResultItem(); if (nz == Nozzle.Nz1 || nz == Nozzle.Nz2) { item.Camera = Camera.Bottom1; } else { item.Camera = Camera.Bottom2; } int offset = 0; if (nz == Nozzle.Nz2 || nz == Nozzle.Nz4) { offset = 800; } item.Key = ResultKey.DownVision; item.ROI = this.machine.MachineEntiy.MachineConfig[nz].ViewRoi; item.NZIndex = nz; item.funcName = funcName; item.PCBIndex = this.machine.RunData.RUN_NzData[nz].PCBIndex; item.PCSIndex = this.machine.RunData.RUN_NzData[nz].PCSIndex; item.CaptruePos = this.entiy.MachineConfig[Nozzle.Nz1].RotateCamPoint; VisionCalHelper.Instance.VisionDetect(entiy.Module, item, image, offset); } }
/// <summary> /// 移动结束后拍照 /// </summary> /// <param name="param"></param> public override void MoveXYRFinished(MoveParam param) { if (this.machine.PCBReach) { if (this.MarkIndex == 0 && this.PCBIndex == 0) { Thread.Sleep(SystemConfig.Instance.General.ReachAfterDelay); } // 拍照等待 Thread.Sleep(SystemConfig.Instance.General.UpCamDelay); var item = new Tool.ResultItem(); item.Camera = Camera.Top; item.funcName = this.markParam.VisionName; item.CaptruePos = this.markParam.Pos; VisionImage image = entiy.GrabImage(Camera.Top); item.Key = ResultKey.Mark; item.PCBIndex = PCBIndex; item.PCSIndex = MarkIndex; item.Mark = this.machine.Program.PasteInfos[PCBIndex].MarkPtList[MarkIndex].MarkID; VisionCalHelper.Instance.VisionDetect(entiy.Module, item, image); VisionCalHelper.Instance.ImageShow(this.entiy.Module, Camera.Top, image); MarkIndex++; base.MoveXYRFinished(param); } }
public override void MoveZFinished(MoveParam param) { var item = new Tool.ResultItem(); item.Camera = Camera.Top; item.funcName = this.codeParam.VisionName; item.CaptruePos = this.codeParam.Pos; var image = entiy.GrabImage(Camera.Top); item.Key = ResultKey.PCSCode; item.PCBIndex = PCBIndex; item.PCSIndex = CodeIndex; VisionCalHelper.Instance.VisionDetect(entiy.Module, item, image); VisionCalHelper.Instance.ImageShow(this.entiy.Module, Camera.Top, image); base.MoveZFinished(param); }
public override void MoveXYRFinished(MoveParam param) { // 拍照等待 Thread.Sleep(SystemConfig.Instance.General.UpCamDelay); if (SystemConfig.Instance.General.RunMode == RunMode.TestRun) { this.BadmarkIndex++; } else { var item = new Tool.ResultItem(); item.Camera = Camera.Top; item.funcName = this.badmark.VisionName; item.CaptruePos = this.badmark.Pos; VisionImage image = entiy.GrabImage(Camera.Top); item.Key = ResultKey.Badmark; item.PCBIndex = PCBIndex; item.PCSIndex = BadmarkIndex; VisionCalHelper.Instance.ImageShow(this.entiy.Module, Camera.Top, image); VisionCalHelper.Instance.VisionDetect(entiy.Module, item, image); } base.MoveXYRFinished(param); }