您好!欢迎光临工博士商城

ABB工业机器人服务商

产品:75    
联系我们
联系方式
  • 联系人:王青慧
  • 电话:18616260662
  • 邮件:wqh@gongboshi.com
  • 手机:18616260662
新闻分类
首页 > ABB机器人新闻中心 > ABB机器人socket通讯
ABB机器人新闻中心
ABB机器人socket通讯
发布时间:2021-02-18        浏览次数:1289        返回列表

1

什么是socket通讯?

socket通讯是一种无协议的

TCP/IP通讯,

在微软环境下称为socket通讯。

通过socket通讯可以

收发定制数据,

包括sting字符串,byte数组等。

ABB机器人进行socket通讯的前提是

机器人有配置616-1 PL-INTERFACE选项,

ABB机器人的标准配置有包括616-1 PL-INTERFACE选项,

但不排除没有的情况,

所以

进行前期设计时要注意一下。

可以通过机器人示教器查看机器人的系统配置

如下所示:

 

socket通讯有客户端和服务端的区分。

客户端是:

对被动等待TCP连接的对方设备执行

主动开放处理的一方;

服务端是:

被动等待TCP连接,侦听等待的一方。

socket通讯的三要素:

1、机器人侧的IP地址及端口号;

2PLC侧的IP地址及端口号;  

3、通讯双方哪一侧为开放侧(客户端)

//**********方式的选择**********//

通讯实现的一种方式是:

以机器人作为client(客户)端,

PLC作为server(服务)端来实现;

另一种方式是:

PLC作为客户端,

机器人作为服务端来实现。

不管哪一侧作为开放侧都可以实现交互通讯

看个人的习惯而定。

///////////////////////////////

当你只负责PLC这一块时:

机器人有另外的人去负责的话,

你可以把PLC侧作为服务端,

只需收发程序就可以,

不需要写socket主动打开open的程序。

///////////////////////////////

PLC和机器人都是由你负责时:

你可以把PLC作为客户端,

主动打开连接,

PLC作为主控,

机器人作为服务端执行程序,

这样更有利于报警提示人机交互的完善。

☆☆☆☆☆以下为程序代码写法干货

以下我们来介绍

ABB机器人socket通讯方式的程序写法:

 

机器人作为client(客户)端:

 

VAR socketdev socket1;

    !定义套接字变量socket1

VAR string strsend;

    !定义字符串变量strsend

VAR string chrRead;

    !定义字符串变量chrRead

TPErase;

    !擦除在FlexPendant示教器上印刷的文本

SocketClose socket1;

    !关闭套接字

SocketCreate socket1;

    !创建连接

SocketConnect socket1, "192.168.1.20", 4096;

    !建立连接程序执行将等待,直至连接得以建立、失效或出现超时。

TPWrite "socket clinent connect successful";

    !在示教器上显示连接成功

SocketSend socket1 \Str := strsend+"\0D\0A";

    !将strsend的数据发送给远程端。

SocketReceive socket1 \Str := chrRead;

    !从远程端接收数据,并将其储存在字符串变量chrRead中。

TPWrite "server wrote ="+ chrRead;

    !在示教器上显示接收的数据。

机器人作为server(服务)端:

 

VAR socketdev server_socket;

    !定义套接字变量server_socket

VAR socketdev client_socket;

    !定义套接字变量client_socket

VAR string receive_string;

    !定义字符串变量receive_string

TPErase;

    !擦除在FlexPendant示教器上印刷的文本

SocketClose server_socket;

    !关闭套接字server_socket

SocketClose client_socket;

    !关闭套接字client_socket

SocketCreate server_socket;

    !创建套接字连接server_socket

SocketBind server_socket,"192.168.1.22",4096;

    !创建服务器套接字,绑定IP及端口

SocketListen server_socket;

    !监听是否有client(客户端)连接

socketAccept server_socket,client_socket;

    !接受输入连接,client_socket之后可用。

SocketReceive client_socket\Str:=receive_string;

    !接收数据,并将其储存在字符串变量receive_string中。

TPWrite "client wrote-"+ receive_string;

    !在示教器上显示接收的数据。

SocketSend client_socket\Str:="Server Menting";

    !将字符串数据"Server Menting"发送出去。

SocketClose server_socket;

    !关闭套接字server_socket

SocketClose client_socket;

    !关闭套接字client_socket




 

联系热线:18616260662 联系人:王青慧 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 ABB工业机器人服务商

返回
顶部