川崎机器人网络通信标准协议
标准格式:接收指令 返回值,套接字号,数据数组变量,数组,超时时间,最大字节数 指令格式:TCP_RECV retr,sock_id,recv_buf[1],num,timeout,max_buf
例如:TCP_RECV retr,sock_id,recv_buf[1],num,timeout,max_buf TCP_RECV retr,sock_id,recv_buf[1],2,15,255
注释:TCP_ACCEPT是川崎机器人的检查连接指令; sock_id为套接字号,通俗的讲就是这次通信的定义编号 port为端口号,必须与之前TCP_LISTEN创建的端口号相同 timeout为超时时间,单位是秒,如果超过这个时间没有接收到客户端的请求则报错 ip[1]为IP地址的数组变量第一位地址,需提前定义IP地址数组,比如IP地址是192.11.25.6 那么需要天前在程序中定义,如下 ip[1]=192;ip[2]=11;ip[3]=25;ip[4]=6
接收(RECV) 审阅
第六页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
1.创建 服务端clent(餐馆)
标准格式:创建指令 返回值,端口号 指令格式:TCP_LISTEN retl,port 通俗解释:寻找空桌 是否有空桌,桌号
注释:TCP_LISTEN是川崎机器人的创建连接指令; retl是一个返回值的变量,如果小于0则创建失败如果等于0则创建成功,变量由 机器人返回,用于判断是否成功创建连接; 如果返回值小于0则需要用TCP_END_LISTEN终止后再创建 port为端口号,范围是8192≈65535,可以用自然数替代.如果用变量必须在此指 令之前指定数值
十二页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
★UDP通信★
发送: 指令 返回值,IP地址,端口,发送字符串变量数组,元素数,超时时间 UDP_SENDTO rets,ip[1],port,send_buf[1],buf_n,timeout
例如:UDP_SENDTO rets,ip[1],port,send_buf[1],buf_n,timeout UDP_SENDTO rets,ip[1],58888,send_buf[1],1,20
例如:TCP_LISTEN retl,60000
第七页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
2.检查 服务端clent(餐馆)
标准格式:检查指令 套接字号,端口号,超时时间,IP地址 指令格式:TCP_ACCEPT sock_id,port,timeout,ip[1] 通俗解释:等待食客需求 点菜者,桌号,超时,服务员编号
注释:TCP_CONNECT是川崎机器人的请求连接指令; sock_id为套接字号,通俗的讲就是这次通信的定义编号 port为端口号,必须与之前TCP_LISTEN创建的端口号相同 ip[1]为IP地址的数组变量第一位地址,需提前定义IP地址数组,比如IP地址是192.11.25.6 那么需要天前在程序中定义,如下 ip[1]=192;ip[2]=11;ip[3]=25;ip[4]=6 timeout为超时时间,单位是秒,如果超过这个时间没有接收到客户端的请求则报错
客户端
客户端
接收(RECV) 发送(SEND)
发送(SEND) 接收(RECV)
第四页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
服务端(餐馆)
创建(LISTEN) 安排座位
检查(ACCEPT) 等待食客需求
接收(RECV) 记录菜单
发送(SEND) 上菜
关闭(CLOSE) ห้องสมุดไป่ตู้账
例如:TCP_ACCEPT sock_id,port,11,ip[1] TCP_ACCEPT sock_id,60000,11,ip[1]
第八页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
3.连接 客户端server(食客)
标准格式:连接指令 套接字号,端口号,IP地址, 超时时间 指令格式:TCP_CONNECT sock_id,port,ip[1],timeout 通俗解释:呼叫服务员 点菜者,桌号,服务员编号, 超时
******************************************************************************************************** 接收: 指令 返回值,端口,接收字符串变量数组,元素数,超时时间,IP地址,最大字节数
UDP_RECVFROM retr,port.recv_buf[1],buf_n,timeout,ip[1],max_buf
十一页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
6.关闭 客户端server/服务端clent
标准格式:关闭指令 返回值,套接字号 指令格式:TCP_CLOSE retc,sock_id
例如:TCP_CLOSE retc,sock_id
特注:当关闭失败时(retc<0),可以二次执行关闭指令强制关闭连接
close: TCP_CLOSE retc,sock_id;关闭通信指令 IF retc<0 THEN TCP_CLOSE retl,sock_id;强制关闭通信 END
.END
程序源码
十五页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
.PROGRAM server() #0;川崎机器人标准TCP/IP协议整合通信框架程序-客户端 port = 60000;通信服务器端口号(8192-65535之间) ip[1] = 192;服务器地址第一组 ip[2] = 168;服务器地址第二组 ip[3] = 6 ;服务器地址第三组 ip[4] = 102 ;服务器地址第四组
机器人设定:
方法一:辅助功能→系统→网络设定 方法二:R代码进入→0812
注:客户机与服务端必须在同一网段!
程序源码
十四页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
.PROGRAM clent() #0;川崎机器人标准TCP/IP协议整合通信框架程序-服务端 port = 60000 ip[1]=192;服务器地址第一组 ip[2]=168;服务器地址第二组 ip[3]=12 ;服务器地址第三组 ip[4]=3 ;服务器地址第四组
listen: TCP_LISTEN retl,port;创建连接通信指令
accept: TCP_ACCEPT sock_id,port,10,ip[1]
recv: .num=1 TCP_RECV retr,sock_id,$recv_buf[1],.num,10,255;接收数据指令
send: $send_buf[1] ="string";发送内容 $send_buf[2] ="sendok";发送内容 buf_n = 2 TCP_SEND rets,sock_id,$send_buf[1],buf_n,10;发送数据指令
connect: TCP_CONNECT sock_id,port,ip[1],10;建立通信指令
send: $send_buf[1] = "SHUJU" buf_n = 1 TCP_SEND rets,sock_id,$send_buf[1],buf_n,1;发送数据指令
recv: .num = 0 TCP_RECV retr,sock_id,$recv_buf[1],.num,5,255;接收数据指令
例如:TCP_CONNECT sock_id,port,ip[1],11 TCP_CONNECT sock_id,60000,ip[1],11
第九页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
4.发送 客户端server/服务端clent
标准格式:发送指令 返回值,套接字号,数据数组变量,数组,超时时间 指令格式:TCP_SEND rets,sock_id,send_buf[1],buf_n,timeout
例如:TCP_SEND rets,sock_id,send_buf[1],buf_n,timeout TCP_SEND rets,sock_id,send_buf[1],1,10
第十页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
5.接收 客户端server/服务端clent
close: TCP_CLOSE retc,sock_id;关闭通信指令 IF retc<0 THEN TCP_CLOSE ret1,sock_id;强制关闭通信 END
.END
程序源码
十六页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
十七页
通信类型 执行流程 指令详解 本机设定
程序源码
服务端
创建(LISTEN)
客户端
检查(ACCEPT)
连接(CONNECT)
接收(RECV)
发送(SEND)
发送(SEND)
接收(RECV)
关闭(CLOSE)
关闭(CLOSE)
第三页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
例如: UDP_RECVFROM retr,port.recv_buf[1],buf_n,timeout,ip[1],max_buf UDP_SENDTO rets,58888,recv_buf[1],1,15,ip[1],200
十三页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
客户端(食客)
连接(CONNECT) 呼唤服务员
发送(SEND) 点菜
接收(RECV) 吃菜
关闭(CLOSE) 食客无需求
第五页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
客户端(学生)
客户端(老师)
接收(RECV) 记录作业内容
发送(SEND) 写作业
发送(SEND) 留作业
川崎机器人
<网络通信协议篇>
第一页
川崎机器人<网络通信协议篇>
通信类型 执行流程 指令详解 本机设定
程序源码
一、TCP协议(首选)
优点:完善的数据效验机制可以保证数据完整 缺点:执行流程较多,协议较复杂
二、UDP协议
优点:通信速度快,步骤简单 缺点:数据丢失、乱序无效验/重发机制
第二页
川崎机器人<网络通信协议篇>