Пример #1
0
        public VisionJob()
        {
            toolBlockEdit = new CogToolBlockEditV2();
            toolGroupEdit = new CogToolGroupEditV2();

            // Temp hiển thị tool Imagefile Select
            imageFileTool         = new CogImageFileTool();
            imageFileEdit         = new CogImageFileEditV2();
            imageFileEdit.Subject = imageFileTool;

            // Thiết lập Camera đầu vào
            acqFifoTool         = new CogAcqFifoEditV2();
            acqFifoTool.Subject = new CogAcqFifoTool();


            // Load thư viện ảnh mặc định
            cogDisplayMain = new CogDisplay();
            ImageFileTool.Operator.Open(@"C:\Program Files\Cognex\VisionPro\Images\CheckCal.idb", CogImageFileModeConstants.Read);

            // Link ảnh đầu ra với ảnh đầu vào
            // Tắt tạm thời ảnh vào từ Imagefile
            // Load ảnh trực tiếp từ Camera
            //cogDisplayMain.DataBindings.Add("Image", ImageFileTool, "OutputImage", true);
            cogDisplayMain.DataBindings.Add("Image", AcqFifoTool.Subject, "OutputImage", true);

            // Tool Align
            pmAlignTool         = new CogPMAlignEditV2();
            pmAlignTool.Subject = new CogPMAlignTool();
            //pmAlignTool.Subject.DataBindings.Add("InputImage", ImageFileTool, "OutputImage");
            pmAlignTool.Subject.DataBindings.Add("InputImage", AcqFifoTool.Subject, "OutputImage");

            // Cấu hình Tool Calib
            calibGribCBTool         = new CogCalibCheckerboardEditV2();
            calibGribCBTool.Subject = new CogCalibCheckerboardTool();
            // Sửa đầu vào Tool Calib
            //calibGribCBTool.Subject.DataBindings.Add("InputImage", ImageFileTool, "OutputImage");
            calibGribCBTool.Subject.DataBindings.Add("InputImage", AcqFifoTool.Subject, "OutputImage");

            calibGribCBTool.Subject.Calibration.Changed += UpdateCalibImage;
            pmAlignTool.SubjectChanged     += UpdateCalibImage;
            calibGribCBTool.SubjectChanged += UpdateImageSource;

            //
        }
        static StationToolBlockEdit()
        {
            var db       = DbScheme.GetConnection("Main");
            int ccdCount = db.ExecuteScalar <int>("select data from UiParams where name = ?", "CcdCount");

            Panels      = new Dictionary <string, Panel> [ccdCount];
            EditWindows = new CogToolBlockEditV2[ccdCount];

            for (int i = 0; i < ccdCount; i++)
            {
                Panels[i]      = new Dictionary <string, Panel>();
                EditWindows[i] = new CogToolBlockEditV2();
                var tp = MyTabs["Vpp", i];
                Panels[i]["Main"]   = new Panel();
                EditWindows[i]      = new CogToolBlockEditV2();
                EditWindows[i].Dock = DockStyle.Fill;
                Panels[i]["Main"].Controls.Add(EditWindows[i]);

                tp.Controls.Add(Panels[i]["Main"]);
                int width = tp.Width;
                Panels[i]["Main"].Location = new Point(0, 0);
                Panels[i]["Main"].Size     = new Size(width, tp.Height - 60);
                Panels[i]["Main"].Tag      = "Main";

                Panels[i]["Aux"] = new Panel();
                tp.Controls.Add(Panels[i]["Aux"]);
                Panels[i]["Aux"].Location = new Point(0, Panels[i]["Main"].Bottom);
                Panels[i]["Aux"].Size     = new Size(width, 60);
                Panels[i]["Aux"].Tag      = "Aux";
            }

            Stations = new Dictionary <int, StationToolBlockEdit>();
            for (int i = 0; i < ccdCount; i++)
            {
                Stations[i] = new StationToolBlockEdit(i);
            }
        }