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

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


前言

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


一、具体配置与代码

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

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

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

在用c#调用时我暂未测试,以后测试了再更新
在这里插入图片描述
在这里插入图片描述

在组合中编写脚本代码:

#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";
  /// <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

    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
  /// <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);
    
    dt.Columns.Add("次数");
    dt.Columns.Add("X");
    dt.Columns.Add("Y");

  }
  #endregion

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

结果:
在这里插入图片描述

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值