一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于现场总线协议的通信方法及设备与流程

2022-06-05 18:39:30 来源:中国专利 TAG:


1.本技术涉及物联网通信技术领域,尤其涉及到一种基于现场总线协议的通信方法及设备。


背景技术:

2.现场总线主要是指工业数据总线,其用于解决设备间的数字通信以及信息传递的问题。其最重要的特点是改变了传统点对点通信的方式,由一根总线上挂载多个设备,实现了一对多的主-从网络拓扑结构,极大节省了成本,并提高可靠性。
3.在移动网络中,蜂窝通信技术扮演主要角色,由于使用量大,其上层的通讯协议较为成熟。而在物联网通信中,可选择的并且适用的通讯协议不多。


技术实现要素:

4.有鉴于此,本技术实施例公开一种基于现场总线协议的通信方法及设备,能够满足常用的一对多的主-从网络拓扑结构,具有对硬件要求低(适用于轻量级mcu),同时具有较高的灵活性,给予用户相当大的自定义空间,并且实现数据交互的高效率。不仅适用工业领域的通讯,也满足消费领域需求,如物联网应用中的智能家居通讯、智慧办公通讯等。
5.本技术实施例第一方面公开一种基于现场总线协议的通信方法,所述通信方法应用于一对多的主-从网络拓扑结构,所述方法包括:
6.定义所述现场总线协议对应的消息结构,所述消息结构包括协议头、从机地址、功能码、结果码、数据长度、数据段、校验码以及协议尾;
7.所述协议头,用于通信交互过程中的辨识;
8.所述从机地址,用于在所述主-从网络拓扑结构中寻找和确认对应从机;
9.所述功能码的数值1~5保留为协议所用,所述功能码的数值6~255为用户自定义用;
10.所述结果码为消息解析结果;
11.所述数据长度为数据段的长度,当定义为0时,表示无附加数据;
12.所述数据段为数据内容,无数据时,则无此数据段;
13.所述校验码,用于判断消息内容的正确性,保证通信可靠;
14.所述协议尾,用于通信交互过程中的辨识;
15.采用分时处理机制并以心跳为间隔,在所述主-从网络拓扑结构的主从机之间同一时间只传输一条采用所述消息结构封装的消息。
16.本技术实施例第二方面公开一种基于现场总线协议的通信设备,所述通信设备应用于一对多的主-从网络拓扑结构,所述通信设备包括:
17.定义单元,用于定义所述现场总线协议对应的消息结构,所述消息结构包括协议头、从机地址、功能码、结果码、数据长度、数据段、校验码以及协议尾;
18.所述协议头,用于通信交互过程中的辨识;
19.所述从机地址,用于在所述主-从网络拓扑结构中寻找和确认对应从机;
20.所述功能码的数值1~5保留为协议所用,所述功能码的数值6~255为用户自定义用;
21.所述结果码为消息解析结果;
22.所述数据长度为数据段的长度,当定义为0时,表示无附加数据;
23.所述数据段为数据内容,无数据时,则无此数据段;
24.所述校验码,用于判断消息内容的正确性,保证通信可靠;
25.所述协议尾,用于通信交互过程中的辨识;
26.通信单元,用于采用分时处理机制并以心跳为间隔,在所述主-从网络拓扑结构的主从机之间同一时间只传输一条采用所述消息结构封装的消息。
27.本技术实施例第三方面公开一种基于现场总线协议的通信设备,所述通信设备应用于一对多的主-从网络拓扑结构,所述通信设备包括:
28.存储有可执行程序代码的存储器;
29.与所述存储器耦合的处理器;
30.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本技术实施例第一方面公开的所述基于现场总线协议的通信方法的步骤。
31.与现有技术相比,本技术实施例至少具有以下有益效果:
32.本技术实施例满足常用的一对多的主-从网络拓扑结构,具有对硬件要求低(适用于轻量级mcu),同时具有较高的灵活性,给予用户相当大的自定义空间,并且实现数据交互的高效率。不仅适用工业领域的通讯,也满足消费领域需求,如物联网应用中的智能家居通讯、智慧办公通讯等。
33.此外,本技术实施例中,整个现场总线上的主机与从机均具有主动发送权,采用分时处理机制并以心跳为间隔的方法可以实现同一时间在现场总线上的消息的唯一性。
34.此外,相对于传统modbus总线协议(常用于工业领域,以编程器和plc为主要应用平台),本技术实施例中的所述现场总线协议更适用于轻量级mcu,并且所述现场总线协议的功能码定义简洁,保证通信的可靠性和轻量性,并充分预留了用户的自定义空间,可适用于更广泛的技术领域。
附图说明
35.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本技术实施例公开的一种基于现场总线协议的通信方法的流程示意图;
37.图2是本技术实施例公开的基于现场总线协议的通信设备的一个实施例的模块化示意图;
38.图3是本技术实施例公开的基于现场总线协议的通信设备的另一个实施例的模块化示意图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.本技术实施例公开一种基于现场总线协议的通信方法及设备,能够满足常用的一对多的主-从网络拓扑结构,具有对硬件要求低(适用于轻量级mcu),同时具有较高的灵活性,给予用户相当大的自定义空间,并且实现数据交互的高效率。不仅适用工业领域的通讯,也满足消费领域需求,如物联网应用中的智能家居通讯、智慧办公通讯等。以下进行结合附图进行详细描述。
41.请参阅图1,图1是本技术实施例公开的一种基于现场总线协议的通信方法的流程示意图。在图1所示的基于现场总线协议的通信方法中,所述基于现场总线协议的通信方法中应用于一对多的主-从网络拓扑结构。其中,现场总线的类型可以是基于成本较低的485总线,也可采用以太网总线、i2c总线等电气性能更佳的总线。如图1所示,所述基于现场总线协议的通信方法包括如下步骤:
42.101、定义所述现场总线协议对应的消息结构,所述消息结构包括协议头、从机地址、功能码、结果码、数据长度、数据段、校验码以及协议尾。
43.举例来说,步骤101中定义的所述现场总线协议对应的消息结构可以如下表1所示,即:
44.表1所述现场总线协议对应的消息结构
[0045][0046]
本技术实施例中,消息可以分为主机发送的消息和从机发送的消息两种类型;其中,主机发送的消息和从机发送的消息采用如表1所示的相同的消息结构进行封装。
[0047]
其中,所述协议头,用于通信交互过程中的辨识;
[0048]
其中,所述从机地址,用于在所述主-从网络拓扑结构中寻找和确认对应从机;
[0049]
其中,所述功能码的数值1~5保留为协议所用,所述功能码的数值6~255为用户自定义用;
[0050]
其中,所述结果码为消息解析结果;
[0051]
其中,所述数据长度为数据段的长度,当定义为0时,表示无附加数据;
[0052]
其中,所述数据段为数据内容,无数据时,则无此数据段;
[0053]
其中,所述校验码,用于判断消息内容的正确性,保证通信可靠;
[0054]
其中,所述协议尾,用于通信交互过程中的辨识。
[0055]
其中,所述功能码的定义可以如下表2所示,即:
[0056]
表2所述功能码的定义
[0057]
功能码功能说明1获取从机信息2获取从机状态3挂起从机4恢复从机5心跳保持6-255用户自定义
[0058]
如表2所示,所述功能码的数值1表示获取从机信息;所述功能码的数值2表示获取从机状态;所述功能码的数值3表示挂起从机;所述功能码的数值4表示恢复从机;所述功能码的数值5表示心跳保持;所述功能码的数值6-255表示用户自定义。
[0059]
其中,所述结果码的定义可以如下表3所示,即:
[0060]
表3所述结果码的定义
[0061][0062]
如表3所示,当所述采用所述消息结构封装的消息为主机发送的消息时,若所述结果码0,则消息解析结果为从机无需回复结果;若所述结果码1,则消息解析结果为从机必须回复结果;
[0063]
如表3所示,当所述采用所述消息结构封装的消息为从机发送的消息时,若所述结果码0,则消息解析结果为消息正常;若所述结果码1,则消息解析结果为消息结构异常;若所述结果码2,则消息解析结果为功能码错误;若所述结果码3,则消息解析结果为校验码异常;若所述结果码4,则消息解析结果为从机忙;若所述结果码5,则消息解析结果为未知错误。
[0064]
本技术实施例中,所述现场总线协议在设计上具有轻量的优点,对硬件要求低、通信负担小;同时,实现高效数据交互、和自由开放的特性。
[0065]
本技术实施例中,所述现场总线协议对应的消息的协议头和协议尾为固定值,供消息解析用。其中,校验方法可以选择crc16的计算方法。
[0066]
102、采用分时处理机制并以心跳为间隔,在所述主-从网络拓扑结构的主从机之间同一时间只传输一条采用所述消息结构封装的消息。
[0067]
本技术实施例中,主机与从机均具有主动发送权,采用分时处理机制并以心跳为间隔的方法可以实现同一时间在现场总线上的消息的唯一性。
[0068]
1、心跳机制
[0069]
其中,心跳机制是本技术实施例的通信的基础。在所述主-从网络拓扑结构中,主机被设计为不断发送心跳消息以轮询总线下的所有从机,并且所述主机发送心跳消息的间隔最小为3条采用表1所示的所述消息结构封装的消息的时间长度,以保证通信稳定性。
[0070]
2、主机发送
[0071]
在所述主-从网络拓扑结构中,主机发送消息的时机在每次收到从机心跳返回结果后等待1条采用表1所示的所述消息结构封装的消息的时间间隔,以此避开从机的主动消息。其中,主机发送可选择是否要求回复结果码,若要求回复结果码,则主机需阻塞指定时间(用户可定义)以等待从机回复结果码。若不要求,则主机不阻塞。
[0072]
3、从机返回结果码(解析结果)
[0073]
当从机接收到主机发送的消息时,立即执行解析,并根据主机要求决定是否返回结果码。此条消息规定为无数据内容,即数据长度0,无数据段。
[0074]
4、从机主动返回消息
[0075]
从机具有主动返回消息的权力,若从机有消息需要返回至主机,则在心跳消息后返回。即从机返回心跳结果后,立即再返回从机消息。
[0076]
5、主机分时收发处理机制
[0077]
在所述主-从网络拓扑结构中,主机被设计为在收到从机返回的消息时,除了解析所述返回的消息中的所述协议头、所述协议尾及所述校验码之外,还需判断所述返回的消息中的从机地址是否正确。由于在所述主-从网络拓扑结构中,主机面对若干个从机,则采用分时处理机制并以心跳为间隔。即对某一从机发送心跳消息后,至下一次发送心跳消息期间,主机仅接受处理此从机地址的消息。
[0078]
本技术实施例中,所述现场总线协议可以实现现场总线的高效数据通信,由于数据量轻,通信机制相对简单的特点,尤其适用于轻量级mcu构建的网络拓扑平台。又由于功能码简洁,且提供给用户足够的自由定义的权力,所述现场总线协议可用于多种领域下不同应用场景。
[0079]
本技术实施例满足常用的一对多的主-从网络拓扑结构,具有对硬件要求低(适用于轻量级mcu),同时具有较高的灵活性,给予用户相当大的自定义空间,并且实现数据交互的高效率。不仅适用工业领域的通讯,也满足消费领域需求,如物联网应用中的智能家居通讯、智慧办公通讯等。
[0080]
此外,本技术实施例中,整个现场总线上的主机与从机均具有主动发送权,采用分时处理机制并以心跳为间隔的方法可以实现同一时间在现场总线上的消息的唯一性。
[0081]
此外,相对于传统modbus总线协议(常用于工业领域,以编程器和plc为主要应用平台),本技术实施例中的所述现场总线协议更适用于轻量级mcu,并且所述现场总线协议的功能码定义简洁,保证通信的可靠性和轻量性,并充分预留了用户的自定义空间,可适用于更广泛的技术领域。
[0082]
请参阅图2,图2是本技术实施例公开的基于现场总线协议的通信设备的一个实施例的模块化示意图。其中,图2所示的所述通信设备应用于一对多的主-从网络拓扑结构,并且图2所示的所述通信设备可以是一对多的主-从网络拓扑结构中的主机或从机,本技术实施例不作限定。其中,主机或从机包括轻量级mcu。如图2所示,所述通信设备包括:
[0083]
定义单元201,用于定义所述现场总线协议对应的消息结构,所述消息结构包括协议头、从机地址、功能码、结果码、数据长度、数据段、校验码以及协议尾;
[0084]
所述协议头,用于通信交互过程中的辨识;
[0085]
所述从机地址,用于在所述主-从网络拓扑结构中寻找和确认对应从机;
[0086]
所述功能码的数值1~5保留为协议所用,所述功能码的数值6~255为用户自定义用;
[0087]
所述结果码为消息解析结果;
[0088]
所述数据长度为数据段的长度,当定义为0时,表示无附加数据;
[0089]
所述数据段为数据内容,无数据时,则无此数据段;
[0090]
所述校验码,用于判断消息内容的正确性,保证通信可靠;
[0091]
所述协议尾,用于通信交互过程中的辨识;
[0092]
通信单元202,用于采用分时处理机制并以心跳为间隔,在所述主-从网络拓扑结构的主从机之间同一时间只传输一条采用所述消息结构封装的消息。
[0093]
可选的:
[0094]
所述功能码的数值1表示获取从机信息;
[0095]
所述功能码的数值2表示获取从机状态;
[0096]
所述功能码的数值3表示挂起从机;
[0097]
所述功能码的数值4表示恢复从机;
[0098]
所述功能码的数值5表示心跳保持。
[0099]
可选的:
[0100]
当所述采用所述消息结构封装的消息为主机发送的消息时,若所述结果码0,则消息解析结果为从机无需回复结果;若所述结果码1,则消息解析结果为从机必须回复结果;
[0101]
或者,当所述采用所述消息结构封装的消息为从机发送的消息时,若所述结果码0,则消息解析结果为消息正常;若所述结果码1,则消息解析结果为消息结构异常;若所述结果码2,则消息解析结果为功能码错误;若所述结果码3,则消息解析结果为校验码异常;若所述结果码4,则消息解析结果为从机忙;若所述结果码5,则消息解析结果为未知错误。
[0102]
可选的:
[0103]
所述主-从网络拓扑结构的主机被设计为不断发送心跳消息以轮询总线下的所有从机,并且所述主机发送心跳消息的间隔最小为3条采用所述消息结构封装的消息的时间长度,以保证通信稳定性。
[0104]
可选的:
[0105]
所述主-从网络拓扑结构的主机发送消息的时机在每次收到从机心跳返回结果后等待1条采用所述消息结构封装的消息的时间间隔,以此避开从机的主动消息。
[0106]
可选的:
[0107]
所述主-从网络拓扑结构的主机被设计为在收到从机返回的消息时,除了解析所述返回的消息中的所述协议头、所述协议尾及所述校验码之外,还需判断所述返回的消息中的从机地址是否正确。
[0108]
请参阅图3,图3是本技术实施例公开的基于现场总线协议的通信设备的另一个实施例的模块化示意图。其中,图3所示的所述通信设备应用于一对多的主-从网络拓扑结构,并且图3所示的所述通信设备可以是一对多的主-从网络拓扑结构中的主机或从机,本技术实施例不作限定。其中,主机或从机包括轻量级mcu。如图3所示,所述通信设备包括:
[0109]
存储有可执行程序代码的存储器301;
[0110]
与所述存储器耦合的处理器302;
[0111]
所述处理器调用所述存储器中存储的所述可执行程序代码,执行前面实施例所述的基于现场总线协议的通信方法的步骤。
[0112]
实施图2或图3所描述的所述通信设备,能够满足常用的一对多的主-从网络拓扑结构,具有对硬件要求低(适用于轻量级mcu),同时具有较高的灵活性,给予用户相当大的自定义空间,并且实现数据交互的高效率。不仅适用工业领域的通讯,也满足消费领域需求,如物联网应用中的智能家居通讯、智慧办公通讯等。
[0113]
此外,实施图2或图3所描述的所述通信设备,整个现场总线上的主机与从机均具有主动发送权,采用分时处理机制并以心跳为间隔的方法可以实现同一时间在现场总线上的消息的唯一性。
[0114]
此外,相对于传统modbus总线协议(常用于工业领域,以编程器和plc为主要应用平台),本技术实施例中的所述现场总线协议更适用于轻量级mcu,并且所述现场总线协议的功能码定义简洁,保证通信的可靠性和轻量性,并充分预留了用户的自定义空间,可适用于更广泛的技术领域。
[0115]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献