一种基于tcpip通信协议的自定义帧格式驱动方法及程序的制作方法

文档序号:9508566阅读:340来源:国知局
一种基于tcpip通信协议的自定义帧格式驱动方法及程序的制作方法
【技术领域】
[0001] 本发明涉及工业通信协议领域,尤其是基于TCP/IP开发的用于SanMotion与第三 方控制器或其它的通信协议。
【背景技术】
[0002] TCP/IP是一个比较广泛应用于民用领域的通信协议,其可扩展性,非常强大。因为 诞生之初就是专门为美国海军开发的通信系统,因此在工业领域使用也是水到渠成的。但 是工控领域主要对其要求是开放,稳定。因此基于TCPIP的协议开发的其它工业协议逐步 推向市场并越来越成熟。但是,正是由于其开放性造成基于TCP协议开发的自主协议大量 的涌现出来,从而导致用户在使用不同厂家的控制硬件时没法联机直接读写其内部自定义 的内存变量。

【发明内容】

[0003] 本发明所要解决的技术问题是提供一种基于TCPIP通信协议的自定义帧格式驱 动方法及程序,解决SanMotion控制器与S7300-CP343通信,并读写其自定义内存长度。
[0004] 为解决上述技术问题,本发明的技术方案之一是:一种基于TCP/IP通信协议的自 定义帧格式驱动方法,包括以下步骤: (1) 在服务器与客户端之间完成TCP/IP标准协议的通讯建立; (2) 使用二次握手协议保证数据的完整性; (3) 通过对发送接收数据的解码及格式变换,理解数据含义,制定通信协议符号对照 表。
[0005] 作为改进,所述步骤(1)中,使用SANMOTION控制器作为服务器,S7300-CP343通 讯处理器作为客户端;并利用SANMOTION控制器的库函数完成TCP/IP标准协议的通信建 立。
[0006] 作为改进,所述步骤(2)的二次握手协议包括: (2. 1)通过客户端发送请求信号给服务器,服务器回应确认信号返回给客户端,确保通 信建立,避免浪费通信资源; (2. 2)客户端发送固定长度数据包给服务器,服务器将收到的数据包返回给客户端进 行二次确认并返回确认信号; (2. 3)服务器发送固定长度数据包给客户端,客户端将收到的数据包返回给服务器进 行二次确认并返回确认信号。
[0007] 作为改进,所述步骤(2. 1)- (2. 3)中,设计延时报警、清空数据进行故障安全保护 措施。
[0008] 作为改进,所述步骤(3)中,服务器接收到的字符以ASCII码对应的16进制数值 存储;按照接收字符既定的编码方式进行反方向解码,分别制定出位、字、双字的通信协议 对照表。
[0009] 为解决上述技术问题,本发明的技术方案之二是:一种基于TCP/IP通信协议的自 定义帧格式驱动程序,包括: 基于TCP/IP标准协议在服务器与客户端之间建立的通讯连接; 保证数据传输完整性的二次握手协议; 用于规定在程序中怎么使用收到的数据和打包一个发送的数据的通信协议符号对照 表。
[0010] 作为改进,使用SANM0TI0N控制器作为服务器,S7300-CP343通讯处理器作为客 户端。
[0011] 作为改进,二次握手协议包括: (1) 通过客户端发送请求信号给服务器,服务器回应确认信号返回给客户端,确保通信 建立,避免浪费通信资源; (2) 客户端发送固定长度数据包给服务器,服务器将收到的数据包返回给客户端进行 二次确认并返回确认信号; (3) 服务器发送固定长度数据包给客户端,客户端将收到的数据包返回给服务器进行 二次确认并返回确认信号。
[0012] 作为改进,服务器接收到的字符以ASCII码对应的16进制数值存储;按照接收字 符既定的编码方式进行反方向解码,分别制定出位、字、双字的通信协议对照表。
[0013] 本发明与现有技术相比所带来的有益效果是: 利用软件的方式取代大量外部硬件接线实现通讯方式,极大的节约了成本,并且可以 实现单独靠接线不能实现的模拟量数据传输。并可实现通过Internet进行远程维护,监 控。同时避免了直接使用国外进口的标准化硬件通信协议对内存数据访问量的限制,自行 定义数据变量的传输数量及存储区。
【附图说明】
[0014] 图1为本发明硬件测试系统示意图。
[0015] 图2为本发明TCPIP通信建立的SANM0TI0N功能图。
[0016] 图3为本发明二次握手协议流程图。
【具体实施方式】
[0017] -种基于TCPIP通信协议的自定义帧格式驱动程序,本发明可用于包装机械领域 的码垛机器人的控制。本发明驱动程序包括; (1) 使用硬件平台,完成TCPIP标准协议的通讯建立; (2) 通过程序设计,使用二次握手协议保证数据的完整性; (3) 通过对发送接收数据的解码及格式变换,理解数据含义,制定通信协议符号对照 表。
[0018] 如图1所示,使用SANM0TI0N控制器作为服务器,S7300-CP343通讯处理器作为客 户端搭建实验测试硬件平台。
[0019] 如图2所示,利用SANM0TI0N的库函数即SanTcpIp_ServerFB,完成TCPIP标准协 议的通信建立;Active表示的是通信建立状态。SendtoIP是客户端的IP地址,recedata 是接收数据缓冲区,senddata是发送数据缓冲区。Send_number是本次发送数据个数, Recvnumber是接收数据个数,Send是标志位。
[0020] 如图3所示,通信建立后,使用二次握手协议保证数据的完整性,包括以下步骤: (1) 通过S7300-CP343发送请求信号给SANM0TI0N,SANM0TI0N回应确认信号返回给 S7300-CP343,确保通信建立,避免浪费通信资源; (2) S7300-CP343发送固定长度数据包给SANM0TI0N,SANM0TI0N将收到的数据包返回 给S7300-CP343进行二次确认并返回确认信号; (3) SANM0TI0N发送固定长度数据包给S7300-CP343, S7300-CP343将收到的数据包返 回给SANM0TI0N进行二次确认并返回确认信号。
[0021] 以二次握手协议步骤(1)、(2)、(3),程序设计延时报警、清空数据进行故障安全保 护措施。
[0022] 那么,在程序中怎么使用收到的数据和打包一个发送的数据,是一个问题,所以有 必要制定一个对应的表格去实现,然后把对应的规则制成标准定下来。
[0023] 接收到的字符以ASCII码对应的16进制数值存储,按照接收字符既定的编码方式 进行反方向解码,分别制定出位、字、双字的通信协议对照表。
[0024] 例如:SANM0TI0N 接收缓冲区的保存形式 RecvData[0] = 8 7,RecvData[l]= 6 6,RecvData[2] = 4 8,RecvData[3] = 4 8,因此 S7300-CP343 发送给 SANM0TI0N控制 器的数据是8 7H,66H,48H,48H。根据此编码方式进行反方向解包并定义读取 单个位的变量为"R_GenerateBit [XX] "后面两个" X "号代表从00到31,就是读取单个位 是32位,对应发送方RB0X_Y,X对应发送的字节(0到3)、Y对应发送字节的位数(0到7); 读取单个字的变量为"1?_(^11虹社洲(^(1[11]"后面两个"叉"号代表从 00到15,就是读取单 个字是16个;读取单个双字的变量为"R_GenerateDWord[XX] "后面两个" X "号代表从00 到07,就是读取单个双字是8个;同理制定出以下通信协议对照表。
[0027] 上表位单个双字操作对应的应用程序使用变量。
[0028] 本发明能够达到的效果: (1) 利用软件的方式取代大量外部硬件接线实现通讯方式,极大的节约了成本,并且可 以实现单独靠接线不能实现的模拟量数据传输,并可实现通过Internet进行远程维护,监 控; (2) 通过二次握手协议确保了数据包的准确性和完整性; (3) 通过制定协议通信对照表,极大的方便了首发数据的使用,而不再需要考虑中间数 据转换解包过程; (4) 避免了直接使用国外进口的标准化硬件通信协议对内存数据访问量的限制,自行 定义数据变量的传输数量及存储区。
【主权项】
1. 一种基于TCP/IP通信协议的自定义帧格式驱动方法,其特征在于,包括以下步骤: (1) 在服务器与客户端之间完成TCP/IP标准协议的通讯建立; (2) 使用二次握手协议保证数据的完整性; (3) 通过对发送接收数据的解码及格式变换,理解数据含义,制定通 信协议符号对照表。2. 根据权利要求1所述的一种基于TCP/IP通信协议的自定义帧格式驱动方法,其特征 在于:所述步骤(1)中,使用SANMOTION控制器作为服务器,S7300-CP343通讯处理器作为 客户端;并利用SANMOTION控制器的库函数完成TCP/IP标准协议的通信建立。3. 根据权利要求1所述的一种基于TCP/IP通信协议的自定义帧格式驱动方法,其特征 在于:所述步骤(2)的二次握手协议包括: (2. 1)通过客户端发送请求信号给服务器,服务器回应确认信号返回给客户端,确保通 信建立,避免浪费通信资源; (2. 2)客户端发送固定长度数据包给服务器,服务器将收到的数据包返回给客户端进 行二次确认并返回确认信号; (2. 3)服务器发送固定长度数据包给客户端,客户端将收到的数据包返回给服务器进 行二次确认并返回确认信号。4. 根据权利要求3所述的一种基于TCP/IP通信协议的自定义帧格式驱动方法,其特征 在于:所述步骤(2. 1) - (2. 3)中,设计延时报警、清空数据进行故障安全保护措施。5. 根据权利要求1所述的一种基于TCP/IP通信协议的自定义帧格式驱动方法,其特征 在于:所述步骤(3)中,服务器接收到的字符以ASCII码对应的16进制数值存储;按照接收 字符既定的编码方式进行反方向解码,分别制定出位、字、双字的通信协议对照表。6. -种基于TCP/IP通信协议的自定义帧格式驱动程序,其特征在于,包括: 基于TCP/IP标准协议在服务器与客户端之间建立的通讯连接; 保证数据传输完整性的二次握手协议; 用于规定在程序中怎么使用收到的数据和打包一个发送的数据的通信协议符号对照 表。7. 根据权利要求6所述的一种基于TCP/IP通信协议的自定义帧格式驱动程序,其特征 在于:使用SANMOTION控制器作为服务器,S7300-CP343通讯处理器作为客户端。8. 根据权利要求6所述的一种基于TCP/IP通信协议的自定义帧格式驱动程序,其特征 在于:所述二次握手协议包括: (1) 通过客户端发送请求信号给服务器,服务器回应确认信号返回给客户端,确保通信 建立,避免浪费通信资源; (2) 客户端发送固定长度数据包给服务器,服务器将收到的数据包返回给客户端进行 二次确认并返回确认信号; (3) 服务器发送固定长度数据包给客户端,客户端将收到的数据包返回给服务器进行 二次确认并返回确认信号。9. 根据权利要求6所述的一种基于TCP/IP通信协议的自定义帧格式驱动程序,其特征 在于:服务器接收到的字符以ASCII码对应的16进制数值存储;按照接收字符既定的编码 方式进行反方向解码,分别制定出位、字、双字的通信协议对照表。
【专利摘要】一种基于TCP/IP通信协议的自定义帧格式驱动方法及程序,包括以下步骤:(1)在服务器与客户端之间完成TCP/IP标准协议的通讯建立;(2)使用二次握手协议保证数据的完整性;(3)通过对发送接收数据的解码及格式变换,理解数据含义,制定通信协议符号对照表。解决SanMotion控制器与S7300-CP343通信,并读写其自定义内存长度。
【IPC分类】H04L29/06
【公开号】CN105262745
【申请号】CN201510652662
【发明人】刘远强, 陈汉民, 郭伟越
【申请人】广州市万世德智能装备科技有限公司, 佛山市万世德机器人技术有限公司
【公开日】2016年1月20日
【申请日】2015年10月10日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1