CN115903450A - 控制器状态的处理方法、相关设备以及计算机可读介质 - Google Patents
控制器状态的处理方法、相关设备以及计算机可读介质 Download PDFInfo
- Publication number
- CN115903450A CN115903450A CN202211666126.3A CN202211666126A CN115903450A CN 115903450 A CN115903450 A CN 115903450A CN 202211666126 A CN202211666126 A CN 202211666126A CN 115903450 A CN115903450 A CN 115903450A
- Authority
- CN
- China
- Prior art keywords
- controller
- communication
- state
- redundant channel
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供一种控制器状态的处理方法、相关设备以及计算机可读介质,该方法通过控制器检测第一冗余通道和第二冗余通道的通信状态;若检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值;若判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则控制控制器自身的状态为工作状态;若判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则维持控制器自身的状态不变。通过第一通信故障时间和第二通信故障时间之间的时间间隔,检测出两个控制器之间通信故障原因,以保障自动化控制系统的正常运行。
Description
技术领域
本发明涉及自动化控制技术领域,尤其涉及一种控制器状态的处理方法、相关设备以及计算机可读介质。
背景技术
在目前的自动化控制技术领域中,为了提高自动化控制系统的安全性和稳定性,通常会让控制器在机架之间冗余。具体的,现有的一种控制器在机架间冗余的方式为:将两个控制器分别放置在不同的控制室中,两个控制器之间通过单冗余通道进行通信,从而保障当其中一个控制器所在的机架整体断电,导致控制器之间通信断开(即出现通信故障)时,另一个控制器能够将自身的状态设置成工作状态,以维持自动化控制系统的正常运行。
然而,在目前的自动化控制技术领域中,还存在因单冗余通道断开而导致控制器之间通信故障的情况。当单冗余通道断开时,由于正常运行中的控制器无法判断出通信故障是因单冗余通道断开造成的,还是因另一个控制器断电造成的,进而导致该控制器后续设置自身的状态时容易出现错误,造成自动化控制系统的运行出错。例如,当单冗余通道断开时,正在运行中的备用控制器在检测到通信故障后,当做是另一个控制器断电的情况处理,将自身从备用状态切换成工作状态。进而导致后续单冗余通道恢复通信之后,系统中出现了两个处于工作状态的控制器,自动化控制系统无法正常运行。
发明内容
有鉴于此,本发明实施例提供一种控制器状态的处理方法、相关设备以及计算机可读介质,通过第一通信故障时间和第二通信故障时间之间的时间间隔,检测出两个控制器之间通信故障原因,以保障自动化控制系统的正常运行。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本申请公开了一种控制器状态的处理方法,应用于控制器,所述控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,所述控制器的状态和另一个控制器的状态不同;所述控制器的状态为工作状态或备用状态;所述控制器状态的处理方法包括:
检测所述第一冗余通道和所述第二冗余通道的通信状态;其中,所述通信状态为通信故障状态或通信正常状态;
若检测到所述第一冗余通道和所述第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值;其中,所述第一通信故障时间为检测到所述第一冗余通道处于通信故障状态的时间;所述第二通信故障时间为检测到所述第二冗余通道处于通信故障状态的时间;
若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔不大于所述时间间隔阈值,则控制所述控制器自身的状态为工作状态;
若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔大于所述时间间隔阈值,则维持所述控制器自身的状态不变。
可选地,在上述控制器状态的处理方法中,所述检测所述第一冗余通道和所述第二冗余通道的通信状态之后,还包括:
若检测到所述第一冗余通道和所述第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则维持所述控制器自身的状态不变。
可选地,在上述控制器状态的处理方法中,所述检测所述第一冗余通道和所述第二冗余通道的通信状态,包括:
按照心跳包发送周期,分别通过所述第一冗余通道和所述第二冗余通道向所述另一个控制器发送心跳包;
通过所述第一冗余通道接收所述另一个控制器发送的心跳包,并通过所述第二冗余通道接收所述另一个控制器发送的心跳包;
若检测到超过预设时长均未通过第一冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第一冗余通道的通信状态为通信故障状态;
若检测到在预设时长以内通过第一冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第一冗余通道的通信状态为通信正常状态;
若检测到超过预设时长均未通过第二冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第二冗余通道的通信状态为通信故障状态;
若检测到在预设时长以内通过第二冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第二冗余通道的通信状态为通信正常状态;
其中,所述确定出所述第一冗余通道的通信状态为通信故障状态之后,还包括:
将确定出所述第一冗余通道的通信状态为通信故障状态的时间,记录为第一通信故障时间;
所述确定出所述第二冗余通道的通信状态为通信故障状态之后,还包括:
将确定出所述第二冗余通道的通信状态为通信故障状态的时间,记录为第二通信故障时间。
可选地,在上述控制器状态的处理方法中,若所述控制器当前的状态为工作状态,所述控制器状态的处理方法还包括:
若检测到所述控制器自身存在故障,则根据检测到的故障所属的故障等级,确定所述控制器自身是否需要停止工作状态;
若确定出所述控制器自身需要停止工作状态,则发送切换信息至所述另一个控制器,并停止所述控制器自身的工作状态;其中,所述切换信息用于通知所述另一个控制器切换成工作状态。
可选地,在上述控制器状态的处理方法中,所述按照心跳包发送周期,分别通过所述第一冗余通道和所述第二冗余通道向所述另一个控制器发送心跳包之后,还包括:
在心跳包发送周期到达时,判断是否通过所述第一冗余通道接收到所述另一个控制器发送的心跳包,并判断是否通过所述第二冗余通道接收到所述另一个控制器发送的心跳包;
若判断出通过所述第一冗余通道接收到所述另一个控制器发送的心跳包,则将第一冗余超时时长清零;其中,所述第一冗余超时时长为未通过第一冗余通道接收到所述另一个控制器发送的心跳包的时长;
若判断出未通过所述第一冗余通道接收到所述另一个控制器发送的心跳包,则将当前记录的所述第一冗余超时时长增加心跳包发送周期的值;
若判断出通过所述第二冗余通道接收到所述另一个控制器发送的心跳包,则将第二冗余超时时长清零;其中,所述第二冗余超时时长为未通过第二冗余通道接收到所述另一个控制器发送的心跳包的时长;
若判断出未通过所述第二冗余通道接收到所述另一个控制器发送的心跳包,则将当前记录的所述第二冗余超时时长增加心跳包发送周期的值。
第二方面,本申请公开了一种控制器状态的处理装置,应用于控制器,所述控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,所述控制器的状态和另一个控制器的状态不同;所述控制器的状态为工作状态或备用状态;所述控制器状态的处理装置包括:
检测单元,用于检测所述第一冗余通道和所述第二冗余通道的通信状态;其中,所述通信状态为通信故障状态或通信正常状态;
第一判断单元,用于若检测到所述第一冗余通道和所述第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值;其中,所述第一通信故障时间为检测到所述第一冗余通道处于通信故障状态的时间;所述第二通信故障时间为检测到所述第二冗余通道处于通信故障状态的时间;
控制单元,用于若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔不大于所述时间间隔阈值,则控制所述控制器自身的状态为工作状态;
第一维持单元,用于若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔大于所述时间间隔阈值,则维持所述控制器自身的状态不变。
可选地,在上述控制器状态的处理装置中,还包括:
第二维持单元,用于若检测到所述第一冗余通道和所述第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则维持所述控制器自身的状态不变。
第三方面,本申请公开了一种控制器状态的处理系统,包括:
两个控制器,所述两个控制器分别用于执行如上述第一方面中任一所述的方法;
分别与所述两个控制器相连的第一冗余通道,用于将所述两个控制器之间通信连接;
分别与所述两个控制器相连的第二冗余通道,用于将所述两个控制器之间通信连接。
第四方面,本申请公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述第一方面中任一所述的方法。
第五方面,本申请公开了一种控制器状态的处理设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
基于上述本发明实施例提供的控制器状态的处理方法,该方法应用于控制器,该控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,通过检测第一冗余通道和第二冗余通道的通信状态,即可在检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态时,判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值。若判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则说明是另一个控制器断电造成的,因此控制该控制器自身的状态为工作状态,若判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则说明是两个冗余通道均断开造成的通信故障,因此该控制器维持控制器自身的状态不变,由于本申请实施例中,控制器通过第一通信故障时间和第二通信故障时间之间的时间间隔,能够判断出通信故障是因冗余通道断开造成的,还是因另一个控制器断电造成的,因此该控制器后续可正确处理自身的状态,保障自动化控制系统的正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提出的一种控制器状态的处理系统的结构示意图;
图2为本申请实施例提出的另一种控制器状态的处理系统的结构示意图;
图3为本申请实施例提出的一种控制器状态的处理方法的流程示意图;
图4为本申请实施例提出的一种冗余通道的通信状态的检测方法的流程示意图;
图5为本申请实施例提出的一种未接收到心跳包的时长的记录方法的流程示意图;
图6为本申请实施例提出的另一种控制器状态的处理方法的流程示意图;
图7为本申请实施例提出的一种控制器状态的处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
参阅图1,本申请实施例提出一种控制器状态的处理系统100,包括:控制器101、控制器102、第一冗余通道103以及第二冗余通道104。其中,第一冗余通道103分别与控制器101和控制器102相连,第二冗余通道104分别与控制器101和控制器102相连。控制器101的状态和控制器102的状态不同,控制器的状态为工作状态或备用状态。处于工作状态的控制器用于对自动化控制系统内的模块进行控制,以实现特定的功能。而处于备用状态的控制器则不对自动化控制系统内的模块进行控制,可处于待机准备的状态下。其中,控制器状态的处理系统100可以理解为是包含于自动化控制系统中的系统。
具体的,控制器状态的处理系统100内的控制器状态的处理过程为:控制器101和控制器102均检测第一冗余通道103和第二冗余通道104的通信状态。其中,通信状态为通信故障状态或通信正常状态。如果控制器101和控制器102检测到第一冗余通道103和第二冗余通道104的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值。
若控制器101判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则说明控制器102此时断电了,因此控制器101控制自身的状态为工作状态。同样的,若是控制器102判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则说明控制器101此时断电了,因此控制器102控制自身的状态为工作状态。
若控制器101判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则说明第一冗余通道103和第二冗余通道104都断开了,因此控制器101维持自身的状态不变。同样的,若控制器102判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则维持控制器102自身的状态不变。
其中,第一通信故障时间为检测到第一冗余通道103处于通信故障状态的时间,第二通信故障时间为检测到第二冗余通道104处于通信故障状态的时间。
需要说明的是,控制器101和控制器102在断电状态下的时候,无法执行上述判断、检测等逻辑,通过上述处理流程,控制器101和控制器102能够保障在整个控制器状态的处理系统中,不论出现的是什么类型的通信故障,均会有其中一个控制器处于工作状态,对自动化控制系统里的模块进行控制,以维持自动化控制系统的正常运行。
示例性的,在本申请一具体实施例中,控制器状态的处理系统100中还包括第一机架、第二机架、第一下挂模块以及第二下挂模块。第一机架用于固定控制器101和第一下挂模块,第二机架用于固定控制器102和第二下挂模块。第一下挂模块用于受控制器101的控制执行相应的功能。第二下挂模块用于受控制器102的控制执行相应的功能。
举例说明,如图2所示的控制器状态的处理系统的实际场景示意图,工程师站、操作员站、以及两个控制器均接入控制网中。两个控制器之间通过冗余通道A以及冗余通道B相连。冗余通道A(相当于前述提及的第一冗余通道)和冗余通道B(相当于前述提及的第二冗余通道)可以是光纤、网线等形成的可通信的通道。机架0和机架1分别固定了一组电源、控制器以及下挂模块。工程师站和操作员站可通过控制网向两个控制器下发控制命令。
在控制器状态的处理系统100内的控制器状态的处理过程中,由于控制器101和控制器102均可以通过第一通信故障时间和第二通信故障时间之间的时间间隔,判断出通信故障是因冗余通道断开造成的,还是因除自身之外的另一个控制器断电造成的,进而控制器101和控制器102后续均可正确处理自身的状态,保障控制器101和控制器102中可以仅存在有一个控制器处于功能转态,维持自动化控制系统的正常运行。
关于上述控制器状态的处理系统100内的控制器状态的处理过程,可参见下述本申请实施例公开的控制器状态的处理方法的相关描述,此处不再赘述。
参阅图3,基于上述本申请实施例提出的控制器状态的处理系统,本申请实施例公开了一种控制器状态的处理方法,应用于控制器,该控制器可以包含于如上述本申请实施例提出的任一控制器状态的处理系统中(例如该控制器可以是上述提及的控制器101或者控制器102),该控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,控制器的状态为工作状态或备用状态。其中该控制器和另一个控制器均执行图3示出的方法,图3示出的控制器状态的处理方法具体包括以下步骤:
S301、检测第一冗余通道和第二冗余通道的通信状态,其中通信状态为通信故障状态或通信正常状态。
第一冗余通道和第二冗余通道的通信状态能够反映出当前两个控制器之间是否可正常通信。当第一冗余通道和第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态时,两个控制器之间可以通过通信正常状态的冗余通道进行通信。当第一冗余通道和第二冗余通道的通信状态均为通信故障状态时,则两个控制器之间无法正常通信。通过检测第一冗余通道和第二冗余通道的通信状态,即可通过检测到的第一冗余通道和第二冗余通道的通信状态,确定出当前两个控制器之间是否存在通信故障(即不能正常通信)。
具体的,第一冗余通道的通信状态为通信故障状态时,控制器无法通过第一冗余通道和另一个控制器之间进行通信。第一冗余通道的通信状态为通信正常状态时,控制器可以通过第一冗余通道和另一个控制器之间进行通信。同样的,第二冗余通道的通信状态为通信故障状态时,控制器无法通过第二冗余通道和另一个控制器之间进行通信。第二冗余通道的通信状态为通信正常状态时,控制器可以通过第二冗余通道和另一个控制器之间进行通信。
根据步骤S101中检测出的第一冗余通道和第二冗余通道的通信状态,若确定出当前两个控制器之间可正常通信,则可以不执行其他操作,此时两个控制器之间能够通过通信的方式,保障两个控制器的状态互不相同,即一个控制器处于工作状态,另一个控制器则处于备用状态,处于工作状态的控制器对自动化控制系统中的模块、设备等进行自动化控制。处于备用状态的控制器则相当于处于待机模式,若工作状态的控制器出现故障不可再对模块、设备进行自动化控制,则备用状态的控制器就需要转为工作状态,以维持自动化控制系统的正常运行。
若根据步骤S101中检测出的第一冗余通道和第二冗余通道的通信状态,确定出当前两个控制器之间不可正常通信,即检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态,则执行步骤S302。
可选地,参阅图4,在本申请一具体实施例中,执行步骤S301的一种实施方式,包括:
S401、按照心跳包发送周期,分别通过第一冗余通道和第二冗余通道向另一个控制器发送心跳包。
控制器按照预设的心跳包发送周期,通过第一冗余通道向另一控制器发送心跳包,并通过第二冗余通道向另一个控制器发送心跳包。预设的心跳包发送周期例如可以是10ms。每过一个10ms则心跳包发送周期来临,触发控制器发送心跳包给另一个控制器。
S402、通过第一冗余通道接收另一个控制器发送的心跳包,并通过第二冗余通道接收另一个控制器发送的心跳包。
本申请实施例中,另一个控制器也用于执行本申请实施例提出的控制器状态的处理方法,因此另一个控制器也会按照心跳包发送周期,分别通过第一冗余通道和第二冗余通道向控制器发送心跳包,因此,在第一冗余通道的通信状态为通信正常的情况下,控制器能够通过第一冗余通道接收到另一个控制器发送的心跳包,同样的,在第二冗余通道的通信状态为通信正常的情况下,控制器能够通过第二冗余通道接收到另一个控制器发送的心跳包。
需要说明的是,两个控制器的心跳包发送周期可以是相同的,也可以是不同的。在一些实施例中,在执行上述步骤S401时,控制器可以是接收到另一个控制器发送的心跳包之后,再相应的在接收到心跳包的冗余通道回复心跳包,因此,在通信正常的状态下,控制器可以分别通过第一冗余通道和第二冗余通道,按照心跳包发送周期接收到心跳包,并相应的回复心跳包(即发送心跳包)。也可以是不论是否有收到心跳包,都按照心跳包发送周期,分别通过第一冗余通道和第二冗余通道向所述另一个控制器发送心跳包。
S403、检测是否超过预设时长均未通过第一冗余通道接收到另一个控制器发送的心跳包。
由前述对步骤S401和步骤S402的描述可知,在通信正常情况下,控制器可以按照另一个控制器的心跳包发送周期接收到另一个控制器通过第一冗余通道发送的心跳包。但若第一冗余通道存在通信故障,那么控制器就会长时间都接收不到另一个控制器发送的心跳包。因此,如果检测到超过预设时长(即大于预设时长)均未通过第一冗余通道接收到另一个控制器发送的心跳包,就说明控制器长时间无法通过第一冗余通道接收到另一个控制器发送的心跳包,即第一冗余通道的通信状态存在通信故障,执行步骤S404。
需要说明的是,设定的预设时长大于心跳包发送周期的值。例如,另一个控制器的心跳包发送周期为10ms,那么预设时长可以设定为50ms。即如果连续5个心跳包发送周期,控制器都无法通过第一冗余通道收到另一个控制器发送的心跳包,就说明第一冗余通道存在通信故障。
反之,如果检测到在预设时长以内(即小于或等于预设时长)通过第一冗余通道接收到另一个控制器发送的心跳包,则认为当前第一冗余通道的通信状态为通信正常状态,执行步骤S405。
需要说明的是,步骤S403的是一个重复执行的步骤,例如可以实时执行步骤S403,还可以按照心跳包发送周期,周期性执行步骤S403。
S404、确定出第一冗余通道的通信状态为通信故障状态。
在步骤S403检测到超过预设时长均未通过第一冗余通道接收到另一个控制器发送的心跳包时,控制器可以确定出当前第一冗余通道的通信状态为通信故障状态。
可选地,在本申请一具体实施例中,执行步骤S404之后还包括:标记(或者说设置)该第一冗余通道的通信状态为通信故障状态。设置该第一冗余通道的通信状态为通信故障状态的方式有很多,例如通过添加第一冗余通道为通信故障状态的标签进行设置,或者将第一冗余通道的通信状态位设置为通信故障的状态位。
S405、确定出第一冗余通道的通信状态为通信正常状态。
若步骤S403检测到在预设时长以内通过第一冗余通道接收到另一个控制器发送的心跳包,则确定出第一冗余通道的通信状态为通信正常状态。
可选地,在本申请一具体实施例中,执行步骤S405之后还包括:标记(或者说设置)该第一冗余通道的通信状态为通信正常状态。设置该第一冗余通道的通信状态为通信正常状态的方式有很多,例如通过添加第一冗余通道为通信正常状态的标签进行设置,或者将第一冗余通道的通信状态位设置为通信正常的状态位。
S406、检测是否超过预设时长均未通过第二冗余通道接收到另一个控制器发送的心跳包。
其中,步骤S406的执行过程和原理可以参考步骤S403,区别点仅在于冗余通道不同,此处不再赘述。需要说明的是,步骤S403和步骤S406的执行先后顺序本申请实施例不作限制,也可并行执行。
若检测到超过预设时长均未通过第二冗余通道接收到另一个控制器发送的心跳包,则执行步骤S407。若检测到预设时长以内通过第二冗余通道接收到另一个控制器发送的心跳包,则执行步骤S408。
S407、确定出第二冗余通道的通信状态为通信故障状态。
其中,步骤S407的执行过程和原理可以参考步骤S404,区别点仅在于冗余通道不同,此处不再赘述。
可选地,在本申请一具体实施例中,执行步骤S407之后还包括:标记(或者说设置)该第二冗余通道的通信状态为通信故障状态。设置该第二冗余通道的通信状态为通信故障状态的方式有很多,例如通过添加第二冗余通道为通信故障状态的标签进行设置,或者将第二冗余通道的通信状态位设置为通信故障的状态位。
S408、确定出第二冗余通道的通信状态为通信正常状态。
其中,步骤S408的执行过程和原理可以参考步骤S405,区别点仅在于冗余通道不同,此处不再赘述。
可选地,在本申请一具体实施例中,执行步骤S408之后还包括:标记(或者说设置)该第二冗余通道的通信状态为通信正常状态。设置该第二冗余通道的通信状态为通信正常状态的方式有很多,例如通过添加第二冗余通道为通信正常状态的标签进行设置,或者将第二冗余通道的通信状态位设置为通信正常的状态位。
可选地,在本申请一具体实施例中,执行步骤S404之后,还包括:
S409、将确定出第一冗余通道的通信状态为通信故障状态的时间,记录为第一通信故障时间。
第一通信故障时间可以理解为是检测到第一冗余通道为通信故障状态的时间。
可选地,在本申请一具体实施例中,执行步骤S408之后,还包括:
S410、将确定出第二冗余通道的通信状态为通信故障状态的时间,记录为第二通信故障时间。
第二通信故障时间可以理解为是检测到第二冗余通道为通信故障状态的时间。
可选地,参阅图5,在本申请一具体实施例中,执行步骤S401之后,还可以通过图5示出的步骤,记录第一冗余超时时长和第二冗余超时时长,进而可根据第一冗余超时时长执行步骤S403,又可根据第二冗余超时时长执行步骤S406。其中第一冗余超时时长为未通过第一冗余通道接收到另一个控制器发送的心跳包的时长,第二冗余超时时长为未通过第二冗余通道接收到另一个控制器发送的心跳包的时长。具体的,图5示出的流程包括以下步骤:
S501、在心跳包发送周期到达时,判断是否通过第一冗余通道接收到另一个控制器发送的心跳包。
若判断出通过第一冗余通道接收到另一个控制器发送的心跳包,则执行步骤S503,若判断出未通过第一冗余通道接收到另一个控制器发送的心跳包,则执行步骤S504。
S502、在心跳包发送周期到达时,判断是否通过第二冗余通道接收到另一个控制器发送的心跳包。
若判断出通过第二冗余通道接收到另一个控制器发送的心跳包,则执行步骤S505,若判断出未通过第二冗余通道接收到另一个控制器发送的心跳包,则执行步骤S506。
需要说明的是,步骤S501和步骤S502都是在心跳包发送周期到达时触发执行的,因此步骤S501和步骤S502的执行先后顺序不影响本申请实施例的实现,步骤S501和步骤S502也可以同时执行。
S503、将第一冗余超时时长清零,其中第一冗余超时时长为未通过第一冗余通道接收到另一个控制器发送的心跳包的时长。
由于当前的心跳包发送周期内已经通过第一冗余通道接收到了心跳包,因此未通过第一冗余通道接收到另一个控制器发送的心跳包的时长需要更新为0。后续在执行步骤S403时,可以检测第一冗余超时时长是否超过预设时长,由于第一冗余超时时长清零了,因此步骤S403会检测到第一冗余超时时长不超过预设时长,即检测到在预设时长以内通过第一冗余通道接收到另一个控制器发送的心跳包。
S504、将当前记录的第一冗余超时时长增加心跳包发送周期的值。
由于当前的心跳包发送周期内未通过第一冗余通道接收到了心跳包,因此未通过第一冗余通道接收到另一个控制器发送的心跳包的时长需要更新,第一冗余超时时长增加了一个心跳包发送周期的值。例如原本在上一个心跳包发送周期时记录到的第一冗余超时时长的值是10ms,而当前心跳包发送周期来临时仍未通过第一冗余通道收到心跳包,因此更新第一冗余超时时长的值为20ms。
后续在执行步骤S403时,可以检测第一冗余超时时长是否超过预设时长,由于第一冗余超时时长增加了,因此步骤S403可能会检测出第一冗余超时时长超过预设时长,即检测到超过预设时长未通过第一冗余通道接收到另一个控制器发送的心跳包,也可能会检测出第一冗余超时时长仍未超过预设时长。
S505、将第二冗余超时时长清零,其中第二冗余超时时长为未通过第二冗余通道接收到另一个控制器发送的心跳包的时长。
其中,步骤S505的执行过程和原理可参考步骤S503,区别点在于冗余通道不同,此处不再赘述。
S506、将当前记录的第二冗余超时时长增加心跳包发送周期的值。
其中,步骤S506的执行过程和原理可参考步骤S504,区别点在于冗余通道不同,此处不再赘述。
S302、若检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值,其中第一通信故障时间为检测到第一冗余通道处于通信故障状态的时间,第二通信故障时间为检测到第二冗余通道处于通信故障状态的时间。
具体的,通过步骤S301获取当前第一冗余通道和第二冗余通道的通信状态,进而控制器可根据检测到的当前第一冗余通道和第二冗余通道的通信状态,确定是否第一冗余通道和第二冗余通道的通信状态均为通信故障状态。如果确定出第一冗余通道和第二冗余通道的通信状态均为通信故障状态,说明当前两个控制器之间无法正常通信,控制器无法通过冗余通道知道另一个控制器是否还存在(即是否断电)。因此,需要进一步通过判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值,来确定造成当前两个控制器之间无法正常通信的故障原因。
当判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值时,说明第一冗余通道和第二冗余通道并不是同时出现通信故障的,这种情况下说明是因第一冗余通道和第二冗余通道受外力被先后弄断、或者其中一个冗余通道出现异常时,工作人员在维护时误把正常的冗余通道断开了等原因,造成了第一冗余通道和第二冗余通道均断开,而两个控制器其实都未出现问题,仍然正常运行中。因此,需执行步骤S304处理,以维持自动化控制系统的正常运行。
当判断出第一通信故障时间和第二通信故障时间之间的时间间隔小于或等于时间间隔阈值时,说明第一冗余通道和第二冗余通道几乎是同时出现通信故障的,而能够造成第一冗余通道和第二冗余通道几乎同时出现通信故障的原因,只有另一个控制器因异常导致断电,或者另一个控制器的电源被拔出而导致与冗余通道断开。综上所述,判断出第一通信故障时间和第二通信故障时间之间的时间间隔小于时间间隔阈值时,说明当前是因另一个控制器断开而导致的通信故障,因此需执行步骤S303,以维持自动化控制系统的稳定。
需要说明的是,时间间隔阈值的设定方式本申请实施例不作限制,例如可以是根据多次试验而设定的。
可选地,在本申请一具体实施例中,执行步骤S301之后,还包括:
若检测到第一冗余通道和第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则维持控制器自身的状态不变。
若检测到第一冗余通道和第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则说明要么是两个冗余通道的通信状态均为通信正常状态,要么就是一个冗余通道的通信状态为通信正常状态,另一个冗余通道的通信状态为通信故障状态。只要第一冗余通道和第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,就说明当前两个控制器之间能够正常使用通信正常状态的冗余通道进行通信,因此当前两个控制器之间通信正常,不需要改变控制器自身的状态,只需维持控制器自身的状态不变。例如该控制器原本是工作状态,另一个控制器是备用状态,在当前已确认出两个控制器之间可正常通信的情况下,两个控制器都可以继续维持自身原本的状态。
可选地,在本申请一具体实施例中,还包括:若检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态,则标记(也可以理解为是设置)当前冗余通信故障(即两个控制器不可正常通信)。若判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则标记(也可以理解为是设置)另一个控制器存在(即另一个控制器未断电)。若判断出第一通信故障时间和第二通信故障时间之间的时间间隔小于或等于时间间隔阈值,则标记(也可以理解为是设置)另一个控制器不存在(即另一个控制器已断开)。
可选地,在本申请一具体实施例中,还包括:若检测到第一冗余通道和第二冗余通道的通信状态中存在有通信正常状态的冗余通道(即两个冗余通道都处于通常正常状态,或者其中一个冗余通道处于正常通信状态),则标记(也可以理解为是设置)当前冗余通信正常(即两个控制器可正常通信),并标记(也可以理解为是设置)另一个控制器存在。
通过上述设置(或者说标记)的操作,可以记录下当前对两个控制器之间的通信的检测结果,以及对于另一个控制器是否还存在的检测结果,便于通过设置操作,触发后续对应的处理措施。
其中,设置当前冗余通信故障、设置当前冗余通信故障、设置另一个控制器存在、以及设置另一个控制器不存在的方式,本申请实施例不作限制。
由于本申请实施例中,控制器通过第一通信故障时间和第二通信故障时间之间的时间间隔,能够判断出当前两个控制器之间的通信故障是因冗余通道断开造成的,还是因另一个控制器断电造成的,因此该控制器后续可正确处理自身的状态,保障自动化控制系统的正常运行。
S303、控制控制器自身的状态为工作状态。
由于第一通信故障时间和第二通信故障时间之间的时间间隔小于或等于时间间隔阈值,说明当前是因另一个控制器断开而导致两个控制器之间无法正常通信,因此控制器需要将自身的状态维持为工作状态,以保障自动化控制系统的正常运行。具体的,如果控制器原本就处于工作状态,则不需要执行设置自身处于工作状态的操作,只需维持原本的状态即可。如果控制器原本处于备用状态,则需要将自身的状态切换成工作状态,即重新设置控制器自身的状态。
S304、维持控制器自身的状态不变。
由于第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,说明当前是因两个冗余通道均断开而导致两个控制器之间无法正常通信,因此只需维持控制器自身的状态不变即可,进而当两个冗余通道维修完成之后,两个控制器中依然是只有一个控制器处于工作状态,另一个控制器则处于备用状态,而不会因控制器随意切换状态而导致自动化控制系统无法正常运行。
相较于现有技术因无法识别两个控制器之间无法通信的故障原因,而导致控制器切换自身的状态时出现错误,本申请实施例通过第一通信故障时间和第二通信故障时间之间的时间间隔,能够准确判断出通信故障是因冗余通道断开造成的,还是因另一个控制器断电造成的,进而使得控制器可正确设置自身的状态,保障两个控制器间只有一个控制器处于工作状态,对自动化控制系统实行控制,保障自动化控制系统可正常执行控制逻辑。
可选地,参阅图6,在本申请一具体实施例中,若控制器当前的状态为工作状态,控制器状态的处理方法还包括以下步骤:
S601、检测控制器自身是否存在故障。
控制器对自身进行检测,查看控制器自身是否有故障。故障具体可以是指示灯不亮、或者某些功能无法执行等等。当检测到控制器存在故障时,则执行步骤S602,确定控制器是否需要停止处于工作状态,即停止控制自动化控制系统中的模块。
S602、根据检测到的故障所属的故障等级,确定控制器自身是否需要停止工作状态。
预先设定好各个故障类型与故障等级之间的对应关系。通过该对应关系,确定出步骤S601中检测到的故障所属的故障等级。然后再根据故障等级,确定控制器自身是否需要停止工作状态。
具体的,故障等级反映了故障所造成的危害程度。如果故障等级反映的危害程度越大,则越需要控制器停止自身的工作状态。
示例性的,执行步骤S602的一种实施方式包括:判断检测到的故障所属的故障等级是否大于故障等级阈值,如果大于故障等级阈值,则确定出控制器自身需要停止工作状态。如果小于或等于故障等级阈值,则确定出控制器自身不需要停止工作状态。其中,故障等级越大,则故障等级所反映的危害程度越大。
需要说明的是,根据检测到的故障所属的故障等级,确定控制器自身是否需要停止工作状态的具体方式有很多,包括但不限于本申请实施例所提出的内容。
当步骤S602确定出控制器自身需要停止工作状态时,则执行步骤S603,当步骤S602确定出控制器自身不需要停止工作状态时,则不执行任何操作,即控制器维持原本的工作状态,不做改变。
S603、发送切换信息至另一个控制器,并停止控制器自身的工作状态,其中,切换信息用于通知另一个控制器切换成工作状态。
另一个控制器接收到切换信息之后,可以先检测自身是否符合处于工作状态的条件,若检测到自身符合处于工作状态的条件,即说明另一个控制器可以切换成工作状态,因此另一个控制器就将自身的状态从备用状态切换成自身状态,而此时控制器也停止了自身的工作状态,该自动化控制系统转由另一个控制器进行控制运行。
其中,控制器停止自身的工作状态的方式有很多,例如可以直接切换成备用状态,例如还可以直接关机断电等等。
通过图6示出的步骤,可以在控制器出现危害程度较大的故障时,通过控制器自身停止工作状态,且让另一个控制器切换成工作状态的方式,维持自动化控制系统的正常运行,提高了自动化控制系统的可靠性和安全性。
参阅表一,当图1示出的系统中的两个控制器均执行上述本申请实施例提出的控制器状态的处理方法时,可在表一示出的几种异常情况下,通过本申请实施例提出的控制器状态的处理方法,维持自动化控制系统的正常运行。
具体的,下述表一提及的工作控制器可以理解为是处于工作状态的控制器,备用控制器可以理解为是处于备用状态的控制器。如下述表一所示,当工作控制器异常掉电时,备用控制器通过执行上述本申请实施例提出的控制器状态的处理方法进行冗余判断处理,检测出冗余通信不正常是因两冗余通道同时断开造成的,切换为工作状态,以实现让单个控制器处于工作状态,维持自动化控制系统的现场正常运行。继续参阅表一,当维护时误把工作控制器拔出,备用控制器则可以通过执行上述本申请实施例提出的控制器状态的处理方法进行冗余判断处理,检测出两冗余通道为同时断开,切换为工作状态,维持现场正常运行。本申请实施例提出的控制器状态的处理方法所适用的异常或维护状况、相应的冗余判断处理方式以及处理结果还有很多,详情可参见表一示出的内容,此处不再赘述。
表一
本发明实施例提供的控制器状态的处理方法,该方法应用于控制器,该控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,通过检测第一冗余通道和第二冗余通道的通信状态,即可在检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态时,判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值。若判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则说明是另一个控制器断电造成的,因此控制该控制器自身的状态为工作状态,若判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则说明是两个冗余通道均断开造成的通信故障,因此该控制器维持控制器自身的状态不变,由于本申请实施例中,控制器通过第一通信故障时间和第二通信故障时间之间的时间间隔,能够判断出通信故障是因冗余通道断开造成的,还是因另一个控制器断电造成的,因此该控制器后续可正确处理自身的状态,保障自动化控制系统的正常运行。
参阅图7,基于上述本申请实施例提出的控制器状态的处理方法,本申请实施例对应公开了一种控制器状态的处理装置,应用于控制器,控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,控制器的状态和另一个控制器的状态不同。控制器的状态为工作状态或备用状态。控制器状态的处理装置包括:检测单元701、第一判断单元702、控制单元703以及第一维持单元704。
检测单元701,用于检测第一冗余通道和第二冗余通道的通信状态。其中,通信状态为通信故障状态或通信正常状态。
第一判断单元702,用于若检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值。其中,第一通信故障时间为检测到第一冗余通道处于通信故障状态的时间。第二通信故障时间为检测到第二冗余通道处于通信故障状态的时间。
控制单元703,用于若判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则控制控制器自身的状态为工作状态。
第一维持单元704,用于若判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则维持控制器自身的状态不变。
可选地,在本申请一具体实施例中,控制器状态的处理装置还包括:
第二维持单元,用于若检测到第一冗余通道和第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则维持控制器自身的状态不变。
可选地,在本申请一具体实施例中,检测单元701,包括:第一发送子单元、接收子单元、第一确定子单元、第二确定子单元、第三确定子单元以及第四确定子单元。
第一发送子单元,用于按照心跳包发送周期,分别通过第一冗余通道和第二冗余通道向另一个控制器发送心跳包。
接收子单元,用于通过第一冗余通道接收另一个控制器发送的心跳包,并通过第二冗余通道接收另一个控制器发送的心跳包。
第一确定子单元,用于若检测到超过预设时长均未通过第一冗余通道接收到另一个控制器发送的心跳包,则确定出第一冗余通道的通信状态为通信故障状态。
第二确定子单元,用于若检测到在预设时长以内通过第一冗余通道接收到另一个控制器发送的心跳包,则确定出第一冗余通道的通信状态为通信正常状态。
第三确定子单元,用于若检测到超过预设时长均未通过第二冗余通道接收到另一个控制器发送的心跳包,则确定出第二冗余通道的通信状态为通信故障状态。
第四确定子单元,用于若检测到在预设时长以内通过第二冗余通道接收到另一个控制器发送的心跳包,则确定出第二冗余通道的通信状态为通信正常状态。
其中,控制器状态的处理装置还包括:第一记录单元和第二记录单元。
第一记录单元,用于将确定出第一冗余通道的通信状态为通信故障状态的时间,记录为第一通信故障时间。
第二记录单元,用于将确定出第二冗余通道的通信状态为通信故障状态的时间,记录为第二通信故障时间。
可选地,在本申请一具体实施例中,若控制器当前的状态为工作状态,则控制器状态的处理装置还包括:确定单元、发送单元以及停止单元。
确定单元,用于若检测到控制器自身存在故障,则根据检测到的故障所属的故障等级,确定控制器自身是否需要停止工作状态。
发送单元,用于若确定出控制器自身需要停止工作状态,则发送切换信息至另一个控制器。其中,切换信息用于通知另一个控制器切换成工作状态。
停止单元,用于停止控制器自身的工作状态。
可选地,在本申请一具体实施例中,控制器状态的处理装置还包括:
第二判断单元,用于在心跳包发送周期到达时,判断是否通过第一冗余通道接收到另一个控制器发送的心跳包,并判断是否通过第二冗余通道接收到另一个控制器发送的心跳包。
第一清零单元,用于若判断出通过第一冗余通道接收到另一个控制器发送的心跳包,则将第一冗余超时时长清零。其中,第一冗余超时时长为未通过第一冗余通道接收到另一个控制器发送的心跳包的时长。
第一增加单元,用于若判断出未通过第一冗余通道接收到另一个控制器发送的心跳包,则将当前记录的第一冗余超时时长增加心跳包发送周期的值。
第二清零单元,用于若判断出通过第二冗余通道接收到另一个控制器发送的心跳包,则将第二冗余超时时长清零。其中,第二冗余超时时长为未通过第二冗余通道接收到另一个控制器发送的心跳包的时长。
第二增加单元,用于若判断出未通过第二冗余通道接收到另一个控制器发送的心跳包,则将当前记录的第二冗余超时时长增加心跳包发送周期的值。
本申请实施例的控制器状态的处理装置中的各单元及子单元的工作原理和执行过程可参见前述本申请实施例提出的控制器状态的处理方法,此处不再赘述。
本发明实施例提供的控制器状态的处理装置应用于控制器,该控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,该装置中的检测单元701通过检测第一冗余通道和第二冗余通道的通信状态,即可在检测到第一冗余通道和第二冗余通道的通信状态均为通信故障状态时,通过第一判断单元702判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值。若判断出第一通信故障时间和第二通信故障时间之间的时间间隔不大于时间间隔阈值,则说明是另一个控制器断电造成的,因此控制单元703控制该控制器自身的状态为工作状态,若判断出第一通信故障时间和第二通信故障时间之间的时间间隔大于时间间隔阈值,则说明是两个冗余通道均断开造成的通信故障,因此第一维持单元704维持控制器自身的状态不变,由于本申请实施例中,第一判断单元702通过第一通信故障时间和第二通信故障时间之间的时间间隔,能够判断出通信故障是因冗余通道断开造成的,还是因另一个控制器断电造成的,因此该控制器后续可正确处理自身的状态,保障自动化控制系统的正常运行。
本申请实施例还公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述本申请实施例提出的任一所述的控制器状态的处理方法。
本申请实施例还公开了一种控制器状态的处理设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得如上述本申请实施例提出的任一所述的控制器状态的处理方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种控制器状态的处理方法,其特征在于,应用于控制器,所述控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,所述控制器的状态和另一个控制器的状态不同;所述控制器的状态为工作状态或备用状态;所述控制器状态的处理方法包括:
检测所述第一冗余通道和所述第二冗余通道的通信状态;其中,所述通信状态为通信故障状态或通信正常状态;
若检测到所述第一冗余通道和所述第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值;其中,所述第一通信故障时间为检测到所述第一冗余通道处于通信故障状态的时间;所述第二通信故障时间为检测到所述第二冗余通道处于通信故障状态的时间;
若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔不大于所述时间间隔阈值,则控制所述控制器自身的状态为工作状态;
若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔大于所述时间间隔阈值,则维持所述控制器自身的状态不变。
2.根据权利要求1所述的方法,其特征在于,所述检测所述第一冗余通道和所述第二冗余通道的通信状态之后,还包括:
若检测到所述第一冗余通道和所述第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则维持所述控制器自身的状态不变。
3.根据权利要求1所述的方法,其特征在于,所述检测所述第一冗余通道和所述第二冗余通道的通信状态,包括:
按照心跳包发送周期,分别通过所述第一冗余通道和所述第二冗余通道向所述另一个控制器发送心跳包;
通过所述第一冗余通道接收所述另一个控制器发送的心跳包,并通过所述第二冗余通道接收所述另一个控制器发送的心跳包;
若检测到超过预设时长均未通过第一冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第一冗余通道的通信状态为通信故障状态;
若检测到在预设时长以内通过第一冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第一冗余通道的通信状态为通信正常状态;
若检测到超过预设时长均未通过第二冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第二冗余通道的通信状态为通信故障状态;
若检测到在预设时长以内通过第二冗余通道接收到所述另一个控制器发送的心跳包,则确定出所述第二冗余通道的通信状态为通信正常状态;
其中,所述确定出所述第一冗余通道的通信状态为通信故障状态之后,还包括:
将确定出所述第一冗余通道的通信状态为通信故障状态的时间,记录为第一通信故障时间;
所述确定出所述第二冗余通道的通信状态为通信故障状态之后,还包括:
将确定出所述第二冗余通道的通信状态为通信故障状态的时间,记录为第二通信故障时间。
4.根据权利要求1所述的方法,其特征在于,若所述控制器当前的状态为工作状态,所述控制器状态的处理方法还包括:
若检测到所述控制器自身存在故障,则根据检测到的故障所属的故障等级,确定所述控制器自身是否需要停止工作状态;
若确定出所述控制器自身需要停止工作状态,则发送切换信息至所述另一个控制器,并停止所述控制器自身的工作状态;其中,所述切换信息用于通知所述另一个控制器切换成工作状态。
5.根据权利要求3所述的方法,其特征在于,所述按照心跳包发送周期,分别通过所述第一冗余通道和所述第二冗余通道向所述另一个控制器发送心跳包之后,还包括:
在心跳包发送周期到达时,判断是否通过所述第一冗余通道接收到所述另一个控制器发送的心跳包,并判断是否通过所述第二冗余通道接收到所述另一个控制器发送的心跳包;
若判断出通过所述第一冗余通道接收到所述另一个控制器发送的心跳包,则将第一冗余超时时长清零;其中,所述第一冗余超时时长为未通过第一冗余通道接收到所述另一个控制器发送的心跳包的时长;
若判断出未通过所述第一冗余通道接收到所述另一个控制器发送的心跳包,则将当前记录的所述第一冗余超时时长增加心跳包发送周期的值;
若判断出通过所述第二冗余通道接收到所述另一个控制器发送的心跳包,则将第二冗余超时时长清零;其中,所述第二冗余超时时长为未通过第二冗余通道接收到所述另一个控制器发送的心跳包的时长;
若判断出未通过所述第二冗余通道接收到所述另一个控制器发送的心跳包,则将当前记录的所述第二冗余超时时长增加心跳包发送周期的值。
6.一种控制器状态的处理装置,其特征在于,应用于控制器,所述控制器和另一个控制器之间通过第一冗余通道和第二冗余通道进行通信连接,所述控制器的状态和另一个控制器的状态不同;所述控制器的状态为工作状态或备用状态;所述控制器状态的处理装置包括:
检测单元,用于检测所述第一冗余通道和所述第二冗余通道的通信状态;其中,所述通信状态为通信故障状态或通信正常状态;
第一判断单元,用于若检测到所述第一冗余通道和所述第二冗余通道的通信状态均为通信故障状态,则判断第一通信故障时间和第二通信故障时间之间的时间间隔是否大于时间间隔阈值;其中,所述第一通信故障时间为检测到所述第一冗余通道处于通信故障状态的时间;所述第二通信故障时间为检测到所述第二冗余通道处于通信故障状态的时间;
控制单元,用于若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔不大于所述时间间隔阈值,则控制所述控制器自身的状态为工作状态;
第一维持单元,用于若判断出所述第一通信故障时间和所述第二通信故障时间之间的时间间隔大于所述时间间隔阈值,则维持所述控制器自身的状态不变。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二维持单元,用于若检测到所述第一冗余通道和所述第二冗余通道的通信状态之间至少有一个冗余通道的通信状态为通信正常状态,则维持所述控制器自身的状态不变。
8.一种控制器状态的处理系统,其特征在于,包括:
两个控制器,所述两个控制器分别用于执行如权利要求1至5中任一所述的方法;
分别与所述两个控制器相连的第一冗余通道,用于将所述两个控制器之间通信连接;
分别与所述两个控制器相连的第二冗余通道,用于将所述两个控制器之间通信连接。
9.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1至5中任一所述的方法。
10.一种控制器状态的处理设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211666126.3A CN115903450A (zh) | 2022-12-23 | 2022-12-23 | 控制器状态的处理方法、相关设备以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211666126.3A CN115903450A (zh) | 2022-12-23 | 2022-12-23 | 控制器状态的处理方法、相关设备以及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115903450A true CN115903450A (zh) | 2023-04-04 |
Family
ID=86495417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211666126.3A Pending CN115903450A (zh) | 2022-12-23 | 2022-12-23 | 控制器状态的处理方法、相关设备以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115903450A (zh) |
-
2022
- 2022-12-23 CN CN202211666126.3A patent/CN115903450A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101119187B (zh) | 一种主从设备切换控制方法 | |
CN101324855B (zh) | 辅助cpu工作状态的检测方法、系统、组件及多cpu设备 | |
CN104570721B (zh) | 冗余控制器主从状态确定方法 | |
CN103955188A (zh) | 支持冗余切换功能的控制系统及方法 | |
US8037352B2 (en) | Method for auto power restoration | |
EP2464040B1 (en) | Protection device and protection method for optical network | |
CN109062184B (zh) | 双机应急救援设备、故障切换方法和救援系统 | |
CN104518914B (zh) | 链路切换方法和设备 | |
EP1837763A2 (en) | Protection of devices in a redundant configuration | |
CN102611600B (zh) | 一种can网络系统的短路位置定位方法及装置 | |
CN115903450A (zh) | 控制器状态的处理方法、相关设备以及计算机可读介质 | |
US11165602B2 (en) | Communication system, controlled device, and control method for communication system | |
CN103457755A (zh) | 一种iec 61850系统通信故障检测的方法及系统 | |
CN113721448B (zh) | 一种冗余模块切换方法和装置 | |
CN112698991B (zh) | 基于1比1心跳的双机热备系统和方法 | |
KR20130129566A (ko) | 피엘씨 시스템의 모니터링 장치 및 방법 | |
CN110021917B (zh) | 故障隔离定位系统 | |
CN109088753B (zh) | 自动检测rs485通信故障的电路和方法 | |
CN108337135B (zh) | 一种通信控制系统、方法和装置 | |
JP6762032B2 (ja) | 受電装置および制御方法 | |
CN102340407A (zh) | 保护倒换方法及系统 | |
KR101552785B1 (ko) | 실시간 모니터링 시스템을 위한 자동 복구 방법 및 시스템 | |
CN107241267B (zh) | 一种oam切换方法及网络设备 | |
CN110850852A (zh) | 一种工控设备故障通知系统和方法 | |
US9787532B2 (en) | Module, system and method of switching modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |