visionpro计算工具数组输入

            bool bCanRun = false;
            System.Threading.Mutex mutex = new System.Threading.Mutex(true, "OnlyRunOneInstance", out bCanRun);
            if (!bCanRun)
            {
                MessageBox.Show("程序已启动,请勿重复启动");
                return;
            }

kill程序

System.Diagnostics.Process.GetCurrentProcess().Kill();

saveFileDialog.InitialDirectory = Directory.GetCurrentDirectory();

"^"为C#当中的异或运算符,通常可以理解为"排他性"运算.

运算规则如下

True  ^  False                          True

True  ^  True                           False

False ^  True                           True

False ^  False                          False

可以指定一个数值、字符串、布尔常量来作为表达式的参数,比如:将一个工具的运行结果和常量5进行比较,或者和字符串常量"cognex"进行比较,或者和布尔值ture进行比较。

添加矢量输入关联数组类型数据

visionpro计算工具数组输入_第1张图片

 visionpro计算工具数组输入_第2张图片

CogToolBlock1工具中点击框选的按钮输入脚本进行生成运行 visionpro计算工具数组输入_第3张图片

 visionpro计算工具数组输入_第4张图片

 

using System;
using System.Collections;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
using System.Collections.Generic;
public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase
{

  private Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
  double[] AreaPosition = new double[]{1,2,2};
  public override bool GroupRun(ref string message, ref CogToolResultConstants result)
  {
    foreach(ICogTool tool in mToolBlock.Tools)
      mToolBlock.RunTool(tool, ref message, ref result);
    return false;
  }
 
  public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host)
  {
    base.Initialize(host);
    this.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));
    if(AreaPosition== null)
    {
      AreaPosition = new double[]{1,2,2};
    }
    if(!mToolBlock.Outputs.Contains("Area"))
    {
      CogToolBlockTerminal m = new CogToolBlockTerminal("Area", AreaPosition.GetType());
      m.Value= AreaPosition;
      mToolBlock.Outputs.Add(m);
    }
  
  }
}

visionpro计算工具数组输入_第5张图片

 

你可能感兴趣的:(工作记录,工作记录)