更多内容请点击上方 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观看或者扫描以下二维码
|