HALCON与C#混合开发填坑之旅

1 篇文章 0 订阅
1 篇文章 0 订阅

HALCON与C#混合开发填坑之旅

遇到以下部分问题,有小伙伴会说,将halcon加到环境变量,但是线上的环境一般都不会安装halcon,所以这里都是针对不安装halcon环境的问题
以下问题会出现的前提条件:
1.C#开发
2.halcon 18版 x64开发

1.vs2010引用了holcondotnet.dll(.net 3.5(x64)),运行时HWindowControl控件总是提示初始化失败!
解决:首先VS2010选择平台要选x64,其次需要将(自己安装目录)\bin\x64-win64\halcon.dll拷贝到运行目录下
在这里插入图片描述
在这里插入图片描述
2.vs2010运行时HSmartWindowControl控件也是提示初始化失败!(反正就是不顺利)
解决:将(自己安装目录)\bin\x64-win64\hcanvas.dll拷贝到运行目录下,这里就不贴图了,跟1一样

3.开启相机总是报错,HOperatorSet.OpenFramegrabber
这个地方的错误可能有很多,因为他的参数太多了,基本的参数默认,第一个参数填什么就要拷贝对应的dll到安装目录下,
这里举个栗子:HOperatorSet.OpenFramegrabber(“GenICamTL”, 0, 0, 0, 0, 0, 0, “progressive”, -1, “gray”, -1, “false”, “default”, “自己的设备”, 0, -1, out hv_AcqHandle);
参考下图,看到了hAcqGenICamTL.dll (Rev. 13.0.5),又是相关的(自己安装目录)\bin\x64-win64\hAcqGenICamTL.dll要拷贝到运行目录下,选什么接口拷贝什么dll
在这里插入图片描述
讲了上面几个都跟dll有关,总算要碰到不跟dll有关的了

4.图像采集的问题
a.GrabImageAsync,看到Async就表示异步,所以这里表示异步采集图片,你放个按钮,点一下就执行一下采集,手速慢点基本碰不到错误,如果你练过手的话,只要你多采集几次就会报错
这里个人理解:
因为异步,所以你点击后不管有没有图片立马返回,如果用了一个没有返回的图片,不报错才怪
因为异步,所以你点击后不管有没有图片立马返回,这就导致上一张图片在处理你又给他加任务,他撂挑子不干了,给个错误你自己体会
工业视觉表示要快,所以不要搞什么异步直接用GrabImage,得到图片立马处理,放到线程,线程里面处理至少界面不卡死,其余的就是加超时了
b.GrabImage,虽然你们用了同步,但是同步在循环采集的时候也会出问题
HALCON error #5306: Image acquisition: failed grabbing of an image in operator grab_image
网上给的说法:没有释放内存,网卡配置不行,关防火墙,换相机,换网卡,换电脑
当然不排除释放内存,哪里创建哪里销毁,学编程的时候就告诉我们的。
个人试出来的结果是***调慢采集频率,调慢采集频率,调慢采集频率,***
既然调慢采集频率能解决,那么上面说换网卡,换相机,换电脑都成立,电脑相机网卡都牛逼能让你起飞

5.软件每次关闭后,相机连不上了,拔掉网线重新连又可以了
问题:网路被占用,所以软件关闭的时候一定要关闭相机,否则相机一直认为有人在跟他玩,当然也不排除有些相机开启的时候重新初始化,我用的pylon,所以软件退出的时候每次都要先关闭相机

好了,我也是新手,但是感觉只要跟代码有关的,万变不离其宗,欢迎视觉的小伙伴一起交流

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值