WiFi承载Modbus的无线传感网络协议设计及应用
2024-01-23付彦伟张鑫瑶易建波
姚 云,颜 佳,付彦伟,张鑫瑶,易建波
(1.国能大渡河枕头坝发电有限公司,四川成都 614700;2.电子科技大学,电力系统广域测量与控制四川省重点实验室,四川成都 611731)
0 引言
随着现代测量和信息技术的发展,传统发电行业的运行和管理向信息化、智能化方向发展。水电站占地面积大、设备种类多,传统监测方式容易引起施工及布线复杂等问题,因此亟需提升电站设备的监测和管理水平。无线传感器网络[1-3](wireless sensor network,WSN)融合分布式信息处理技术,具有多重监测、数据全面、组网灵活、互动友好等优势,能简化测量设备和通信网络,节约施工材料与成本,是提升设备监测和管理水平的优势技术。目前水电站中大量辅机装置的测量、组网、传输协议、通信链路等技术还没有统一的标准,其无线传感系统的开发和应用尚需深入研究。
近年来,很多现代工业场景都有成熟的WSN技术应用案例。文献[4]将ZigBee技术用于矿井救援机器人设计,可远程协调多个机器人同时展开救援行动。文献[5-7]利用WiFi构建智能家居识别及控制系统,根据数据帧差异区分设备,实现手机端控制多个设备。文献[8]将NFC与WiFi智能家居控制相结合,实现手机与智能家居产品云端连接,简化无线配网流程。文献[9]提出超宽带小型车载自组网的链路优化算法,解决了原本网络拓扑结构速度慢、信道易阻塞的问题。文献[10-11]将WSN技术用于农业和环境监测,采用抛洒节点的方式实现了大面积数据采集与控制,突破了传统传感网络受地理条件、监测范围、布线安装等方面的局限。可见,将WSN用于现代工业场景已是一种高效、先进的监测和管理方法。由于各类应用场景的通信条件不同,需要定制专有的数据封装和通信链路协议体系,优化组网和控制逻辑,进而提升WSN技术在应用场景中的实用性。
针对大型水电站繁杂的设备监测和管理应用场景,本文提出WiFi网络承载Modbus协议的体系结构和组网方案,实现对辅机设备的状态在线监测。文中首先分析了无线传感网络的组成框架,结合水电站的实际情况,对现有WiFi协议进行改造,详细设计Modbus数据嵌入WiFi数据帧的具体过程,同时对组网流程进行简化和规范。最后对设计的协议体系进行应用测试,验证该协议对水电站复杂的设备监测需求具备可行性和可靠性。
1 无线传感器网络构建
基于目前大型水电站内的无线WiFi、4G/5G网络覆盖情况,本文设计了一套适用于水电站分布式辅机设备状态监测的无线传感网络。如图1所示,首先对站内分布式辅机设备划分监测区域并部署传感节点,周期性实时采集设备的振动、温度、电气工况等状态信息。节点将采集的数据封装后通过WiFi无线网络发送至上位机。上位机通过以太网将数据传输至在线监测系统,由监测人员进行分析,将数据送入局域网,实现网内多用户数据共享[12-14]。监测人员也可向节点下发指令,调取实时状态数据。
图1 在线监测系统框架
在WSN的设计过程中,通信协议的构建尤为重要,时序和语法是通信协议的核心内容。时序是指协议的流程,直接影响着指令的响应速度,进而影响网络的时延;语法则规定了消息的封装格式,数据包的Payload Type越多,传输效率越高。因此,根据水电站的分布式应用环境和节约成本的需求,本文对通信协议的流程和数据帧格式进行改造,以提高WSN在水电站监测中的使用效果。
2 WiFi承载Modbus协议
水电站监测系统数据传输采用多跳路由模式,直接采用现有WiFi协议流程和封装格式不仅难度较大,且容易在跳转的过程中出现丢包、拥塞等状况。本节首先对WiFi数据链路层的介质访问(medium access control,MAC)层[15]协议流程进行了简化,对WiFi帧进行定制化改造,将增加的Payload Type分配给数据内容字段,最后将Modbus数据帧嵌入WiFi数据帧中。
2.1 协议流程设计
WiFi数据链路层的核心在于MAC层的协议制定,MAC层定义了数据在网络中的传输和封装格式,约束了信道的访问和使用方式,因此MAC层的协议流程和封装格式直接决定着网络的通信性能[16-18]。由于该WSN是多节点协同工作的分布式网络,因此MAC层的协议也必然是分布式结构。首先对MAC协议流程的消息类型和节点状态进行定义,如表1所示。
表1 时序定义
对于任意一组节点,假设A节点为信源节点,B节点为信宿节点,节点的协议流程如图2所示。
图2 MAC协议流程
(1)当A、B均未发收到任何命令时,均处于Q状态;
(2)当A向B发送RS消息,A由Q状态转换到WCS;B判断消息目的地址是否为自己,若地址正确,B由Q状态跳转至WDA,并向A发出CS消息表示信道可用;
(3)若A收到B发出的CS消息,表明当前信道空
闲,可以进行数据传输;
(4)当A向B发送DA时,A跳转至WACK状态;B对数据进行校验,若数据正确,则向A返回ACK消息;
(5)当A收到B回应的ACK消息,表明本次数据传输完成,A、B回到Q状态,等待下一次的数据传输。
该协议流程删减了原来WiFi流程中的竞争和缓冲状态,信源节点发送数据时只需发送一次请求来判断信道是否空闲,当收到信宿节点的回复后就可直接发送数据。相较于传统的WiFi通信MAC协议交互流程,新流程下信源和信宿节点响应速度更快,数据传输处理时间和转发时延显著降低。
2.2 数据帧设计
对于MAC数据帧的封装格式,首先将原有数据帧进行简化,将多余字节分配给数据内容字段,再将Modbus帧嵌入WiFi数据帧中,利用WiFi协议来承载Modbus协议,改造后的数据帧格式如表2所示。在表2的封装格式下,数据在系统中的传输是采用透传模式,WiFi设备不会修改和处理内嵌的Modbus数据包,而Modbus指令也不会对WiFi的传输结构造成影响。
表2 WiFi承载Modbus的MAC数据帧格式
一条WiFi数据帧最多有1 500字节,一条Modbus帧最多有256字节,因此一条WiFi数据包可嵌入5条Modbus数据包,一条WiFi数据帧一次可传输5条Modbus帧,数据在WSN网络中传输时,消息帧数目大幅减少,出现拥塞状况的概率降低。对消息类型进行简化后,帧控制位只有4种代码,识别更简便。Duration/ID位、目的地址、源地址和FCS校验码,均沿用原来WiFi的格式。
Modbus的设备地址根据厂房数目和编号进行设置(见表2),在该系统下,只用前5个功能码就足够指示所有的指令,所以不对05之后的编号进行定义。该水电站监测系统主要会用到03号功能码,例如节点向上位机发送帧:01H 03H 0000H 0005H 85C9H,表示上位机需要反馈寄存器首地址为0000H后的5个寄存器数据。
由于Modbus数据帧没有起始和结束符,所以规定2条Modbus帧发送有4个字符的停顿间隔[19]。新的Modbus帧在小于该时间间隔发送,接收设备将认为它是前一帧的延续,这会导致CRC校验出错,数据接收失败。
3 无线组网与数据传输流程
为实现分散测点的无线数据采集,还需对组网流程进行规范,WSN网络组建和数据传输流程如图3所示,流程主要分为4个模块:WiFi网络初始化、节点加入网络、Modbus组帧、数据传输。
图3 无线组网和数据传输流程
WiFi网络初始化[20](步骤1~9)首先确认一个全功能节点(full function device,FFD),再向外发送信标(Beacon)请求命令,并设置扫描期限T。扫描期限内没有检测到信标,则确定该节点为网络的协调器,并选定网络标识。节点加入网络(步骤11~17)是数据在网络中进行传输的前提:节点扫描附近的协调器并发出入网申请,协调器收到请求后根据情况决定是否同意连接。Modbus执行[21](步骤19~22)先对串口进行初始化,再进行测试,测试正确即可给从机发送指令,节点执行指令并向主机反馈结果。
网络组建完成后开始执行数据传输流程(步骤25~27),将数据按表2的格式进行封装,再按图1的数据链路进行传输。在该流程下,WSN组网便捷,且极具延展性,后续若要扩大组网规模,只需增加子节点数目和分布范围。
4 应用测试与分析
基于上文提出的无线传输协议体系,构建设备状态监测系统应用于大渡河枕头坝水电站。本节对应用系统的分散测点监测数据无线传输的可行性、可靠性进行测试并分析传输效率和最佳传输工况。
枕头坝水电站需监测的辅机设备分布于上下8层、42个分散采集区域,WiFi无线路由中继设备共56台,数据经无线路由跳转频次2~16次不等。无线通信可行性测试选择10个分散区域的排水泵、压油泵振动数据,每个测点1000组数据,共收集10 000组数据。在系统WiFi所有信道(14条)均为本次任务服务,且不存在外源数据信道占用的情况下,设置TTL(Time-To-Live)为1 s,不同频域有效带宽对数据传输的效果如图4所示。
图4 不同频域带宽下数据传输效果
由图4的测试结果统计可知,无线数据的传输速率与频域有效带宽成正比,当频域带宽达到100 MHz(时域800 Mbps)时,无线数据吞吐量可达61 Mbps。但是,提升带宽也导致了丢包率显著上升,甚至在无外源数据信道占用的情况下超过了1%。造成该情况的主要原因是带宽越高,穿透性越差,传输距离越短,水电站监测设备多且分散,数据包跳转次数增加,造成多路衰落导致信号衰减,累计时延增加,时延超过1 s后,节点自动丢包。目前站内还存在智能头盔、图像监视、智能巡检等设备需要使用无线网络,在信道载荷加重的情况下,丢包率将进一步上升,严重影响设备监测的可靠性。
鉴于本系统监测数据采集测点分散、数据密度低的传输特点,为了增加数据传输可靠性和传输效率,结合图4的测试结果,采用40 MHz的频域有效带宽(时域300 Mbps)最适合水电站辅机设备无线数据传输,在无外源数据干扰的情况下平均网络时延25 ms,综合性能最可靠。
考虑应用系统所在无线网络环境中还存在诸多共用信道的无线系统,数据传输时经常会存在信道占用的情况。在系统设定无线带宽工况40 MHz条件下,同样采集并传输分散源点10×1000组振动数据,当载荷竞争条件下信道数目不同时,系统无线数据传输的性能测试结果如表3所示。
表3 信道数目对数据传输的影响
测试结果表明:随着有效带宽内数据载荷量的上升,本系统的数据传输可用信道数目减少,平均网络时延和丢包率显著上升,当丢包率超过2.5%时,系统无法正常工作。在原有设定的TTL阈值1 s状态下,针对上述丢包率过高的问题,本文采取提高TTL延拓设定策略,当数据透传中出现超时延门限丢包时,以500 ms时间片间隔延长TTL设定值,降低丢包率。
从表3测试结果可见,当可用信道数目较多时,采用1次延拓就可将丢包率降到0。当可用信道数目为7条时,丢包率降到0需要对TTL进行2次延拓。当可用信道数目过少时,为了兼顾数据的时效性和完整性,在阈值达到4 s后,不再对TTL进行延拓,将丢包率控制在0.08%内。测试证明提高TTL延拓设定策略在保证数据的时效性下,可有效降低系统的丢包率,确保本系统在水电站设备监测中的可靠性。
5 结论
本文借助WSN技术的先进性,提出了WiFi协议承载Modbus协议的无线通信改造方案,构建了水电站辅机设备的无线传感监测应用系统。通过对WiFi数据帧的定制化改造和应用系统的测试分析,验证了本文所设计的WSN通信协议兼具工业数据无线透传和高速大容量数据传输特性,具有良好的可行性和传输可靠性。选择40 MHz的有效带宽,当网络存在信道占用的情况,采用TTL延拓设定策略,可以兼顾数据的时效性和完整性。本文设计的系统可应用于厂区面积广、设备复杂的工业监测场景。