一主多从总线型有线数据采集网络通信协议转让专利

申请号 : CN201810012449.8

文献号 : CN108259288B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邹钟璐林少华曾伟忠袁志坚黄志才冯奕军柏东辉袁咏诗李为全源邱华勇罗伟康邓建中

申请人 : 广东电网有限责任公司东莞供电局

摘要 :

本发明涉及一种一主多从总线型有线数据采集网络通信协议,主站位于总线型有线网络端点,从站在总线型有线网络上均匀分布,总线上任意相邻站点可接收信号并正确解码消息。从站执行数据采集,通过其他更靠近主站的从站中继传输来实现远距离多从站采集数据到主站的汇聚。网络中所有站点维持网络全局拓扑信息,通信协议执行由主站发出数据请求消息开始,该消息经由到主站距离由近及远的多个邻接从站依次中继,最终到达距离主站最远的从站。邻接从站分别执行数据应答消息接收,添加自身站号及采集数据到接收的数据应答消息,将修改后数据应答消息广播。本发明可以有效解决网络中单个站点覆盖能力不足、信号覆盖随机以及多站点同步困难问题。

权利要求 :

1.一种一主多从总线型有线数据采集网络通信协议,其特征在于,网络为总线型有线网络,网络中包括一个位于总线端点的主站和多个位于总线上的从站,网络中所有的从站在总线上均匀部署,从站依据到主站间距由近到远依次编号为1,2,3……,M;对于任意从站,其通信协议执行流程为:S201.初始阶段,从站处于信号接收状态,其首先判断是否接收到消息,如果是则跳转到步骤S202,否则仍处于步骤S201;

S202.从站通过接收消息的中继地址字段判断消息是否来自于上一站,即总线上与本站点距离最近且更靠近主站的从站,且为数据请求消息,如果是,则跳转到步骤S203,否则跳转到步骤S206;

S203.从站通过接收消息的目的地址字段判断本站是否为消息目的节点,如果是则跳转到步骤S204,否则跳转到步骤S205;

S204.从站基于本站采集数据构建数据应答消息,此时,数据应答消息源地址为数据请求消息目的地址,数据应答消息目的地址为数据请求消息源地址,中继地址即为本站地址,并在总线上广播消息,跳转到步骤S202;

S205.从站修改接收到数据请求消息,将消息的中继地址字段修改为本站站号,并将消息在总线上广播,跳转到步骤S202;

S206.从站通过接收消息的中继地址字段判断消息是否来自于下一站,即总线上与本站点距离最近且与主站距离更远的从站,且为数据应答消息,如果是,则跳转到步骤S207,否则跳转到步骤S208;

S207.从站通过接收消息校验字段判断消息是否正确,如果是则跳转到步骤S208,否则跳转到步骤S209;

S208.基于数据应答消息结构将本站采集数据添加到接收到的数据应答消息中,将中继地址修改为本站站号,并将消息在总线上广播,跳转到步骤S202;

S209.丢弃消息,跳转到步骤S202。

2.根据权利要求1所述的一主多从总线型有线数据采集网络通信协议,其特征在于,所述的网络中主站为数据汇聚点,从站为数据采集点,从站通过总线型有线线路将采集数据汇聚到主站。

3.根据权利要求2所述的一主多从总线型有线数据采集网络通信协议,其特征在于,所述的主站、从站在总线型有线线路上传输信号的功率有限并且近似相等,任意站点可以确保至少能接收到来自临近站点的信号并能正确解码消息,但不能保证所有站点都能接收并正确解码消息。

4.根据权利要求3所述的一主多从总线型有线数据采集网络通信协议,其特征在于,所述的主站或从站具有全网唯一站号。

5.根据权利要求3所述的一主多从总线型有线数据采集网络通信协议,其特征在于,所述的主站或从站对网络拓扑具有完全信息。

6.根据权利要求1所述的一主多从总线型有线数据采集网络通信协议,其特征在于,所述的总线型网络中仅主站能够发起通信,从站依据接收消息执行请求中继转发、消息反馈或丢弃消息处理。

7.根据权利要求1至6任一项所述的一主多从总线型有线数据采集网络通信协议,其特征在于,网络中任意站点交互消息包括9个字段,分别为:帧头、源地址、目的地址、中继地址、消息类型、消息长度、消息内容、校验和帧尾;所述的源地址、目的地址与中继地址取值于全局唯一站点站号;所述的消息类型包括数据请求消息和数据应答消息。

8.根据权利要求7所述的一主多从总线型有线数据采集网络通信协议,其特征在于,对于主站,其通信协议执行流程为:S101.主站初始化数据请求周期定时器,跳转到步骤S102;

S102.主站判断是否在线路上收到新消息,如果是则跳转到步骤S112,否则跳转到步骤S103;

S103.判断数据请求消息周期定时器定时时间是否到达,如果是则跳转到步骤S104,否则跳转到步骤S106;

S104.初始化数据请求消息目的节点、目的节点重传计数器取值,并初始化数据请求消息,跳转到步骤S105,其中,目的节点的初始值为M;

S105.发送消息、启动消息应答截止时间计数器,并关闭数据请求定时器,跳转到步骤S102;

S106.判断数据请求消息应答截止时间是否到达,如果是则跳转到步骤S107,否则跳转到步骤S102;

S107.判断数据请求消息目的节点m的重传次数是否达到最大值,如果是则跳转到步骤S108,否则跳转到步骤S110;其中,m=1,2,…,M;

S108.判断数值m-1是否大于零,如果是则跳转到步骤S107,否则跳转到步骤S109;将数据请求目的节点更新为m-1,初始化数据请求消息目的节点重传计数器,并初始化数据请求消息,跳转到步骤S111;

S110.数据请求消息目的节点m重传计数器加1,初始化数据请求消息,跳转到步骤S111;

S111.发送消息,并启动消息应答截止时间计数器,跳转到步骤S103;

S112.主站通过接收消息的中继地址字段判断消息是否来自于下一站,即总线上与本站点距离最近且更靠近主站的从站,且消息类型为数据应答消息,如果是则跳转到步骤S113,否则跳转到步骤S116;

S113.主站通过接收消息的校验字段判断接收消息是否正确,如果是则跳转到步骤S114,否则跳转到步骤S116;

S114.解析数据应答消息,提取对应站点号及采集数据并存储,跳转到步骤S115;

S115.开启数据请求周期定时器,跳转到步骤S102;

S116.丢弃消息,并跳转到步骤S103;

S117.启动系统故障报警,主站停止工作。

说明书 :

一主多从总线型有线数据采集网络通信协议

技术领域

[0001] 本发明涉及总线型有线网络通信技术领域,更具体地,涉及一种一主多从总线型有线数据采集网络通信协议。

背景技术

[0002] 总线型有线数据采集网络在工业控制和电力线载波通信等领域广泛应用,典型应用包括基于电力载波通信的智能家居网络、基于电力载波通信的电力基础设施监测网络。这种网络具有几个典型特征:1)网络结构是一主多从,即网络中有一个主站和多个从站,主站目的是监控网络上各个分布式监测单元(从站)状态并收集从站本地采集数据;2)由于网络覆盖大、主从站发射功率受限以及有线线路上信号传输面临衰减和干扰等多重因素,使得主站无法在总线网络上与部分从站直接建立连接;3)任意两个以上站点难以同步,因而同时执行总线传输将导致冲突和干扰;4)任意站点总线上传输信号的传播距离、以及接收正确解码距离都是随机。此时,为了实现有效网络覆盖和正常通信与数据采集,可能需要借助从站中继。当前,应用于上述类型网络并克服上述问题的通信协议未见报道。

发明内容

[0003] 本发明的目的在于克服现有技术的不足,提供一种一主多从总线型有线数据采集网络通信协议,可以解决网络中单个站点覆盖能力不足、信号覆盖随机以及多站点同步困难问题。
[0004] 为解决上述问题,本发明提供的技术方案为:一种一主多从总线型有线数据采集网络通信协议,其特征在于,网络为总线型有线网络,网络中包括一个位于总线端点的主站和多个位于总线上的从站,网络中所有的从站在总线上均匀部署,从站依据到主站间距由近到远依次编号为1,2,3……,M。
[0005] 进一步地,所述的网络中主站为数据汇聚点,从站为数据采集点,从站通过总线型有线线路将采集数据汇聚到主站。
[0006] 进一步地,所述的主站、从站在总线型有线线路上传输信号的功率有限并且近似相等,任意站点(主站或从站)可以确保至少能接收到来自临近(或总线上与本站点距离最近)站点的信号并能正确解码消息,但不能保证所有站点都能接收并正确解码消息。
[0007] 进一步地,所述的任意站点(主站或从站)具有全网唯一站号。
[0008] 进一步地,所述的任意站点(主站或从站)对网络拓扑具有完全信息,即任意站点(主站或从站)有M个从站站号以及1到M编号与站号对应关系信息。
[0009] 进一步地,所述的总线型网络中仅主站能够发起通信,从站依据接收消息执行请求中继转发、消息反馈或丢弃消息处理。
[0010] 进一步地,网络中任意站点交互消息包括9个字段,分别为:帧头、源地址、目的地址、中继地址、消息类型、消息长度、消息内容、校验和帧尾;所述的源地址、目的地址与中继地址取值于全局唯一站点站号;所述的消息类型包括数据请求消息和数据应答消息;校验可以选择循环冗余校验;消息长度以字节为单位定义了消息内容包含字节数;当消息类型为数据请求消息时,消息内容为空,当消息类型为数据应答消息时,消息内容为各站点全局唯一站号后串接该站点反馈数据;其他字段内容及上述每个字段长度依据应用定义。
[0011] 在本发明中,主站位于总线型有线网络端点,从站在总线型有线网络上均匀分布,总线上任意相邻站点可以接收信号并正确解码消息但非相邻站点无法保证信号接收与正确解码。从站执行数据采集,并通过其他更靠近主站的从站中继传输来实现远距离多从站采集数据到主站的汇聚。网络中所有站点维持网络全局拓扑信息,通信协议执行由主站发出数据请求消息开始,该消息经由到主站距离由近及远的多个邻接从站依次中继,最终到达距离主站最远的从站。距离主站最远从站基于采集数据生成数据应答消息并广播到距离主站更近的邻接从站。邻接从站分别执行数据应答消息接收,添加自身站号及采集数据到接收的数据应答消息,将修改后数据应答消息广播到邻接但距离主站更近的从站。如此,数据应答消息先后经过到主站由远到近邻接从站中继,最终实现采集数据到主站的汇聚,主站解析数据应答消息获得各从站采集数据并存储。
[0012] 进一步地,对于主站,其通信协议执行流程为:
[0013] S101.主站初始化数据请求周期定时器,跳转到步骤S102;
[0014] S102.主站判断是否在线路上收到新消息,如果是则跳转到步骤S112,否则跳转到步骤S103;
[0015] S103.判断数据请求消息周期定时器定时时间是否到达,如果是则跳转到步骤S104,否则跳转到步骤S106;
[0016] S104.初始化数据请求消息目的节点、目的节点重传计数器取值,并初始化数据请求消息,跳转到步骤S105,其中,目的节点的初始值为M;
[0017] S105.发送消息、启动消息应答截止时间计数器,并关闭数据请求定时器,跳转到步骤S102;
[0018] S106.判断数据请求消息应答截止时间是否到达,如果是则跳转到步骤S107,否则跳转到步骤S102;
[0019] S107.判断数据请求消息目的节点m的重传次数是否达到最大值,如果是则跳转到步骤S108,否则跳转到步骤S110;其中,m=1,2,…,M;
[0020] S108.判断数值m-1是否大于零,如果是则跳转到步骤S107,否则跳转到步骤S109;将数据请求目的节点更新为m-1,初始化数据请求消息目的节点重传计数器,并初始化数据请求消息,跳转到步骤S111;
[0021] S110.数据请求消息目的节点m重传计数器加1,初始化数据请求消息,跳转到步骤S111;
[0022] S111.发送消息,并启动消息应答截止时间计数器,跳转到步骤S103;
[0023] S112.主站通过接收消息的中继地址字段判断消息是否来自于下一站,即总线上与本站点距离最近且更靠近主站的从站,且消息类型为数据应答消息,如果是则跳转到步骤S113,否则跳转到步骤S116;
[0024] S113.主站通过接收消息的校验字段判断接收消息是否正确,如果是则跳转到步骤S114,否则跳转到步骤S116;
[0025] S114.解析数据应答消息,提取对应站点号及采集数据并存储,跳转到步骤S115;
[0026] S115.开启数据请求周期定时器,跳转到步骤S102;
[0027] S116.丢弃消息,并跳转到步骤S103;
[0028] S117.启动系统故障报警,主站停止工作。
[0029] 进一步地,对于任意从站,其通信协议执行流程为:
[0030] S201.初始阶段,从站处于信号接收状态,其首先判断是否接收到消息,如果是则跳转到步骤S202,否则仍处于步骤S201;
[0031] S202.从站通过接收消息的中继地址字段判断消息是否来自于上一站,即总线上与本站点距离最近且更靠近主站的从站,且为数据请求消息,如果是,则跳转到步骤S203,否则跳转到步骤S206;
[0032] S203.从站通过接收消息的目的地址字段判断本站是否为消息目的节点,如果是则跳转到步骤S204,否则跳转到步骤S205;
[0033] S204.从站基于本站采集数据构建数据应答消息,此时,数据应答消息源地址为数据请求消息目的地址,数据应答消息目的地址为数据请求消息源地址,中继地址即为本站地址,并在总线上广播消息,跳转到步骤S202;
[0034] S205.从站修改接收到数据请求消息,将消息的中继地址字段修改为本站站号,并将消息在总线上广播,跳转到步骤S202;
[0035] S206.从站通过接收消息的中继地址字段判断消息是否来自于下一站,即总线上与本站点距离最近且与主站距离更远的从站,且为数据应答消息,如果是,则跳转到步骤S207,否则跳转到步骤S208;
[0036] S207.从站通过接收消息校验字段判断消息是否正确,如果是则跳转到步骤S208,否则跳转到步骤S209;
[0037] S208.基于数据应答消息结构将本站采集数据添加到接收到的数据应答消息中,将中继地址修改为本站站号,并将消息在总线上广播,跳转到步骤S202;
[0038] S209.丢弃消息,跳转到步骤S202。
[0039] 与现有技术相比,有益效果是:本发明提供的一种一主多从总线型有线数据采集网络通信协议,可以有效解决网络中单个站点(主站或从站)覆盖能力不足、信号覆盖随机以及多站点同步困难(导致潜在的多站点同时数据传输以及带来的冲突)问题。

附图说明

[0040] 图1为本发明一主多从总线型有线数据采集网络拓扑图。
[0041] 图2为本发明主站通信协议流程图。
[0042] 图3为本发明从站通信协议流程图。

具体实施方式

[0043] 实施例
[0044] 如图1所示,主站为M0,从站分别为S1,S2,…,Sm,…,SM,从站依据到主站距离由近及远依次编号为1,2,…,M,即从站S1编号为1,从站S2编号为2,…,Sm编号为m,…,SM编号为M。网络中所有站点存储如图2所示,如前所述,编号由小达到,表示距离主站由近到远,各编号对应的站号表示该主站间距下从站站号,其中编号0对应主站,主站站号为M0。因而,对于任意从站Si(或主站M0),其通过查询全网拓扑信息表可以知道本站的上一站(即到主站最近的邻接从站)和下一站(即到主站最远的邻接从站),分别为S(i-1)和S(i+1)。网络中任意站点交互消息的消息结构如图3所示,包括如下九个字段:
[0045] 帧头:用于检测消息起始位置;
[0046] 源地址:协议中消息源地址设计依赖于消息类型,如果消息为数据请求消息,则源地址为主站站号,如果消息为数据应答消息,则源地址为当前应答的数据请求消息的目的地址;
[0047] 目的地址:协议中消息目的地址设计依赖于消息类型,如果消息为数据请求消息,则目的地址为这一轮数据请求从站站号(详见下面协议描述),如果消息为数据应答消息,则目的地址始终为主站站号;
[0048] 中继地址:当前执行消息中继的从站站号,在主站构建数据请求消息时,中继地址为主站站号,在数据请求消息目的节点构建数据应答消息时,中继地址为自身站号;
[0049] 消息类型:协议中有两种消息类型,数据请求消息和数据应答消息,前者用于主站向从站发送数据请求,后者用于从站执行采集数据汇聚;
[0050] 消息长度:当消息类型为数据请求消息时消息长度为零,当消息类型为数据应答消息时消息长度由当前累计的采集数据和站号的字节数目确定;
[0051] 消息内容:当消息类型为数据请求消息时消息内容字段为空,当消息类型为数据应答消息时消息内容构成,为各从站站号加采集数据串接而成。事实上,不同从站传输的数据应答消息的消息内容不同但存在串接关系,例如从站S(m+1)处广播的数据应答消息为SM站号与其采集数据,S(M-1)站号与其采集数据,…,S(m+1)站号与其采集数据,而S(m)处广播的数据应答消息为SM站号与其采集数据,S(M-1)站号与其采集数据,…,S(m+1)站号与其采集数据串接S(m)站号与其采集数据。
[0052] 检验:采用循环冗余校验等常用数据帧校验;
[0053] 帧尾:用于检测消息结束位置。
[0054] 基于图1网络拓扑、图2网络拓扑信息表、图3的消息帧结构,对一主多从总线型有线数据采集网络中主、从站协议执行流程作进一步描述。
[0055] 首先,对于主站,本发明所提通信协议执行流程为:
[0056] S101.初始阶段,主站(即图1中的M0)开启第一轮数据请求周期定时器TA0,跳转到步骤S102;
[0057] S102.主站M0判断是否在线路上收到新消息,如果是则跳转到步骤S112,否则跳转到步骤S103;需要说明的是,由于所提协议规定仅主站能发起通信过程,因而在主站没有发送数据请求消息之前,主站不会在总线上收到任何消息,因此在协议执行初始阶段,主站执行协议将直接跳转到步骤S103;
[0058] S103.判断数据请求消息周期定时器TA0定时时间是否到达,如果是则跳转到步骤S104,否则跳转到步骤S106;
[0059] S104.初始化数据请求消息目的节点Sm(m=1,2,…,M,主站M0第一次数据请求时m=M)、目的节点重传计数器recall_num=1,并初始化数据请求消息(即此时消息源地址为M0,目的地址为Sm,中继地址为M0,消息类型为数据请求消息,消息长度为0,消息内容为空,跳转到步骤S105;
[0060] S105.发送消息、启动消息应答截止时间计数器TA1,并关闭数据请求定时器,跳转到步骤S102;
[0061] S106.判断数据请求消息应答截止时间是否到达,即定时器TA1定时时间是否达到,如果是则跳转到步骤S107,否则跳转到步骤S102;
[0062] S107.判断数据请求消息目的节点Sm(m=1,2,…,M)的重传次数是否达到最大值RCALL_Max_Num(即recall_num=RCALL_Max_Num),如果是则跳转到步骤S108,否则跳转到步骤S110;
[0063] S108.判断数值m-1是否大于零,如果是则跳转到步骤S107,否则跳转到步骤S109;
[0064] S109.将数据请求目的节点更新为S(m-1),初始化数据请求消息目的节点重传计数器recall_num=1,并初始化数据请求消息,跳转到步骤S111;
[0065] S110.数据请求消息目的节点Sm重传计数器加1,即recall_num=recall_num+1,初始化数据请求消息,跳转到步骤S111;
[0066] S111.主站M0发送消息,并启动消息应答截止时间计数器TA1,跳转到步骤S103;
[0067] S112.主站M0通过接收消息的中继地址字段判断消息是否来自于下一站,即总线上与本站点距离最近且更靠近主站的从站,且消息类型为数据应答消息,如果是则跳转到步骤S113,否则跳转到步骤S116;
[0068] S113.主站M0通过接收消息的校验字段判断接收消息是否正确,如果是则跳转到步骤S114,否则跳转到步骤S116;
[0069] S114.主站M0解析数据应答消息,提取对应站点号及采集数据并存储,跳转到步骤S115;
[0070] S115.主站M0开启数据请求周期定时器TA0,跳转到步骤S102;
[0071] S116.丢弃消息,并跳转到步骤S103;
[0072] S117.启动系统故障报警,主站停止工作。
[0073] 其次,对于任意从站Si(i=1,2,…,M),本发明所提通信协议执行流程为:
[0074] S201.初始阶段,从站Si处于信号接收状态,从站Si首先判断是否接收到消息,如果是则跳转到步骤S202,否则仍处于步骤S201;
[0075] S202.从站Si通过接收消息的中继地址字段判断消息是否来自于上一站,即总线上与本站点距离最近且更靠近主站的从站,且为数据请求消息,如果是,则跳转到步骤S203,否则跳转到步骤S206;
[0076] S203.从站Si通过接收消息的目的地址字段判断本站是否为消息目的节点,如果是则跳转到步骤S204,否则跳转到步骤S205;
[0077] S204.从站基于本站采集数据构建数据应答消息,此时,消息源地址为本站站号,目的地址为主站站号M0,中继地址即为本站站号Si,消息类型为数据应答消息,消息长度为本站站号长度与采集数据长度之和,消息内容为本站站号串接采集数据,并在总线上广播消息,跳转到步骤S202;
[0078] S205.从站Si修改接收到数据请求消息,将中继地址修改为本站站号Si(此时,消息其他内容保持不变),并将消息在总线上广播,跳转到步骤S202;
[0079] S206.从站Si通过接收消息的中继地址字段判断消息是否来自于下一站S(i+1),即总线上与本站点距离最近且与主站距离更远的从站,且为数据应答消息,如果是,则跳转到步骤S207,否则跳转到步骤S208;
[0080] S207.从站Si通过接收消息校验字段判断消息是否正确,如果是则跳转到步骤S208,否则跳转到步骤S209;
[0081] S208.基于数据应答消息,从站Si修改消息的中继地址为本站站号,将本站站号和采集数据串接到接收消息的消息内容之后,修改消息长度,并将消息在总线上广播,跳转到步骤S202;
[0082] S209.从站Si丢弃消息,跳转到步骤S202。
[0083] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。