zoukankan      html  css  js  c++  java
  • 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
    
    }
    
  • 相关阅读:
    H.264编码之DCT变换原理
    颜色空间转换
    jdbc 大数据存储 图片读取
    spring 事务配置
    Cglib代理
    jdk代理
    spring装配bean
    map 常用方法
    list map set常用方法之list
    calendar 类 用法
  • 原文地址:https://www.cnblogs.com/forblueskies/p/13905014.html
Copyright © 2011-2022 走看看