【干货】如何实现ABB机器人和视觉系统的通讯?

  • 来源:网络
  • 更新日期:2020-06-16

摘要:随着工业现场需求的日益变化,机器视觉在机器人集成项目中的应用越来越广泛。在视觉与机器人的配合中,要解决的问题有很多,比如视觉的内外参标定,视觉系统和机器人间的标定问题,视

随着工业现场需求的日益变化,机器视觉在机器人集成项目中的应用越来越广泛。在视觉与机器人的配合中,要解决的问题有很多,比如视觉的内外参标定,视觉系统和机器人间的标定问题,视觉和机器人间的通讯等等。其中视觉和机器人间的通讯往往作为重难点存在,不同品牌视觉在和不同品牌机器人通讯时,可供选择的通讯方案比较多,比如串口通讯、现场总线通讯、以太网通讯等等,其中TCP/IP通讯是一种比较方便也容易使用的通讯方式。

那么,问题来了,如何实现ABB机器人和视觉系统间的TCP/IP通讯呢?首先我们先看下通讯效果,然后我们再来解开通讯背后的秘密。

ABB机器人实现TCP/IP通讯的前提是必须要有616-1 PC Interface选项功能,如下图是ABB官方对于PC Interface选项功能的介绍:

所以,当我们在真实机器人系统上想实现TCP/IP通讯要先检查下系统是否含此选项功能,参考如下界面:

TCP是因特网中的传输层协议,使用三次握手协议建立连接,过程比较复杂,实际使用中,我们可以用socket编程接口实现服务器与客户端间的通讯,关于TCP/IP与socket之间的关系大家可以查阅相关资料,下图是ABB机器人使用socket接口实现通信的过程。

下面我们在RobotStudio软件中模拟机器人实现此功能的过程(这里我们把机器人作为客户端client使用):

第一步,创建机器人系统,这里要注意参考图片把PC Interface选项加入。

第二步,新建程序模块及例行程序。

通讯相关指令在Communicate指令集下。

第三步,编写程序,具体程序如下:

SocketCreate socket_vision;

!创建套接字,用于连接远程计算机,这里注意,下面编程是把机器人作为客户端,远程计算机作为服务器的

SocketConnect socket_vision,“127.0.0.1”,5001;

!连接远程计算机,这里要写明远程计算机的IP地址和通讯双方共用的端口号。注意,在真实机器人系统上,远程计算机网口和机器人LAN口或WAN口间要用网线做好连接,并将计算机IP地址设置和机器人IP地址同一网段,此外,端口号不可随意设置,一般不会用0~1023之间的数字。这里为了和本机上TCP/IP测试工具间实现通讯,IP地址设为回送地址 “127.0.0.1”

SocketSend socket_vision\\Str:="hello!";

!向远程计算机发送信息,发送内容可以为具体字符串,也可以是string型变量

SocketReceive socket_vision\\Str:=string_vision;

!接收来自远程计算机发送过来的数据,存储在string_vision变量中,注意,string_vision存储类型必须为变量,数据类型为string

SocketClose socket_vision;

!关闭通讯

TPErase;

!擦除屏幕上的显示的文本信息

TPWrite string_vision;

!将string_vision的文本信息写入示教器屏幕,验证写入的信息和远程计算机发送的信息是否一致

第四步,测试通讯。

到此,我们就实现了ABB机器人和视觉系统间的通讯啦。

新网数码