【技术实现步骤摘要】
一种局域网节点数据交互方法、介质和系统
[0001]本申请一般涉及数据传输
,尤其涉及一种局域网节点数据交互方法、介质和系统。
技术介绍
[0002]CAN总线作为局域网中不同节点进行数据交互的传输媒介,在工业组网中有着较为普遍的应用。上述交互数据以CAN总线进行传输,可利用CAN总线数据帧长度短,且数据帧中附有优先级标识等优势。但受限于CAN总线的物理特点,其在传输大规模数据,或被用在对传输数据有速度要求的场景下时,往往不能满足对于传输速度的要求,而如果单纯将局域网的传输介质更换为各节点间的以太网,则不能利用原有的CAN数据帧的传输优势。
技术实现思路
[0003]鉴于现有技术中的上述缺陷或不足,期望提供一种即可利用CAN数据帧传输优势,又能提升局域网各节点件数据交互效率的局域网节点数据交互方法、介质和系统。
[0004]具体技术方案如下:
[0005]第一方面
[0006]本申请提供一种局域网节点数据交互方法,包括如下步骤:
[0007]定义CAN消息管理结构体;
[0008]将所述待发送数据按照所述CAN消息管理结构体格式进行填充,以得到所述第一格式数据;
[0009]创建UDP协议下的发送套接字;
[0010]根据所述发送套接字和所述第一格式数据,以UDP协议下、通过以太网传输报文格式设计第一报文;
[0011]将所述第一报文通过以太网发送至局域网中其他节点;
[0012]创建UDP协议下的接收套接字,以接收其他节点 ...
【技术保护点】
【技术特征摘要】
1.一种局域网节点数据交互方法,其特征在于,包括如下步骤:定义CAN消息管理结构体;将所述待发送数据按照所述CAN消息管理结构体格式进行填充,以得到所述第一格式数据;创建UDP协议下的发送套接字;根据所述发送套接字和所述第一格式数据,以UDP协议下、通过以太网传输报文格式设计第一报文;将所述第一报文通过以太网发送至局域网中其他节点;创建UDP协议下的接收套接字,以接收其他节点发送的若干第二报文。2.根据权利要求1所述的局域网节点数据交互方法,其特征在于,还包括如下步骤:对接收到的若干所述第二报文进行优先级排序;在优先级最高的所述第二报文中进行查找,以获得其中的接收数据。3.根据权利要求1所述的局域网节点数据交互方法,其特征在于,所述CAN消息管理结构体,具体包括如下步骤变量:帧优先级变量,所述帧优先级变量为枚举类型,此变量赋值为0表示一级优先级,赋值为1表示二级优先级,赋值为3表示三级优先级,赋值为4表示四级优先级;目的节点变量,所述目的节点变量为无符号字符型;源节点变量,所述源节点变量为无符号字符型;帧类型变量,所述帧类型变量为无符号字符型;信息类型变量,所述信息类型变量为无符号字符型;数据内容变量,所述数据内容变量为无符号字符型数组,数组长度为8。4.根据权利要求1所述的局域网节点数据交互方法,其特征在于,所述创建UDP协议下的发送套接字,具体包括如下步骤:创建网络套接字结构体变量sendAddr,计算此结构体长度len1,对结构体变量中所有元素进行清零;将结构体长度len1赋值给此结构体长度字段sin_len1,将网络协议簇字段sin_family赋值为AF_INET将端口号字段设置为接收方的端口号,并使用大小端转换接口htons进行转换,此端口由用户根据需要进行定义。将网络地址字段赋值为对方的IP;定义整型变量sendSock,使用socket函数创建UDP发送套接字,参数中包形式为数据包形式,协议簇采用TCP/IP协议簇;发送成功后返回句柄赋值到整型变量sendSock;在需要发送报文的地方调用sendto函数发送报文,套接字使用所述整型变量sendSock,填入发送数据的指针和长度;将所述变量sendAddr信息传入此函数,和所述结构体长度len1。5.根据权利要求1所述的局域网节点数据交互方法,其特征在于,所述根据所述发送套接字和所述第一格式数据,以UDP协议下、通过以太网传输报文格式设计第一报文,具体包括如下步骤:将所述第一报文长度设定为12个字节,其中8个字节为数据字节,一个32位字节为标识
符,标识符中只有第29位有效;将扩展帧29位ID分为四个域,分别为优先级域,目的节点ID域,源节点ID域;第29位到28位为优先级,CAN总线帧报文的优先级高的为ID值小的,因此优先级设置为四种,00B为表示一级优先级,01B表示二级优先级,10B表示三级优先级,11B表示四级优先级,其中一级为最高优先级,四级为最低优先级;第27位到20位,表示目的节点ID值;第19位到第12位,源节点ID域;第11位到第4位,表示帧的类型,帧类型包括...
【专利技术属性】
技术研发人员:王雨龙,
申请(专利权)人:天津津航计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。