ABB机器人与Halcon通讯

[复制链接]
查看24052 | 回复0 | 2024-1-9 21:41:14 | 显示全部楼层 |阅读模式
更多内容请点击上方 ABB机器人实战技巧 关注

也可点击公众号下方 往期经典 浏览更多内容

转载请先后台留言,大家一起支持原创,推动机器人使用和发展

本公众号对各类ABB机器人应用,仿真,毕业设计提供技术支持,详细后台留言

本公众号诚挚希望与各机器人培训机构,机器人使用单元合作,提供技术支持,详细后台留言

1. HALCON 为现在主流工业视觉处理软件,提供各类视觉识别算子,提供不同软件接口,也可通过HALCON HDevelop进行编程处理,如下图



2. 在视觉处理前后,通常都需要和外设(例如机器人)进行通讯,此处举例socket通讯

3. 在HALCON的HELP中,提供了详细的示例代码。

4. 此处举例HALCON作为socket通讯的server,机器人作为socket通讯的client

5. 在HALCON创建如下代码

Protocol := 'TCP4'Timeout := 10.0* * 创建一个监听,设置端口为4660,超时为10sopen_socket_accept (4660, ['protocol','timeout'], [Protocol,Timeout], AcceptingSocket)* Strip AddressFamily from Protocltuple_regexp_match (Protocol, 'TCP|HALCON', BaseProtocol)if (BaseProtocol == 'TCP' or BaseProtocol == 'HALCON')    * Wait for an incoming connection, use the timeout of the    * AcceptingSocket    dev_error_var (Error, 1)    dev_set_check ('~give_error')    OpenStatus := 5    while (OpenStatus != 2)        socket_accept_connect (AcceptingSocket, 'auto', Socket)        OpenStatus := Error    endwhile    dev_set_check ('give_error')    * Set the same timeout on the newly created socket    set_socket_param (Socket, 'timeout', Timeout)else    * UDP sockets do not need an accept()    Socket := AcceptingSocketendifget_socket_param (Socket, 'address_info', Address)* Answer := []while (Answer != 'End')    receive_data (Socket, 'z', Answer, From)    To:=[]    Data:='received '+Answer    Format := 'z'    send_data (Socket, Format, Data, To)endwhilestop ()close_socket (Socket)close_socket (AcceptingSocket)

6. 在机器人端创建如下代码
PROC main1()        VAR robtarget ptmp;        VAR string send_string;        SocketClose socket1;        SocketCreate socket1;        SocketConnect socket1,"127.0.0.1",4660\Time:=WAIT_MAX;        SocketSend socket1\Str:="Hello Halcon"+" "+CTime();        SocketReceive socket1\Str:=received_string\Time:=WAIT_MAX;        TPWrite "Server wrote - "+received_string;        SocketSend socket1\Str:="End";        SocketReceive socket1\Str:=received_string\Time:=WAIT_MAX;        TPWrite "Server wrote - "+received_string;        received_string:="";
    ERROR        SocketClose socket1;

7. 先运行HALCON的server,再运行机器人端的client程序。

8. HALCON会先接受机器人发来的Hello Halcon,再将接受到的数据发送回机器人





********************************

如何获取更多经典文章?

关注公众号 ABB机器人实战技巧,点击页面底部的往期经典和配置,查看更多经典内容

点击阅读原文,学习robotstudio仿真,获取完整教学视频

更多内容

★基于pcsdk传输文件到HOME及加载

★RMQ通讯-与PC通讯

★使用定时中断向PLC发送机器人位置

★信号的准确提早触发

★变位机校准

★ABB机器人零位校准的那些秘密

★创建UDP通讯

★旋转姿态的左乘与右乘

★通过socket控制机器人启停

★机器人画哆啦A梦

★六一节,机器人画柯南

★searchL仿真工作站

★pathoffset轨迹实时修正功能

★撤销处理程序

★使用组输出发送ASCII码

机器人PROFINET同时做CONTROLLER和DEVICE

★语音控制ABB机器人

★手机访问web控制机器人

★YUMI 伺服手仿真制作

★自定义伺服焊枪

★制作输送链抓取搬运码垛工作站

★随机物料产生与抓取

★四轴机器人定义TCP

★更换工具后重算tcp

★自定义外部轴-变位机

★示教四点完成码垛

★multimove之双机器人与变位机

Robotware6.08碰撞预测启用与关闭

SMB板针脚解释

四六关节耦合限制

求两点间距离

新I/O DSQC1030配置

ABB机器人配置伺服焊枪

机器人碰撞后如何移动

转角路径故障不提示设置

外部PLC选择机器人程序

一键回HOME程序

机器人各轴上下限位修改

Wobjdata数据解释

输送链跟踪与视觉的联系

急停与自动停止接线

更多大牛讲解视频,可以前往https://www.aiimooc.com 搜索ABB观看或者扫描以下二维码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则