让代码更简单

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

重要:本文最后更新于2019-03-16 11:42:55,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

上一篇文章咱们说了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脚本显示圆半径

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


隐藏内容,解锁需要开通VIP
登录/注册

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

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

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

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

57 打赏

评论 (24)

登录后评论
Line 40, column 50: Error - 当前上下文中不存在名称“lastRecord”
报这个错误怎么是什么原因呀?
visionpro脚本有好几种,自己找下。
按上述步骤一步步下来,没有报错。但是点单次运行运行作业,发现图片上未出现标签
我也一样,没出现标签
怎么设置文本大小?
c#相关语法,自己搜索看看
可以把你写的脚本完整版发一份给我
贴出来的就是完整版的了
现在的情况是这样的,我不知道博主用的那个版本的,我用的9.0,好像代码都不一样,现在市面上最多的貌似是9.0
代码是一样的,9.0不能使用紧急许可证,只能用加密狗。我们生产现场用的9.2.
就是刚开始打开脚本,我的就只有GroupRun,你说的那个ModifyLastRunRecord,还有lnitialize和ModifyCurrentRunRecord这三个方法没有
visionpro有两个脚本,仔细找找,我文中说的那个脚本肯定不是你找到的脚本。
就是那个类中不是有四个方法,我的只显示一个方法,是咋回事呢?
你的描述有问题,我无法理解。
哪个方法有啥格式没?
什么方法?
你好,如果要取得读码工具CogIDTool的结果,是字符数据,赋值的语句是怎样写呢?
C#或者VB中字符串怎么赋值你就怎么写。
ID = (CogIDTool) toolGroup.Tools["CogIDTool1"];
jg=ID.Results.ToString() ;
我这样得到的不是CogIDTool1读码的数据,请问应该怎么改呀?
你没理解到怎么从visionPro工具中取得数据的,我前面有写文章怎么取数据,仔细看看。
你用的visionpro什么版本啊!为什么8.3的显示不了
我用的8.2,这跟版本没多大关系,一般是你代码写错了,脚本没有错误提示。
你好,请问载入Job(0)后能用代码更改选择图片吗?
可以,但是要修改图片就不能使用整个job.run方法,需要按顺序依次运行每个工具。
QQ咨询 邮件咨询