Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }