一种多级通讯系统的通讯检测方法及多级通讯系统
技术领域
本发明涉及一种多级通讯系统的通讯检测技术。
背景技术
一般,在上级设备与下级设备的通讯过程中,为了保证设备之间的通讯质量,上级设备会根据需要分析与下级设备之间的通讯报文,检测上级设备与下级设备之间的通讯端口以及通讯链路是否出现故障。在一个多级通讯系统中,一个系统具有多层次的通讯设备,且往往分布范围比较广,在顶层的主站设备一般无法直接检测本设备与下级子系统之间的通讯故障。在发现异常时,主站只能通过分析主站与中间设备之间的通讯报文,来排查主站与中间设备之间的通讯故障,一旦故障出现在中间设备与下级子系统之间,则主站无能为力,只能再派维修工程师到中间设备所在地进行进一步排查,需要花费一定的人力。对于一个具有多层次、多级别的大型的系统,在子系统较多,分布的面积较广的情况下,通过现有的方式进行系统维护和数据分析需要花费大量的人力成本,且效率较低。
以集中抄表系统为例,如图1所示,集中抄表系统一般由3层物理结构组成,第1层主站,是整个系统的管理中心,负责整个系统的信息采集、管理以及数据管理和数据应用等。第2层数据采集层,负责对各采集点信息的采集和监控,包括各种应用场所的信息采集终端,由集中器等终端构成。第3层是具体的信息采集源,包括电能表、采集器等。通信网络完成系统各层之间的数据传输,它可以是专用或公共无线、有线通信网络以及电力线载波通信网络。
一般来说,一个集中抄表系统包括一个主站,主站连接多个集中器,每个集中器连接几十个甚至几千个下级子系统,完成抄表工作。集中器与下级子系统之间独立收发通讯报文,由集中器将收集到的数据汇整后上报给主站。在该系统中,工程师通过主站,对主站连接的集中器以及下级子系统进行控制和维护。一旦发现收到的数据存在异常,需要对主站与集中器之间的通讯报文进行分析和检测,来排除通讯故障。但由于主站只能够检测和分析主站与集中器之间的通讯报文,如果故障不在主站与集中器之间,则无法完成通讯故障的检测和排除。需要派工程师到安装集中器的现场去进一步分析集中器与下级子系统之间的通讯报文,一个一个监视集中器与下级系统之间的通讯报文。由于集中器分布全市甚至全省各个小区变压器处、采集器又分布在各个小区的楼道里。当主站系统有几百台甚至于几千台集中器时,这样排查的工作量将非常大,人力成本高,且工作效率低。
发明内容
本发明主要解决的技术问题是提供一种多级通讯系统的通讯检测方法及多级通讯系统,使得降低了检测通讯故障所需的人力成本,且提高了故障检测效率。
为了解决上述技术问题,本发明提供了一种多级通讯系统的通讯检测方法,包含以下步骤:
A上级设备向中间设备发送通讯报文上报启动命令;
B所述中间设备收到所述通讯报文上报启动命令后,将来自下级子系统的通讯报文,或者向下级子系统发送通讯报文,转发给所述上级设备;
C所述上级设备根据本设备与中间设备之间的通讯报文,以及转发的所述中间设备与下级子系统之间的通讯报文,检测和分析上级设备与下级子系统之间的通讯故障。
作为对上述技术方案的改进,所述步骤B中,所述中间设备在本设备的空闲时间,转发所述通讯报文。
作为对上述技术方案的改进,所述步骤A中,在所述上级设备收到的通讯报文误码率高于正常值,和/或所述通讯报文的丢包率大于正常值时,所述上级设备向所述中间设备发送所述通讯报文上报启动命令。
作为对上述技术方案的改进,该方法还包含以下步骤:
所述上级设备向所述中间设备发送通讯报文停止命令;
所述中间设备停止转发所述下级子系统与所述中间设备之间的通讯报文。
作为对上述技术方案的改进,所述一个中间设备连接至少两个所述下级子系统,每个下级子系统对应一个通讯端口,所述中间设备与所述下级子系统通过对应的通讯端口收发通讯报文;
所述步骤A中,所述上级设备发送的通讯报文上报启动命令中包含通讯端口号;
所述步骤B中,所述中间设备仅将通过该通讯端口接收或发送的通讯报文转发给所述上级设备。
本发明还提供了一种多级通讯系统,包含:
上级设备,用于向中间设备发送通讯报文上报启动命令;
中间设备,用于在收到所述通讯报文上报启动命令后,将来自下级子系统的通讯报文,或者向下级子系统发送通讯报文,转发给所述上级设备;
所述上级设备还用于根据本设备与中间设备之间的通讯报文,以及转发的所述中间设备与下级子系统之间的通讯报文,检测和分析上级设备与下级子系统之间的通讯故障。
作为对上述技术方案的改进,所述中间设备在本设备的空闲时间,转发所述通讯报文。
作为对上述技术方案的改进,所述上级设备还包含判断模块,用于在所述上级设备收到的通讯报文误码率高于正常值,和/或所述通讯报文的丢包率大于正常值时,指示所述上级设备向所述中间设备发送所述通讯报文上报启动命令。
作为对上述技术方案的改进,所述上级设备还用于向所述中间设备发送通讯报文停止命令;
所述中间设备还用于,在收到来自所述上级设备的发送通讯报文停止命令后,停止转发所述下级子系统与所述中间设备之间的通讯报文。
作为对上述技术方案的改进,所述一个中间设备连接至少两个所述下级子系统,每个下级子系统对应一个通讯端口,所述中间设备与所述下级子系统通过对应的通讯端口收发通讯报文;
所述上级设备发送的通讯报文上报启动命令中包含通讯端口号;
所述中间设备仅将通过该通讯端口接收或发送的通讯报文转发给所述上级设备。
本发明实施方式与现有技术相比,主要区别及其效果在于:现有技术中,上级设备只能检测和分析本设备与中间设备之间的通讯报文,一旦故障不是出在上级设备与中间设备之间,则需要下派工程师到中间设备所在地进行进一步的检测和分析,在中间设备较多且分布面积很广的情况下,需要耗费大量人力,且效率较低;本发明在上级设备的控制下,由中间设备在需要时将中间设备与下级子系统之间的通讯报文转发到上级设备,由上级设备进行检测和分析,由于可以跨级进行通讯报文的分析和检测,所以在上级设备与下级子系统之间出现通讯故障时,无论故障是存在于上级设备与中间设备之间,或存在于中间设备与下级子系统之间,均能够直接在上级设备将故障点找出,然后再有针对性的处理故障,无需工程师到中间设备所在地进一步进行故障排查,降低了人力成本,且提高了故障检测的效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是现有技术中集中抄表系统物理结构示意图;
图2是本发明第一实施方式的多级通讯系统的通讯检测方法示意图;
图3是本发明第一实施方式的集中抄表系统中的通讯检测方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种多级通讯系统的通讯检测方法,如图2所示,上级设备向中间设备发送通讯报文上报启动命令;中间设备收到通讯报文上报启动命令后,每次收到来自下级子系统的通讯报文,或者向下级子系统发送通讯报文后,将该发送或接收的通讯报文转发给上级设备;上级设备依据本设备与中间设备之间的通讯报文,以及转发的中间设备与下级子系统之间的通讯报文,检测和分析上级设备与下级子系统之间的通讯故障。由于可以跨级进行通讯报文的分析和检测,所以在上级设备与下级子系统之间出现通讯故障时,无论故障是存在于上级设备与中间设备之间,或存在于中间设备与下级子系统之间,均能够直接在上级设备将故障点找出,然后再有针对性的处理故障,无需工程师到中间设备所在地进一步进行故障排查,降低了人力成本,且提高了故障检测的效率。在上级设备不需要分析和检测中间设备和下级子系统之间的通讯报文时,向中间设备发送通讯报文上报停止命令,中间设备停止转发下级子系统与该中间设备之间的通讯报文。
下面以集中抄表系统为例,进行具体说明,具体流程如图3所示。
本实施方式中,在DL/T 698.41主站通讯协议中的控制命令AFN=05H帧中增加两条控制命令:通讯报文上报启动命令和通讯报文上报停止命令,控制对象为子系统的端口号。还在DL/T698.41主站通讯协议中新增功能码AFN=FFH。用于集中器主动向主站上报集中器与下级子系统(如采集器等)某端口的通讯报文。
控制命令定义如表1所示:
Fn |
控制名称 |
Pn |
F65 |
通讯报文上报启动命令 |
端口号 |
F66 |
通讯报文上报停止命令 |
端口号 |
表1
主动上报通讯报文(AFN=FFH)数据功能格式如表2所示:
68H |
L |
L |
68H |
C |
A |
AFN=FFH |
数据单元标识 |
数据单元 |
EC |
Tp |
CS |
16H |
表2
其中,数据单元的格式如表3所示。
数据内容 |
数据格式 |
单位 |
字节数 |
报文长度 |
BIN |
字节 |
2 |
报文字节1 |
BIN |
|
1 |
... |
... |
... |
... |
报文字节n |
BIN |
|
1 |
表3
Fn和Pn定义如表4所示。表4中端口号范围为0-255,0表示通过485直接连接电表收发的报文,1-32表示通过对应的采集器与电表通讯的报文,241表示转发端口转发的级联集中器与主站的通讯报文,242表示与主站的通讯报文。
Fn |
名称及说明 |
Pn |
F1 |
集中器向下级子系统发送的报文 |
端口号 |
F2 |
集中器从下级子系统接收的报文 |
端口号 |
表4
在步骤301中,当主站系统需要分析集中器的某个端口的通讯报文时,如主站发现通讯报文有误或通讯有丢失报文现象时,通过主站向该集中器发送通讯报文上报启动命令,命令中包含通讯端口号。
比如说,主站系统发现集中器a的1号端口的通讯报文有误,或者存在通讯报文丢失现象,向集中器a发送通讯报文上报启动命令,功能码AFN=05H,信息类型码Fn=F65,端口号Pn=1。
在步骤302中,集中器收到命令后,每通过该端口发送或接收一条通讯报文,就将该通讯报文缓存,在集中器系统空闲时,将这些通讯报文转发给主站。由于转发通讯报文的时间并不一定是紧跟着集中器从该端口接收或发送通讯报文之后,可以在集中器系统空闲的时候进行,所以不会影响集中器收发通讯报文的效率。
集中器使用功能码AFN=FFH,Pn=端口号,数据信息类型Fn=F1上报该集中器通过该端口发送的通讯报文,Fn=F2上报该集中器通过该端口接收到的通讯报文。主动上报通讯报文(AFN=FFH)的数据功能格式如表2所示,其中,转发的通讯报文放在表2的数据单元中,数据单元的格式如表3所示。
在步骤303中,主站根据检测和分析本设备与集中器之间的通讯报文,以及转发的集中器与下级子系统之间的通讯报文,确定主站与下级子系统之间的通讯故障。
具体地说,主站系统根据功能码AFN、Pn、Fn报文参数分析集中器与子系统之间的通讯报文。具体的分析方法与现有技术类似,在此不再阐述。
现有技术中,主站只能检测和分析主站与集中器之间的通讯报文,一旦故障不是出在主站与集中器之间,则需要下派工程师到集中器所在地进行进一步的检测和分析,由于集中器分布全市甚至全省各个小区变压器处、采集器又分布在各个小区的楼道里。当主站系统有几百台甚至于几千台集中器时,这样排查的工作量将非常大,人力成本高,且工作效率低。本实施方式在主站的控制下,由集中器在需要时将集中器与下级子系统之间的通讯报文转发到主站,由主站进行检测和分析,由于可以跨级进行通讯报文的分析和检测,所以在主站与下级子系统之间出现通讯故障时,无论故障是存在于主站与集中器之间,或存在于集中器与下级子系统之间,均能够直接在主站将故障点找出,然后再有针对性的处理故障,无需工程师到集中器所在地进一步进行故障排查,降低了人力成本,且大大提高了故障检测的效率。
在步骤304中,如果主站不需要接收集中器该端口上的通讯报文,则发送通讯报文上报停止命令,发送功能码AFN=05H,信息类型码Fn=F66。
集中器收到该通讯报文上报停止命令后,停止转发该集中器该端口往来的通讯报文。
本发明第二实施方式涉及一种多级通讯系统,包含:上级设备,用于向中间设备发送通讯报文上报启动命令;中间设备,用于在收到通讯报文上报启动命令后,每次收到来自下级子系统的通讯报文,或者向下级子系统发送通讯报文后,将该发送或接收的通讯报文转发给上级设备;上级设备还用于根据本设备与中间设备之间的通讯报文,以及转发的中间设备与下级子系统之间的通讯报文,检测和分析上级设备与下级子系统之间的通讯故障。
上级设备还可以包含判断模块,用于在上级设备收到的通讯报文误码率高于正常值,和/或通讯报文的丢包率大于正常值时,指示上级设备向中间设备发送通讯报文上报启动命令。
作为进一步改进,中间设备可以在本设备的空闲时间,转发通讯报文。
作为进一步改进,上级设备还可以用于向中间设备发送通讯报文停止命令;中间设备还可以用于,在收到来自上级设备的发送通讯报文停止命令后,停止转发下级子系统与中间设备之间的通讯报文。
在本实施方式中,一个中间设备可以连接几十甚至几千个下级子系统,每个下级子系统对应一个通讯端口,中间设备与下级子系统通过对应的通讯端口收发通讯报文;上级设备发送的通讯报文上报启动命令中包含通讯端口号;中间设备仅将通过该通讯端口接收或发送的通讯报文转发给上级设备。
现有技术中,上级设备只能检测和分析本设备与中间设备之间的通讯报文,一旦故障不是出在上级设备与中间设备之间,则需要下派工程师到中间设备所在地进行进一步的检测和分析,在中间设备较多且分布面积很广的情况下,需要耗费大量人力,且效率较低;本发明在上级设备的控制下,由中间设备在需要时将中间设备与下级子系统之间的通讯报文转发到上级设备,由上级设备进行检测和分析,由于可以跨级进行通讯报文的分析和检测,所以在上级设备与下级子系统之间出现通讯故障时,无论故障是存在于上级设备与中间设备之间,或存在于中间设备与下级子系统之间,均能够直接在上级设备将故障点找出,然后再有针对性的处理故障,无需工程师到中间设备所在地进一步进行故障排查,降低了人力成本,且提高了故障检测的效率。
需要说明的是,本发明并非一定要应用于集中抄表系统,更并非一定要应用于主站、集中器和下级子系统(如采集器、电能表)之间,所有需要从下级子系统中接收通讯报文,由中间设备上报到上级设备的系统,均适用本发明,均可达到降低人力成本,提高通讯故障检测效率的效果。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。