[发明专利]一种基于以太网的机器人协议实现方法有效
申请号: | 201210115631.9 | 申请日: | 2012-04-18 |
公开(公告)号: | CN102664886A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 黄海飞;张爱民 | 申请(专利权)人: | 广州数控设备有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L1/00;H04L12/28 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 陈燕娴 |
地址: | 510530 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 以太网 机器人 协议 实现 方法 | ||
技术领域
本发明涉及工业控制领域,特别涉及一种基于以太网的机器人协议实现方法。
背景技术
工业机器人是提高生产过程自动化,改善劳动环境条件,提高产品质量和生产效率的一种非常有效的手段。机器人运用范围已在不断扩大遍及工业、国防、宇宙空间、抢险救灾、医疗康复,甚至进入人类生活的各个方面。机器人的远程连接装置也越来越多,如示教装置,机器人视觉装置,离线装置,现在没有统一的接口对所有装置能够连接。对机器人安全操作,远程控制也提出新的要求:高速,实时性,高可靠性。有些示教装置采用串口,CAN连接到控制系统,串口的传输速度一般为115200bps,CAN的最大传输速度也只有1Mbps,这中传输速度已不能达到控制速度和大数据量的传输要求,并且串口和CAN都不能实现远程控制。另外,有些远程控制装置采用以太网TCP/IP协议的传输方式控制实时性,同样也无法达到要求。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于以太网的机器人协议实现方法。
为了达到上述目的,本发明采用以下技术方案:
本发明一种基于以太网的机器人协议实现方法,包括定义帧头和定义域数据,其特征在于,所述帧头包括帧信息、指令码、帧长度以及位图;所述帧信息包括指令索引号、帧类型以及帧域个数;所述索引号占2个字节,用来表示指令在索引表的位置,所述帧类型占一个字节,包括请求帧、响应帧、广播帧、大文件请求帧以及大文件响应帧。
优选的,所述位图由8个字节组成,每一个字节有8位组成,每一位表示一个域。
优选的,所述帧信息由4个字节组成,包括指令索引号、帧类型以及帧域个数,所述指令索引号占2个字节,用来表示指令在索引表的位置;所述帧类型占1个字节,包括请求帧、响应帧、广播帧、大文件请求帧以及大文件响应帧;所述帧域个数占1个字节,用来表示发送帧中包含几个域在域数据区。
优选的,所述位图由8个字节组成,一个字节由8位组成,每一位表示一个域,用来表示最多64个域,低位字节的低位表示第1域,高位字节的高位表示第64域,在帧发送过程某一位用1表示域存在,0表示域不存在,这样在一个帧发送过程为一个域或多个域,极大提高了数据发送的灵活性。
优选的,所述域数据按一定顺序排列,低位域数据排在帧的前面,高位域数据排在帧的后面,域数据由固定长数据域和变长数据域组成,这个由本协议设计确定域是固定长还是变长;固定长数据域在域数据区只有对应域的数据传输,变长数据数据域在域数据区有域数据长度信息和对应域的数据传输,域数据长度信息放在帧前面,紧跟在后面的是对应域的数据。
优选的,对于请求帧都需要反馈响应帧进行数据确认已经收到,在数据确认后才能下一步操作,发送端在请求帧超时没有收到响应帧实现自动重发,响应端收到请求帧出错可以反馈给发送端告知重发,重发时间间隔按一定比例进行计算,提高重发的效率。
优选的,包括发送端数据处理步骤和接收端数据处理步骤;其中,发送端数据处理步骤包括下述步骤:
S11:发送端协议连接成功;
S12:发送端需要发送请求指令,准备指令数据;
S13:帧头组包,协议根据指令码,填充帧信息里的数据,并且把指令码需要的域在位图对应的位设置为1;
S14:域数据组包,域数据按指令需要进行域组包,实现一个完整的帧数据;
S15:发送帧数据包,发送端经UDP发送数据,并等待响应帧的返回;
S16:是否接收到响应帧,接收到响应帧则下一步,没有接收到则跳到S19;
S17:判断请求帧是否在接收端已经正确处理过,正确处理了请求帧,则指令发送完成跳到S111,没有正确处理则进行下一步;
S18:接收端没有正确处理请求帧则发送端进行重发,跳到S15;
S19:判断是否等待超时,没有超时继续等待;
S110:超时没有收到响应帧,判断是否超过最大发送次数,没有则根据重发次数计算超时时间,跳到S15重发请求帧;超过发送最大次数执行下一步;
S111:请求指令帧发送结束;
所述接收端数据处理步骤包括下述步骤:
S21:接收端接收到数据;
S22:接收端获取帧信息、指令码;
S23:根据协议要求判断帧头是不是正确的数据,不是正确的数据则认为是一个无效帧,丢掉收到的数据,跳到S26;
S24:如果是正确数据则按位图进行解域数据,解域数据不成功,则发送解域失败帧通知发送端重发请求帧,跳到步骤S26;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州数控设备有限公司,未经广州数控设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210115631.9/2.html,转载请声明来源钻瓜专利网。