基于信息熵分析的总线退出方法及装置与流程

文档序号:29698046发布日期:2022-04-16 13:35阅读:69来源:国知局
基于信息熵分析的总线退出方法及装置与流程

1.本技术涉及总线控制技术领域,尤其涉及一种基于信息熵分析的总线退出方法及装置。


背景技术:

2.目前,工业现场总线已经广泛应用于过程自动化、制造自动化和楼宇自动化等各个领域的现场智能设备互连通讯中,工业现场总线是一种数字式串行多点通信的数据总线,安装在制造和过程区域的现场装置与控制室内的自动化装置之间。举例而言,目前工业现场主流的总线包括rs485、can和devicenet等。
3.然而,由于在实际应用中工业现场的工作情况一般相对恶劣,总线上容易存在接插件接触不良、电缆外套老化破损、静电损伤和瞬态效应等现象造成总线上的设备出现故障,进而影响通讯。因此,需要对总线上的各个节点进行故障检测,以维持正常的通讯。并且,现场总线通常采用一个主节点和多个从节点的方式进行通信,对于主机的故障,一般比较容易查出,但对于从机节点的故障排查起来却较为困难。
4.相关技术中,通常是采用定期发送检测报文来判断是哪个从机节点发生的故障的方式进行从节点的异常检测。但是,当从机设备存在故障时,可能会拉低或者拉高整个总线,致使所有总线设备无法通信,从而检测报文也就无法发送,因此,相关技术中的上述检测方式可能出现无法检测故障节点的情况,无法对实际应用中的总线上的各类故障情况进行有效判断。因此,目前亟需一种可以实现在总线异常状态下的自动退出的方案。


技术实现要素:

5.本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本技术的第一个目的在于提出一种基于信息熵分析的总线退出方法,该方法可以准确识别总线上发生故障的节点,当从机节点发生故障时,控制异常从机节点自动退出通讯,避免影响其他节点的正常通讯,可在不影响总线原本的传输过程的同时,有效检测总线上的通讯节点可能存在的各类故障。
7.本技术的第二个目的在于提出一种基于信息熵分析的总线退出装置。
8.本技术的第三个目的在于提出一种非临时性计算机可读存储介质。
9.为达上述目的,本技术的第一方面实施例在于提出一种基于信息熵分析的总线退出方法,该方法包括以下步骤:
10.对总线上每个节点的电流信号进行采样,并对采集到的所述电流信号进行预处理,获取每个所述节点的不同采样值的统计信息;
11.根据每个所述节点的统计信息分别计算对应的节点的信息熵;
12.获取预设的参考数据库中的参考信息,根据每个所述节点的信息熵和所述参考信息分别计算每个所述节点的相对熵,其中,所述参考信息包括处于正常运行状态的总线节点的信息熵以及评估阈值;
13.将每个所述节点的相对熵与所述评估阈值进行比较,判断是否存在异常节点,并在存在所述异常节点的情况下断开所述异常节点的连接。
14.可选地,在本技术的一个实施例中,在所述对总线上每个节点的电流信号进行采样之前,还包括:对总线上的第一节点的电流信号进行采样和预处理,所述第一节点是总线上任一处于正常运行状态的节点,并获取所述第一节点的不同采样值的统计信息;根据所述第一节点的统计信息计算所述第一节点的信息熵;根据所述第一节点的信息熵设置所述评估阈值,并根据所述第一节点的信息熵和所述评估阈值设置所述参考数据库。
15.可选地,在本技术的一个实施例中,对总线上每个节点的电流信号进行采样,包括:控制对总线上每个节点的电流信号进行采样的采样参数,与对总线上的所述第一节点的电流信号进行采样的采样参数相同,所述采样参数包括采样频率和采样周期。
16.可选地,在本技术的一个实施例中,根据每个所述节点的统计信息分别计算对应的节点的信息熵,包括:根据每个所述节点的统计信息确定每个所述节点的任一采样值在采样周期内出现的数量;确定所述采样周期内每个所述节点的采样总数,并根据每个所述节点的所述任一采样值在采样周期内出现的数量和所述采样总数,计算每个所述节点的任一采样值在所述采样周期内出现的概率;根据每个所述节点的不同采样值在所述采样周期内出现的概率计算每个所述节点的信息熵。
17.可选地,在本技术的一个实施例中,通过以下公式计算节点的信息熵:
[0018][0019]
其中,
[0020]
其中,p(εi)是任一采样值在采样周期内出现的概率,t是采样周期,e是全部采样值的集合,ci是任一采样值在采样周期内的平均周期。
[0021]
可选地,在本技术的一个实施例中,通过以下公式计算节点的相对熵:
[0022][0023]
其中,p是第一节点,q是当前待检测的节点,p(ε)和q(ε)分别是第一节点和当前待检测的节点的对于相同采样值的概率分布。
[0024]
可选地,在本技术的一个实施例中,该方法还包括:在不存在所述异常节点的情况下,进行下一周期的电流信号采样和异常节点检测。
[0025]
为达上述目的,本技术的第二方面实施例还提出了一种基于信息熵分析的总线退出装置,包括以下模块:
[0026]
第一获取模块,用于对总线上每个节点的电流信号进行采样,并对采集到的所述电流信号进行预处理,获取每个所述节点的不同采样值的统计信息;
[0027]
第一计算模块,用于根据每个所述节点的统计信息分别计算对应的节点的信息熵;
[0028]
第二计算模块,用于获取预设的参考数据库中的参考信息,根据每个所述节点的
信息熵和所述参考信息分别计算每个所述节点的相对熵,其中,所述参考信息包括处于正常运行状态的总线节点的信息熵以及评估阈值;
[0029]
退出模块,用于将每个所述节点的相对熵与所述评估阈值进行比较,判断是否存在异常节点,并在存在所述异常节点的情况下断开所述异常节点的连接。
[0030]
可选地,在本技术的一个实施例中,还包括:第二获取模块,用于对总线上的第一节点的电流信号进行采样和预处理,所述第一节点是总线上任一处于正常运行状态的节点,并获取所述第一节点的不同采样值的统计信息;第三计算模块,用于根据所述第一节点的统计信息计算所述第一节点的信息熵;设置模块,用于根据所述第一节点的信息熵设置所述评估阈值,并根据所述第一节点的信息熵和所述评估阈值设置所述参考数据库。
[0031]
本技术的实施例提供的技术方案至少带来以下有益效果:本技术先根据正常运行状态的总线节点的电流信号计算信息熵,再计算当前待检测节点的信息熵,基于正常运行状态的总线节点和当前待检测节点的信息熵计算出相对熵进行异常检测,从而可以准确识别出总线上发生故障的节点,当从机节点发生故障时,控制异常从机节点自动退出通讯,避免影响其他节点的正常通讯,提高了故障定位的效率,可以准确检测出总线上的通讯节点可能存在的各类故障,提高了总线节点检测的准确性和全面性。并且,本技术通过采集节点的电流信息计算相对熵进行异常检测,不需要为故障检测额外发送检测数据,从而避免影响总线系统原本的通讯过程,提高了本技术的总线退出方法的实用性和可靠性。
[0032]
为了实现上述实施例,本技术第三方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的基于信息熵分析的总线退出方法。
[0033]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0034]
本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0035]
图1为本技术实施例提出的一种基于信息熵分析的总线退出方法的流程图;
[0036]
图2为本技术实施例提出的一种具体的离线标定阶段标定参考数据的方法的流程图;
[0037]
图3为本技术实施例提出的一种基于信息熵分析的总线退出装置的结构示意图;
[0038]
图4为本技术实施例提出的一种具体的基于信息熵分析的总线退出装置的结构示意图。
具体实施方式
[0039]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0040]
本技术针对相关技术中在从机设备存在故障时,可能会致使所有总线设备无法通信,导致无法检测故障节点的技术问题,提出了一种基于信息熵分析的总线退出方法及装
置。需要说明的是,申请人根据总线控制的实际运行状况,通过大量研究分析发现,在现场总线设备节点正常工作时,其电流变化相对稳定,而当节点存在异常时,其电流变化与正常工作状态存在差别。举例而言,当rs485总线在工作时,每个节点差分传输线上的电流一般在100ma以内变化,而当节点出现短路故障时,传输线电流会达到200ma以上。
[0041]
因此,本技术结合通过分析节点传输线的电流状态来判断总线节点的异常,提出了一种基于信息熵分析的总线退出方法,该方法通过采集一段时间的传输线电流信号,并计算其信息熵,再与参考数据对比计算相对熵的方式来对实现对总线异常节点的监测,发现故障时及时退出。本技术的基于信息熵分析的总线退出方法可以在不影响原本传输过程的同时,有效检测总线上的通讯节点可能存在的各类故障并及时退出。
[0042]
下面参考附图描述本发明实施例所提出的一种基于信息熵分析的总线退出方法和装置。
[0043]
图1为本技术实施例提出的一种基于信息熵分析的总线退出方法的流程图,如图1所示,该方法包括以下步骤:
[0044]
步骤101,对总线上每个节点的电流信号进行采样,并对采集到的电流信号进行预处理,获取每个节点的不同采样值的统计信息。
[0045]
其中,进行采样的节点是通过传输线连接到现场总线网络上的各个有源电子设备,节点可以包括总线上的主机设备和各个从机设备。
[0046]
在本技术一个实施例中,可以通过预设的电流检测设备检测节点的差分传输线上的电流,并在一个采样周期内持续对电流进行检测,以获取节点在一个采样周期内的电流变化情况。需要说明的是,本技术可以对总线上的每个节点同时进行电流信号的采样,和后续的检测处理,以便于实时检测出总线可能出现故障的任何节点。
[0047]
进一步的,对采集到的每个节点的电流信号进行预处理,获取每个节点的不同采样值的统计信息。在本技术一个实施例中,预处理可以包括先对采集到的电流数据进行筛除误差数据和降噪处理等步骤,去除实际信号采集过程中由于设备误差或各种干扰因素导致的误差数据,降低采集到的电流信号中的噪声干扰,进一步提高后续进行异常节点判断的准确性。
[0048]
在本实施例中,对采集到的电流信号进行预处理还包括通过各种统计分析方法对采集到的电流信号值即采样值进行统计,获得节点的不同采样值的统计分布。具体实施时采用的统计方法可以根据实际需要确定,比如,采用图表分析方法等描述性统计方法对采集到节点的每个采样值进行分组和占比分析,或者,还可以采用推断统计方法或计算均值方差等各种统计方法,此处不做限制。在本示例中,还可以通过各种数据分布的分析方法确定不同采样值的分布状况,便于明确每种采样值在采样周期内所出现的平均周期等特征。举例而言,在100ms的采样周期内,通过数据统计分析,确定当前节点中的电流值为50ma在采样周期内所出现得平均周期为20ms,电流值为100ma在采样周期内所出现的平均周期为30ms等等。在本技术实施例中通过上述统计方法可以获取每个节点的不同采样值的统计信息。
[0049]
步骤102,根据每个节点的统计信息分别计算对应的节点的信息熵。
[0050]
其中,信息熵是采集到的电流信号中去除冗余后的平均信息量,它可以反映一个采样周期内节点传输线的电流状态。
[0051]
具体的,在获取步骤101确定的每个节点的统计信息后,可根据其中任意一个节点的统计信息计算该节点的信息熵,并可以通过相同的方式同时计算出每个节点的信息熵。
[0052]
作为一种可能的实现方式,根据每个节点的统计信息分别计算对应的节点的信息熵,包括以下步骤,根据每个节点的统计信息确定每个节点的任一采样值在采样周期内出现的数量;确定采样周期内每个节点的采样总数,并根据每个节点的任一采样值在采样周期内出现的数量和采样总数,计算每个节点的任一采样值在采样周期内出现的概率;根据每个节点的不同采样值在采样周期内出现的概率计算每个节点的信息熵。
[0053]
在本技术一个实施例中,为了更加清楚地说明本技术根据节点的统计信息计算对应的节点的信息熵的具体过程,下面以一个在实际检测前的标定阶段,计算一个正常工作的总线节点的信息熵的方式进行示例性说明。
[0054]
需要说明的是,本技术的基于信息熵分析的总线退出方法,在实际检测前,可以先对正常工作的总线节点的电流信号进行采集,并计算其信息熵来建立参考数据库,以便于后续结合参考数据库中的参考信息进行节点的异常检测。即在本技术实施例中,在执行步骤101之前,本技术还提出了一种具体的离线标定阶段标定参考数据的方法,图2为本技术实施例提出的一种具体的离线标定阶段标定参考数据的方法的流程图,如图2所示,该方法包括以下步骤:
[0055]
步骤201,对总线上的第一节点的电流信号进行采样和预处理,第一节点是总线上任一处于正常运行状态的节点,并获取第一节点的不同采样值的统计信息。
[0056]
具体的,在总线上处于正常运行状态的节点中任意选取一个作为进行标定处理的第一节点,对第一节点的电流信号进行采样和预处理,并获取第一节点的不同采样值的统计信息,其中,对第一节点的电流信号进行采样,并通过预处理获取不同采样值的统计信息的具体实现方式可以参照上述实施例中的相关描述,此处不再赘述。
[0057]
需要说明的是,在本技术一个实施例中,对第一节点的电流信号进行采样时,可以改变第一节点的工作状态,即模拟不同的工况对第一节点进行电流采样,从而可以提高后续确定的参考信息的适用性。在本技术实施例中,仅针对一个节点采集电流信号进行标定,通过控制第一节点的工作状态的改变,模拟对总线上不同的节点进行标定,可以减少在标定阶段的电流信号采集量和数据运算量,降低数据标定耗费的资源。在本技术的一些实施例中,也可以对总线上每个节点的进行电流信号采样并计算其信息熵来建立参考数据库,从而提高参考数据库中参考信息的针对性。
[0058]
步骤202,根据第一节点的统计信息计算第一节点的信息熵。
[0059]
步骤203,根据第一节点的信息熵设置评估阈值,并根据第一节点的信息熵和评估阈值设置参考数据库。
[0060]
具体的,在计算第一节点的信息熵时,从该节点的统计信息中提取出各个采样值在采样周期内所出现的平均周期和采样周期等信息,根据提取出的信息计算信息熵。
[0061]
具体实施时,作为一种示例,对于第一节点a,在采样周期t内进行电流采样,根据统计信息确定所有的不同采样值共有n种,定义采样值集合e={ε1,ε2,....εn},第i种采样值在采样周期t时间内出现的数量为其中,εi是不同的采样值,ci是任一采样值在采样周期内的平均周期,在进行统计分析时,可以统计出采样值在采样周期内所出现的平均周期
以确定不同采样值的ci。进一步的,采样周期t内的总线电流采样总数可以通过以下公式表示:
[0062][0063]
然后,根据采样值总数和第i种采样值在采样周期t时间内出现的数量,可以通过以下公式计算出第i种采样值在采样周期t时间内出现的概率p(εi):
[0064][0065]
更进一步的,根据节点的不同的采样值在采样周期t时间内出现的概率,通过以下公式计算节点的信息熵:
[0066][0067]
由此实现了根据第一节点的统计信息计算出第一节点的信息熵。再根据第一节点的信息熵设置合理的评估阈值,作为实际运行时对现场总线进行检测的评估标准。
[0068]
可以理解的是,由于第一节点是处于正常运行状态的节点,第一节点的信息熵反映了正常节点的传输线的电流信息,根据第一节点的信息熵可以设置评估阈值评估当前检测的节点的电流状态是否与正常节点电流状态存在较大的差距,以检测出异常的节点。其中,根据第一节点的信息熵设置评估阈值的方式可根据实际情况确定,比如,通过大量实验确定一个允许的误差范围,将第一节点的信息熵与误差范围相加确定评估阈值。
[0069]
再进一步的,根据第一节点的信息熵和评估阈值形成参考数据库,即参考数据库中存储的参考信息包括处于正常运行状态的总线节点的信息熵以及评估阈值,便于后续在现场检测阶段中,将待检测节点的数据与参考数据库对比计算相对熵,实现通信节点异常状况的判定。
[0070]
由此,参考上述根据第一节点的统计信息计算出第一节点的信息熵的实现方式,可以以相同的方法根据当前待检测的每个节点的统计信息分别计算对应的节点的信息熵。
[0071]
还需说明的是,为了提高本技术的基于信息熵分析的总线退出方法进行异常检测的准确性,在本技术一个实施例中,在步骤101中在实际检测阶段对总线上每个节点的电流信号进行采样时,可以控制对总线上每个节点的电流信号进行采样的采样参数,与对上述第一节点的电流信号进行采样的采样参数相同,采样参数包括采样频率和采样周期,即对实际的总线节点电流信号进行采集时,采集率应等同于参考数据的采集率,保证在相同的数据采集条件下进行数据采集,以确保根据参考数据的测算评估结果进行异常检测的准确性。
[0072]
步骤103,获取预设的参考数据库中的参考信息,根据每个节点的信息熵和参考信息分别计算每个节点的相对熵,其中,参考信息包括处于正常运行状态的总线节点的信息熵以及评估阈值。
[0073]
其中,相对熵即kl距离(kullback-leibler divergence),可以通过相对熵衡量相同事件空间里的两个概率分布的差异情况。可以理解的是,本技术在标定阶段对处于正常
运行状态的总线节点的电流采样,和在实际检测阶段对节点的电流采样可看作是在不同时期的对节点进行相同的采样事件,因此可以将当前待检测节点的信息熵与预设的参考数据库中处于正常运行状态的总线节点信息熵进行对比,计算相对熵。
[0074]
具体实施时,不同时期的采样结果会呈现不同的概率分布,对于处于正常运行状态的总线节点的采样结果的概率分布p(ε)已经在预先计算出,具体计算步骤可参见步骤102中的实施例的描述,对于当前待检测节点的采样结果的概率分布可以参照上述计算第一节点的概率分布p(ε)的方式进行计算,此处不再赘述。进而可以根据每个节点的信息熵和参考信息分别计算每个节点的相对熵。
[0075]
作为一种可能的实现方式,可以通过以下公式计算节点的相对熵:
[0076][0077]
其中,p是第一节点,q是当前待检测的节点,p(ε)和q(ε)分别是第一节点和当前待检测的节点的对于相同采样值的概率分布。
[0078]
步骤104,将每个节点的相对熵与评估阈值进行比较,判断是否存在异常节点,并在存在异常节点的情况下断开异常节点的连接。
[0079]
具体的,将每个节点的相对熵的计算结果与预先设定的评估阈值进行比较,确定相对熵是否超出评估阈值限定的范围,若存在节点相对熵超出评估阈值,则判定该节点为异常节点。
[0080]
在本技术实施例中,可同时对每个节点进行异常检测,通过将每个节点的相对熵分别与预先设定的评估阈值进行比较,在存在一个或多个节点相对熵超出评估阈值时,均可以及时检测出异常的一个或多个节点,并可以具体定位到异常的节点,提高节点异常检测的效率。
[0081]
进一步的,在存在异常节点的情况下断开该异常节点的连接,通过将异常节点从总线上断开避免对其它节点产生影响。
[0082]
在本技术一个实施例中,在不存在异常节点的情况下,则进行下一周期的电流信号采样和异常节点检测,通过重复上述步骤101至步骤104的检测流程对总线上每个节点持续进行检测。
[0083]
需要说明的是,作为基于信息熵进行异常检测的另一种可能的实现方式,在某些极端场景下,比如,当前待检测节点完全短路时,第一节点和当前待检测的节点的信息熵差距较大,则还可以直接将信息熵进行比较,确定二者的差异超出阈值范围,则判断前待检测的节点异常。
[0084]
由此,本技术的基于信息熵分析的总线退出方法,根据信息熵分析确定异常节点,由于节点在各种异常状况下均会导致信息熵发生变化,因此本技术的方法可有效应对节点的各类异常状况。并将异常节点从总线上断开避免对其它节点产生影响,实现了总线异常状态下的自动退出。
[0085]
综上所述,本技术实施例的基于信息熵分析的总线退出方法,先根据正常运行状态的总线节点的电流信号计算信息熵,再计算当前待检测节点的信息熵,基于正常运行状态的总线节点和当前待检测节点的信息熵计算出相对熵进行异常检测,从而可以准确识别出总线上发生故障的节点,当从机节点发生故障时,控制异常从机节点自动退出通讯,避免
影响其他节点的正常通讯,提高了故障定位的效率,可以准确检测出总线上的通讯节点可能存在的各类故障,提高了总线节点检测的准确性和全面性。并且,本技术通过采集节点的电流信息计算相对熵进行异常检测,不需要为故障检测额外发送检测数据,从而避免影响总线系统原本的通讯过程,提高了本技术的总线退出方法的实用性和可靠性。
[0086]
为了更加清楚地说明本技术实施例的基于信息熵分析的总线退出方法,下面以一个具体的实施例进行说明。
[0087]
在本实施例中,信息熵分析的总线退出的实现过程分为两个阶段,分别是标定阶段和检测阶段。在标定阶段中,要对正常工作的总线电流信号进行采集,并计算其信息熵来建立参考数据库。在检测阶段中,要通过对现场总线通讯节点电流信号的采集,并与参考数据库对比计算相对熵,从而实现通信节点异常状况的判定。
[0088]
在标定阶段的具体实现步骤首先需要对正常工作的总线节点电流信号进行采集,对采集到的信息进行预处理,得到不同采样值的统计分布,之后进行系统信息熵的计算,具体计算方式可参照上述实施例中步骤102中的描述,此处不再赘述。然后,针对参考数据的信息熵计算结果,设定合理的阈值,作为对现场检测的评估标准,并根据参考数据的测算评估结果形成参考数据库。
[0089]
在检测阶段的现场应用过程中,对实际的总线节点电流信号进行采集,采集率应等同于参考数据的采集率。然后对采集到的电流信号进行预处理,得到不同采样值的统计信息,并应用步骤102中信息熵的计算公式进行计算。然后,与参考数据库进行对比,计算相对熵,具体计算相对熵的方式可参照上述实施例中步骤103中的描述,此处不再赘述。最后,将相对熵的计算结果与预先设定的阈值进行对比,若存在异常,则断开异常节点的连接,若数据正常,则进行下一周期的采样,重复上述检测流程。
[0090]
为了实现上述实施例,本技术还提出了一种基于信息熵分析的总线退出装置,图3为本技术实施例提出的一种基于信息熵分析的总线退出装置的结构示意图,如图3所示,该装置包括第一获取模块100、第一计算模块200、第二计算模块300和退出模块400。
[0091]
其中,第一获取模块100,用于对总线上每个节点的电流信号进行采样,并对采集到的电流信号进行预处理,获取每个节点的不同采样值的统计信息。
[0092]
第一计算模块200,用于根据每个节点的统计信息分别计算对应的节点的信息熵。
[0093]
第二计算模块300,用于获取预设的参考数据库中的参考信息,根据每个节点的信息熵和参考信息分别计算每个节点的相对熵,其中,参考信息包括处于正常运行状态的总线节点的信息熵以及评估阈值。
[0094]
退出模块400,用于将每个节点的相对熵与评估阈值进行比较,判断是否存在异常节点,并在存在异常节点的情况下断开异常节点的连接。
[0095]
可选地,在本技术的一个实施例中,本技术还提出了一种具体的基于信息熵分析的总线退出装置,如图4所示,该装置在如图3所示的装置的基础上,还包括:第二获取模块500、第三计算模块600和设置模块700。
[0096]
其中,第二获取模块500,用于对总线上的第一节点的电流信号进行采样和预处理,第一节点是总线上任一处于正常运行状态的节点,并获取第一节点的不同采样值的统计信息。
[0097]
第三计算模块600,用于根据第一节点的统计信息计算第一节点的信息熵。
[0098]
设置模块700,用于根据第一节点的信息熵设置评估阈值,并根据第一节点的信息熵和评估阈值设置参考数据库。
[0099]
可选地,在本技术的一个实施例中,第一获取模块100具体用于:控制对总线上每个节点的电流信号进行采样的采样参数,与对总线上的第一节点的电流信号进行采样的采样参数相同,采样参数包括采样频率和采样周期。
[0100]
可选地,在本技术的一个实施例中,第一计算模块200具体用于:根据每个节点的统计信息确定每个节点的任一采样值在采样周期内出现的数量;确定采样周期内每个节点的采样总数,并根据每个节点的任一采样值在采样周期内出现的数量和所述采样总数,计算每个节点的任一采样值在采样周期内出现的概率;根据每个节点的不同采样值在采样周期内出现的概率计算每个节点的信息熵。
[0101]
可选地,在本技术的一个实施例中,第一计算模块200具体用于通过以下公式计算节点的信息熵:
[0102][0103]
其中,
[0104]
其中,p(εi)是任一采样值在采样周期内出现的概率,t是采样周期,e是全部采样值的集合,ci是任一采样值在采样周期内的平均周期。
[0105]
可选地,在本技术的一个实施例中,第二计算模块300具体用于:通过以下公式计算节点的相对熵:
[0106][0107]
其中,p是第一节点,q是当前待检测的节点,p(ε)和q(ε)分别是第一节点和当前待检测的节点的对于相同采样值的概率分布。
[0108]
可选地,在本技术的一个实施例中,退出模块400还用于:在不存在异常节点的情况下,进行下一周期的电流信号采样和异常节点检测。
[0109]
需要说明的是,前述对基于信息熵分析的总线退出方法的实施例的解释说明也适用于该实施例的装置,实现原理类似,此处不再赘述。
[0110]
综上所述,本技术实施例的基于信息熵分析的总线退出装置,先根据正常运行状态的总线节点的电流信号计算信息熵,再计算当前待检测节点的信息熵,基于正常运行状态的总线节点和当前待检测节点的信息熵计算出相对熵进行异常检测,从而可以准确识别出总线上发生故障的节点,当从机节点发生故障时,控制异常从机节点自动退出通讯,避免影响其他节点的正常通讯,提高了故障定位的效率,可以准确检测出总线上的通讯节点可能存在的各类故障,提高了总线节点检测的准确性和全面性。并且,该装置通过采集节点的电流信息计算相对熵进行异常检测,不需要为故障检测额外发送检测数据,从而避免影响总线系统原本的通讯过程,提高了总线退出装置的实用性和可靠性。
[0111]
为了实现上述实施例,本技术还提出了一种非临时性计算机可读存储介质,其上
存储有计算机程序,计算机程序被处理器执行时实现如上述实施例中任一所述的基于信息熵分析的总线退出方法。
[0112]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0113]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0114]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0115]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0116]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0117]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0118]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0119]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1