基于梯田通信模型的无线传感网络通信方法

2021-05-12 06:39任拴哲张怀德李建敏
探测与控制学报 2021年5期
关键词:梯级数据包路由

任拴哲,张怀德,王 坚,李建敏

(1.陕西高速电子工程有限公司,陕西 西安 710056;2.西北工业大学,陕西 西安 710048)

0 引言

ModBus协议常用于分布式控制系统的通信,在工业控制等领域获得了大量的应用,但ModBus应用数据单元(ADU)限制了用户协议数据单元(PDU)最大为253 B[1],对于多通道高采样率在线监控系统而言这个限制无法满足其瞬态大容量采样数据的实时传输。

传统分布式测控系统往往采用RS485总线构建系统内部的通讯,但是这需要布设线缆。而对于布线难度大的场合,采用“无线传感网络(wirelss sensor network, WSN)” 来搭建分布式控制系统是一个比较好的选择。无线传感网络由大量传感器节点组成,这些节点部署在特定的监测环境中,以无线、多跳等形式收发数据。无线传感器网络系统的主要特点是较低的平均工作速率和较短的通信距离,网络拓扑多是二维的网状拓扑结构[2-3],其路由算法的设计目标主要是促进负载均衡以节约网络能耗,提高网络的生存时间,规避“能量空洞现象”[4-6]。但是这种规则会影响数据的传输效率,尤其对于变化很快的信号,采用较高的采样率,WSN的网络节点会产生大量数据,按照网络均衡或者能耗均衡为目标的路由算法对于数据的传递会产生很大的延时[7],又极易产生网络局部或全局的“数据拥塞”[8],导致WSN系统不适用于这类应用。

结合隧道、地下管廊WSN监测系统近似一维拓扑[9]的具体特点,针对无线传感网络(WSN)通信效率较低、不善于传输大容量数据等问题,本文提出了一种基于梯田通信模型的无线传感网络通信方法。

1 分布式通信需求分析

分布式监测系统网络拓扑如图1所示,通过在被监测对象上部署多个三轴加速度传感器以获取其实时数据,每组被监测对象部署一个WSN网络节点,网络节点通过485总线连接智能加速度传感器,每个网络节点一共30个AD通道同步并发采集,单次1 s时间长度采样将产生300 KB的数据,为避免大量冗余数据并减少后期数据清洗工作,因此数小时采集一次即可,每次采集时长1 s。

图1 分布式监测系统网络拓扑图Fig.1 Network topology diagram of distributed monitoring system

网络节点分布模型如图2所示,其中:

图2 网络节点分布模型图Fig.2 Network node distribution model

1) 网络节点依据受监测设备分布情况通过人工部署在受监测设备附近。

2) 协调器节点每网段只有一个,可以通过其他方式连接到上位软件。

3) 所有网络节点功能相同、地位平等、可以现场供电、安装后不移动、位置与受控设备对应。

图2表明,长矩型结构中WSN传输路径相对单一,加上系统瞬态大容量的采样数据传输问题,因此WSN追求的目标并不是网络节点的能耗均衡,而是减少转发次数,缩短数据包全网传递时长,从而提升网络传输效率。

2 基于梯田通信模型的无线传感网络通信方法

2.1 即时网络状态的自适应长度数据组包通信协议设计

本文监测系统对于通信网络的需求可以分为两类:

一类是控制命令,如校时、自检、采样率设定、实时查询设备状态、发布采样命令等。这一类命令数据量不大,每次发送固定大小的数据,适合ModBus目前已定义的功能码;

另一类是现场传感器采集到的实时信号,这类信号数据量很大,需要尽量提高传输效率,可以通过两种方式实现提高传输效率:1)减少数据包在无线网络内部的转发次数;2)在数据量固定的情况下,加大每次发送数据包的长度。

根据上述分析,将通信协议分为控制命令协议和数据传输协议两类,其中控制命令是短命令,传送比较频繁,每分钟轮询一个网络节点,实现对受控设备的运行工况遍历;数据传输协议需要对ModBus协议进行优化扩充,使之能够依据即时网络质量传送可变长数据包。

2.1.1系统控制指令

1) 采用无线传感网络AT定向命令封装ModBus请求

本文中的WSN 是ModBus现场总线的上一级通信网络,其作用是沟通网络节点下挂传感器与上位软件的桥梁,为了提高传输效率,采用WSN AT定向发送命令封装ModBus协议。系统定向控制指令请求帧封装如表1所示。

表1 控制指令请求帧Tab.1 Control command request frame

网络节点目标地址:xxxx是指网络节点的本网段内标号,例如0003为第3号网络节点;传感器ID:xx,是指本网络节点下的传感器编号,例如02为本网段0003网络节点的第2个传感器;一个网段只能有一个协调器节点,编号为FFFE ,网段内所有网络节点发送的最终目的地均为协调器节点FFFE。

2) 采用无线传感网络AT定向命令封装ModBus响应

系统定向控制指令响应帧封装如表2所示。

表2 控制指令响应帧Tab.2 Control command response frame

2.1.2系统可变长度数据包传输指令

数据包传输指令是为了获取网络节点现场传感器瞬态并发采样的大量数据,为了控制WSN网络节点的通信负载均衡,所有网络节点只有在获取上位令牌后才进行高速并发采样,采样完成后由上位软件直接定向读取,读取成功后传感器将采样数据清零并等待下一次采样命令。

传输指令整体由预备、传输、结束三个子状态构成,数据包传输流程如图3所示。

图3 数据包传输流程图Fig.3 Flow chart of packet transmission

通过预备传输指令除了可以获取采样的基本信息如采样率、采样时刻、数据包总长度,另一个目标是获取这个短指令的空中延迟时间,在保证数据包CRC校验正确的前提下,请求发出时刻减去响应到达时刻的时间段可以表达WSN空中通信网的即时状态,对空中通信网状态评估分为标准可用、良好、优秀等级,依据不同的状态等级进行本次传输数据包长度自适应装定,例如标准可用状态对应200 B,良好状态对应400 B,优秀状态对应800 B,当采样率为5 kHz/s,WSN网络节点下挂10个三轴加速度传感器时,每通道A/D为16 b,数据量为300 KB,若数据包长度为200 B,所有数据包传完WSN转发需要1 500次;若数据包长度为800 B,WSN仅需375次传输,效率提升4倍。

2.2 基于梯田通信模型的路由算法

2.2.1梯田通信势能模型

根据坑道、隧道无线传感网络节点的长矩形分布特点,为提高系统数据传输效率本文引入“梯田通信法”规则。本规则在WSN初始化阶段完成,梯田通信势能模型如图4所示。

图4 梯田通信势能模型Fig.4 Terraces communication potential model

梯田通信势能模型的规则如下:

1) 协调器是所有网络节点应答信息的最终目标,也是网络上所有请求的源头;

2) 梯田的建设规则:同梯级的网络节点均能和下一梯级所有网络节点直接通信,即同梯级的网络节点直接通信能力相等,即同层“梯田”上等质量的物体势能相等。

3) 梯田建设在网络初始化阶段完成:

①手动为每一个节点设置WSN网段号、网络节点地址,设置所有节点的定向目标地址为协调器地址(例如FFFE),协调器节点地址设为FFFE;

②协调器节点梯级信息为0,协调器向周围广播初始化信息(包括梯级信息0),周围所有能直接收到协调器初始化信息的节点首先将自己的梯级信息设为-1,例如图4中的1#、2#、3#、4#网络节点;

③完成梯级信息设置为-1的网络节点(例如3#)开始向周围广播自己的初始化信息,由于各节点物理距离不同造成通信范围不同,假设1#、2#、4#、5#、6#、7#、8#、9#收到该信息,其中1#、2#、4#发现梯级与3#相同就放弃该初始化信息,而5#、6#、7#、8#、9#将自己的梯级设为-2,当所有梯级为-1的网络节点初始化完成后,此时由于3#添加了9#(梯级为-2),4#添加了10#(梯级为-2),但是1#与2#因为距离远并不能直接联系上9#和10#,此时所有梯级为-1的网络节点(1#、2#、3#、4#)将各自发现的梯级为-2的所有节点地址报给协调器,协调器裁决9#、10#的梯级不能为-2级,将其裁定为-3级,并将裁决结果通过3#发给9#,通过4#发给10#;9#,10#依据协调器裁决结果将自己的梯级修改为-3;

④依次类推,构成通信梯田。

4) 网络初始化阶段完成后,位于同一梯田的网络节点禁止相互直接通信。

2.2.2动态路由选择

系统初始化完成,就构建了梯田通信势能模型,所有网络节点路由表仅需维护其上一级势能和下一级势能的网络节点即可,相同通信势能的网络节点不进入路由表。

由于本系统各网络节点均为在线供电且具有后备电池,不考虑WSN通信能耗均衡。同时每个网络节点均下设传感器,系统通过巡检替代心跳检测,可以及时发现网络节点失效问题。同时所有网络节点均为固定安装,因此路由算法不考虑网络节点失效和拓扑动态重建问题,追求的是数据传输效率。

如图4所示,若协调器发布采样命令的最终目标为16号节点,协调器发起针对16号节点的定向请求,随机选择-1级的某节点(3#),3#发现16#不在其下一级势能路由表中,因此在下一级势能路由表随机选择一个网络节点(例如8#),同理8#随机发给11#,11#发现定向目标16#位于其下一级势能路由表,然后定向发给16#;16#回复该请求的响应时,过程相反,凡是不在相邻势能,均为随机抽取的非竞争关系,保证同一势能内多个网络节点的通信均衡。

2.2.3梯田算法的必要性

采用梯田通信模型,依据现场实际通信能力将网络节点划分成不同梯级,并禁止同梯级的网络节点之间的通信,本方法与传统的能量均衡路由算法相比,可以降低转发次数,减少转发率32%,节约数据传输总体时间32%,传输效率提高47%。

3 仿真测试

本文通过WSN配置软件以及为分布式监测系统开发的上位软件进行仿真和分析。

3.1 平台搭建

结合项目应用场景,在室外道路自由空间搭建无线传感网,衰减各网络节点通信距离为100 m(便于实验观测),布放距离及网络拓扑如图5所示。

图5 测试环境无线传感网络拓扑Fig.5 Topology of wireless sensing network for the test environment

设置最远端网络节点7下挂智能加速度传感器,网络节点7为信源节点,传感器通过485总线连接节点7,485总线通信波特率设置为115.2 Kb/s,WSN空中波特率为200 Kb/s,协调器节点通过串口与串口服务器相连,协调器与串口服务器串口波特率设为115.2 Kb/s,串口服务器通过交换机以TCP协议连接上位软件;测试方法采用控制变量法。整体测试分为两步:第一步验证梯田通信法对传输效率的改善情况;第二步验证自适应可变数据包长度对系统传输效率的改善情况。

3.2 能量均衡路由算法与梯田通信的对比测试

本测试主要针对信源经过WSN到达协调器的跳数进行测试。

3.2.1采用能量均衡路由算法

由配置软件通过协调器向网络节点7的传感器发送定时巡检短命令请求,该传感器的应答经过WSN返回协调器节点,记录应答命令经过所有传递路径的节点信息,配置软件每5 s发送一次巡检命令,共计发送5 000次。测试结果统计如表3。

表3 协调器向节点7发送短命令的路由跳数统计Tab.3 Routing hop count for coordinator sending short commands to node 7

跳数分布、各节点通信转发次数(贡献度)如图6所示。

图6 能量均衡路由算法-通信拓扑、路径树统计、节点转发直方图、 跳数统计直方图Fig. 6 Energy-balanced routing algorithm-communication topology, path tree statistics, histogram of node forwarding, histogram of hop count statistics

作为信源的节点7和作为目的地的协调器贡献度最高,在无电池供电的情况下,假定网络节点死亡的次数为5 000次,当节点7率先死亡时,节点3、节点4剩余寿命约为16.67%,节点1、2、5、6剩余寿命约为20.83%。整个WSN网络能量损耗均匀,节点7率先死亡的原因是因为本次测试将其作为唯一信源的原因,实际工程中可以由上位软件对目标节点的非竞争巡检实现信源节点的网络能耗均衡。

3.2.2采用梯田通信路由算法

在图5的基础上,划分梯田通信模型如图7所示。

图7 梯田通信划分模型Fig.7 Terraced communication division model

测试方法同上。测试结果统计如表4所示。

表4 协调器向节点7发送短命令的路由跳数统计Tab.4 Routing hop count for coordinator sending short commands to node 7

跳数分布、各节点通信转发次数(贡献度)如图8所示。

图8 梯田通信路由算法-通信拓扑、路径树统计、节点转发直方图、 跳数统计直方图Fig.8 Terraced communication routing algorithm-communication topology, path tree statistics, histogram of node forwarding, histogram of hop count statistics

信源网络节点7和协调器的贡献度最高,在无电池供电的情况下,假定网络节点死亡的次数为5 000次,当节点7率先死亡时,其余节点剩余寿命均为50%,能耗分布更佳均匀,而且剩余寿命高于原算法。

3.2.3能量均衡路由算法与梯田通信路由算法比较

梯田通信势能模型与网络能耗均衡路由算法相比,在以下几个方面有所不同:

1) 传输效率对比

将原来的5 000次传输累计跳数由29 167次降为20 000次,减少转发率约为32%,节约数据传输总体时间32%,传输效率提高47%。

2) 网络鲁棒性

路径由96种降为8种,网络鲁棒性降低。

3) 能耗均匀度

能耗均匀度略优。

4) 寿命残值

各节点寿命残值提升2.4~3倍。

3.3 可变数据包长度传输效率测试

搭建最简测试模型如图9所示。

图9 最简测试模型Fig.9 Minimalist test model

传感器每通道采样率5 kHz,传感器的5个通道并发采集,每通道AD分辨率16 b,采样时长1 s,系统通信参数配置见3.1节介绍。整体测试分为三步:第一步验证每数据包长度为100 B对传输效率的改善情况;第二步验证每数据包长度为200 B对系统传输效率的改善情况;第三步验证每数据包长度为400 B对系统传输效率的改善情况。

本测试模型数据传输时长由以下内容决定:传感器打包响应时长,传感器与网络节点1的通信时长,网络节点1的2次打包时长,协调器与网络节点1的通信时长,协调器解包时长,协调器与串口服务器的通信时长,串口服务器的3次打包时长,PC与串口服务器的通信时长等因素。

当网络状态稳定时,通过增加数据包长度,可以减少请求与响应的往复次数,通过这个措施,可以成倍地提高传输效率,但是数据包长度受到ModBus协议的限制,因此本文首先优化了传输协议;同时数据包长度还受到网络节点以及串口服务器计算能力的影响,发现800 B以下的数据包传输性能比较稳定;超过该长度时,会出现数据丢失现象。

测试软件采用分布式监测系统软件V2.3版。测试过程如图10,测试结果见表5。

表5 不同长度数据包传输效率测试Tab.5 Transmission efficiency test for different length packets

图10 数据包为400 B的传输时间Fig.10 Transmission time for packets of 400 Bytes

测试结果显示:通过增加数据包长度,可以有效减少信源响应的通信次数。虽然增加了各环节的单次通信计算量,但一次完整的数据传输过程,各环节的计算总量不变。在数据量固定时,增大数据包n倍,传输效率提升接近n倍。

4 结论

本文提出基于梯田通信模型的无线传感网络通信方法。通过引入梯田通信势能模型改善了WSN均衡路由算法导致的传输效率低下的问题;通过即时网络状态的自适应长度数据组包算法,进一步提高了WSN系统的数据传输效率。仿真测试结果表明:梯田通信势能模型路由算法在可接受的网络鲁棒性条件下,系统传输效率为均衡路由算法的1.47倍;即时网络状态的自适应长度数据组包算法可提升系统传输效率2~8倍;两种算法组合后可提升系统数据传输效率2.94~11.76倍。

猜你喜欢
梯级数据包路由
二维隐蔽时间信道构建的研究*
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议
OSPF外部路由引起的环路问题
阅读梯级与阅读教学
C#串口高效可靠的接收方案设计
特种设备电梯自动扶梯自动人行道的安全使用
网络数据包的抓取与识别
浅议自动扶梯梯与自动人行道梯级缺失保护
传送带知识的“梯级”复习