当前位置:代码狗 > 开发教程 > 工业视觉教程 > 正文

VisionPro脚本教程——ToolGroup脚本显示圆半径

上一篇文章咱们说了VisionPro三种脚本的功能,今天就用实际案例来做个例子,大家看看效果。在实施之前先说一下脚本程序,VisionPro的脚本编译器不够智能,不能完全像visual studio一样智能提示,所有需要使用者对代码非常熟悉,否则你都不知道怎么错的。

首先我们新建一个job,里面放一个圆的图片,图片我就不发了,大家在网上随便搜一个就行。

然后使用image processing工具目录下的CogImageConvertTool图像转换工具转换下图像类型,visionPro要求必须是8位灰度图。

然后使用找圆工具找到圆,我们在终端就能看到一些圆的数据了,比如中心坐标,半径等等,如下图所示

VisionPro脚本教程——ToolGroup脚本显示圆半径

VisionPro脚本教程——ToolGroup脚本显示圆半径

然后打开工具组脚本,选择C#,在打开的脚本编辑器中我们可以看到一个用户脚本类UserScript它继承于工具组脚本基类CogToolGroupBaseScript,这个类里面有四个方法,工具组运行时执行的方法GroupRun、工具组创建图像时执行方法ModifyCurrentRunRecord、工具组创建最后运行图像时执行方法ModifyLastRunRecord、以及脚本初始化执行方法Initialize。

我们只需要在最后运行结果中显示,所以只需要工具运行时方法与最后运行结果方法。

由于使用了找圆工具,所以先添加命名空间using Cognex.VisionPro.Caliper;(注意:不止要声明命名空间,还需要引用程序集)

VisionPro脚本教程——ToolGroup脚本显示圆半径

VisionPro脚本教程——ToolGroup脚本显示圆半径

然后在这个类里声明两个全局变量(我的命名比较随意)

要查看更多文章内容,请您先登录/注册

然后编译发布,运行工具组看看效果

VisionPro脚本教程——ToolGroup脚本显示圆半径

VisionPro脚本教程——ToolGroup脚本显示圆半径

感觉很棒!可以赞赏支持我哟~

赞(24) 打赏

评论 16

  1. #7

    现在的情况是这样的,我不知道博主用的那个版本的,我用的9.0,好像代码都不一样,现在市面上最多的貌似是9.0

    CodeDog4个月前 (04-13)回复
    • 代码是一样的,9.0不能使用紧急许可证,只能用加密狗。我们生产现场用的9.2.

      代码狗4个月前 (04-13)回复
  2. #6

    就是刚开始打开脚本,我的就只有GroupRun,你说的那个ModifyLastRunRecord,还有lnitialize和ModifyCurrentRunRecord这三个方法没有

    鹊南&5个月前 (03-13)回复
    • visionpro有两个脚本,仔细找找,我文中说的那个脚本肯定不是你找到的脚本。

      代码狗5个月前 (03-13)回复
  3. #5

    就是那个类中不是有四个方法,我的只显示一个方法,是咋回事呢?

    鹊南&5个月前 (03-13)回复
    • 你的描述有问题,我无法理解。

      代码狗5个月前 (03-13)回复
  4. #4

    哪个方法有啥格式没?

    鹊南&5个月前 (03-13)回复
    • 什么方法?

      代码狗5个月前 (03-13)回复
  5. #3

    你好,如果要取得读码工具CogIDTool的结果,是字符数据,赋值的语句是怎样写呢?

    请问企鹅企鹅8个月前 (01-08)回复
    • C#或者VB中字符串怎么赋值你就怎么写。

      daimadog8个月前 (01-08)回复
      • ID = (CogIDTool) toolGroup.Tools[“CogIDTool1”];
        jg=ID.Results.ToString() ;
        我这样得到的不是CogIDTool1读码的数据,请问应该怎么改呀?

        请问企鹅企鹅8个月前 (01-08)
      • 你没理解到怎么从visionPro工具中取得数据的,我前面有写文章怎么取数据,仔细看看。

        daimadog8个月前 (01-08)
  6. #2

    你用的visionpro什么版本啊!为什么8.3的显示不了

    liu8个月前 (01-04)回复
    • 我用的8.2,这跟版本没多大关系,一般是你代码写错了,脚本没有错误提示。

      daimadog8个月前 (01-04)回复
  7. #1

    你好,请问载入Job(0)后能用代码更改选择图片吗?

    10个月前 (11-06)回复
    • 可以,但是要修改图片就不能使用整个job.run方法,需要按顺序依次运行每个工具。

      daimadog10个月前 (11-08)回复
×

请作者吃根烤肠!

支付宝