• VPRO工具失败时对输出的一种处理方式


    #region namespace imports
    using System;
    using System.Collections;
    using System.Drawing;
    using System.IO;
    using System.Windows.Forms;
    using Cognex.VisionPro;
    using Cognex.VisionPro.ToolBlock;
    using Cognex.VisionPro3D;
    using Cognex.VisionPro.ImageProcessing;
    using Cognex.VisionPro.Caliper;
    using Cognex.VisionPro.Dimensioning;
    #endregion
    
    public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase
    {
      #region Private Member Variables
      private Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
      bool fai54 = true;
      bool fai55 = true;
      bool fai64 = true;
      bool fai65 = true;
      #endregion
    
      /// <summary>
      /// Called when the parent tool is run.
      /// Add code here to customize or replace the normal run behavior.
      /// </summary>
      /// <param name="message">Sets the Message in the tool's RunStatus.</param>
      /// <param name="result">Sets the Result in the tool's RunStatus</param>
      /// <returns>True if the tool should run normally,
      ///          False if GroupRun customizes run behavior</returns>
      public override bool GroupRun(ref string message, ref CogToolResultConstants result)
      {
        // To let the execution stop in this script when a debugger is attached, uncomment the following lines.
        // #if DEBUG
        // if (System.Diagnostics.Debugger.IsAttached) System.Diagnostics.Debugger.Break();
        // #endif
    
        string errorToolsName = "";
        fai54 = true;
        fai55 = true;
        fai64 = true;
        fai65 = true;
        // Run each tool using the RunTool function
        foreach(ICogTool tool in mToolBlock.Tools)
        {
          mToolBlock.RunTool(tool, ref message, ref result);
          if (tool.RunStatus.Result!=CogToolResultConstants.Accept)
          {
            errorToolsName += tool.Name;
          }
        }
        
        fai54 = errorToolsName.Contains("FAI45") ? false : true;
        fai55 = errorToolsName.Contains("FAI55") ? false : true;
        fai64 = errorToolsName.Contains("FAI64") ? false : true;
        fai65 = errorToolsName.Contains("FAI65") ? false : true;
        
        
        return false;
      }
    
      #region When the Current Run Record is Created
      /// <summary>
      /// Called when the current record may have changed and is being reconstructed
      /// </summary>
      /// <param name="currentRecord">
      /// The new currentRecord is available to be initialized or customized.</param>
      public override void ModifyCurrentRunRecord(Cognex.VisionPro.ICogRecord currentRecord)
      {
      }
      #endregion
    
      #region When the Last Run Record is Created
      /// <summary>
      /// Called when the last run record may have changed and is being reconstructed
      /// </summary>
      /// <param name="lastRecord">
      /// The new last run record is available to be initialized or customized.</param>
      public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord)
      {
        if (!fai54)
          mToolBlock.Outputs["FAI54"].Value = 999;
        if (!fai55)
          mToolBlock.Outputs["FAI55"].Value = 999;
        if (!fai64)
          mToolBlock.Outputs["FAI64"].Value = 999;
        if (!fai65)
          mToolBlock.Outputs["FAI65"].Value = 999;
      }
      #endregion
    
      #region When the Script is Initialized
      /// <summary>
      /// Perform any initialization required by your script here
      /// </summary>
      /// <param name="host">The host tool</param>
      public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host)
      {
        // DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE
        base.Initialize(host);
    
    
        // Store a local copy of the script host
        this.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));
      }
      #endregion
    
    }
    
  • 相关阅读:
    Linux C语言编程基础
    《信息安全系统设计与实现》学习笔记二
    《信息安全系统设计与实现》选做一
    《信息安全系统设计与实现》学习笔记一
    商用密码调研
    20191212斯廷响 2020-2021-2 《Python程序设计》实验四报告
    20191212 2020-2021-2 《Python程序设计》实验三报告
    20191212 2020-2021-2 《Python程序设计》实验二报告
    20191212 2020-2021-2 《Python程序设计》实验一报告
    学习笔记2
  • 原文地址:https://www.cnblogs.com/forblueskies/p/13905014.html
Copyright © 2020-2023  润新知