一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种冗余模块切换方法和装置与流程

2021-12-01 01:37:00 来源:中国专利 TAG:


1.本发明涉及自动化控制领域,尤其涉及一种冗余模块切换方法和装置。


背景技术:

2.工业自动化控制领域,为了避免工厂停机状况的发生,往往要求工业自动化控制系统具有较高的可靠性和高可用性。在现有自动化系统中,一般通过冗余方式提高系统的高可用性,例如对控制系统的关键部件或者关键控制应用进行复制或者备份,从而保证现场数据的实时采集,实现工厂生产的连续运营。
3.现有技术中广泛使用1:1热备冗余技术。当工作模块出现故障时,能主动切换进入备用状态,而原备用模块则进入工作状态。但是现有的冗余模块装置在器件故障、模块插拔等工作或操作过程中,容易出现双工作状态即工作模块和备用模块同时进入工作状态、或抢权即备用模块异常获得工作状态等问题,从而干扰了现场控制,甚至会造成严重后果。


技术实现要素:

4.本发明针对现有技术中的不足,提供了一种冗余模块切换方法,用于互为对端的第一模块和第二模块,其中第一模块具有第一切换信号输出端和第一切换信号输入端,所述第二模块具有第二切换信号输出端和第二切换信号输入端,所述第一切换信号输出端与第二切换信号输入端连接,所述第二切换信号输出端与第一切换信号输入端连接,包括如下步骤:s1,处于备用状态的第二模块在第二切换信号输入端故障或第一切换信号输出端故障或第一切换信号输出端与第二切换信号输入端连接故障时,由备用状态切换至工作状态,向第一切换信号输入端发送第二电平信号,并向第一模块发送本模块当前处于工作状态的状态信息并监听第一模块反馈的状态信息;s2,处于工作状态的第一模块在第一切换信号输入端收到第二电平信号后,判断第一切换信号输出端是否在预定时间段内输出过第一电平信号,若输出过第一电平信号则将本模块由工作状态切换为备用状态,否则不对工作状态进行切换,并向第二模块发送本模块当前所处状态的状态信息;s3,第二模块如果接收到第一模块发送的仍处于工作状态的状态信息,则将本模块由工作状态再次切换回备用状态,如果接收到第一模块发送的处于备用状态的状态信息则保持当前工作状态不作切换。
5.优选的,第一电平信号为高电平,第二电平信号为低电平,所述冗余模块切换方法还包括如下步骤:当处于工作状态的第一模块的故障等级高于第二模块故障等级时,通过第一切换信号输出端向第二切换信号输入端输出高电平;处于备用状态的第二模块检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一模块发送当前所处状态的状态信息、以及向第一切换信号输入
端输出低电平;第一模块在检测到第一切换信号输入端的电平下降沿后,获取第一切换信号输出端在预定时间段内的电平输出记录,若第一切换信号输出端在预定时间段内输出过高电平,则将本模块由工作状态切换为备用状态,并向第二模块发送当前所处状态的状态信息;第二模块将收到的第一模块所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持第二模块当前工作状态。
6.优选的,第一电平信号为高电平,第二电平信号为低电平,所述冗余模块切换方法还包括如下步骤:当处于工作状态的第一模块的故障等级高于第二模块故障等级时,通过第一切换信号输出端向第二切换信号输入端输出高电平;处于备用状态的第二模块检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一模块发送当前所处状态的状态信息、以及向第一切换信号输入端输出低电平;当第一模块接收到第二模块处于工作状态的状态信息但未检测到第一切换信号输入端的电平下降沿时,判断第一切换信号输出端是否在预定时间段内输出过高电平,若输出过高电平则将第一模块由工作状态切换为备用状态,并向第二模块发送当前所处状态的状态信息;第二模块将收到的第一模块前所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持第二模块当前工作状态。
7.优选的,所述第一模块的第一切换信号输入端连接有第一电平调整电路,所述第二模块的第二切换信号输入端连接有第二电平调整电路,所述步骤s1具体包括:s11,当处于备用状态的第二模块检测到第一切换信号输出端与第二切换信号输入端连接故障或者第一切换信号输出端未与第二切换信号输入端连接时,第二电平调整电路向第二切换信号输入端输入高电平;s12,在检测到第二切换信号输入端的电平上升沿后,第二模块将备用状态切换至工作状态,向第一切换信号输入端发送低电平,并向第一模块发送本模块当前处于工作状态的状态信息并监听第一模块反馈的状态信息。
8.优选的,所述步骤s3具体包括:s31,第二模块如果接收到第一模块发送的仍处于工作状态的状态信息,则将本模块由工作状态再次切换回备用状态,并向第一模块发送本模块当前处于备用状态的状态信息;s32,第一模块根据收到的第二模块处于备用状态的状态信息,对第一切换信号输出端进行自检,若第一切换信号输出端的输出电平为高电平,则将第一切换信号输出端的高电平调整为低电平,并向第二模块发送故障排除信息;若第一切换信号输出端的电平为低电平,则不对第一切换信号输出端电平进行调整,并向第二模块发送第二切换信号输入端故障或第一切换信号输出端与第二切换信号输入端连接故障信息;s33,第二模块如果接收到第一模块发送的处于备用状态的状态信息则保持当前工作状态不作切换。
9.优选的,第一模块的接口包括第一针脚和多个第二针脚,所述第一针脚伸出模块
壳体的长度小于第二针脚,所述第一切换信号输出端和第一切换信号输入端分别与对应的第二针脚连接,第一模块的第一在位检测端与第一针脚连接;第二模块的接口包括第三针脚和多个第四针脚,所述第三针脚伸出模块壳体的长度小于第四针脚,所述第二切换信号输出端和第二切换信号输入端分别与对应的第四针脚连接,第二模块的第二在位检测端与第三针脚连接,其中该方法还包括如下步骤:第一模块检测到第一针脚拔出则控制第一切换信号输出端输出高电平,并向第二模块发送本模块当前处于不在位状态的状态信息;第二模块根据第二切换输入端收到的高电平,判断自身所处状态,如果处于备用状态则将本模块由备用状态切换为工作状态,如果处于工作状态则不进行切换。
10.本发明还公开了一种冗余模块切换装置,包括互为对端的第一模块和第二模块,第一模块和第二模块通过冗余通讯链路交互故障信息和状态信息,所述第一模块还包括第一主控单元、以及分别与第一主控单元连接的第一切换信号输出端和第一切换信号输入端,所述第二模块还包括第二主控单元、以及分别与第二主控单元连接的第二切换信号输出端和第二切换信号输入端,所述第一切换信号输出端与第二切换信号输入端连接,所述第二切换信号输出端与第一切换信号输入端连接,其中第一主控单元被配置为,当处于工作状态时,在第一切换信号输入端收到第二电平信号后,判断第一切换信号输出端是否在预定时间段内输出过第一电平信号,若输出过第一电平信号则将本模块由工作状态切换为备用状态,否则不对工作状态进行切换,并向第二主控单元发送本模块当前所处状态的状态信息。第二主控单元被配置为,当第二切换信号输入端故障或第一切换信号输出端故障或第一切换信号输出端与第二切换信号输入端连接故障时,将本模块由备用状态切换至工作状态,向第一切换信号输入端发送第二电平信号,并向第一主控单元发送本模块当前处于工作状态的状态信息并监听第一主控单元反馈的状态信息,如果接收到第一主控单元发送的仍处于工作状态的状态信息,则将本模块由工作状态再次切换回备用状态,如果接收到第一主控单元发送的处于备用状态的状态信息则保持当前工作状态。
11.优选的,所述第一电平信号为高电平,第二电平信号为低电平,其中第一主控单元还被配置为,若在处于工作状态时本模块故障等级高于第二模块故障等级,则通过第一切换信号输出端向第二切换信号输入端输出高电平;并在检测到第一切换信号输入端的电平下降沿后,获取第一切换信号输出端在预定时间段内的电平输出记录,若第一切换信号输出端在预定时间段内输出过高电平,则将本模块由工作状态切换为备用状态,并向第二主控单元发送当前所处状态的状态信息。第二主控单元还被配置为,若在处于备用状态时检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一主控单元发送当前所处状态的状态信息、以及向第一切换信号输入端输出低电平;并将收到的第一模块所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持第二模块当前工作状态。
12.优选的,所述第一模块还包括与第一切换信号输入端连接的第一电平调整电路,所述第二模块还包括与第二切换信号输入端连接的第二电平调整电路,其中所述第二主控单元还被配置为,若在处于备用状态时检测到第一切换信号输出端与第二切换信号输入端连接故障或者第一切换信号输出端未与第二切换信号输入端连接时,第二电平调整电路向第二切换信号输入端输入高电平;并在检测到第二切换信号输入端的电平上升沿后,将备
用状态切换至工作状态,向第一切换信号输入端发送低电平,并向第一主控单元发送本模块当前处于工作状态的状态信息并监听第一主控单元反馈的状态信息。优选的,所述第一模块还包括固定于模块壳体上的第一针脚接口、与第一主控单元连接的第一在位检测端,其中第一针脚接口内包括第一针脚和多个第二针脚,所述第一针脚伸出模块壳体的长度小于第二针脚,第一切换信号输出端和第一切换信号输入端分别与对应的第二针脚连接,第一在位检测端与第一针脚连接,所述第一主控单元在检测到第一针脚脱离插槽时通过第一切换信号输出端输出高电平。所述第二模块还包括固定于模块壳体上的第二针脚接口、与第二主控单元连接的第二在位检测端,其中第二针脚接口包括第三针脚和多个第四针脚,所述第三针脚伸出模块壳体的长度小于第四针脚,第二切换信号输出端和第二切换信号输入端分别与对应的第四针脚连接,第二在位检测端与第三针脚连接,所述第二主控单元在检测到第三针脚脱离插槽时通过第二切换信号输出端输出高电平。
13.本发明公开的冗余模块切换方法和装置,通过冗余通讯、冗余切换电路的处理,解决了单一异常状态下的双工作或抢权问题从而干扰现场控制。具体的,通过处于工作状态的第一模块判断是否为自身模块发起的冗余切换,判断为是则进入备用状态,判断为否则保持工作状态,从而防止第二模块因自身故障而导致的抢权。当两块冗余工作模块异常进入双工作时,通过冗余通讯交互各模块状态信息,实现后进入工作的模块退出工作状态。另外还通过设置在位检测端,从而避免了在对备用模块插拔时因冗余通讯和冗余切换信号不稳定而导致的双工作或抢权问题干扰现场控制。
14.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
15.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
16.图1为本发明一实施例公开的冗余模块切换装置的结构示意图。
17.图2为本发明另一实施例公开的冗余模块切换装置的结构示意图。
18.图3为本发明一实施例公开的冗余模块切换方法的步骤流程示意图。
19.图4为本发明一实施例公开的步骤s1的具体流程示意图。
20.图5为本发明一实施例公开的步骤s3的具体流程示意图。
21.图6为本发明一实施例公开的冗余模块切换方法的部分体流程示意图。
22.图7为本发明一实施例公开的冗余模块切换方法的另一部分体流程示意图。
23.图8为本发明一实施例公开的冗余模块切换方法的另一部分体流程示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等
术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
26.在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
27.除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
28.附图1为本发明公开的一种冗余模块切换装置,包括互为对端的第一模块1和第二模块2,第一模块1和第二模块2通过冗余通讯链路交互故障信息和模块状态信息。其中第一模块1还包括第一主控单元11、以及分别与第一主控单元连接的第一切换信号输出端12和第一切换信号输入端13,所述第二模块2包括第二主控单元21、以及分别与第二主控单元连接的第二切换信号输出端22和第二切换信号输入端23,所述第一切换信号输出端12与第二切换信号输入端23连接,所述第二切换信号输出端22与第一切换信号输入端13连接。
29.其中第一主控单元被配置为,当处于工作状态时,在第一切换信号输入端收到第二电平信号后,判断第一切换信号输出端是否在预定时间段内发出过第一电平信号,若输出过第一电平信号则将本模块由工作状态切换为备用状态,否则不对工作状态进行切换,并向第二主控单元发送本模块当前所处状态的状态信息。
30.第二主控单元被配置为,当第二切换信号输入端故障或第一切换信号输出端故障或第一切换信号输出端与第二切换信号输入端连接故障时,将本模块由备用状态切换至工作状态,向第一切换信号输入端发送第二电平信号,并向第一主控单元发送本模块当前处于工作状态的状态信息并监听第一主控单元反馈的状态信息,如果接收到第一主控单元发送的仍处于工作状态的状态信息,则将本模块由工作状态再次切换回备用状态,如果接收到第一主控单元发送的处于备用状态的状态信息则保持当前工作状态。
31.在本实施例中,其中第一模块和第二模块之间存在冗余通讯和冗余切换,冗余通讯具体可以采用串口通讯的方式,也可以为rs485总线或其他总线协议。冗余切换具体可以采用mcu的gpio,也可以为逻辑门或其它输出高低电平的方式。第一模块和第二模块通过冗余通讯周期性交互故障信息和状态信息。模块向对端模块发送状态信息,同时保存对端模块当前的工作状态。
32.在本实施例中,如附图2所示,第一切换信号输出端12为redunout1管脚、第一切换信号输入端13为redunin1管脚、第二切换信号输出端22为redunout2管脚、第二切换信号输入端23为redunin2管脚,另外的txd1管脚为第一冗余通讯输出端,rxd1管脚为第一冗余通讯输入端,txd2管脚为第二冗余通讯输出端,rxd2管脚为第二冗余通讯输入端,其中txd1管
脚与rxd2管脚连接,txd2管脚与rxd1管脚连接,txd1管脚、txd2管脚、rxd1管脚和rxd2管脚连接组成的冗余通讯链路用于交互故障信息和模块状态信息。redunout1、redunin1、redunout2和redunin2连接组成的冗余切换链路用于传输状态切换信号。其中第一电平信号为高电平,所述第二电平信号为低电平。该冗余模块切换装置的冗余切换机制如下:第一模块的redunout1输出电平为0,第二模块的redunout2输出电平1。模块各自判断redunin输入电平,当redunin输入电平为1,该模块进入工作状态。当redunin输入电平为0,并判断是否为自身模块发起的冗余切换,判断为是则进入备用状态,判断为否则保持工作状态,防止备用模块抢权。其中在模块内部设有标志位,由本模块自身发起冗余切换时将该标志位设置为1,否则为0。
33.在本实施例中,初始时第一模块为工作状态,第二模块为备用状态。第二模块由于各种异常状况判断redunin2输入电平为1,第二模块进入工作状态,此时redunout2输出电平为0。第一模块判断redunin1输入电平为0,并判断不是自身模块发起的冗余切换,则第一模块保持工作状态,其中可在模块内部设置标志位,当由自身发起冗余切换时置为1,否则置为0。此时第一模块和第二模块通过冗余通讯周期性交互状态信息,第一模块接收到第二模块发送的信息后,第一模块判断自身和第二模块都为工作,并且自身一直为工作,并未发起切换请求,而第二模块的工作状态变化,是由备用状态切换为工作状态,因此第一模块继续保持工作状态。第二模块接收到第一模块发送的信息后,判断自身和第一模块都为工作,并且自身工作状态发生变化,由备用状态切换为工作状态,第一模块一直为工作,因此第二模块再由工作状态切换为备用状态,从而防止两模块同时处于工作状态,即防止双工作状态的产生。
34.在本实施例中,第一电平信号为高电平,第二电平信号为低电平。其中第一主控单元还被配置为,若在处于工作状态时本模块故障等级高于第二模块故障等级,则通过第一切换信号输出端向第二切换信号输入端输出高电平;并在检测到第一切换信号输入端的电平下降沿后,获取第一切换信号输出端在预定时间段内的电平输出记录,若第一切换信号输出端在预定时间段内输出过第一电平信号,则将本模块由工作状态切换为备用状态,并向第二主控单元发送当前所处状态的状态信息。第二主控单元还被配置为,若在处于备用状态时检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一主控单元发送当前所处状态的状态信息、以及向第一切换信号输入端输出低电平;并将收到的第一模块所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持第二模块当前工作状态。
35.具体的,在初始状态时第一模块为工作状态,第二模块为备用状态。第一模块和第二模块通过串口通讯周期性交互故障信息和状态信息。第一模块判断自身为工作状态,通过交互的状态信息判断第二模块为备用状态。通过交互的故障信息判断第二模块的故障等级,当第二模块故障等级小于第一模块自身故障等级,进行冗余切换,当第二模块故障等级不小于第一模块自身故障等级则保持现状。第一模块进入冗余切换,将redunout1输出电平置为1,此时第二模块的redunin2输入电平判断为1,第二模块进入工作状态,将第二模块的redunout2输出电平置为0,此时第一模块的redunin1输入电平判断为0,并且判断到是自身模块发起的冗余切换,第一模块进入备用状态。再通过串口通讯周期性交互状态信息,此时第一模块为备用状态,第二模块为工作状态,切换完成。也可以在模块状态变化后,立即向
对端模块发送状态信息。
36.而在另一实施例中,第一主控单元还被配置为,若在处于工作状态时本模块的故障等级高于第二模块故障等级时,则通过第一切换信号输出端向第二切换信号输入端输出高电平。并在检测到接收到第二模块处于工作状态的状态信息但未检测到第一切换信号输入端的电平下降沿时,判断第一切换信号输出端是否在预定时间段内输出过高电平,若输出过高电平则将第一模块由工作状态切换为备用状态,并向第二模块发送当前所处状态的状态信息。第二主控单元还被配置为,若在处于备用状态时检测到第二切换信号输入端的电平上升沿,则将备用状态切换至工作状态,向第一模块发送当前所处状态的状态信息、以及向第一切换信号输入端输出低电平,并将收将收到的第一模块前所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持第二模块当前工作状态。
37.具体的,在初始状态时第一模块处于工作状态,第二模块处于备用状态,第一模块与第二模块交互故障信息和工作状态,第一模块的故障等级高于第二模块,因此第一模块要求切换,第一模块的第一切换信号输出端向第二模块的第二切换信号输入端输出高电平,第二切换检测到电平上升沿,从备用状态切换到工作状态,并且向第一模块的第一切换信号输入端输出低电平,但如果存在第一切换信号输入端与第二切换信号输出端连接故障或第一切换信号输入端故障或第二切换信号输出端故障导致第一模块未检测到电平下降沿,第一模块不能从工作状态切换到备用状态,电平切换失效,第二模块向第一模块发送其状态为工作状态,且第一模块在一定时间段内向第二模块发送切换请求,因此第一模块切换为备用状态,并将状态信息发送给第二模块,第二模块接收到第一模块的状态为备用状态,第二模块本身为工作状态,则第一模块和第二模块工作状态匹配,完成工作状态切换。
38.在本实施例中,第一模块1还包括与第一切换信号输入端13连接的第一电平调整电路,第二模块2还包括与第二切换信号输入端23连接的第二电平调整电路。
39.其中第二主控单元还被配置为,若在处于备用状态时检测到第一切换信号输出端与第二切换信号输入端连接故障或者第一切换信号输出端未与第二切换信号输入端连接时,第二电平调整电路向第二切换信号输入端输入高电平;并在检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一切换信号输入端发送低电平,并向第一主控单元发送本模块当前处于工作状态的状态信息并监听第一主控单元反馈的状态信息。
40.在本实施例中,第一电平调整电路可以是第一切换信号输入端即redunin1管脚的内部上拉电阻,第二电平调整电路可以是第二切换信号输入端即redunin2管脚的内部上拉电阻。在第一主控单元与第二主控单元间没有冗余通讯,且redunin1电平为1时,即表示第一模块处于单卡工作状态。
41.在本实施例中,两模块周期性发送当前状态信息,可能发生短时间内存在双工作状态,为了避免该状态的发生,在模块状态变化后,该模块主动向对端模块发送工作状态信息,对端模块接收到该信息后做出判断。具体的,在初始状态时第一模块为工作状态,第二模块为备用状态。当第二模块由于各种异常状况判断redunin2输入电平为1,第二模块进入工作状态,此时redunout2输出电平为0。第一模块判断redunin1输入电平为0,并判断不是自身模块发起的冗余切换,第一模块保持工作状态。第二模块工作状态发生变化后,立即向第一模块发送状态信息,第一模块接收到第二模块发送的信息后,第一模块判断自身和第
二模块都为工作状态,并且自身一直为工作状态,并未发起切换请求,第二模块的工作状态变化,是由备用状态切换为工作状态,因此第一模块继续保持工作状态,并向第二模块反馈自身的工作状态。第二模块接收到第一模块发送的信息后,判断自身和第一模块都为工作状态,并且自身工作状态发生变化,由备用状态变化为工作状态,而第一模块一直为工作状态,因此第二模块再由工作状态切换为备用状态,防止该冗余切换装置的两工作模块同时处于工作状态。
42.在本实施例中,第一模块还包括固定于模块壳体上的第一针脚接口、与第一主控单元连接的第一在位检测端,其中第一针脚接口内包括第一针脚和多个第二针脚,所述第一针脚伸出模块壳体的长度小于第二针脚,第一切换信号输出端和第一切换信号输入端分别与对应的第二针脚连接,第一在位检测端与第一针脚连接,所述第一模块在检测到第一针脚脱离插槽时通过第一切换信号输出端输出高电平。第二模块还包括固定于模块壳体上的第二针脚接口、与第二主控单元连接的第二在位检测端,其中第二针脚接口包括第三针脚和多个第四针脚,所述第三针脚伸出模块壳体的长度小于第四针脚,第二切换信号输出端和第二切换信号输入端分别与对应的第四针脚连接,第二在位检测端与第三针脚连接,所述第二模块在检测到第三针脚脱离插槽时通过第二切换信号输出端输出高电平。
43.在本实施例中,为了避免模块在插拔的过程中,由于管脚接触不稳定,产生错误信号,本实施例各模块增加了在位检测端。其中在位检测端用于控制模块供电,保证在模块在插入基座上的插槽时最后接触,模块拔出时最先断开,可以采用长短针,当然也可以通过机械结构或开关的方式。在本实施例中,第一在位检测端为第一模块上的plug1管脚,第二在位检测端为第二模块上的plug2管脚。在位检测端采用长短针方式,具体的将模块的plug管脚设为短针,其他管脚设为长针,在插入模块时,模块上除plug之外的管脚连接稳定后,plug管脚才能稳定连接;拔出模块时,模块上的plug管脚先断开后,其他管脚才能断开。在位检测正常时plug电平为1,模块上电,异常时plug电平为0,模块失电。
44.在另一具体实施例中,在位检测端也可以仅是用于检测模块的与基座的连接状态,第一时间检测到模块在实施的插拔动作。第一模块检测到第一针脚拔出则控制第一切换信号输出端输出高电平,并向第二模块发送本模块当前处于不在位状态的状态信息;第二模块根据第二切换输入端收到的高电平,判断自身所处状态,如果处于备用状态则将本模块由备用状态切换为工作状态,如果处于工作状态则不进行切换。具体的,模块的mcu检测到plug脚断开了,将redunout输出为1,并且将第一模块不在位的通知发送给第二模块;第二模块收到该消息后,判断自身工作状态,如果自身为工作卡,则保持工作状态,如果自身为备用卡,则切换为工作状态。
45.在本实施例中,所述第一主控单元还具有与第一切换信号输出端连接的第一自检信号输入端recheck1,所述第二主控单元还具有与第二切换信号输出端连接的第二自检信号输入端recheck2。第二主控单元向第一主控单元发送由工作状态切换回备用状态的状态信息,第一主控单元在收到状态信息后对第一切换信号输出端进行自检,判断是否第一切换信号输出端为高电平,如第一切换信号输出端为高电平则将其调整为低电平并向第二主控单元发送已修复信息;如第一切换信号输出端为低电平则向第二主控单元发送本主控单元未故障信息。
46.该冗余模块切换装置正常工作时进行故障切换过程如下:在初始状态时第一模块
为工作状态,第二模块为备用状态。第一模块和第二模块通过串口通讯周期性交互故障信息和状态信息。第一模块判断自身为工作状态,通过交互的状态信息判断第二模块为备用状态。通过交互的故障信息判断第二模块的故障等级,当第二模块故障等级小于第一模块自身故障等级,进行冗余切换,当第二模块故障等级不小于第一模块自身故障等级则保持现状。 第一模块进入冗余切换,将redunout1输出电平置为1,此时第二模块的redunin2输入电平判断为1,第二模块进入工作状态,将第二模块的redunout2输出电平置为0,此时第一模块的redunin1输入电平判断为0,并且判断到是自身模块发起的冗余切换,第一模块进入备用状态。再通过串口通讯周期性交互状态信息,此时第一模块为备用状态,第二模块为工作状态,切换完成。也可以在模块状态变化后,立即向对端模块发送状态信息。
47.该冗余模块切换装置中第二模块插入的工作过程如下:冗余模块切换装置的初始状态为第一模块的单卡工作状态,第二模块新插入到基座插槽中。在第二模块插入过程中其它管脚已连接,此时第二模块的redunin2输入电平判断为0,plug2管脚未连接,电平为0,第二模块处于失电状态。然后第二模块的plug2管脚连接,电平为1,第二模块处于上电状态。此时其它管脚已连接,redunin2输入电平判断为0。第二模块的redunin2输入电平判断为0,并且判断到自身为刚冷启动上电状态,第二模块进入备用状态。此时第一模块为工作,第二模块为备用。
48.当处于工作状态的第一模块拔出时, 第一模块拔出,plug1信号未连接,第一模块失电。原处于备用状态的第二模块的redunin2输入电平判断为1,第二模块进入工作状态。此时第一模块为失电,第二模块为工作。而当处于备用状态的第二模块拔出时,plug2信号未连接,第二模块失电。第一模块的redunin1输入电平判断为1,第一模块保持工作状态。此时第一模块为工作,第二模块为失电。
49.当处于工作状态的第一模块内部故障,第二模块无故障。冗余通讯交互故障信息,第一模块故障大于第二模块故障。进入冗余切换,将redunout1输出电平置为1,此时第二模块的redunin2输入电平判断为1,第二模块进入工作状态,将第二模块的redunout2输出电平置为0,此时第一模块的redunin1输入电平判断为0,并且判断到是自身模块发起的冗余切换,第一模块进入备用状态。第一模块和第二模块通过串口通讯交互状态信息,第二模块接收到第一模块的状态信息为由工作状态转换为备用模块,自身为工作状态;第一模块接收到第二模块的状态信息为由备用状态转换为工作状态,自身为备用状态;第一模块和第二模块的工作状态匹配,两模块不再进行状态调整。第一模块和第二模块也可以在自身状态变化后,主动向对端发送状态信息,及时更新自身工作状态。具体的,第二模块由备用状态转换为工作状态后,向第一模块发送当前工作状态信息;第一模块由工作状态转换为备用状态后,向第二模块发送当前处于备用状态的状态信息。第一模块接收到第二模块的当前处于工作状态的状态信息,并且由自身发起切换请求,第二模块接收到第一模块当前处于备用状态的状态信息,第一模块和第二模块的工作状态匹配,两模块不再进行状态调整。冗余切换完成,此时第一模块处于备用状态,第二模块处于工作状态。
50.当处于备用状态的模块故障时,冗余模块切换装置工作过程如下:在初始状态时第一模块为工作状态,第二模块为备用状态。当第一模块无故障且第二模块内部发生故障时,冗余通讯交互故障信息,如果第一模块故障小于第二模块故障,则继续保持第一模块为工作状态,第二模块为备用状态。
51.当第一模块与第二模块的txd或rxd连接故障即冗余通讯故障,冗余模块切换装置工作过程如下:在初始状态时第一模块为工作状态,第二模块为备用状态。当第一模块与第二模块的txd1与rxd2连接故障,或rxd1与txd2连接故障,即冗余通讯故障,不能交互故障信息和状态信息,则继续保持第一模块为工作状态,第二模块为备用状态。
52.当第一模块与第二模块的redunout1与redunin2连接故障,冗余模块切换装置工作过程如下:在初始状态时第一模块为工作状态,第二模块为备用状态。当第一模块与第二模块的redunout1与redunin2连接故障,第二模块判断redunin2输入电平为1,第二模块由备用状态切换为工作状态。第二模块进入工作状态,第二模块的redunout2输出电平置为0。第一模块判断redunin1输入电平为0,并判断不是自身模块发起的冗余切换信息,第一模块保持工作状态。第一模块和第二模块通过冗余通讯交互状态信息,第一模块和第二模块都为工作状态,第一模块接收到第二模块的状态信息为工作状态,第二模块接收到第一模块的状态信息为工作状态。模块周期性发送状态信息,可能发生短时间内存在双工作状态,为了避免该状态的发生,在模块状态变化后,模块主动向对端模块发送工作状态信息,对端模块接收到该信息后做出判断。具体的,第二模块工作状态发生变化后,立即向第一模块发送状态信息,并且第一模块根据自身判断向第二模块反馈状态信息。第一模块判断自身和第二模块都为工作状态,并且自身一直为工作状态,第二模块是由备用状态切换为工作状态,因此第一模块继续保持工作状态。第二模块判断自身和第一模块都为工作状态,并且自身由备用状态切换为工作状态,而第一模块一直为工作状态,因此第二模块再由工作状态切换为备用状态。最后第一模块为工作状态,第二模块为备用状态。
53.上述实施例公开的冗余模块切换装置通过冗余通讯、冗余切换电路的处理,解决了单一异常状态下的双工作或抢权问题从而干扰现场控制。具体的,通过处于工作状态的第一模块判断是否为自身模块发起的冗余切换,判断为是则进入备用状态,判断为否则保持工作状态,从而防止第二模块因自身故障而导致的抢权。当两块冗余工作模块异常进入双工作时,通过冗余通讯交互各模块状态信息,实现后进入工作的模块退出工作状态。另外还通过设置在位检测端,从而避免了在对备用模块插拔时因冗余通讯和冗余切换信号不稳定而导致的双工作或抢权问题干扰现场控制。
54.附图3为另一实施例公开的一种冗余模块切换方法的步骤流程示意图,该方法可用于互为对端的第一模块和第二模块,其中第一模块具有第一切换信号输出端和第一切换信号输入端,所述第二模块具有第二切换信号输出端和第二切换信号输入端,所述第一切换信号输出端与第二切换信号输入端连接,所述第二切换信号输出端与第一切换信号输入端连接。尤其可用于如前述各实施例中所公开的冗余模块切换装置中。该冗余模块切换方法具体包括如下步骤。
55.步骤s1,处于备用状态的第二模块在第二切换信号输入端故障或第一切换信号输出端故障或第一切换信号输出端与第二切换信号输入端连接故障时,由备用状态切换至工作状态,向第一切换信号输入端发送第二电平信号,并向第一模块发送本模块当前处于工作状态的状态信息并监听第一模块反馈的状态信息。
56.在具体实施例中,所述第一电平信号为高电平,所述第二电平信号为低电平,所述第一模块的第一切换信号输入端连接有第一电平调整电路,所述第二模块的第二切换信号输入端连接有第二电平调整电路。如附图4所示,所述步骤s1具体包括:
步骤s11,当处于备用状态的第二模块检测到第一切换信号输出端与第二切换信号输入端连接故障或者第一切换信号输出端未与第二切换信号输入端连接时,第二电平调整电路向第二切换信号输入端输入高电平。
57.步骤s12,在检测到第二切换信号输入端的电平上升沿后,第二模块将备用状态切换至工作状态,向第一切换信号输入端发送第二电平信号,并向第一模块发送本模块当前处于工作状态的状态信息并监听第一模块反馈的状态信息。
58.步骤s2,处于工作状态的第一模块在第一切换信号输入端收到第二电平信号后,判断第一切换信号输出端是否在预定时间段内输出过第一电平信号,若输出过第一电平信号则将本模块由工作状态切换为备用状态,否则不对工作状态进行切换,并向第二模块发送本模块当前所处状态的状态信息。
59.步骤s3,第二模块如果接收到第一模块发送的仍处于工作状态的状态信息,则将本模块由工作状态再次切换回备用状态,如果接收到第一模块发送的处于备用状态的状态信息则保持当前工作状态不作切换。
60.如附图5所示,所述步骤s3具体包括:步骤s31,第二模块如果接收到第一模块发送的仍处于工作状态的状态信息,则将本模块由工作状态再次切换回备用状态,并向第一模块发送本模块当前处于备用状态的状态信息。
61.步骤s32,第一模块根据收到的第二模块处于备用状态的状态信息,对第一切换信号输出端进行自检,若第一切换信号输出端的输出电平为高电平,则将第一切换信号输出端的高电平调整为低电平,并向第二模块发送故障排除信息;若第一切换信号输出端的电平为低电平,则不对第一切换信号输出端电平进行调整,并向第二模块发送第二切换信号输入端故障或第一切换信号输出端与第二切换信号输入端连接故障信息。
62.步骤s33,第二模块如果接收到第一模块发送的处于备用状态的状态信息则保持当前工作状态不作切换。
63.以前述实施例公开的冗余模块切换装置为例,在本实施例中,初始时第一模块为工作状态,第二模块为备用状态。第二模块由于各种异常状况判断redunin2输入电平为1,第二模块进入工作状态,此时redunout2输出电平为0。第一模块判断redunin1输入电平为0,并判断不是自身模块发起的冗余切换,则第一模块保持工作状态,其中可在模块内部设置标志位,当由自身发起冗余切换时置为1,否则置为0。此时第一模块和第二模块通过冗余通讯周期性交互状态信息,第一模块接收到第二模块发送的信息后,第一模块判断自身和第二模块都为工作,并且自身一直为工作,并未发起切换请求,而第二模块的工作状态变化,是由备用状态切换为工作状态,因此第一模块继续保持工作状态。第二模块接收到第一模块发送的信息后,判断自身和第一模块都为工作,并且自身工作状态发生变化,由备用状态切换为工作状态,第一模块一直为工作,因此第二模块再由工作状态切换为备用状态,从而防止两模块同时处于工作状态,即防止双工作状态的产生。
64.在本实施例中,以第一电平信号为高电平,第二电平信号为低电平为例进行论述,该方法还包括如下步骤:步骤s4,第二模块向第一模块发送由工作状态切换回备用状态的状态信息,第一模块在收到状态信息后对第一切换信号输出端进行自检,判断是否第一切换信号输出端为
高电平,如第一切换信号输出端为高电平则将其调整为低电平并向第二模块发送已修复信息;如第一切换信号输出端为低电平则向第二模块发送本模块未故障信息。
65.在本实施例中,第一模块的接口包括第一针脚和多个第二针脚,所述第一针脚伸出模块壳体的长度小于第二针脚,所述第一切换信号输出端和第一切换信号输入端分别与对应的第二针脚连接,第一模块的第一在位检测端与第一针脚连接;第二模块的接口包括第三针脚和多个第四针脚,所述第三针脚伸出模块壳体的长度小于第四针脚,所述第二切换信号输出端和第二切换信号输入端分别与对应的第四针脚连接,第二模块的第二在位检测端与第三针脚连接,如附图6所示,其中该方法还包括如下步骤:步骤s101,第一模块检测到第一针脚拔出则控制第一切换信号输出端输出高电平,并向第二模块发送本模块当前处于不在位状态的状态信息。
66.步骤s102,第二模块根据第二切换输入端收到的高电平,判断自身所处状态,如果处于备用状态则将本模块由备用状态切换为工作状态,如果处于工作状态则不进行切换。
67.具体的,当处于工作状态的第一模块拔出时,第一模块拔出,plug1管脚断开,将redunout1输出为1,并向第二模块发送本模块当前处于不在位状态的状态信息。第二模块收到该状态信息后,判断自身状态,如果自身为工作卡,则保持工作状态,如果自身为备用卡,则由备用状态切换为工作状态。
68.如附图7所示,该冗余模块切换方法还包括如下步骤:步骤s201,当处于工作状态的第一模块的故障等级高于第二模块故障等级时,通过第一切换信号输出端向第二切换信号输入端发送高电平。
69.步骤s202,处于备用状态的第二模块检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一模块发送当前所处状态的状态信息、以及向第一切换信号输入端输出低电平。
70.步骤s203,第一模块在检测到第一切换信号输入端的电平下降沿后,获取第一切换信号输出端在预定时间段内的电平输出记录,若第一切换信号输出端在预定时间段内输出过高电平,则将本模块由工作状态切换为备用状态,并向第二模块发送当前所处状态的状态信息。
71.步骤s204,第二模块将收到的第一模块所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持当前工作状态。
72.具体的,在正常工作时进行故障切换方法如下:在初始状态时第一模块为工作状态,第二模块为备用状态。第一模块和第二模块通过串口通讯周期性交互故障信息和状态信息。第一模块判断自身为工作状态,通过交互的状态信息判断第二模块为备用状态。通过交互的故障信息判断第二模块的故障等级,当第二模块故障等级小于第一模块自身故障等级,进行冗余切换,当第二模块故障等级不小于第一模块自身故障等级则保持现状。 第一模块进入冗余切换,将redunout1输出电平置为1,此时第二模块的redunin2输入电平判断为1,第二模块进入工作状态,将第二模块的redunout2输出电平置为0,此时第一模块的redunin1输入电平判断为0,并且判断到是自身模块发起的冗余切换,第一模块进入备用状态。再通过串口通讯周期性交互状态信息,此时第一模块为备用状态,第二模块为工作状态,切换完成。也可以在模块状态变化后,立即向对端模块发送状态信息。
73.如附图8所示,该冗余模块切换方法还可包括如下步骤:
步骤s301,当处于工作状态的第一模块的故障等级高于第二模块故障等级时,通过第一切换信号输出端向第二切换信号输入端输出高电平。
74.步骤s302,处于备用状态的第二模块检测到第二切换信号输入端的电平上升沿后,将备用状态切换至工作状态,向第一模块发送当前所处状态的状态信息、以及向第一切换信号输入端输出低电平。
75.步骤s303,当第一模块接收到第二模块处于工作状态的状态信息但未检测到第一切换信号输入端的电平下降沿时,判断第一切换信号输出端是否在预定时间段内输出过高电平,若输出过高电平则将第一模块由工作状态切换为备用状态,并向第二模块发送当前所处状态的状态信息。
76.步骤s304,第二模块将收到的第一模块前所处状态的状态信息与本模块当前状态进行匹配验证,若两模块工作状态不同则保持第二模块当前工作状态。
77.具体的,在初始状态时第一模块处于工作状态,第二模块处于备用状态,第一模块与第二模块交互故障信息和工作状态,第一模块的故障等级高于第二模块,因此第一模块要求切换,第一模块的第一切换信号输出端向第二模块的第二切换信号输入端输出高电平,第二切换检测到电平上升沿,从备用状态切换到工作状态,并且向第一模块的第一切换信号输入端输出低电平,但如果存在第一切换信号输入端与第二切换信号输出端连接故障或第一切换信号输入端故障或第二切换信号输出端故障导致第一模块未检测到电平下降沿,第一模块不能从工作状态切换到备用状态,电平切换失效,第二模块向第一模块发送其状态为工作状态,且第一模块在一定时间段内向第二模块发送切换请求,因此第一模块切换为备用状态,并将状态信息发送给第二模块,第二模块接收到第一模块的状态为备用状态,第二模块本身为工作状态,则第一模块和第二模块工作状态匹配,完成工作状态切换。
78.上述冗余模块切换方法通过冗余通讯、冗余切换电路的处理,解决了单一异常状态下的双工作或抢权问题从而干扰现场控制。具体的,通过处于工作状态的第一模块判断是否为自身模块发起的冗余切换,判断为是则进入备用状态,判断为否则保持工作状态,从而防止第二模块因自身故障而导致的抢权。当两块冗余工作模块异常进入双工作时,通过冗余通讯交互各模块状态信息,实现后进入工作的模块退出工作状态。另外还通过设置在位检测端,从而避免了在对备用模块插拔时因冗余通讯和冗余切换信号不稳定而导致的双工作或抢权问题干扰现场控制。
79.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
80.总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献