VisionPro——在脚本中调用自己封装的DLL

VisionPro——在脚本中调用自己封装的DLL

  • 前言
  • 一、具体配置与代码


前言

做硬件测试时,用到了vp的c#脚本,由于偷懒导出数据表想直接用以前封装好的函数库,在测试时遇到些问题,在此做些记录。


一、具体配置与代码

我准备通过vp脚本输出数据表格至csv文件。
vp中的配置:
VisionPro——在脚本中调用自己封装的DLL_第1张图片
简单的加入一个组合工具,添加函数dll文件到vp的bin文件目录下:
在这里插入图片描述
在这里插入图片描述

类库的依赖项也一并要添加进来,否则会报缺少依赖项的错误

当脚本由vp打开时,dll一定要放在vp的bin文件目录下,否则也会报缺少文件的错误

在用c#调用时我暂未测试,以后测试了再更新

VisionPro——在脚本中调用自己封装的DLL_第2张图片

在组合中编写脚本代码:

#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 System.Data;
#endregion

public class CogToolBlockSimpleScript : CogToolBlockAdvancedScript
{
  
  DataTable dt = new DataTable();
  string pathName = @"C:\Users\ZDH-XMXT-257\Desktop\dp.csv";
  /// 
  /// Called when the parent tool is run.
  /// Add code here to customize or replace the normal run behavior.
  /// 
  /// Sets the Message in the tool's RunStatus.
  /// Sets the Result in the tool's RunStatus
  /// True if the tool should run normally,
  ///          False if GroupRun customizes run behavior
  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

    DataRow dr = dt.NewRow();
    dr["X"] = 12;
    dr["Y"] = 15;
    dt.Rows.Add(dr);
    CSVHelepr_DP.CSVHelper.DataTable2CSV(dt, pathName);
    return false;
  }

  #region When the Script is Initialized
  /// 
  /// Perform any initialization required by your script here
  /// 
  /// The host tool
  public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host)
  {
    // DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE
    base.Initialize(host);
    
    dt.Columns.Add("次数");
    dt.Columns.Add("X");
    dt.Columns.Add("Y");

  }
  #endregion

其中CSVHelepr_DP就是我封装的类库,helper打错了,忘记改了。

结果:
VisionPro——在脚本中调用自己封装的DLL_第3张图片

你可能感兴趣的:(#,VisionPro,c#,.net,开发语言)