基于多现场总线的数据通信方法、设备及系统
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于多现场总线的数据通信方法、设备及系统。
背景技术
随着通信技术的迅猛发展,工程中多个设备之间的数据传输、数据共享显得愈发重要。为满足人们对于传输数据的多种不同需求,出现了多种使用不同总线传输数据的设备。例如,以太网总线、CAN(Controller Area Network,控制器局域网络)总线、RS422串行接口总线等。
通常一个设备上可以同时安装有多个不同总线的接口,可以使用多种不同的总线进行数据传输。采用不同总线进行数据通信时使用的通信协议不同,以太网总线的设备之间进行数据通信所采用的协议、CAN总线的设备之间进行数据通信所采用的协议和串行接口总线的设备之间进行数据通信所采用的协议各不相同。
一个设备在使用总线的数据通信协议传输数据前,需要事先安装有该数据通信协议的实现模块,不同总线的数据通信协议的实现模块不同。目前,不同类型的总线无法共用实现模块,如果在同一设备上使用多种不同的总线进行数据传输,就需要在该设备上安装多个实现模块,耗费大量时间,且多个实现模块占用存储空间较大。
发明内容
本发明实施例提供一种基于多现场总线的数据通信方法、设备及系统,以解决因不同总线进行数据通信时使用的通信协议不同,在同一设备上使用多种不同的总线进行数据传输时,需要在该设备上安装多个实现模块,耗费大量时间,且占用存储空间较大的问题。
本发明实施例的一个方面是提供一种基于多现场总线的数据通信方法,包括:
获取待发送的原数据,以及帧结构配置参数和总线类型参数,所述总线类型参数包括总线类型标识;
根据所述帧结构配置参数,对所述原数据进行封帧处理,得到多个功能帧;
根据所述总线类型参数以及预设收发策略,将各所述功能帧进行第一结构转换,得到各所述功能帧对应的目标帧,所述目标帧的帧结构为所述总线类型参数包括的总线类型标识对应的目标帧结构;
根据预设收发策略,将各所述目标帧发送给接收设备,以使所述接收设备根据各所述目标帧得到原数据;
其中,所述预设收发策略至少包括优先级策略和CRC策略。
本发明实施例的另一个方面是提供一种基于多现场总线的数据通信方法,包括:
获取帧结构配置参数和总线类型参数,所述总线类型参数包括总线类型标识;
根据预设收发策略,接收发送设备发送的各目标帧;
根据所述总线类型参数以及所述预设收发策略,将所述各目标帧进行第二结构转换,得到所述各目标帧对应的功能帧;
根据所述帧结构配置参数,将所述各功能帧进行数据整合,得到原数据。
本发明实施例的另一个方面是提供一种发送设备,包括:
第一获取模块,用于获取待发送的原数据,以及帧结构配置参数和总线类型参数,所述总线类型参数包括总线类型标识;
第一处理模块,用于根据所述帧结构配置参数,对所述原数据进行封帧处理,得到多个功能帧;
第一硬件适配模块,用于根据所述总线类型参数以及预设收发策略,将各所述功能帧进行第一结构转换,得到各所述功能帧对应的目标帧,所述目标帧的帧结构为所述总线类型参数包括的总线类型标识对应的目标帧结构;
第一收发模块,用于根据预设收发策略,将各所述目标帧发送给接收设备,以使所述接收设备根据各所述目标帧得到原数据;
其中,所述预设收发策略至少包括优先级策略和CRC策略。
本发明实施例的另一个方面是提供一种接收设备,包括:
第二获取模块,用于获取帧结构配置参数和总线类型参数,所述总线类型参数包括总线类型标识;
第二收发模块,用于根据预设收发策略,接收发送设备发送的各目标帧;
第二硬件适配模块,用于根据所述总线类型参数以及所述预设收发策略,将所述各目标帧进行第二结构转换,得到所述各目标帧对应的功能帧;
第二处理模块,用于根据所述帧结构配置参数,将所述各功能帧进行数据整合,得到原数据。
本发明实施例的另一个方面是提供一种数据通信系统,包括上述的所述发送设备和所述的接收设备。
本发明实施例提供的基于多现场总线的数据通信方法、设备及系统,通过设置帧结构配置参数,发送端将待发送的原数据封装成多个功能帧;根据总线类型参数及预设收发策略,将各功能帧转化为与所述总线类型参数对应的目标帧,通过总线类型参数对应的总线发送目标帧;接收端接收到目标帧之后,根据所述总线类型参数以及所述预设收发策略将各目标帧转换为对应的功能帧,并根据所述帧结构配置参数,将所述各功能帧进行数据整合,得到原数据;实现了通过总线类型参数来标识采用的总线类型,当变更采用的总线类型时,通过设定总线类型参数使其与所采用的总线类型对应即可,这种实现方式适用于多种不同的总线的数据通信,从而无需再同一设备上安装多个对应不同总线的实现模块,节省时间且节省存储空间。
附图说明
图1为本发明实施例一提供的基于多现场总线的数据通信方法的流程图;
图2为本发明实施例二提供的基于多现场总线的数据通信方法的流程图;
图3为本发明实施例二提供的命令功能帧的基本结构示意图;
图4为本发明实施例二提供的数据功能帧的基本结构示意图;
图5为本发明实施例二提供的批量传输功能帧的基本结构示意图;
图6为本发明实施例二提供的配置了优先级策略和CRC策略时命令功能帧的基本结构示意图;
图7为本发明实施例二提供的配置了优先级策略和CRC策略时数据功能帧的基本结构示意图;
图8为本发明实施例二提供的配置了优先级策略和CRC策略时批量传输功能帧的基本结构示意图;
图9为本发明实施例二提供的配置了优先级策略、CRC策略和重传策略时批量传输功能帧的基本结构示意图;
图10为本发明实施例三提供的基于多现场总线的数据通信方法的流程图;
图11为本发明实施例四提供的基于多现场总线的数据通信方法的流程图;
图12为本发明实施例五提供的发送设备的结构示意图;
图13为本发明实施例七提供的接收设备的结构示意图;
图14为本发明实施例九提供的数据通信系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的基于多现场总线的数据通信方法的流程图。本发明实施例针对因不同总线进行数据通信时使用的通信协议不同,在同一设备上使用多种不同的总线进行数据传输时,需要在该设备上安装多个实现模块,耗费大量时间,且占用存储空间较大的问题,提供了基于多现场总线的数据通信方法。本实施例提供的方法为数据通信中发送端发送数据的方法,该方法具体步骤如下:
步骤S101、获取待发送的原数据,以及帧结构配置参数和总线类型参数,总线类型参数包括总线类型标识。
其中,总线类型标识可以用于标识以下总线中的至少一种:以太网总线、CAN总线和RS422串行接口总线。
在本实施例中,从各应用软件获取待发送的原数据,原数据由多个数据块组成。从预先设置好的配置文件中获取帧结构配置参数和总线类型参数等配置信息。其中预先配置好的配置文件可为预先配置好的存储在配置工具或者上位机上的XML(Extensible MarkupLanguage,可扩展标记语言)配置文件。
步骤S102、根据帧结构配置参数,对原数据进行封帧处理,得到多个功能帧。
其中,帧结构配置参数至少包括将原数据封装成的功能帧的帧结构。
在本实施例中,功能帧可以分为命令功能帧、数据功能帧和批量传输功能帧等三种不同的类型。在实际应用中,命令功能帧可以用于传输各种系统命令以及上层应用的命令,例如开机、关机命令等。数据功能帧可以用于传输上层应用的变量数据,这些数据通常有一定的数据结构的结构化数据。批量传输功能帧可以用于传输没有固定数据结构的非结构化数据,通常非结构化的数据为大批量数据,在传输过程中需要将数据划分为多个数据片,每个批量传输帧用于传输一个数据片。非结构化数据通常存储在文件中,例如各种格式的办公文档、文本、图片、XML文件、HTML(Hyper Text Markup Language,超文本标记语言)文件、各类报表、图像和音频/视频等。
在该步骤中,根据功能帧的结构以及原数据将原数据进行封帧处理得到多个功能帧的方法,可以采用现有技术中的任何一种封帧方法,例如现有的TCP(TransmissionControl Protocol,传输控制)协议中的封帧方法,本发明实施例在此不再赘述。
步骤S103、根据总线类型参数以及预设收发策略,将各功能帧进行第一结构转换,得到各功能帧对应的目标帧,目标帧的帧结构为总线类型参数包括的总线类型标识对应的目标帧结构。
其中,第一结构转换是指将功能帧封装为总线类型标识对应的目标帧。另外,预设收发策略实现存在策略配置文件中,发送端和接收端的设备均可以自动从预先配置好的策略配置文件中读取。
在本实施例中,总线类型标识对应的目标帧结构是指总线类型标识对应总线所采用的标准的帧结构。本领域技术人员容易获知各总线的标准的帧结构,本实施例再次不再赘述。
具体地,在该步骤中,根据总线类型参数以及预设收发策略,将各功能帧进行第一结构转换,得到各功能帧对应的目标帧,具体可以采用以下实现方式:将任一功能帧作为待处理数据,对该功能帧再次进行封帧处理,得到该功能帧对应的目标帧,使得得到的目标帧可以通过对应的总线进行传输。
例如,假设总线类型标识对应的是CAN总线,可知总线类型标识对应的目标帧结构为CAN帧的帧结构,则该步骤中,将功能帧作为待处理的数据,将其封装为CAN帧,CAN帧即为目标帧。
各总线类型的帧结构以及将数据封装成一总线对应的目标帧结构的方法可以采用现有技术中该总线的数据通讯协议的封帧方法,本实施例在此不再赘述。
步骤S104、根据预设收发策略,将各目标帧发送给接收设备,以使接收设备根据各目标帧得到原数据。
其中,预设收发策略至少包括优先级策略和循环冗余校验(Cyclic RedundancyCheck,简称CRC)策略。
在本实施例中,优先级策略可以采用以下方式实现:发送端根据功能帧的帧头中的优先级,优先发送优先级较高的功能帧。优选地,可以设置命令功能帧的优先级高于数据功能帧的优先级,数据功能帧的优先级高于批量传输功能帧的优先级。
在本实施例中,CRC策略可以采用以下方式实现:发送端计算待发送的数据功能帧的校验和,并同该功能帧一起发送给接收端,使得接收端根据接收到功能帧对接收到的校验和进行验证,若验证通过,则认为接收到的数据正确,反之则说明接收到的数据错误,需要发送方重新发送该功能帧。
在本发明的另一实施方式中,可以对各种不同类型的帧设置不同的优先级,也可以对同一类型的不同的帧设置不同的优先级,根据预先设定的优先级规则,确定各个帧的优先级,本发明实施例对于各帧的优先级的设定不做具体限定。
本发明实施例通过设置帧结构配置参数,发送端将待发送的原数据封装成多个功能帧;根据总线类型参数及预设收发策略,将各功能帧转化为与总线类型参数对应的目标帧,通过总线类型参数对应的总线发送目标帧;以使接收端在接收端接收到目标帧之后,根据总线类型参数以及预设收发策略将各目标帧转换为对应的功能帧,并根据帧结构配置参数,将各功能帧进行数据整合,得到原数据;实现了通过总线类型参数来标识采用的总线类型,当变更采用的总线类型时,通过设定总线类型参数使其与所采用的总线类型对应即可,这种实现方式适用于多种不同的总线的数据通信,从而无需再同一设备上安装多个对应不同总线的实现模块,节省时间且节省存储空间。
实施例二
图2为本发明实施例二提供的基于多现场总线的数据通信方法的流程图。在上述实施例一的基础上,根据总线类型标识以及预设收发策略,将各功能帧进行第一结构转换,得到各功能帧对应的目标帧,包括:根据预设收发策略,将各功能帧进行帧结构简化,得到各所功能帧对应的收发帧;根据总线类型标识,将各收发帧进行第一结构转换,得到各收发帧对应的目标帧。
如图2所示,在本实施例中,该基于多现场总线的数据通信方法具体包括以下步骤:
步骤S201、获取待发送的原数据,以及帧结构配置参数和总线类型参数,总线类型参数包括总线类型标识。
其中,总线类型标识可以用于标识以下总线中的至少一种:以太网总线、CAN总线和RS422串行接口总线。
该步骤与步骤S101类似,此处不再赘述。
步骤S202、根据帧结构配置参数,对原数据进行封帧处理,得到多个功能帧。
其中,帧结构配置参数至少包括将原数据封装成的功能帧的帧结构。
具体地,功能帧可以分为命令功能帧、数据功能帧和批量传输功能帧等三种不同的类型。在实际应用中,命令功能帧可以用于传输各种系统命令以及上层应用的命令,例如开机、关机命令等。数据功能帧可以用于传输上层应用的变量数据,这些数据通常有一定的数据结构的结构化数据。批量传输功能帧可以用于传输没有固定数据结构的非结构化数据,通常非结构化的数据为大批量数据,在传输过程中需要将数据划分为多个数据片,每个批量传输帧用于传输一个数据片。非结构化数据通常存储在文件中,例如各种格式的办公文档、文本、图片、XML文件、HTML文件、各类报表、图像和音频/视频等。
在本实施例中,功能帧的帧结构包括帧头和数据域两个部分。图3为本发明实施例二提供的命令功能帧的基本结构示意图,命令功能帧可以采用如图3所示的帧结构,图3中所示的命令功能帧的帧头可以设计为占用9个字节,具体可以包括以下几个字段内容:版本、帧类型、设备构型、规范号、优先级、源设备号、目的设备号、命令集、命令码长、命令参数长,另外帧头部分还可以包括保留空间,可以根据需要设置。命令功能帧的数据域可以包括命令码、命令参数及待传输的命令数据。
其中,版本:数据通信方法实现模块版本号,占用3比特。
帧类型:用于区分不同类型的帧结构,占用2比特。例如可以用01表示该帧为命令功能帧,10表示数据功能帧,11表示批量传输功能帧。
设备构型:当前的总线类型,占用8比特。
规范号:保留字段,可以用于兼容其他设备的规范号,占用8比特。
优先级:帧的优先级的值,占用8比特。
源设备号:数据通信的源地址,占用8比特。
目的设备号:数据通信的目的地址,占用8比特。
命令集:命令的类型,可以用于表示64种不同的类型的命令,占用6比特。
命令码长:命令码的长度,占用2比特。通常命令码长度固定为2字节。
命令参数长:占用8比特,值为0表示该命令未携带参数;值非0,表示命令参数的长度,以字节为单位。
命令码:命令的编码,用于区分不同的命令,根据命令集和命令码可以唯一确定一个命令,占用16比特。
命令参数:命令携带的参数,数据域除命令码占用的16比特外,其他比特的内容均为命令参数。
数据功能帧可以采用如图4所示的帧结构,图4中所示的数据功能帧的帧头可以设计为占用10个字节,具体可以包括以下几个字段内容:版本、帧类型、数据帧模板号、设备构型、规范号、优先级、源设备号、目的设备号、长度,另外帧头部分还可以包括保留空间,可以根据需要设置。数据功能帧的数据域部分为传输上层应用的结构化数据。
其中,长度:数据域长度,以字节为单位,占用16比特。
数据帧模版号:数据类型的模板号,占用8比特,用于区分上层应用自定义的不同变量模板格式。
数据功能帧的帧结构中其他字段与在命令功能帧中的含义相同,此处不再赘述。
批量传输功能帧可以采用如图5所示的帧结构,图5所示的批量传输功能帧的帧头可以设计为占用11个字节,具体可以包括以下几个字段内容:版本、帧类型、设备构型、规范号、优先级、分片、偏移量、源设备号、目的设备号和长度,另外帧头部分还可以包括保留空间,可以根据需要设置。批量传输功能帧的数据域部分为待传输的非结构化数据。
其中,分片:用于标识该帧是否是数据块的最后一个帧,1表示该帧是数据块的最后一个数据功能帧,0表示该帧不是数据块的最后一个数据功能帧。
偏移量:该数据片距离数据片所属数据的起始位置的偏移大小,单位为字节。
长度:数据域的长度,以字节为单位。
批量传输功能帧的帧结构中其他字段与在命令功能帧中的含义相同,此处不再赘述。
需要说明的是,本实施例中给出的功能帧的结构只是一种可能的实现方式,在实际应用中,功能帧的结构可以由技术人员根据实际需要设定,本实施例对此不做具体限定。
在该步骤中,根据功能帧的结构以及原数据将原数据进行封帧处理得到多个功能帧的方法,可以采用现有技术中的任何一种封帧方法,例如现有的TCP协议中的封帧方法,本发明实施例在此不再赘述。
步骤S203、根据预设收发策略,将各功能帧进行帧结构简化,得到各所功能帧对应的收发帧。
其中,预设收发策略通常至少包括优先级策略和CRC策略。
在该步骤中,预设收发策略包括优先级策略和CRC策略时,根据预设收发策略,将各功能帧进行帧结构简化,得到各所功能帧对应的收发帧,收发帧的帧结构包括帧头和数据域两个部分。
命令功能帧简化为的命令收发帧的结构如图6所示,命令收发帧的帧头可以设计为占用4个字节,具体可以包括以下几个字段内容:帧类型、命令集、CRC校验、优先级。命令收发帧的数据域可以包括命令码、命令参数及其他命令相关数据。
其中,CRC校验:占用16比特,计算出的CRC检验值。帧类型、命令集、命令码和命令参数及其他参数与命令功能帧中类似,此处不再赘述。
数据功能帧简化为的数据收发帧的结构如图7所示,数据收发帧的帧头可以设计为占用5个字节,具体可以包括以下几个字段内容:帧类型、数据帧模板号、CRC校验、优先级。命令收发帧的数据域可以包括自定义变量及待传输的数据。
其中,帧类型、数据帧模板号与数据功能帧中的含义相同,CRC校验、优先级与命令收发帧中的含义相同,此处不再赘述。
批量传输功能帧简化为的批量传输收发帧的结构如图8所示,批量传输收发帧的帧头可以设计为占用4个字节,具体可以包括以下几个字段内容:帧类型、CRC校验、优先级。命令收发帧的数据域包括待传输的数据。
其中,帧类型、CRC校验、优先级与命令收发帧中的含义相同,此处不再赘述。
在本发明的另一实施方式中,预设收发策略还可以包括重传策略,用于保证传输数据的完整性。具体地,本实施例中的重传策略与现有技术中TCP协议中的超时重传策略原理相同,不同之处在于,本实施例中的重传策略中采用伪定时机制,设定发送窗口大小为n,当接收端接收到第m个数据包时(m<n)向发送端发送一个确认消息。若在发送完n个数据包时,发送端仍然没有收到该确认消息,则认为“超时”,此时,发送窗口保持不变,发送端从当前发送窗口的第一个数据包重新开始发送数据包。当接收端判断丢失了数据包,或者经CRC校验收到的数据包出错时,向发送端反馈确认消息,该确认消息携带有需要发送端重新发送的数据包的信息,或者确认收到所有数据包的信息。其中,n和m均为正整数。
当预设收发策略包括优先级策略、CRC策略和重传策略时,功能帧简化之后的收发帧的结构,在上述图6-8所示的收发帧结构的基础上,在对应类型收发帧的帧头部分增加一个字段:序列号,占用8比特,重传策略中各个收发帧的编号;对应收发帧的数据域部分完全相同。例如,在图6所示的帧结构的基础上,如图9所示,当预设收发策略包括重传策略时,命令功能帧简化为的命令收发帧的结构中,帧头可以设计为占用5个字节,具体可以包括以下几个字段内容:帧类型、命令集、序列号、CRC校验和优先级。
步骤S204、根据总线类型参数,将各收发帧进行第一结构转换,得到各收发帧对应的目标帧。
其中,第一结构转换是指将功能帧封装为总线类型标识对应的目标帧。
在本实施例中,收发帧对应的目标帧的帧结构是指总线类型参数对应总线所采用的标准的帧结构。本领域技术人员容易获知各总线的标准的帧结构,本实施例再次不再赘述。
具体地,在该步骤中,根据总线类型参数,将各收发帧进行第一结构转换,得到各收发帧对应的目标帧,具体可以采用以下实现方式:将任一收发帧作为待处理数据,对该收发帧再次进行封帧处理,得到该收发帧对应的目标帧,使得得到的目标帧可以通过对应的总线进行传输。
例如,假设总线类型参数对应的是CAN总线,可知总线类型参数对应的目标帧结构为CAN帧的帧结构,则该步骤中,将收发帧作为待处理的数据,将其封装为CAN帧,CAN帧即为目标帧。
需要说明的是,各总线类型的帧结构以及将数据封装成一总线对应的目标帧结构的方法可以采用现有技术中该总线的数据通讯协议的封帧方法,本实施例在此不再赘述。
步骤S205、根据预设收发策略,将各目标帧发送给接收设备,以使接收设备根据各目标帧得到原数据。
在本实施例中,优先级策略的实现方式为:发送端根据收发帧的帧头中的优先级,优先发送优先级较高的收发帧。优选地,可以设置命令收发帧的优先级高于数据收发帧的优先级,数据收发帧的优先级高于批量传输收发帧的优先级。
在本实施例中,CRC策略的实现方式为:发送端计算待发送的收发帧的校验和,并同该收发帧一起发送给接收端,使得接收端根据接收到收发帧对接收到的校验和进行验证,若验证通过,则认为接收到的数据正确,反之则说明接收到的数据错误,需要发送方重新发送该收发帧。另外,计算校验和的方法可以采用现有技术中的任意一种计算校验和的方法,本实施例对此不做具体限定。
在本发明的另一实施方式中,可以对各种不同类型的帧设置不同的优先级,也可以对同一类型的不同的帧设置不同的优先级,根据预先设定的优先级规则,确定各个帧的优先级,本发明实施例对于各帧的优先级的设定不做具体限定。
在本发明的另一实施方式中,预设收发策略还可以包括重传策略,用于保证传输数据的完整性。重传策略的实现方式在上述步骤S204中已经进行了详细地说明,此处不再赘述。另外,在本发明的其他实施方式中,还可以包括其他收发策略,可以由技术人员根据实际需要进行配置,本实施例对此不做具体限定。
本发明实施例通过将功能帧的帧头结构进行简化,将功能帧简化为收发帧,在数据通信过程中传输收发帧;简化后的收发帧相对于功能帧帧头结构更加简单,帧头部分占用空间更小,从而大大减少了数据通信中传输数据量,提高了数据通信效率。
实施例三
图10为本发明实施例三提供的基于多现场总线的数据通信方法的流程图。本发明实施例针对因不同总线进行数据通信时使用的通信协议不同,在同一设备上使用多种不同的总线进行数据传输时,需要在该设备上安装多个实现模块,耗费大量时间,且占用存储空间较大的问题,提供了基于多现场总线的数据通信方法。本实施例提供的方法为数据通信中接收端接收数据的方法,如图10所示,该方法具体步骤如下:
步骤S301、获取帧结构配置参数和总线类型参数,总线类型参数包括总线类型标识。
其中,总线类型标识用于标识以下总线中的至少一种:以太网总线、CAN总线和RS422串行接口总线。
本实施例中,从预先设置好的配置文件中获取帧结构配置参数和总线类型参数等配置信息。其中预先配置好的配置文件可为预先配置好的存储在配置工具或者上位机上的XML配置文件。
步骤S302、根据预设收发策略,接收发送设备发送的各目标帧。
其中,预设收发策略至少包括优先级策略和CRC策略。
在本实施例中,优先级策略采用的实现方式可以为:接收端根据功能帧的帧头中的优先级,优先接收优先级较高的功能帧。优选地,可以设置命令功能帧的优先级高于数据功能帧的优先级,数据功能帧的优先级高于批量传输功能帧的优先级。
CRC策略的实现方式应该与发送端发送数据时采用的CRC策略相对应,以使得接收端在接收到数据时能够验证接收数据是否正确。
在本发明的另一实施方式中,可以对各种不同类型的帧设置不同的优先级,也可以对同一类型的不同的帧设置不同的优先级,根据预先设定的优先级规则,确定各个帧的优先级,本发明实施例对于各帧的优先级的设定不做具体限定。
步骤S303、根据总线类型参数以及预设收发策略,将各目标帧进行第二结构转换,得到各目标帧对应的功能帧。
其中,目标帧的帧结构与总线类型参数对应的总线的标准帧结构相同,在本实施例中,将各目标帧进行第二结构转换,得到各目标帧对应的功能帧的过程是指,将接收到的各目标帧解封装,并进行拼接操作得到目标帧对应的功能帧的过程。该过程是实施例一中步骤S103中将功能帧进行第一结构转换的过程的逆向处理过程,可以采用现有技术中对应总线的数据通信协议中对帧的解封装和拼接过程相同,此处不再赘述。
步骤S304、根据帧结构配置参数,将各功能帧进行数据整合,得到原数据。
在该步骤中,根据帧结构配置参数,对功能帧进行解封装,并进行数据整合,将解封之后的数据片段拼接成为原数据。该过程是实施例一中步骤S102中将原数据封帧成为多个功能帧的过程的逆向处理过程,本领域技术人员容易获知,可以采用现有技术中与步骤S102中选取的封帧过程相对应的解封装的过程,本实施例不再赘述。
本发明实施例通过设置帧结构配置参数,接收端接收到目标帧之后,根据总线类型参数以及预设收发策略将各目标帧转换为对应的功能帧,并根据帧结构配置参数,将各功能帧进行数据整合,得到原数据;其中目标帧是由发送端将待发送的原数据封装成多个功能帧;根据总线类型参数及预设收发策略,将各功能帧转化为与总线类型参数对应的目标帧,通过总线类型参数对应的总线发送目标帧;实现了通过总线类型参数来标识采用的总线类型,当变更采用的总线类型时,通过设定总线类型参数使其与所采用的总线类型对应即可,这种实现方式适用于多种不同的总线的数据通信,从而无需再同一设备上安装多个对应不同总线的实现模块,节省时间且节省存储空间。
实施例四
图11为本发明实施例四提供的基于多现场总线的数据通信方法的流程图。在上述实施例三的基础上,根据预设收发策略,接收发送设备发送的各目标帧之后,还包括:根据总线类型参数以及预设收发策略,将各目标帧进行第二结构转换,得到各目标帧对应的收发帧;根据帧结构配置参数,将各收发帧进行数据整合,得到原数据。
如图11所示,在本实施例中,该基于多现场总线的数据通信方法具体包括以下步骤:
步骤S401、获取帧结构配置参数和总线类型参数,总线类型参数包括总线类型标识。
该步骤与步骤S301类似,本实施例此处不再赘述。
步骤S402、根据预设收发策略,接收发送设备发送的各目标帧。
其中,预设收发策略至少包括优先级策略和CRC策略。优选地,预设收发策略还包括重传策略。
在本实施例中,为保证数据的正常传输,接收端与发送端所采用预设收发策略相对应,具体过程参见实施例一中对预设收发策略的说明,本实施例再次不再赘述。例如,发送端配置了重传策略,则接收端也需要配置相应的重传策略。
步骤S403、根据总线类型参数以及预设收发策略,将各目标帧进行第二结构转换,得到各目标帧对应的收发帧。
在本实施例中,目标帧的帧结构与总线类型参数对应的总线的标准帧结构相同,该步骤将各目标帧进行第二结构转换,得到各目标帧对应的收发帧是指将接收到的各目标帧解封装和拼接,得到目标帧对应的收发帧的过程。该过程是实施例二中步骤S204中将收发帧进行第一结构转换的过程的逆向处理过程,可以采用现有技术中对应总线的数据通信协议中对帧的解封装和拼接的方法实现,此处不再赘述。
步骤S404、根据帧结构配置参数,将各收发帧进行数据整合,得到原数据。
其中,帧结构配置参数还包括各类型的收发帧的帧结构。
在本实施例中,无需将收发帧还原为对应的功能帧,可以直接根据收发帧的帧结构,对收发帧进行解封装,并进行数据整合,将解封之后的数据片段拼接成为原数据。
本发明实施例接收到的收发帧,是发送端通过将功能帧的帧头结构进行简化后得到,在数据通信过程中传输收发帧;简化后的收发帧相对于功能帧帧头结构更加简单,帧头部分占用空间更小,从而大大减少了数据通信中传输数据量,提高了数据通信效率。
实施例五
图12为本发明实施例五提供的发送设备的结构示意图。本发明实施例提供的发送设备具体用于执行上述实施例一所提供的方法实施例。如图12所示,该发送设备50包括:第一获取模块501、第一处理模块502、第一硬件适配模块503和第一收发模块504。
其中,第一获取模块501用于获取待发送的原数据,以及帧结构配置参数和总线类型参数,总线类型参数包括总线类型标识。
第一处理模块502用于根据帧结构配置参数,对原数据进行封帧处理,得到多个功能帧。
第一硬件适配模块503用于根据总线类型参数以及预设收发策略,将各功能帧进行第一结构转换,得到各功能帧对应的目标帧,目标帧的帧结构为总线类型参数包括的总线类型标识对应的目标帧结构。
第一收发模块504用于根据预设收发策略,将各目标帧发送给接收设备,以使接收设备根据各目标帧得到原数据。其中,预设收发策略至少包括优先级策略和CRC策略。
本发明实施例提供的发送设备可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过设置帧结构配置参数,发送端将待发送的原数据封装成多个功能帧;根据总线类型参数及预设收发策略,将各功能帧转化为与总线类型参数对应的目标帧,通过总线类型参数对应的总线发送目标帧;以使接收端在接收端接收到目标帧之后,根据总线类型参数以及预设收发策略将各目标帧转换为对应的功能帧,并根据帧结构配置参数,将各功能帧进行数据整合,得到原数据;实现了通过总线类型参数来标识采用的总线类型,当变更采用的总线类型时,通过设定总线类型参数使其与所采用的总线类型对应即可,这种实现方式适用于多种不同的总线的数据通信,从而无需再同一设备上安装多个对应不同总线的实现模块,节省时间且节省存储空间。
实施例六
在上述实施例五的基础上,总线类型标识用于标识以下总线中的至少一种:以太网总线、CAN总线和RS422串行接口总线。预设收发策略还包括重传策略。
第一硬件适配模块还用于根据预设收发策略,将各功能帧进行帧结构简化,得到各所功能帧对应的收发帧。
第一硬件适配模块还用于根据总线类型标识,将各收发帧进行第一结构转换,得到各收发帧对应的目标帧。
本发明实施例提供的发送设备可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过将功能帧的帧头结构进行简化,将功能帧简化为收发帧,在数据通信过程中传输收发帧;简化后的收发帧相对于功能帧帧头结构更加简单,帧头部分占用空间更小,从而大大减少了数据通信中传输数据量,提高了数据通信效率。
实施例七
图13为本发明实施例七提供的接收设备的结构示意图。本发明实施例提供的接收设备具体用于执行上述实施例三所提供的方法实施例。如图13所示,该接收设备60包括:第二获取模块601、第二收发模块602、第二硬件适配模块603和第二处理模块604。
其中,第二获取模块601用于获取帧结构配置参数和总线类型参数,总线类型参数包括总线类型标识。
第二收发模块602用于根据预设收发策略,接收发送设备发送的各目标帧。
第二硬件适配模块603用于根据总线类型参数以及预设收发策略,将各目标帧进行第二结构转换,得到各目标帧对应的功能帧。
第二处理模块604用于根据帧结构配置参数,将各功能帧进行数据整合,得到原数据。
本发明实施例提供的接收设备可以具体用于执行上述实施例三所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过设置帧结构配置参数,接收端接收到目标帧之后,根据总线类型参数以及预设收发策略将各目标帧转换为对应的功能帧,并根据帧结构配置参数,将各功能帧进行数据整合,得到原数据;其中目标帧是由发送端将待发送的原数据封装成多个功能帧;根据总线类型参数及预设收发策略,将各功能帧转化为与总线类型参数对应的目标帧,通过总线类型参数对应的总线发送目标帧;实现了通过总线类型参数来标识采用的总线类型,当变更采用的总线类型时,通过设定总线类型参数使其与所采用的总线类型对应即可,这种实现方式适用于多种不同的总线的数据通信,从而无需再同一设备上安装多个对应不同总线的实现模块,节省时间且节省存储空间。
实施例八
在上述实施例七的基础上,总线类型标识用于标识以下总线中的至少一种:以太网总线、CAN总线和RS422串行接口总线。预设收发策略还包括重传策略。
第二硬件适配模块还用于根据总线类型参数以及预设收发策略,将各目标帧进行第二结构转换,得到各目标帧对应的收发帧。
第二处理模块还用于根据帧结构配置参数,将各收发帧进行数据整合,得到原数据。
本发明实施例提供的接收设备可以具体用于执行上述实施例四所提供的方法实施例,具体功能此处不再赘述。
本发明实施例接收到的收发帧,是发送设备通过将功能帧的帧头结构进行简化后得到,在数据通信过程中传输收发帧;简化后的收发帧相对于功能帧帧头结构更加简单,帧头部分占用空间更小,从而大大减少了数据通信中传输数据量,提高了数据通信效率。
实施例九
图14为本发明实施例九提供的数据通信系统的结构示意图。本发明实施例提供的数据通信系统可以执行上述基于多现场总线的数据通信方法实施例提供的处理流程。如图14所示,该数据通信系统70包括上述实施例五或实施例六中的发送设备50和上述实施例七或者实施例八中的接收设备60。
本发明实施例提供的数据通信系统可以执行上述任意基于多现场总线的数据通信方法实施例提供的处理流程,具体功能此处不再赘述。
本发明实施例通过设置帧结构配置参数,发送端将待发送的原数据封装成多个功能帧;根据总线类型参数及预设收发策略,将各功能帧转化为与总线类型参数对应的目标帧,通过总线类型参数对应的总线发送目标帧;接收端接收到目标帧之后,根据总线类型参数以及预设收发策略将各目标帧转换为对应的功能帧,并根据帧结构配置参数,将各功能帧进行数据整合,得到原数据;实现了通过总线类型参数来标识采用的总线类型,当变更采用的总线类型时,通过设定总线类型参数使其与所采用的总线类型对应即可,这种实现方式适用于多种不同的总线的数据通信,从而无需再同一设备上安装多个对应不同总线的实现模块,节省时间且节省存储空间。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。