public void SetupToolGroupEditSubject(CogToolGroup tool) { for (int i = 0; i < FormMain.camNumber; i++) { acqFifoEditV2[i].Subject = (CogAcqFifoTool)tool.Tools[i]; } }
private void DisposeToolGroup() { if (CogToolGroup != null) { CogToolGroup = null; } }
public bool LoadVpp(string strVppName) // load vpp file { try { m_cogtgType = CogSerializer.LoadObjectFromFile(strVppName) as Cognex.VisionPro.ToolGroup.CogToolGroup; // 2016.06.20 //#if !_USE_1Camera #if (!_USE_BASLER_PYLON && !_USE_IMAGING_CONTROL && !_USE_FLIR && !_USE_1Camera) //** 2015.10.02 by kdi string strFolderName = Path.GetDirectoryName(strVppName); string strOnlyFileName = Path.GetFileNameWithoutExtension(strVppName); string strExtName = Path.GetExtension(strVppName); string strAcqVppName = strFolderName + "\\" + strOnlyFileName + "_CAM" + strExtName; m_cogtgType_Acq = CogSerializer.LoadObjectFromFile(strAcqVppName) as Cognex.VisionPro.ToolGroup.CogToolGroup; //*/ #endif return(true); } catch { // 2014.07.15 AUtil.TopMostMessageBox.Show(strVppName + " File Load Error!"); return(false); } }
private void ImportToolsFromVppFile(string filePath) { CogToolGroup newToolGroup = CogSerializer.LoadObjectFromFile(filePath) as CogToolGroup; if (newToolGroup != null) { // It is a tool group foreach (ICogTool cogTool in newToolGroup.Tools) { _cognexJob.CogToolGroup.Tools.Add(cogTool); } } else { ICogTool cogTool = CogSerializer.LoadObjectFromFile(filePath) as ICogTool; if (cogTool != null) { // It is a tool _cognexJob.CogToolGroup.Tools.Add(cogTool); } else { // It is even not a tool group, probably a job //throw new VisionSystemException("Unknown file format. Currently we accept only toolgroup and tool file"); } } _toolGroupEdit.Refresh(); }
/// <summary> /// Reload the vision tool /// </summary> public override void LoadVisionFile() { DisposeToolGroup(); if (string.IsNullOrEmpty(VisionFile)) { VisionFile = this.UniqueNames[1]; } if (!VisionFile.Contains('\\')) { VisionFile = String.Format(@"{0}{1}.vpp", VisionFilesRootPath, VisionFile); } if (File.Exists(VisionFile)) { // Load it try { CogToolGroup = CogSerializer.LoadObjectFromFile(VisionFile) as CogToolGroup; } catch (Exception ex) { U.LogPopup(ex, "Vision File load error"); } } else { CogToolGroup = new CogToolGroup(); } //_cogToolGroup.Ran += new EventHandler(OnRunComplete); }
/// <summary> /// Handles a click to the Retrain Button, when clicked the PMAlignTool /// will retrain its pattern. The new trained pattern will reflect any /// changes made to the train image record in the CogRecordDisplay. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RetrainButton_Click(object sender, EventArgs e) { CogToolGroup myTG = myJob.VisionTool as CogToolGroup; CogPMAlignTool myPMTool = myTG.Tools["CogPMAlignTool1"] as CogPMAlignTool; myPMTool.Pattern.Train(); }
/// <summary> /// This handles a click to the Show Train Image button. /// It allows the user to view train image record the pattern was /// trained off of and also enable the Retrain button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ShowTrainCheckBox_CheckedChanged( object sender, EventArgs e) { if (this.ShowTrainCheckBox.Checked) { RunOnceButton.Enabled = false; RunContCheckBox.Enabled = false; RetrainButton.Enabled = true; CogToolGroup myTG = myJob.VisionTool as CogToolGroup; CogPMAlignTool myPMTool = myTG.Tools["CogPMAlignTool1"] as CogPMAlignTool; Cognex.VisionPro.ICogRecord tmpRecord; tmpRecord = myPMTool.CreateCurrentRecord(); tmpRecord = tmpRecord.SubRecords["TrainImage"]; cogRecordDisplay1.Record = tmpRecord; cogRecordDisplay1.Fit(true); RunStatusTextBox.Text = ""; } else { RunOnceButton.Enabled = true; RunContCheckBox.Enabled = true; RetrainButton.Enabled = false; cogRecordDisplay1.Record = null; } }
// Perform any initialization required by your script here public override void Initialize(CogToolGroup host) { // DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE base.Initialize(host); //Define the terminals toolGroup.DefineScriptTerminal("System.Collections.ArrayList", "BlobCollection", false); toolGroup.DefineScriptTerminal("Boolean", disableHist, "DisableHistogramInspection", true); toolGroup.DefineScriptTerminal("double", minPickAngle, "MinPickAngle", true); toolGroup.DefineScriptTerminal("double", maxPickAngle, "MaxPickAngle", true); toolGroup.DefineScriptTerminal("double", minPopsicleHistCount, "MinPopsicleHistCount", true); toolGroup.DefineScriptTerminal("Boolean", VisStudio_Running, "VS_Running", true); toolGroup.DefineScriptTerminal("Boolean", showArea, "ShowArea", true); toolGroup.DefineScriptTerminal("Boolean", showHist, "ShowHistCount", true); toolGroup.DefineScriptTerminal("double", visSideXLength, "VisSideXLength", true); toolGroup.DefineScriptTerminal("double", visSideYLength, "VisSideYLength", true); toolGroup.DefineScriptTerminal("double", visFlirRegionXadj, "VisFlirRegionXadj", true); toolGroup.DefineScriptTerminal("double", visFlirRegionYadj, "VisFlirRegionYadj", true); toolGroup.DefineScriptTerminal("Int32", angleFailures, "AngleFailures", false); toolGroup.DefineScriptTerminal("Int32", thermalFailures, "ThermalFailures", false); toolGroup.DefineScriptTerminal("String", "", "BaslerStatus", false); toolGroup.DefineScriptTerminal("String", "", "FlirStatus", false); //Set the default values for the terminals toolGroup.SetScriptTerminalData("DisableHistogramInspection", false); toolGroup.SetScriptTerminalData("VS_Running", false); toolGroup.SetScriptTerminalData("ShowArea", false); toolGroup.SetScriptTerminalData("ShowHistCount", false); }
private bool GetImage(string pathin) { myToolGroup = (CogToolGroup)(myJobManager.Job(0).VisionTool); myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]); myImageFile.Operator.Open(pathin, CogImageFileModeConstants.Read); Imagein = new Bitmap(pathin); myImageFile.InputImage = new CogImage8Grey(Imagein); myImageFile.Run(); return(true); }
private bool GetImage2(string pathin) { try { myToolGroup2 = (CogToolGroup)(myJobManager2.Job(0).VisionTool); myImageFile2 = (CogImageFileTool)(myToolGroup2.Tools["CogImageFileTool1"]); myImageFile2.Operator.Open(pathin, CogImageFileModeConstants.Read); Imagein2 = new Bitmap(pathin); myImageFile2.InputImage = new CogImage8Grey(Imagein2); myImageFile2.Run(); } catch{} }
private void GetImage0(string pathin) { try { myToolGroup0 = (CogToolGroup)(myJobManager0.Job(0).VisionTool); myImageFile0 = (CogImageFileTool)(myToolGroup0.Tools["CogImageFileTool1"]); myImageFile0.Operator.Open(pathin, CogImageFileModeConstants.Read); Imagein0 = new Bitmap(pathin); myImageFile0.InputImage = new CogImage8Grey(Imagein0); myImageFile0.Run(); } catch{} }
public APMAligns(CogToolGroup cogtg) { m_cogtg = cogtg; if (m_cogtg != null) { for (int i = 0; i < m_cogtg.Tools.Count; ++i) { m_aPMAlign = new APMAlign(m_cogtg.Tools[i]); m_lstAPMAlign.Add(m_aPMAlign); } } }
//ABB private void myImgComplete4(object sender, CogCompleteEventArgs e) //定义ABB的相机 { CogToolBlock myToolBlock; CogToolBlock myRunToolblock3; //= myToolBlock.Tools("MyToolBlock3") int numReadyVal = 0; int numPendingVal = 0; bool busyVal = false; CogToolGroup myTG = (CogToolGroup)myJob.VisionTool; myToolBlock = (CogToolBlock)myTG.Tools["AcquireImageAndProcessLeft"]; myRunToolblock3 = (CogToolBlock)myToolBlock.Tools["MyToolBlock3"]; CogAcqInfo info = new CogAcqInfo(); ICogImage CurrentImage = default(ICogImage); // static int numAcqs = 0; try { AcqFifoTool4.Operator.GetFifoState(out numPendingVal, out numReadyVal, out busyVal); if (numReadyVal > 0) { CurrentImage = (ICogImage)(AcqFifoTool4.Operator.CompleteAcquireEx(info)); } else { //Throw New CogAcqAbnormalException("Ready count is not greater than 0.") } myImgComplete4_numAcqs++; // We need to run the garbage collector on occasion to cleanup // images that are no longer being used. if (myImgComplete4_numAcqs > 4) { GC.Collect(); myImgComplete4_numAcqs = 0; } ModuleCard.d1000_out_bit((short)10, (short)1); // Issue another acquisition request if we are in manual trigger mode. if (!ReferenceEquals(CurrentImage, null)) { myRunToolblock3.Inputs["Input2dImage"].Value = CurrentImage; myRunToolblock3.Run(); } // CogRecordDisplay1.Image = CurrentImage } catch (Exception) { } }
private void checkBoxShowHistCount_CheckedChanged(object sender, EventArgs e) { if (mcjmAcq == null) { MessageBox.Show("Unable to show Hist Count. Check that the camera is online.", "Warning!"); ((CheckBox)sender).Checked = false; return; } CogToolGroup lctg = (CogToolGroup)mcjmAcq.Job(mainForm.CogJobName).VisionTool; lctg.SetScriptTerminalData("ShowHistCount", checkBoxShowHistCount.Checked); runtimeParameters.VisShowHistCount = checkBoxShowHistCount.Checked; }
private bool GetImage3(string pathin) { try { myToolGroup3 = (CogToolGroup)(myJobManager3.Job(0).VisionTool); myImageFile3 = (CogImageFileTool)(myToolGroup3.Tools["CogImageFileTool1"]); myImageFile3.Operator.Open(pathin, CogImageFileModeConstants.Read); Imagein3 = new Bitmap(pathin); myImageFile3.InputImage = new CogImage8Grey(Imagein3); myImageFile3.Run(); return true; } catch { return false; } }
public AType(string strName, int nPointCount) { m_cogtgType = new CogToolGroup(); m_cogtgType.Name = strName; // 2016.06.20 //#if !_USE_1Camera #if (!_USE_BASLER_PYLON && !_USE_IMAGING_CONTROL && !_USE_FLIR && !_USE_1Camera) // 2015.10.02 by kdi m_cogtgType_Acq = new CogToolGroup(); m_cogtgType_Acq.Name = strName; #endif m_nPointCount = nPointCount; // 2014.11.04 m_bUse = false; Init(true); }
private bool GetImage(int numOfVpps, List <string> pathin) { if (null == pathin[numOfVpps]) { return(false); } else { myToolGroup = (CogToolGroup)(myJobManager[numOfVpps].Job(numOfVpps).VisionTool); myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]); myImageFile.Operator.Open(pathin[numOfVpps], CogImageFileModeConstants.Read); Imagein = new Bitmap(pathin[numOfVpps]); myImageFile.InputImage = new CogImage8Grey(Imagein); myImageFile.Run(); Imagein = null; } return(true); }
/// <summary> /// 获取图像 /// </summary> /// /// <param name="pathin">< 图片路径 ></param> /// /// <returns>< bool判定是否获取成功 ></returns> private bool GetImage(string pathin) { bool step1 = false; bool step2 = false; bool step3 = false; try { mTGTool = (CogToolGroup)(myJobManager.Job(0).VisionTool); step1 = true; } catch { step1 = false; } try { mIFTool = (CogImageFileTool)(mTGTool.Tools["CogImageFileTool1"]); mIFTool.Operator.Open(pathin, CogImageFileModeConstants.Read); step2 = true; } catch { step2 = false; } try { Imagein = new Bitmap(pathin); mIFTool.InputImage = new CogImage8Grey(Imagein); step3 = true; } catch { step3 = false; } if (step1 && step2 && step3) { return(true); } else { return(false); } }
private void setRelease(CogToolGroup toolGroup) { foreach (ICogTool tool in toolGroup.Tools) { if ((tmpToolGroup = (tool as CogToolGroup)) != null) { //Trace.WriteLine("Group:" + tmpToolGroup.Name); if (tmpToolGroup.Script != null && tmpToolGroup.Script.CompileDebug) { Trace.WriteLine("Change Script to Release: " + tmpToolGroup.Name); tmpToolGroup.Script.CompileDebug = false; } setRelease(tmpToolGroup); } else { //Trace.WriteLine(" Tool: " + tool.Name); } } }
/// <summary> /// 获取图像 /// </summary> /// /// <param name="pathin">< 图片路径 ></param> /// /// <returns>< bool判定是否获取成功 ></returns> private bool GetImage(string pathin) { bool step1 = false; bool step2 = false; bool step3 = false; try { mTGTool = (CogToolGroup)(myJobManager.Job(0).VisionTool); step1 = true; } catch { step1 = false; } try { mIFTool = (CogImageFileTool)(mTGTool.Tools["CogImageFileTool1"]); mIFTool.Operator.Open(pathin, CogImageFileModeConstants.Read); step2 = true; } catch { step2 = false; } try { Imagein = new Bitmap(pathin); mIFTool.InputImage = new CogImage8Grey(Imagein); step3 = true; } catch { step3 = false; } if(step1 && step2 && step3) { return true; } else { return false; } }
//初始化函数2 private void initToolEdit() { //JobManagerEdit.Subject = m_JobManager; //一级视觉 CogToolGroup m_ToolGroup_1 = (CogToolGroup)m_Job_1.VisionTool; cogToolGroupEditV21.Subject = m_ToolGroup_1; if (m_ToolGroup_1 == null) { MessageBox.Show("toolgroup1工具读取失败,窗口将自动关闭"); this.Close(); return; } blobTool_1 = (CogBlobTool)m_ToolGroup_1.Tools["CogBlobTool1"]; if (blobTool_1 == null) { MessageBox.Show("blob1工具读取失败,请退出软件"); } pmaTool_1 = (CogPMAlignTool)m_ToolGroup_1.Tools["caliPMATool"]; if (pmaTool_1 == null) { MessageBox.Show("pma1工具读取失败,请退出软件"); } calibTool_1 = (CogCalibNPointToNPointTool)m_ToolGroup_1.Tools["CogCalibNPointToNPointTool1"]; if (calibTool_1 == null) { MessageBox.Show("calib1工具读取失败,请退出软件"); } acqFifoTool_1 = (CogAcqFifoTool)m_ToolGroup_1.Tools["CogAcqFifoTool1"]; if (acqFifoTool_1 == null) { MessageBox.Show("acqfifo1工具读取失败,窗口将自动关闭"); this.Close(); return; } mAcqFifo_1 = acqFifoTool_1.Operator; if (mAcqFifo_1 == null) { MessageBox.Show("macqfifo1为 null,窗口将自动关闭"); this.Close(); return; } mAcqFifo_1.Timeout = 1000; //二级视觉 CogToolGroup m_ToolGroup_2 = (CogToolGroup)m_Job_2.VisionTool; cogToolGroupEditV22.Subject = m_ToolGroup_2; if (m_ToolGroup_2 == null) { MessageBox.Show("toolgroup2工具读取失败,窗口将自动关闭"); this.Close(); return; } blobTool_2 = (CogBlobTool)m_ToolGroup_2.Tools["CogBlobTool1"]; if (blobTool_2 == null) { MessageBox.Show("blob2工具读取失败,请退出软件"); } pmaTool_2 = (CogPMAlignTool)m_ToolGroup_2.Tools["caliPMATool"]; if (pmaTool_2 == null) { MessageBox.Show("pma2工具读取失败,请退出软件"); } calibTool_2 = (CogCalibNPointToNPointTool)m_ToolGroup_2.Tools["CogCalibNPointToNPointTool1"]; if (calibTool_2 == null) { MessageBox.Show("calib2工具读取失败,请退出软件"); } acqFifoTool_2 = (CogAcqFifoTool)m_ToolGroup_2.Tools["CogAcqFifoTool1"]; if (acqFifoTool_2 == null) { MessageBox.Show("acqfifo2工具读取失败,窗口将自动关闭"); this.Close(); return; } mAcqFifo_2 = acqFifoTool_2.Operator; if (mAcqFifo_2 == null) { MessageBox.Show("macqfifo2为 null,窗口将自动关闭"); this.Close(); return; } mAcqFifo_2.Timeout = 1000; ////对比度Test //ICogAcqContrast mContrast = mAcqFifo_2.OwnedContrastParams; //double val = mContrast.Contrast; //Console.WriteLine(val); //三级视觉 CogToolGroup m_ToolGroup_3 = (CogToolGroup)m_Job_3.VisionTool; cogToolGroupEditV23.Subject = m_ToolGroup_3; if (m_ToolGroup_3 == null) { MessageBox.Show("toolgroup3工具读取失败,窗口将自动关闭"); this.Close(); return; } blobTool_3 = (CogBlobTool)m_ToolGroup_3.Tools["CogBlobTool1"]; if (blobTool_3 == null) { MessageBox.Show("blob3工具读取失败,请退出软件"); } pmaTool_3 = (CogPMAlignTool)m_ToolGroup_3.Tools["caliPMATool"]; if (pmaTool_3 == null) { MessageBox.Show("pma3工具读取失败,请退出软件"); } calibTool_3 = (CogCalibNPointToNPointTool)m_ToolGroup_3.Tools["CogCalibNPointToNPointTool1"]; if (calibTool_3 == null) { MessageBox.Show("calib3工具读取失败,请退出软件"); } acqFifoTool_3 = (CogAcqFifoTool)m_ToolGroup_3.Tools["CogAcqFifoTool1"]; if (acqFifoTool_3 == null) { MessageBox.Show("acqfifo3工具读取失败,窗口将自动关闭"); this.Close(); return; } mAcqFifo_3 = acqFifoTool_3.Operator; if (mAcqFifo_3 == null) { MessageBox.Show("macqfifo3为 null,窗口将自动关闭"); this.Close(); return; } mAcqFifo_3.Timeout = 1000; }
private void ABBShowInfoSub(string Info) { CogToolBlock myToolBlock; CogToolBlock myRunToolblock3; //= myToolBlock.Tools("MyToolBlock3") // static string SaveInfo = ""; //VBConversions Note: Static variable moved to class level and renamed ABBShowInfoSub_SaveInfo. Local static variables are not supported in C#. if (ABBShowInfoSub_SaveInfo != Info) { TextBoxInfo.Text = Info + "\r\n" + TextBoxInfo.Text; } ABBShowInfoSub_SaveInfo = Info; if (Info == "WorkpieceArrived") { CommunicationMsg.AppendText(System.Convert.ToString("[" + Strings.Format(DateTime.Now, "hh:mm:ss") + "] From robot ABB : " + "\r\n")); CommunicationMsg.AppendText(System.Convert.ToString("Workpiece arrived target position" + "\r\n")); } else if (Info == "StartPlateMove") { finishMoveFlag = false; startMoveFlag = true; CommunicationMsg.AppendText(System.Convert.ToString("[" + Strings.Format(DateTime.Now, "hh:mm:ss") + "] From robot ABB : " + "\r\n")); CommunicationMsg.AppendText(System.Convert.ToString("Start move platform ..." + "\r\n")); } //下面开始的代码就会闪退 else if (Info == "TriggerCam") { TriggerCamNum++; //本身定义为0,+1代表可以执行拍照了 CommunicationMsg.AppendText(System.Convert.ToString("[" + Strings.Format(DateTime.Now, "hh:mm:ss") + "] From robot ABB : " + "\r\n")); CommunicationMsg.AppendText(System.Convert.ToString("Robot ABB camera trigger " + Conversion.Str(TriggerCamNum) + "\r\n")); CogToolGroup myTG = (CogToolGroup)myJob.VisionTool; myToolBlock = (CogToolBlock)myTG.Tools["AcquireImageAndProcessLeft"]; myRunToolblock3 = (CogToolBlock)myToolBlock.Tools["MyToolBlock3"]; if (TriggerCamNum == 1) { myRunToolblock3.Inputs["TriggerCamNum"].Value = 0; } else { myRunToolblock3.Inputs["TriggerCamNum"].Value = 1; TriggerCamNum = 0; } } // try // { // ModuleCard.d1000_out_bit((short)10, (short)0); // System.Threading.Thread.Sleep(50); // int num = 0; // myRunToolblock3.Inputs["Input2dImage"].Value = AcqFifoTool4.Operator.Acquire(out num); //应该是获取图像 // myRunToolblock3.Run(); //这个myruntoolblock3是一个模块,和外部的拍照组件链接(确信) // } // catch (Exception) // { // MessageBox.Show("error"); // } //} //判断定位是否正确 //ABB_Result = System.Convert.ToString(myRunToolblock3.Outputs["ABB_Result"].Value); //这里是怎么判断的呢????? //if (ABB_Result == "OK") //{ // if (ABBClientConnectInforStr == NetConnected) // { // byte[] byteData = Encoding.ASCII.GetBytes("WorkpieceLocationOK" + "\r\n"); // try // { // //Begin sending the data to the remote device.StockIsOK // ABBClientSocket.BeginSend(byteData, 0, byteData.Length, (System.Net.Sockets.SocketFlags)0, new AsyncCallback(ABBClientSendCallback), ABBClientSocket); // } // catch (Exception) // { // ABBClientConnectInforStr = NetError; // } // } //} //else //{ // if (ABBClientConnectInforStr == NetConnected) // { // byte[] byteData = Encoding.ASCII.GetBytes("WorkpieceLocationNO" + "\r\n"); // try // { // //Begin sending the data to the remote device.StockIsOK // ABBClientSocket.BeginSend(byteData, 0, byteData.Length, (System.Net.Sockets.SocketFlags)0, new AsyncCallback(ABBClientSendCallback), ABBClientSocket); // } // catch (Exception) // { // ABBClientConnectInforStr = NetError; // } // } //} //} //else if (Info == "IsPlateOK") //{ // PlateCheck = true; //} //else //{ // //CommunicationMsg.AppendText(Info + vbCrLf) //} }
public APMAligns(string strName) { m_cogtg = new CogToolGroup(); m_cogtg.Name = strName; }
private void setRelease(CogToolGroup toolGroup) { foreach (ICogTool tool in toolGroup.Tools) { if ((tmpToolGroup = (tool as CogToolGroup)) != null) { //Trace.WriteLine("Group:" + tmpToolGroup.Name); if (tmpToolGroup.Script != null && tmpToolGroup.Script.CompileDebug) { Trace.WriteLine("Change Script to Release: " + tmpToolGroup.Name ); tmpToolGroup.Script.CompileDebug = false; } setRelease(tmpToolGroup); } else { //Trace.WriteLine(" Tool: " + tool.Name); } } }
private void modifyToolsInToolgroup(CogToolGroup toolGroup, ModificationMode mode) { Trace.WriteLine("ModifyToolsInToolGroup: Mode="+ mode); foreach (ICogTool tool in toolGroup.Tools) { //CogInputImageTool (Nicht beachten, da Kamera) //CogToolGroup if ((tmpToolGroup = (tool as CogToolGroup)) != null) { tmpProcessingString = "Processing Group: " + tool.Name; //recursively check all ToolBlocks/ToolGroups modifyToolsInToolgroup(tmpToolGroup, mode); } else { tmpProcessingString = "-> Processing: " + tool.Name; //CogBlobTool if (tool as Cognex.VisionPro.Blob.CogBlobTool != null) { Cognex.VisionPro.Blob.CogBlobTool Blob = tool as Cognex.VisionPro.Blob.CogBlobTool; switch (mode) { case ModificationMode.disable: Blob.CurrentRecordEnable = Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.None; Blob.LastRunRecordDiagEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordDiagConstants.None; Blob.LastRunRecordEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.None; break; case ModificationMode.enableALL: Blob.CurrentRecordEnable = Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.All; Blob.LastRunRecordDiagEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordDiagConstants.All; Blob.LastRunRecordEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.All; break; case ModificationMode.standard: //Blob.CurrentRecordEnable = Region | InputImageMask | Histogram | InputImage Blob.CurrentRecordEnable = Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.Region | Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.InputImageMask | Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.Histogram | Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.InputImage ; //Blob.LastRunRecordDiagEnable = InputImageByReference Blob.LastRunRecordDiagEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordDiagConstants.InputImageByReference ; //Blob.LastRunRecordEnable = ResultsBoundary | BlobImageUnfiltered | BlobImage Blob.LastRunRecordEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.ResultsBoundary | Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.BlobImageUnfiltered | Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.BlobImage ; break; } } //CogPMAlignTool else if (tool as Cognex.VisionPro.PMAlign.CogPMAlignTool != null) { Cognex.VisionPro.PMAlign.CogPMAlignTool PMAlign = tool as Cognex.VisionPro.PMAlign.CogPMAlignTool; switch (mode) { case ModificationMode.disable: PMAlign.CurrentRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.None; PMAlign.LastRunRecordDiagEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordDiagConstants.None; PMAlign.LastRunRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.None; break; case ModificationMode.enableALL: PMAlign.CurrentRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.All; PMAlign.LastRunRecordDiagEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordDiagConstants.All; PMAlign.LastRunRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.All; break; case ModificationMode.standard: //PMAlign.CurrentRecordEnable = InputImage | PatternOrigin | SearchImageMask | SearchRegion | TrainShapeModels | TrainImageMask | TrainRegion | TrainImage PMAlign.CurrentRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.InputImage | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.PatternOrigin | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.SearchImageMask | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.SearchRegion | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainShapeModels | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainImageMask | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainRegion | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainImage ; //PMAlign.LastRunRecordDiagEnable = InputImageByReference PMAlign.LastRunRecordDiagEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordDiagConstants.InputImageByReference ; //PMAlign.LastRunRecordEnable = ResultsMatchRegion | ResultsOrigin PMAlign.LastRunRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.ResultsMatchRegion | Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.ResultsOrigin ; break; } } //CogSearchMaxTool else if (tool as Cognex.VisionPro.SearchMax.CogSearchMaxTool != null) { Cognex.VisionPro.SearchMax.CogSearchMaxTool SearchMax = tool as Cognex.VisionPro.SearchMax.CogSearchMaxTool; switch (mode) { case ModificationMode.disable: SearchMax.CurrentRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.None; SearchMax.LastRunRecordDiagEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordDiagConstants.None; SearchMax.LastRunRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.None; break; case ModificationMode.enableALL: SearchMax.CurrentRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.All; SearchMax.LastRunRecordDiagEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordDiagConstants.All; SearchMax.LastRunRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.All; break; case ModificationMode.standard: //SearchMax.CurrentRecordEnable = PatternOrigin | TrainRegion | TrainImageMask | TrainImage | SearchImageMask | SearchRegion | InputImage SearchMax.CurrentRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.PatternOrigin | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.TrainRegion | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.TrainImageMask | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.TrainImage | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.SearchImageMask | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.SearchRegion | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.InputImage ; //SearchMax.LastRunRecordDiagEnable = InputImageByReference SearchMax.LastRunRecordDiagEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordDiagConstants.InputImageByReference ; //SearchMax.LastRunRecordEnable = ResultsOrigin | ResultsMatchRegion SearchMax.LastRunRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.ResultsOrigin | Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.ResultsMatchRegion ; break; } } //CogFixtureTool else if (tool as Cognex.VisionPro.CalibFix.CogFixtureTool != null) { Cognex.VisionPro.CalibFix.CogFixtureTool FixtureTool = tool as Cognex.VisionPro.CalibFix.CogFixtureTool; switch (mode) { case ModificationMode.disable: FixtureTool.CurrentRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.None; FixtureTool.LastRunRecordDiagEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordDiagConstants.None; FixtureTool.LastRunRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordConstants.None; break; case ModificationMode.enableALL: FixtureTool.CurrentRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.All; FixtureTool.LastRunRecordDiagEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordDiagConstants.All; FixtureTool.LastRunRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordConstants.All; break; case ModificationMode.standard: //FixtureTool.CurrentRecordEnable = InputImage | FixturedAxes FixtureTool.CurrentRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.InputImage | Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.FixturedAxes ; //FixtureTool.LastRunRecordDiagEnable = FixturedAxes FixtureTool.LastRunRecordDiagEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordDiagConstants.FixturedAxes ; //FixtureTool.LastRunRecordEnable = OutputImage FixtureTool.LastRunRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordConstants.OutputImage ; break; } } //CogHistogramTool else if (tool as Cognex.VisionPro.ImageProcessing.CogHistogramTool != null) { Cognex.VisionPro.ImageProcessing.CogHistogramTool Histogram = tool as Cognex.VisionPro.ImageProcessing.CogHistogramTool; switch (mode) { case ModificationMode.disable: Histogram.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.None; Histogram.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordDiagConstants.None; Histogram.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.None; break; case ModificationMode.enableALL: Histogram.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.All; Histogram.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordDiagConstants.All; Histogram.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.All; break; case ModificationMode.standard: //Histogram.CurrentRecordEnable = Region | InputImageMask | InputImage Histogram.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.Region | Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.InputImageMask | Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.InputImage ; //Histogram.LastRunRecordDiagEnable = InputImageByReference Histogram.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordDiagConstants.InputImageByReference ; //Histogram.LastRunRecordEnable = Mean | Histogram Histogram.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.Mean | Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.Histogram ; break; } } //CogFindLineTool else if (tool as Cognex.VisionPro.Caliper.CogFindLineTool != null) { Cognex.VisionPro.Caliper.CogFindLineTool FindLine = tool as Cognex.VisionPro.Caliper.CogFindLineTool; switch (mode) { case ModificationMode.disable: FindLine.CurrentRecordEnable = Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.None; FindLine.LastRunRecordDiagEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordDiagConstants.None; FindLine.LastRunRecordEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.None; break; case ModificationMode.enableALL: FindLine.CurrentRecordEnable = Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.All; FindLine.LastRunRecordDiagEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordDiagConstants.All; FindLine.LastRunRecordEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.All; break; case ModificationMode.standard: //FindLine.CurrentRecordEnable = ExpectedLineSegment | InteractiveCaliperSearchDirection | InteractiveCaliperSize | CaliperRegions | InputImage FindLine.CurrentRecordEnable = Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.ExpectedLineSegment | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.InteractiveCaliperSearchDirection | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.InteractiveCaliperSize | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.CaliperRegions | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.InputImage ; //FindLine.LastRunRecordDiagEnable = InputImageByReference FindLine.LastRunRecordDiagEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordDiagConstants.InputImageByReference ; //FindLine.LastRunRecordEnable = ResultsIgnoredPoints | ResultsUsedPoints | BestFitLineSegment FindLine.LastRunRecordEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.ResultsIgnoredPoints | Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.ResultsUsedPoints | Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.BestFitLineSegment ; break; } } //CogIPOneImageTool else if (tool as Cognex.VisionPro.ImageProcessing.CogIPOneImageTool != null) { Cognex.VisionPro.ImageProcessing.CogIPOneImageTool oneImageTool = tool as Cognex.VisionPro.ImageProcessing.CogIPOneImageTool; switch (mode) { case ModificationMode.disable: oneImageTool.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.None; oneImageTool.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordDiagConstants.None; oneImageTool.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordConstants.None; break; case ModificationMode.enableALL: oneImageTool.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.All; oneImageTool.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordDiagConstants.All; oneImageTool.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordConstants.All; break; case ModificationMode.standard: //oneImageTool.CurrentRecordEnable = Region | InputImage oneImageTool.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.Region | Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.InputImage ; //oneImageTool.LastRunRecordDiagEnable = InputImageByReference oneImageTool.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordDiagConstants.InputImageByReference ; //oneImageTool.LastRunRecordEnable = OutputImage oneImageTool.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordConstants.OutputImage ; break; } } ////Handle further tools here //CogPixelMapTool //CogImageConvertTool ////Cases for modes //switch (mode) //{ // case ModificationMode.disable: // break; // case ModificationMode.enableALL: // break; // case ModificationMode.standard: // break; //} else { tmpProcessingString = String.Format(" Skipping: {0}({1})", tool.Name, tool.GetType().ToString()); // //Breakpoint for unused tools :) // Trace.Write("Skip..." ); } } Trace.WriteLine(tmpProcessingString); } }
private bool GetImage(string pathin) { myToolGroup = (CogToolGroup)(myJobManager.Job(0).VisionTool); myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]); myImageFile.Operator.Open(pathin, CogImageFileModeConstants.Read); Imagein = new Bitmap(pathin); myImageFile.InputImage = new CogImage8Grey(Imagein); myImageFile.Run(); return true; }
public static List <double> find(int toolNum, int method) { object toolgroup = CogSerializer.LoadObjectFromFile("c://tool.vpp"); object job = CogSerializer.LoadObjectFromFile("QuickBuild1.vpp"); switch (toolNum) { case 0: toolgroup = CogSerializer.LoadObjectFromFile("c://tool0.vpp"); break; case 1: toolgroup = CogSerializer.LoadObjectFromFile("c://tool1.vpp"); break; case 2: toolgroup = CogSerializer.LoadObjectFromFile("c://tool2.vpp"); break; case 3: toolgroup = CogSerializer.LoadObjectFromFile("c://tool3.vpp"); break; default: break; } CogToolGroup ToolGroup1 = toolgroup as CogToolGroup; CogJobManager cojob = job as CogJobManager; CogJob cojob = cojob.Job["CogJob1"] as CogJob; CogImageFileTool myFile = ToolGroup1.Tools["CogImageFileTool1"] as CogImageFileTool; myFile.Run(); CogFindCircleTool myCircleTool = ToolGroup1.Tools["CogFindCircleTool1"] as CogFindCircleTool; CogFindLineTool myLineTool = ToolGroup1.Tools["CogFindLineTool1"] as CogFindLineTool; switch (method) { case 1: myCircleTool.Run(); break; case 2: myLineTool.Run(); break; case 3: myCircleTool.Run(); myLineTool.Run(); break; default: break; } double Lx0 = 0; double Lx1 = 0; double Ly0 = 0; double Ly1 = 0; double Langle = 0; double Cx = 0; double Cy = 0; double Cr = 0; if (method == 1 | method == 3) { Cx = myCircleTool.Results.GetCircle().CenterX; Cy = myCircleTool.Results.GetCircle().CenterY; Cr = myCircleTool.Results.GetCircle().Radius; } if (method == 2 | method == 3) { Lx0 = myLineTool.Results.GetLineSegment().StartX; Ly0 = myLineTool.Results.GetLineSegment().StartY; Lx1 = myLineTool.Results.GetLineSegment().EndX; Ly1 = myLineTool.Results.GetLineSegment().EndY; Langle = myLineTool.Results.GetLine().Rotation; } double[] result = { Cx, Cy, Cr, Lx0, Ly0, Lx1, Ly1, Langle }; return(new List <double>(result)); }
private void modifyToolsInToolgroup(CogToolGroup toolGroup, ModificationMode mode) { Trace.WriteLine("ModifyToolsInToolGroup: Mode=" + mode); foreach (ICogTool tool in toolGroup.Tools) { //CogInputImageTool (Nicht beachten, da Kamera) //CogToolGroup if ((tmpToolGroup = (tool as CogToolGroup)) != null) { tmpProcessingString = "Processing Group: " + tool.Name; //recursively check all ToolBlocks/ToolGroups modifyToolsInToolgroup(tmpToolGroup, mode); } else { tmpProcessingString = "-> Processing: " + tool.Name; //CogBlobTool if (tool as Cognex.VisionPro.Blob.CogBlobTool != null) { Cognex.VisionPro.Blob.CogBlobTool Blob = tool as Cognex.VisionPro.Blob.CogBlobTool; switch (mode) { case ModificationMode.disable: Blob.CurrentRecordEnable = Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.None; Blob.LastRunRecordDiagEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordDiagConstants.None; Blob.LastRunRecordEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.None; break; case ModificationMode.enableALL: Blob.CurrentRecordEnable = Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.All; Blob.LastRunRecordDiagEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordDiagConstants.All; Blob.LastRunRecordEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.All; break; case ModificationMode.standard: //Blob.CurrentRecordEnable = Region | InputImageMask | Histogram | InputImage Blob.CurrentRecordEnable = Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.Region | Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.InputImageMask | Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.Histogram | Cognex.VisionPro.Blob.CogBlobCurrentRecordConstants.InputImage ; //Blob.LastRunRecordDiagEnable = InputImageByReference Blob.LastRunRecordDiagEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordDiagConstants.InputImageByReference ; //Blob.LastRunRecordEnable = ResultsBoundary | BlobImageUnfiltered | BlobImage Blob.LastRunRecordEnable = Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.ResultsBoundary | Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.BlobImageUnfiltered | Cognex.VisionPro.Blob.CogBlobLastRunRecordConstants.BlobImage ; break; } } //CogPMAlignTool else if (tool as Cognex.VisionPro.PMAlign.CogPMAlignTool != null) { Cognex.VisionPro.PMAlign.CogPMAlignTool PMAlign = tool as Cognex.VisionPro.PMAlign.CogPMAlignTool; switch (mode) { case ModificationMode.disable: PMAlign.CurrentRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.None; PMAlign.LastRunRecordDiagEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordDiagConstants.None; PMAlign.LastRunRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.None; break; case ModificationMode.enableALL: PMAlign.CurrentRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.All; PMAlign.LastRunRecordDiagEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordDiagConstants.All; PMAlign.LastRunRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.All; break; case ModificationMode.standard: //PMAlign.CurrentRecordEnable = InputImage | PatternOrigin | SearchImageMask | SearchRegion | TrainShapeModels | TrainImageMask | TrainRegion | TrainImage PMAlign.CurrentRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.InputImage | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.PatternOrigin | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.SearchImageMask | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.SearchRegion | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainShapeModels | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainImageMask | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainRegion | Cognex.VisionPro.PMAlign.CogPMAlignCurrentRecordConstants.TrainImage ; //PMAlign.LastRunRecordDiagEnable = InputImageByReference PMAlign.LastRunRecordDiagEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordDiagConstants.InputImageByReference ; //PMAlign.LastRunRecordEnable = ResultsMatchRegion | ResultsOrigin PMAlign.LastRunRecordEnable = Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.ResultsMatchRegion | Cognex.VisionPro.PMAlign.CogPMAlignLastRunRecordConstants.ResultsOrigin ; break; } } //CogSearchMaxTool else if (tool as Cognex.VisionPro.SearchMax.CogSearchMaxTool != null) { Cognex.VisionPro.SearchMax.CogSearchMaxTool SearchMax = tool as Cognex.VisionPro.SearchMax.CogSearchMaxTool; switch (mode) { case ModificationMode.disable: SearchMax.CurrentRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.None; SearchMax.LastRunRecordDiagEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordDiagConstants.None; SearchMax.LastRunRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.None; break; case ModificationMode.enableALL: SearchMax.CurrentRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.All; SearchMax.LastRunRecordDiagEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordDiagConstants.All; SearchMax.LastRunRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.All; break; case ModificationMode.standard: //SearchMax.CurrentRecordEnable = PatternOrigin | TrainRegion | TrainImageMask | TrainImage | SearchImageMask | SearchRegion | InputImage SearchMax.CurrentRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.PatternOrigin | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.TrainRegion | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.TrainImageMask | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.TrainImage | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.SearchImageMask | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.SearchRegion | Cognex.VisionPro.SearchMax.CogSearchMaxCurrentRecordConstants.InputImage ; //SearchMax.LastRunRecordDiagEnable = InputImageByReference SearchMax.LastRunRecordDiagEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordDiagConstants.InputImageByReference ; //SearchMax.LastRunRecordEnable = ResultsOrigin | ResultsMatchRegion SearchMax.LastRunRecordEnable = Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.ResultsOrigin | Cognex.VisionPro.SearchMax.CogSearchMaxLastRunRecordConstants.ResultsMatchRegion ; break; } } //CogFixtureTool else if (tool as Cognex.VisionPro.CalibFix.CogFixtureTool != null) { Cognex.VisionPro.CalibFix.CogFixtureTool FixtureTool = tool as Cognex.VisionPro.CalibFix.CogFixtureTool; switch (mode) { case ModificationMode.disable: FixtureTool.CurrentRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.None; FixtureTool.LastRunRecordDiagEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordDiagConstants.None; FixtureTool.LastRunRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordConstants.None; break; case ModificationMode.enableALL: FixtureTool.CurrentRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.All; FixtureTool.LastRunRecordDiagEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordDiagConstants.All; FixtureTool.LastRunRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordConstants.All; break; case ModificationMode.standard: //FixtureTool.CurrentRecordEnable = InputImage | FixturedAxes FixtureTool.CurrentRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.InputImage | Cognex.VisionPro.CalibFix.CogFixtureCurrentRecordConstants.FixturedAxes ; //FixtureTool.LastRunRecordDiagEnable = FixturedAxes FixtureTool.LastRunRecordDiagEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordDiagConstants.FixturedAxes ; //FixtureTool.LastRunRecordEnable = OutputImage FixtureTool.LastRunRecordEnable = Cognex.VisionPro.CalibFix.CogFixtureLastRunRecordConstants.OutputImage ; break; } } //CogHistogramTool else if (tool as Cognex.VisionPro.ImageProcessing.CogHistogramTool != null) { Cognex.VisionPro.ImageProcessing.CogHistogramTool Histogram = tool as Cognex.VisionPro.ImageProcessing.CogHistogramTool; switch (mode) { case ModificationMode.disable: Histogram.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.None; Histogram.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordDiagConstants.None; Histogram.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.None; break; case ModificationMode.enableALL: Histogram.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.All; Histogram.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordDiagConstants.All; Histogram.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.All; break; case ModificationMode.standard: //Histogram.CurrentRecordEnable = Region | InputImageMask | InputImage Histogram.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.Region | Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.InputImageMask | Cognex.VisionPro.ImageProcessing.CogHistogramCurrentRecordConstants.InputImage ; //Histogram.LastRunRecordDiagEnable = InputImageByReference Histogram.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordDiagConstants.InputImageByReference ; //Histogram.LastRunRecordEnable = Mean | Histogram Histogram.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.Mean | Cognex.VisionPro.ImageProcessing.CogHistogramLastRunRecordConstants.Histogram ; break; } } //CogFindLineTool else if (tool as Cognex.VisionPro.Caliper.CogFindLineTool != null) { Cognex.VisionPro.Caliper.CogFindLineTool FindLine = tool as Cognex.VisionPro.Caliper.CogFindLineTool; switch (mode) { case ModificationMode.disable: FindLine.CurrentRecordEnable = Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.None; FindLine.LastRunRecordDiagEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordDiagConstants.None; FindLine.LastRunRecordEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.None; break; case ModificationMode.enableALL: FindLine.CurrentRecordEnable = Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.All; FindLine.LastRunRecordDiagEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordDiagConstants.All; FindLine.LastRunRecordEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.All; break; case ModificationMode.standard: //FindLine.CurrentRecordEnable = ExpectedLineSegment | InteractiveCaliperSearchDirection | InteractiveCaliperSize | CaliperRegions | InputImage FindLine.CurrentRecordEnable = Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.ExpectedLineSegment | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.InteractiveCaliperSearchDirection | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.InteractiveCaliperSize | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.CaliperRegions | Cognex.VisionPro.Caliper.CogFindLineCurrentRecordConstants.InputImage ; //FindLine.LastRunRecordDiagEnable = InputImageByReference FindLine.LastRunRecordDiagEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordDiagConstants.InputImageByReference ; //FindLine.LastRunRecordEnable = ResultsIgnoredPoints | ResultsUsedPoints | BestFitLineSegment FindLine.LastRunRecordEnable = Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.ResultsIgnoredPoints | Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.ResultsUsedPoints | Cognex.VisionPro.Caliper.CogFindLineLastRunRecordConstants.BestFitLineSegment ; break; } } //CogIPOneImageTool else if (tool as Cognex.VisionPro.ImageProcessing.CogIPOneImageTool != null) { Cognex.VisionPro.ImageProcessing.CogIPOneImageTool oneImageTool = tool as Cognex.VisionPro.ImageProcessing.CogIPOneImageTool; switch (mode) { case ModificationMode.disable: oneImageTool.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.None; oneImageTool.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordDiagConstants.None; oneImageTool.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordConstants.None; break; case ModificationMode.enableALL: oneImageTool.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.All; oneImageTool.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordDiagConstants.All; oneImageTool.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordConstants.All; break; case ModificationMode.standard: //oneImageTool.CurrentRecordEnable = Region | InputImage oneImageTool.CurrentRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.Region | Cognex.VisionPro.ImageProcessing.CogIPOneImageCurrentRecordConstants.InputImage ; //oneImageTool.LastRunRecordDiagEnable = InputImageByReference oneImageTool.LastRunRecordDiagEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordDiagConstants.InputImageByReference ; //oneImageTool.LastRunRecordEnable = OutputImage oneImageTool.LastRunRecordEnable = Cognex.VisionPro.ImageProcessing.CogIPOneImageLastRunRecordConstants.OutputImage ; break; } } ////Handle further tools here //CogPixelMapTool //CogImageConvertTool ////Cases for modes //switch (mode) //{ // case ModificationMode.disable: // break; // case ModificationMode.enableALL: // break; // case ModificationMode.standard: // break; //} else { tmpProcessingString = String.Format(" Skipping: {0}({1})", tool.Name, tool.GetType().ToString()); // //Breakpoint for unused tools :) // Trace.Write("Skip..." ); } } Trace.WriteLine(tmpProcessingString); } }
private bool GetImage(int numOfVpps, List<string> pathin) { if (null == pathin[numOfVpps]) { return false; } else { myToolGroup = (CogToolGroup)(myJobManager[numOfVpps].Job(numOfVpps).VisionTool); myImageFile = (CogImageFileTool)(myToolGroup.Tools["CogImageFileTool1"]); myImageFile.Operator.Open(pathin[numOfVpps], CogImageFileModeConstants.Read); Imagein = new Bitmap(pathin[numOfVpps]); myImageFile.InputImage = new CogImage8Grey(Imagein); myImageFile.Run(); Imagein = null; } return true; }