让代码更简单

C#与visionPro工业视觉教程——C#加载visionpro文件

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

虽然康耐视的visionpro视觉软件有生成向导功能,并且visionpro也支持脚本,但没有自己实现来得方便,比如打广告,嘿嘿。

下面我们来加载第一个visionPro的vpp程序到C#程序中,并显示出来。

熟悉visionpro软件的朋友就会发现,visionpro很多工具都支持保存文件,并且扩展名都是.VPP,也就是说,这些文件都支持代码载入,下面就用一个jobmanger做个例子。

第一步、用visionPro将我们的处理流程保存为vpp文件。

visionpro工业视觉教程

visionpro工业视觉教程

第二步、新建一个C#winform窗口程序,在窗体中加入一个按钮一个cogjobmangeredit控件。

visionpro工业视觉教程

visionpro工业视觉教程

第三步,双击按钮,在按钮的点击时间里写上下面这句代码。


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

上面的path换成你自己的vpp文件保存路径,也可以直接写字符串类型的路径。

第四步、运行这个工程,点击按钮等待一段时间就会将你的vpp加载在cogJobManagerEdi控件中了。在加载过程中会出现卡顿,那是因为在UI线程中执行了耗时任务——加载vpp,要想不卡顿,可以使用线程加载,参照这篇文章:C#线程与委托的简单使用

运行效果如下:

点击按钮前:

visionpro工业视觉教程

visionpro工业视觉教程

点击按钮后:

visionpro工业视觉教程

visionpro工业视觉教程

大家可以看见我们在visionPro中编辑的图像识别流程在我们自己的C#程序中加载出来了,并且可以像在visionpro中一样随意编辑保存它。

注:程序需要引用康耐视类库:


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

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

69 打赏
感谢 1人打赏1元

评论 (65)

登录后评论
请问visionpro破解版不可以加载dll文件吗?
你好vs2010和visionpro9.0cr2没有cogjobmangeredit控件
应该有的,没有就用toolgroup,一样的。
也没有
谢谢,自己已解决
在添加工具时卡顿,但在外面运行时正常是什么原因,怎么解决
这个没办法,不知道什么原因。
怎么添加job文件?
以后代码部分可以多一点的注释吗,对于小白很多都是不懂。
vs是2010的,visionpro是7.0的
7.0不清楚是否支持2010.
支持的,我现在是7.0,32位的版本
我重新安装一遍先安装vs再安装visionpro后打开vs也没有上述的cogjobmangeredit控件
你的visionPro什么版本的,vs是什么版本的?8.2只支持到vs2012.
我的VP8.2 VS2013 意思是要重新装2012?
推荐2012,貌似2013也可以
我安装的8.2也能识别2010版本的
可以自己加载控件的我vs2017,自己加载的vp控件
那个cogjobmangeredit控件怎么添加(我vs2010工具箱里面没有)。
说明你的安装顺序错了,先安装vs,再安装visionPro。你可以在开始菜单-cognex-visionPro工具文件夹下找到控件安装向导,运行下就可以了。
加载失败,第二句出错,用try catch语句之后弹窗:未将对象引用到实例。该怎么解决。。
看看你的路径对不对,第一句的mymanger是否为空。
visionpro控件能不能添加到vs2013版?
据我测试visionPro 8.2版本仅能支持到vs2012版本。越高的visionPro支持的vs版本也越高!
在向导程序里面改的,以前是mJM.Run 加个按钮,改成mJM.JOB(1).Run,
完全用向导程序也会在十几次以后报取相错误,获取不到相机图片,在visionpro里也获取不到,重新打开就好了
看不到报错信息,我也不知道什么原因。
您好 请问一下 我用Visionpro连接两个相机,用自动生成向导生成的C#程序,运行起来 quickbuild里面经常出现取像错误 用一个相机就没有这样的问题,单独用quick build也没有问题,这是什么原因?怎么解决?谢谢
visionPro相机取像不能同时进行,挨着来
在VisionPro里面两个Job 连连两个相机 同时运行就OK 用向导生成的C#程序运行就不行了 用C# 单独运行一个Job 也会出取像错误
单独运行是你自己写的C#程序还是向导程序
非常高
加载job文件也是用CogJobManager控件吗
用的代码加载到内存,显示是用的控件,如果你不需要显示,你可以不显示。
visionpro 可以保存为quickbuild工程,job,toolblock,这些有什么区别吗,每次打开文件都好混乱
光从文件名后缀中是看不出任何区别的,都是.vpp后缀,只能靠你自己在命名时做些标识了。
您好!请问如何在C#中获取Image Source中的OutputImage?
取得整个job后,运行,再取得Image Source工具,然后找到该工具的图像输出值,具体怎么操作参考其它工具的取值,前面有文章写过的。
谢谢您!我去尝试一下
您好!我看了您关于C#和VisionPro其他的文章,有学习到其他控件参数在C#中的动态设置。但是在网上没有找到Image Source的参数的动态设置,是不是因为Image Source不是VisionPro工具箱里面的控件,所以在C#中无法用代码动态设置?
如果取不到,你可以添加一个CogAcqFifoTool工具,将图像来源调整至该工具,取消一切关于Image Source的设置与流程,然后初始化CogAcqFifoTool工具,最后用C#从CogAcqFifoTool工具取图像即可。CogAcqFifoTool与Image Source功能相似都能通过相机获取图像。
CogJobManager mymanger = (CogJobManager)CogSerializer.LoadObjectFromFile(path);
//这一句运行出错 无法将.. 强制转换为 ...。
环境:vs13+vp8.3
将什么转换为什么?代码没问题。
.vpp要保存为要保存为 quickBuild应用程序才可以,而不能保存为作业。 这里浪费了我很多时间。
不是一定要保持为quickbuild程序的,是加载代码限制只加载quickBuild应用程序,如果要加载作业也是可以的,代码变了而已,visionPro中所有文件都是vpp后缀
谢谢你
用C#写程序加载VPP特别慢,请问有什么办法吗,用线程是否仅解决卡顿问题
目前没有办法解决,据我测试线程不能解决这个问题,程序启动时加载一次,正常运行程序是不会卡顿的。
文件的保持路径写上()上,会报警
程序集引用了没,括号注意半角,用英文的括号。
vs2012为啥总是加不上visionpro控件,虚拟电脑装的win10
康耐视官方给我的回答是vision pro的安装需要对应的.net框架,建议使用win7系统,本站有微软官方纯净版。
QQ咨询 邮件咨询 狗哥推荐