C#(上位机)—Halcon(图像处理)—ADS(PLC)—Python(机械手)联合编程

编程入门 行业动态 更新时间:2024-10-20 13:36:41

C#(上位机)—Halcon(图像处理)—ADS(PLC)—Python(<a href=https://www.elefans.com/category/jswz/34/1740261.html style=机械手)联合编程"/>

C#(上位机)—Halcon(图像处理)—ADS(PLC)—Python(机械手)联合编程

最近参与到公司一个联合项目开发,经过近一个月的开发周期基本已经完成上位机需求,写篇博客以记录开发过程中碰到的一些疑难问题,方便日后查看学习。

一、项目内容

项目主要设计一套系统以完成对产品的缺陷检测、智能分拣、外观切割等操作。
具体流程:1、设计Halcon程序,驱动工业相机,完成烟包的中心点坐标、角度的测量;2、设计C#异步服务器(集成TCP和ADS通信),完成对抓取图片的数据通信及下位PLC通信:将角度坐标信息通过TCP传输客户端,将PLC状态信息通过ADS通信传输至PLC;3、设计Python异步客户端,实现TCP通信,接收服务器数据并驱动机械手操作。

二、设计思路

1、Halcon

目的在于获得烟包的中心点坐标及角度,并完成世界坐标系转换。
一开始思路是利用Blobe逼近ROI,再通过orientation_region算子得到角度,后发现对于不同照片,Blobe难以以固定的阈值得到ROI,故此法不可行;第二种思路是利用模板匹配,vector_angle_to_rigid来获得目标的中心点及角度,此法比较稳定,易于扩充需求,但是值得注意的是模板的标准问题,因为最终得到的角度是以模板为标准(0度)旋转得到的。另外考虑到烟包的正反面特性,建议提前做好正面、反面模板保存至本地,使用时再利用read_shape_model进行写入。

*烟包测量数据算法*
gen_empty_obj (Models)IndexS := []
IndexE := []
ModelIDs := []read_shape_model ('C:/Users/56234/Desktop/烟包检测/格调娇子/img_model_正面', ModelID0)
read_shape_model ('C:/Users/56234/Desktop/烟包检测/格调娇子/img_model_背面', ModelID1)ModelIDs[0] := [ModelID0]
ModelIDs[1] := [ModelID1]for I := 0 to 1 by 1get_shape_model_contours (ModelContours, ModelIDs[I], 1)count_obj (ModelContours, NumModel)count_obj (Models, NumModels)concat_obj (Models, ModelContours, Models)   IndexS := [IndexS,NumModels + 1]IndexE := [IndexE,NumModels + NumModel]endfor* Image Acquisition 01: Code generated by Image Acquisition 01
ImageFiles := []
ImageFiles[0] := 'C:/Users/56234/MVS/Data/Image_20190814150555121.jpg'
ImageFiles[1] := 'C:/Users/56234/MVS/Data/Image_20190814150606739.jpg'
for Index := 0 to |ImageFiles| - 1 by 1read_image (Image, ImageFiles[Index])get_image_size (Image, Width, Height)dev_close_window ()dev_open_window (-1, -1, Width, Height, 'black

更多推荐

C#(上位机)—Halcon(图像处理)—ADS(PLC)—Python(机械手)联合编程

本文发布于:2024-03-23 18:22:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741337.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:机械手   上位   图像处理   Halcon   ADS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!