CN1591348A - 冗余切换控制方法及电路 - Google Patents

冗余切换控制方法及电路 Download PDF

Info

Publication number
CN1591348A
CN1591348A CN 03146369 CN03146369A CN1591348A CN 1591348 A CN1591348 A CN 1591348A CN 03146369 CN03146369 CN 03146369 CN 03146369 A CN03146369 A CN 03146369A CN 1591348 A CN1591348 A CN 1591348A
Authority
CN
China
Prior art keywords
logic
state
object logic
positive
fault
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.)
Granted
Application number
CN 03146369
Other languages
English (en)
Other versions
CN1303532C (zh
Inventor
李华军
黄文君
金建祥
靳旭哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CNB03146369XA priority Critical patent/CN1303532C/zh
Publication of CN1591348A publication Critical patent/CN1591348A/zh
Application granted granted Critical
Publication of CN1303532C publication Critical patent/CN1303532C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

一种冗余切换控制方法及电路,该方法包括以下步骤:检测到正逻辑状态的逻辑对象A出现异常状态,并通知另一个逻辑对象B;另一个逻辑对象B根据自身的故障程度确定逻辑状态;逻辑对象A根据逻辑对象B的逻辑状态,进行故障程度比较,再次确定自身的逻辑状态;根据需要上述重复步骤直到将故障程度较轻的逻辑对象确定为正逻辑状态。相应控制电路包括一组与非逻辑电路及处理器,该与非逻辑电路分别对应逻辑对象,有三个输入端:第一个输入端传输控制信号;第二个输入端传输复位信号;第三个输入端传输状态信号,与相对逻辑对象与非逻辑电路的输出端相连;第三输入端同时连接各自对应中央处理器的一个外中断输入端,快速响应逻辑对象的逻辑状态改变。

Description

冗余切换控制方法及电路
技术领域
本发明涉及自动化控制领域中冗余系统中的切换,尤指冗余切换中的控制方法及电路。
背景技术
一般的说,在工业自动化领域,对主控制模块或者重要的模拟量输入输出模块进行冗余配置,以降低故障风险,增加系统的可靠性。通常,这些模块(即逻辑对象)采用了一个以上的中央处理器(CPU)。这样,逻辑对象出现异常状态时,如有必要,可以在中央处理器的控制下进行正反逻辑状态切换,以保证控制任务的连续性。
通常构建集散控制系统(DCS)中的两个主控制模块或者输入输出(I/O)模块的冗余系统时,需要对冗余切换进行控制。这样,处于工作状态的一个主控模块或者输入输出(I/O)模块发生故障、热复位、掉电等状态时,可以引发快速冗余切换,保证控制任务的连续性。
目前已知的冗余切换控制方法中,当互为冗余的两个逻辑对象同时上电时,通过设定一个定时器的方式来确定逻辑对象的逻辑状态,用这种方法必须考虑逻辑对象的复位时间问题,一个典型的复位芯片的复位脉冲在30~400ms,这样,这个定时器时间必须大于400ms,才能确定逻辑对象的正反逻辑状态,相关专利文献请参考公开号为CN 1275000A的中国专利申请。
当处于正逻辑状态的逻辑对象出现异常时,目前现有的冗余切换控制方法中,通常都进行了冗余切换,这样,如果在切换之前当处于反逻辑状态的逻辑对象出现严重故障,而处于正逻辑状态的逻辑对象只是轻度故障时,就产生了一次不应该进行的冗余切换。
在某些场合,需要按照用户的要求进行手动的冗余切换。此外,当处于正逻辑状态的逻辑对象突然断电或者复位时,处于反逻辑状态的逻辑对象需要快速的接过控制权,继续执行控制任务。
总的来说,现有的冗余方法存在如下的一些缺点:
1.互为冗余的两个逻辑对象同时上电时,逻辑状态的确定时间较长;
2.没有按照故障程度,进行故障条件下的冗余切换;
3.没有实现手动的冗余切换;
4.没有涉及处于正逻辑的逻辑对象断电和复位情况下的逻辑状态的确定。
发明内容
本发明解决的问题是提供一种冗余切换控制方法及电路,使冗余系统按照逻辑对象的故障程度,进行故障条件下的冗余切换。
本发明解决的第二个问题是提供一种冗余切换控制方法及电路,使冗余系统在逻辑对象出现故障、复位及掉电情况下,快速确定逻辑对象的逻辑状态。
本发明解决的第三个问题是提供一种冗余切换控制方法及电路,使冗余系统响应手动切换。
为解决上述问题,本发明冗余切换控制方法包括以下步骤:
1)检测到正逻辑状态的逻辑对象A出现异常状态;
2)逻辑对象A将表示自身出现异常状态的信号发送给另一个逻辑对象B;
3)另一个逻辑对象B获悉逻辑对象A出现异常状态,进行逻辑对象B的故障检测,并根据自身的故障程度确定逻辑状态;
4)逻辑对象A根据逻辑对象B的逻辑状态,进行故障程度比较,再次确定自身的逻辑状态;
5)根据需要重复步骤1)-4)直到将故障程度较轻的逻辑对象确定为正逻辑状态。
逻辑对象故障检测结果分成两级或者两级以上的故障程度,并根据时序的不同,用逻辑对象的逻辑状态值表示。逻辑对象的掉电状况列入故障状况进行处理。
步骤4)进一步包括如下步骤:
4-1)逻辑对象A延时等待;
4-2)读取逻辑对象B逻辑状态:
4-3)判断逻辑对象B与逻辑对象A的表示逻辑状态的逻辑值是否相同;
4-4)如果不同,则逻辑对象B的故障程度低于逻辑对象A的故障程度,将逻辑对象A确定为反逻辑状态;
4-5)如果相同,逻辑对象A对自身的故障程度进行判断,并再次确定逻辑状态;
4-6)判断逻辑对象A与逻辑对象B的表示逻辑状态的逻辑值是否相同,
4-7)如果不同,则逻辑对象A的故障程度低于或者等于逻辑对象B的故障程度,将逻辑对象A确定为正逻辑状态;
4-8)如果相同,则重复步骤4-1)至4-7)直至完成逻辑对象A逻辑状态的确定。
步骤3)具体包括如下步骤:
3-1)响应逻辑对象A的状态改变并进行故障检测;
3-2)逻辑对象B根据故障程度确定逻辑状态;
3-3)如果逻辑对象B为正逻辑状态,并通知逻辑对象A;
3-4)如果逻辑对象B为反逻辑状态,逻辑对象B开始延时等待;
3-5)逻辑对象B再次判断逻辑对象A的逻辑状态;
3-6)如果逻辑对象A处于正逻辑状态,逻辑对象B确定为反逻辑状态;
3-7)如果逻辑对象A处于反逻辑状态,则重复步骤3-1)至3-6)直至完成逻辑对象B逻辑状态的确定。
该方法还包括复位时逻辑对象逻辑状态确定流程,该流程包括逻辑对象同时复位流程及一个逻辑对象复位流程。
逻辑对象同时复位流程包括以下步骤:
1)逻辑对象都处于复位状态;
2)一个逻辑对象率先结束复位状态,并把该逻辑对象确定为正逻辑;
3)通知另一个逻辑对象,并确定另一逻辑对象为反逻辑。
一个逻辑对象复位流程包括以下步骤:
1)处于正逻辑状态的逻辑对象A复位,改变逻辑状态值,并通知逻辑对象B;
2)逻辑对象B的复位判断;
3)如果逻辑对象B处于复位状态,则此时两个逻辑对象同时在复位,按照逻辑对象同时复位流程确定逻辑状态;
4)如果逻辑对象B不处于复位状态,两个逻辑对象进行正反逻辑切换。
此外,该方法还包括手动切换流程,该流程包括以下步骤:
1)逻辑对象在接收到上位机发送的正反逻辑切换命令;
2)处于正逻辑状态的逻辑对象A立即确定为反逻辑状态,并通知逻辑对象B;处于反逻辑状态的逻辑对象B逻辑对象A的状态改变,进行延时等待;
3)逻辑对象B再次检测到逻辑对象A为反逻辑状态,则确定自身为正逻辑状态。
相应地,本发明冗余切换控制电路包括一组与非逻辑电路和中央处理器,与非逻辑电路分别对应逻辑对象,具有三个输入端:
第一个输入端传输控制信号,由中央处理器控制;
第二个输入端传输复位信号,由逻辑对象的复位芯片控制,逻辑对象复位时,相应的第二个输入端为低电平;
第三个输入端传输状态信号,与相对逻辑对象与非逻辑电路的输出端相连,该第三个输入端为低电平时,表示相对逻辑对象处于或即将处于正逻辑状态;
第三输入端同时连接各自对应中央处理器的一个外中断输入端,快速响应逻辑对象的逻辑状态改变。
与现有技术相比,本发明具有以下优点:
从以上的分析中可以看到,本发明的优点是:
1.能够快速确定逻辑对象的正反逻辑状态;
2.根据故障等级进行正反逻辑切换;
3.能快速确定两个逻辑对象同时上电时的逻辑状态;
4.实现基于手动控制的正反逻辑切换;
5.两个逻辑对象在同时启动之前是完全对等的关系;
6.具有正反逻辑状态锁定功能;
7.实现正反逻辑切换的逻辑电路简单,实现成本低廉。
附图说明
图1是本发明冗余切换控制电路示意图。
图2是两个逻辑对象同时复位时逻辑状态的确定流程图。
图3是处于正逻辑的对象复位之后逻辑状态的确定流程图。
图4是处于正逻辑的对象出现故障之后逻辑状态的确定流程图。
图5是处于正逻辑的逻辑对象出现故障之后的正反逻辑确定时序的示意图。
图6是处于正逻辑的逻辑对象A出现故障时,逻辑对象A的逻辑状态的确定流程图。
图7是处于正逻辑的逻辑对象A出现故障时,逻辑对象B的逻辑状态的确定流程图。
图8是本发明冗余切换控制方法的整体流程图。
图9是本发明冗余切换控制方法的中断流程图。
具体实施方式
请参照图1所示,本发明冗余切换控制电路示意图。该逻辑电路主要由一组与非逻辑电路和中央处理器组成,实现两个逻辑对象A、B的逻辑状态信息的交换、逻辑状态的互锁功能。本实施例中采用2个与非逻辑电路作为示意性说明,与非逻辑电路1、2分别对应逻辑对象A、B,具有三个输入端,第一个输入端CON1、CON2传输控制信号,由中央处理器CPU1、CPU2控制;第二个输入端RST1、RST2,传输复位信号,由逻辑对象A、B的复位芯片控制,逻辑对象A、B复位时,相应的RST1、RST2为低电平。
与非逻辑电路1的第三个输入端STDBY1传输状态信号,与逻辑对象B的与非逻辑电路2的输出端WORK2相连,STDBY1为低电平时,表示逻辑对象B处于或即将处于正逻辑状态;与非逻辑电路1的输出端WORK1与逻辑对象B的与非逻辑电路2的第三个输入端STDBY2相连接,同样地STDBY2为低电平时,表示逻辑对象A处于或即将处于正逻辑状态。本实施例中,正逻辑状态是指相应的逻辑对象输出端WORK1、WORK2的低电平,表示处于工作状态无故障状态,而反逻辑状态是指相应输出端为高电平,表示相应的逻辑对象处于备用状态、故障状态。在有故障状况时,无故障为正逻辑而有故障为反逻辑或轻度故障为正逻辑而严重故障为反逻辑。
为了使中央处理器CPU1、CPU2能快速响应逻辑对象B、A从正逻辑变为反逻辑的状态改变,STDBY1、STDBY2同时连接CPU1、CPU2的一个外中断输入端INT1、INT2。
逻辑对象A的STDBY1在逻辑对象B掉电的情况是保持恒定的高电平状态,同样地适用逻辑对象B的STDBY2在逻辑对象A掉电的情况。
假设一个逻辑对象的输入为高电平,该逻辑对象的与非逻辑电路输出低电平,该输出与另一个逻辑对象的与非逻辑电路的一个输入端相连接,使得另一个逻辑对象的与非逻辑电路输出为高电平,表明该逻辑对象确定为反逻辑状态,实现正反逻辑的锁定,即逻辑状态互锁功能。
本发明适用于逻辑对象在出现故障、复位、掉电及手动切换等情况下,对冗余切换进行控制,并快速确定逻辑对象的逻辑状态。
其中,逻辑对象的复位,包含两个方面:
冷启动,指逻辑对象从断电的状态到上电的状态,且一般的情况下断电的时间大于15秒左右;
热启动,指逻辑对象突然断电,之后在很短的时间(如,小于15秒)重新上电的情况。
关于逻辑对象的故障情况,一般说来,逻辑对象按照一定的周期(如100ms)对自身的故障循环进行检测,继而基于故障检测的基础上进行逻辑状态的确定。在本实施例中,把掉电(掉电,即逻辑对象断电)也列入故障情况,一并处理。
关于手动切换,在某些场合,如当人为的发现自动故障检测没有检测到的逻辑对象的故障时,此时需要手动强制切换功能。所述手动切换在本发明中具有最高优先级别。
请参照图8、9所示,本发明冗余切换控制方法主要包括以下流程:
1.复位时正反逻辑的确定流程S802,在逻辑对象复位(冷启动/热启动)时产生作用;
2.故障时正逻辑对象的正反逻辑确定流程S805,对处于正逻辑的逻辑对象起作用;
3.故障时反逻辑对象的正反逻辑确定流程S903,对处于反逻辑的逻辑对象起作用。
其中,后两个流程S805、S903是相互配合的:首先是处于正逻辑的逻辑对象发生故障,进入故障时正逻辑对象的正反逻辑确定流程S805;然后,处于反逻辑状态的逻辑对象通过中断响应的方式,快速的进入故障时反逻辑对象的正反逻辑确定流程S903。
本发明冗余切换控制方法的整体步骤如下:
1)执行步骤S801,逻辑对象复位;
2)执行步骤S802,按照复位时正反逻辑的确定流程确定逻辑状态,逻辑对象完成复位后允许中断;
3)执行步骤S803,进行故障检测,针对正逻辑状态的逻辑对象进行故障检测;
4)执行步骤S804,逻辑对象有无故障判断;
5)若有故障,则执行步骤S805,按照故障时正逻辑对象的正反逻辑确定流程确定逻辑状态;
6)执行步骤S806,逻辑对象的其它运行任务或者等待;
7)返回步骤S803,重复步骤S803~S806。
处于正逻辑的逻辑对象出现故障时的反逻辑对象的正反逻辑状态的确定流程:
1)执行步骤S901,获知正逻辑对象发生故障,反逻辑对象进入中断;
2)执行步骤S902,反逻辑对象进行故障检测;
3)执行步骤S903,按照故障时反逻辑对象的正反逻辑确定流程确定正反逻辑状态;
4)执行步骤S904,退出中断。
1.复位时正反逻辑的确定流程S802包括逻辑对象同时复位流程及一个逻辑对象复位流程。下面针对冷启动及热启动情况,分别叙述。
1.1两个逻辑对象同时冷启动时正反逻辑状态的确定
主要步骤如下:
1)逻辑对象都处于复位状态;
2)一个逻辑对象率先结束复位状态,并把该逻辑对象确定为正逻辑;
3)通知另一个逻辑对象,并确定另一逻辑对象为反逻辑。
请参阅图1、图2,当两个逻辑对象同时上电时,逻辑对象A、B都处于复位状态(执行步骤S201),此时与非逻辑电路1的第二输入端RST1处于低电平状态,使得与非逻辑电路1的输出端WORK1为高电平,表明该逻辑对象A处于不工作状态;与非逻辑电路2的第二输入端RST2处于低电平状态,使得与非逻辑电路2的输出端WORK2输出高电平,表明该逻辑对象B处于不工作状态。
由于复位芯片本身存在着一个差异,两个逻辑对象A、B复位时间存在着一个差别。这样,由于逻辑对象A、B处于等同的地位,可以假设任意一个逻辑对象率先结束复位状态(执行步骤S202),并把该逻辑对象称为逻辑对象A。逻辑对象A的主流程开始运行,中央处理器CPU1检测到表征逻辑对象B的逻辑状态的STDBY1为高电平,这样,逻辑对象A本身获悉自身处于正逻辑状态(执行步骤S203)。同时,中央处理器CPU1使与非逻辑电路1的第一输入端CON1为高电平,此时逻辑对象B仍处于复位状态。因此,与非逻辑电路1的第一输入端CON1为高电平、第二输入端RST1为高电平、第三输入端STDBY1为高电平,所以与非逻辑电路1输出端WORK1输出低电平,从而通知逻辑对象B,逻辑对象A处于正逻辑状态。
一段时间后,逻辑对象B结束复位状态,与非逻辑电路2的第二输入端RST2变为高电平,逻辑对象B开始运行主流程,逻辑对象B通过检测表示逻辑对象A的逻辑状态的STDBY2,获悉逻辑对象A处于正逻辑状态,从而将自身的逻辑状态确定为反逻辑状态(执行步骤S201)。
这样,只要两个逻辑对象的中央处理器开始运行主流程的时间存在着一个微小(如,2us)的差异,按照上述的这种方法可以快速(微秒级时间)的确定两个逻辑对象同时上电时的正反逻辑状态。
1.2两个逻辑对象同时热启动时正反逻辑状态的确定
当逻辑对象受到外界的强烈干扰时,可能出现两个逻辑对象同时复位的情况,即两个逻辑对象同时热启动的情况。此时,逻辑对象按照两个逻辑对象同时上电时正反逻辑的确定流程(即,同时冷启动时的流程,见图2)来确定逻辑状态。
1.3一个逻辑对象复位时正反逻辑状态的确定
当某一逻辑对象受到外界强烈干扰时,也可能出现复位的情况,以下进行详细说明。
1.3.1处于反逻辑状态的逻辑对象复位
处于反逻辑状态的逻辑对象复位时,由于在复位之前,逻辑对象与非逻辑电路的输出已经是高电平,逻辑对象复位时,并没有改变与非逻辑电路的输出状态。所以,处于反逻辑状态的逻辑对象复位并不会引起两个逻辑对象逻辑状态的改变。具体的说,处于反逻辑状态的逻辑对象B的与非逻辑电路2的第三输入端STDBY2为低电平,从而使与非逻辑电路2的输出端WORK2为高电平;当逻辑对象B复位时,STDBY2仍为低电平,RST2为低电平,从而与非逻辑电路2的输出端WORK2为高电平,因此逻辑对象A的STDBY1仍为高电平,逻辑对象A保持正逻辑状态。逻辑对象B结束复位之后,与非逻辑电路2的第三输入端STDBY2为低电平,从而使逻辑对象B确定为反逻辑状态。
1.3.2处于正逻辑状态的逻辑对象复位
处于正逻辑状态的逻辑对象复位时的逻辑状态确定主要步骤:
1)处于正逻辑状态的逻辑对象A复位,改变逻辑状态值,并通知逻辑对象B;
2)逻辑对象B的复位判断;
3)如果逻辑对象B处于复位状态,则此时两个逻辑对象同时在复位,按照逻辑对象同时复位流程确定逻辑状态;
4)如果逻辑对象B不处于复位状态,两个逻辑对象进行正反逻辑切换。
请参阅图1、图3,一个逻辑对象复位之前,逻辑对象A处于正逻辑状态,逻辑对象B处于反逻辑状态。逻辑对象A复位之后(执行步骤S301),与非逻辑电路1的第二输入端RST1为低电平,从而使与非逻辑电路1的输出端WORK1输出为高电平,STDBY2变为高电平。
逻辑对象B的复位判断(执行步骤S302)由逻辑电路2实现。如果逻辑对象B处于复位状态,则此时两个逻辑对象同时在复位,按照上述的两个逻辑对象同时热启动时,执行步骤S304(S304的具体步骤同同时冷启动时的流程,见图2)确定逻辑状态。如果,逻辑对象B不处于复位状态,则执行步骤S303,两个逻辑对象进行正反逻辑切换:
逻辑对象B检测到STDBY2从低电平变为高电平,从而使中央处理器CPU2进入中断,快速响应逻辑对象A的状态改变。中央处理器CPU2使与非逻辑电路2的第一输入端CON2在一段时间(几十个微秒)内保持低电平,以对判断逻辑对象A是否处于复位状态。这样,与非逻辑电路2的输出端WORK2输出高电平。由于逻辑对象A的复位时间至少需要几十毫秒,一段时间(几十个微秒)后,逻辑对象A仍处于复位中,与非逻辑电路1的输出端WORK1保持高电平状态,此时,逻辑对象B检测到逻辑对象A仍处于不工作状态,从而获悉逻辑对象A处于复位状态,确定自身为正逻辑状态。同时,中央处理器CPU2控制与非逻辑电路2的第一输入端CON2为高电平。这样,与非逻辑电路2的输入端STDBY2、RST2、CON2保持为高电平,从而使与非逻辑电路2输出低电平。逻辑对象A结束复位之后,检测到STDBY1为低电平,从而使逻辑对象A处于反逻辑状态。
2.处于正逻辑状态的逻辑对象出现故障时的正反逻辑确定流程
处于正逻辑状态的逻辑对象A按照一定的周期进行故障检测,而处于反逻辑状态的逻辑对象只有在响应到正逻辑对象的逻辑状态准备改变时,才对自身的故障情况进行检测。逻辑对象根据故障检测的结果,决定是否要求冗余切换。
举例:处于正逻辑的逻辑对象A每隔100ms进行一次故障诊断,如果发现自身处于故障/异常状态,则立即进入故障时正逻辑对象的正反逻辑确定流程,进行正反逻辑状态的重新确定,将表示自身出现异常状态的信号发送给逻辑对象B;
此时处于反逻辑状态的逻辑对象B获悉逻辑对象A出现异常状态立即响应中断,进入故障时反逻辑对象的正反逻辑确定流程,检测自身的故障情况,并根据检测结果(即故障程度)确定逻辑状态。
逻辑对象A根据逻辑对象B的逻辑状态,进行故障程度比较,再次确定自身的逻辑状态。
根据需要重复上述步骤直到将故障程度较轻的逻辑对象确定为正逻辑状态。
逻辑对象在进行故障检测之后,按照一定的标准(如,故障对逻辑对象正常工作的影响程度),可以将该故障分成两级或者两级以上的故障程度。在本实施例中描述了三个故障等级:没有故障、轻度故障、严重故障的情况下,故障程度根据时序的不同,用逻辑对象A、B的各自与非门1、2的输出端电平高低来表示。例如其中一个时序中没有故障用低电平表示而轻度故障/严重故障用高电平表示;在另一个时序中轻度故障用低电平来表示而严重故障用高电平表示。当然在划分更多级故障程度时,则需要划分更多时序。
故障等级的比较方法时,逻辑对象可以通过判断另一个逻辑对象获得正逻辑状态的时间来获得另一个逻辑对象的故障等级信息,同时将另一个逻辑对象的故障等级与自身的故障等级进行比较,从而确定自身的工作状态。
以下结合图1、图4、图5、图6、图7来说明这种情况下的正反逻辑确定流程。
请参照图4所示,一个逻辑对象发生故障之前,逻辑对象A处于正逻辑状态,逻辑对象B处于反逻辑状态。执行步骤S401,逻辑对象A出现异常状态之后,逻辑对象A将表示自身出现异常状态的信号发送给逻辑对象B:中央处理器CPU1使与非逻辑电路1的第一输入端CON1为低电平,从而与非逻辑电路1的输出端WORK2输出高电平,表示逻辑对象A准备放弃工作权。逻辑对象B获得逻辑对象A的逻辑状态,若是异常状态则自检故障,获得自身的故障程度。
之后,两个逻辑对象进行故障程度比较(执行步骤S402),如果逻辑对象A的故障程度高于逻辑对象B的故障程度,则进行正反逻辑切换(执行步骤S403),以下进行详细说明。
2.1处于正逻辑状态的逻辑对象A发生故障后,逻辑对象A的逻辑状态确定流程(S805)包括以下步骤:
1)逻辑对象A延时等待;
2)读取逻辑对象B逻辑状态:
3)判断逻辑对象B与逻辑对象A的表示逻辑状态的逻辑值是否相同;
4)如果不同,则逻辑对象B的故障程度低于逻辑对象A的故障程度,将逻辑对象A确定为反逻辑状态;
5)如果相同,逻辑对象A对自身的故障程度进行判断,并再次确定逻辑状态;
6)判断逻辑对象A与逻辑对象B的表示逻辑状态的逻辑值是否相同;
7)如果不同,则逻辑对象A的故障程度低于或者等于逻辑对象B的故障
程度,将逻辑对象A确定为正逻辑状态;
8)如果相同,则重复步骤1)至7)直至完成逻辑对象逻辑状态的确定。
请参照图1、图5、图6,逻辑对象A发生故障之后,中央处理器CPU1控制与非逻辑电路1的第一输入端CON1为低电平,从而使与非逻辑电路1的输出端WORK1输出高电平,表示逻辑对象A准备进行正反逻辑切换。
2.1-1)执行步骤S601,逻辑对象A等待一段T/2时间(即第一时序),本实施例中,T是个经验值,关于T的确定及如何进行时序控制,后文进行描述。此外,此处时序控制也是延时控制,是为了使逻辑对象B有充足的时间响应(如,进行故障自检并确定其故障等级输出相应的逻辑状态);
2.1-2)执行步骤S602,中央处理器CPU1在这段时间T/2之后,读取表示逻辑对象B的逻辑状态的STDBY1的状态,从而判断逻辑对象B逻辑状态:
2.1-2-1)如果STDBY1为低电平,则说明逻辑对象B的故障程度低于逻辑对象A的故障程度,从而执行步骤S607将逻辑对象A确定为反逻辑状态。
2.1-2-2)如果STDBY1为高电平,执行步骤S603,逻辑对象A对自身的故障程度进行判断,如果逻辑对象A属于轻度故障,则说明逻辑对象A的故障程度低于或者等于逻辑对象B的故障程度,从而执行步骤S606,将逻辑对象A确定为正逻辑状态。同时,CPU1控制与非逻辑电路1的第一输入端CON1为高电平,与非逻辑电路1的输出端WORK1输出低电平,表明逻辑对象A处于正逻辑状态。
2.1-2-3)如果STDBY1为高电平,执行步骤S603,逻辑对象A对自身的故障程度进行判断,如果逻辑对象A处于严重故障,则执行步骤S604逻辑对象A继续等待,进入步骤S605;
2.1-3)逻辑对象A等待一段时间T(第二时序)之后,执行步骤S605再次判断逻辑对象B的故障程度,第二时序的作用与第一时序的作用相同。
2.1-3-1)如果STDBY1为低电平,则说明逻辑对象B的故障程度低于逻辑对象A的故障程度,从而执行步骤S607确定逻辑对象A为反逻辑状态。
2.1-3-2)如果STDBY1为高电平,则说明逻辑对象B属于严重故障或者正在复位中,从而执行步骤S606,确定逻辑对象A的逻辑状态为正逻辑状态。同时,CPU1控制与非逻辑电路1的第一输入端CON1为高电平,与非逻辑电路1的输出端WORK1输出低电平,表明逻辑对象A处于正逻辑状态。
2.2处于正逻辑状态的逻辑对象A发生故障后,逻辑对象B的逻辑状态确定流程(S903):
1)响应逻辑对象A的状态改变并进行故障检测;
2)逻辑对象B根据故障程度确定逻辑状态;
3)如果逻辑对象B为正逻辑状态,并通知逻辑对象A;
4)如果逻辑对象B为反逻辑状态,逻辑对象B开始延时等待;
5)逻辑对象B再次判断逻辑对象A的逻辑状态;
6)如果逻辑对象A处于正逻辑状态,逻辑对象B确定为反逻辑状态;
7)如果逻辑对象A处于反逻辑状态,则重复步骤1)至6)直至完成逻辑对象B逻辑状态的确定。
参照图1、图5、图7及图9所示,如果逻辑对象B处于复位中,则按照一个逻辑对象复位时正反逻辑状态的确定流程来确定正反逻辑状态。否则,
2.2-1)逻辑对象B将检测到STDBY2从低电平变为高电平,从而使CPU2进入中断(执行步骤S901),快速响应逻辑对象A的状态改变并执行步骤S902进行故障检测。下面是S903的具体步骤:
2.2-2)执行步骤S701逻辑对象B判断自身是否存在故障。
2.2-2-1)如果逻辑对象B没有故障,则执行步骤S707确定逻辑对象B为正逻辑状态。同时,中央处理器CPU2控制与非逻辑电路2的第一输入端CON2为高电平,从而与非逻辑电路2输出低电平,通知逻辑对象A,逻辑对象B处于正逻辑状态。
2.2-2-2)如果逻辑对象B存在故障,则执行步骤S702,逻辑对象B开始等待,进入步骤S703;
2.2-3)逻辑对象B在一段时间T(第二时序)之后,执行S703再次判断逻辑对象A的逻辑状态:
2.2-3-1)如果逻辑对象A处于正逻辑状态,则执行步骤S708逻辑对象B确定为反逻辑状态;
2.2-3-2)如果逻辑对象A处于反逻辑状态,则执行步骤S704判断逻辑对象B是否轻度故障,如果逻辑对象B处于轻度故障,则执行步骤S707逻辑对象B确定为正逻辑状态。同时,中央处理器CPU2控制与非逻辑电路2的第一输入端CON2为高电平,从而与非逻辑电路2输出低电平,通知逻辑对象A,逻辑对象B处于正逻辑状态。
2.2-3-3)如果逻辑对象A处于反逻辑状态,且逻辑对象B不是轻度故障,则执行步骤S705逻辑对象B继续等待,进入步骤S706;
2.2-4)逻辑对象B一段时间T(第四时序)之后,执行步骤S706再次判断逻辑对象A的逻辑状态:
2.2-4-1)如果逻辑对象A处于正逻辑状态,则执行步骤S708,逻辑对象B确定为反逻辑状态;
2.2-4-2)如果逻辑对象A处于反逻辑状态,则执行步骤S707逻辑对象B认为逻辑对象A处于复位状态,逻辑对象B确定为正逻辑状态。
同时,中央处理器CPU2控制与非逻辑电路2的第一输入端CON2为高电平,从而与非逻辑电路2输出低电平,通知逻辑对象A,逻辑对象B处于正逻辑状态。
2.2处于正逻辑状态的逻辑对象掉电后的正反逻辑确定流程(见图9)
处于正逻辑状态的逻辑对象掉电后,正反逻辑确定的关键在于,处于反逻辑状态的逻辑对象能快速的检测到正逻辑对象的掉电状态。在本实施例中将正逻辑状态的逻辑对象A掉电列入逻辑对象A出现故障时的处理。因为逻辑对象掉电,该故障不需要进行故障比较,所以切换逻辑对象B为正逻辑,其流程为图9所示,不再赘述。
请参阅图1,处于正逻辑状态的逻辑对象A掉电之后,与非逻辑电路2第三输入端STDBY2从低电平变为高电平,从而使CPU2进入中断(执行步骤S901)。逻辑对象B一段时间5T/2(即延时一段时间,第五时序)后,再次检测到STDBY2为高电平,从而获知逻辑对象A处于掉电状态,确定逻辑对象B的逻辑状态为正逻辑状态。同时,中央处理器CPU2控制与非逻辑电路2的第一输入端CON2为高电平,从而与非逻辑电路2输出端WORK2为低电平,通知逻辑对象A,逻辑对象B处于正逻辑状态。
2.3处于正逻辑状态的逻辑对象出现故障时的正反逻辑确定时间长度
请参阅图5,从逻辑对象A出现故障时,开始计时:
逻辑对象B在没有故障的情况下,在纳秒级时间内确定自身的逻辑状态为正逻辑状态,同时T/2时间(第一时序)后确定逻辑对象A为反逻辑状态;
逻辑对象B在存在故障的情况下,要进行两个逻辑对象故障程度的比较再确定两个逻辑对象正反逻辑状态,具体分为四种情况:
a、处于正逻辑状态的逻辑对象A故障程度较轻的情况下,需要T/2的时间(第一时序)可确定自身的逻辑状态为正逻辑状态,同时再经过T/2时间(第二时序)后确定逻辑对象B为反逻辑状态;
b、处于正逻辑状态的逻辑对象A故障程度较重的情况下,对逻辑对象B进行判断,如果逻辑对象B为轻度故障,需要T时间(第二时序)确定自身的逻辑状态为正逻辑状态,同时再经过T/2时间(第三时序)后确定逻辑对象A为反逻辑状态;
c、处于正逻辑状态的逻辑对象A故障程度较重的情况下,对逻辑对象B进行判断,如果逻辑对象B亦为严重故障,且严重程度相当,则需要3T/2的时间(第三时序)确定逻辑对象A为正逻辑状态,再经过T/2时间(第四时序)后确定逻辑对象B为反逻辑状态;
d、处于正逻辑状态的逻辑对象A故障程度较重的情况下,对逻辑对象B进行判断,如果逻辑对象B亦为严重故障,但程度低于逻辑对象A故障等级,则需要2T的时间(第四时序)确定逻辑对象B为正逻辑状态,同样在再经过T/2时间(第五时序)后可确定逻辑对象A为反逻辑状态。
关于时序的控制有很多方法,如现有技术所采用的定时器,但这种方式必然导致频繁进入中断,太占资源。由于本发明不需要准确的计时,所以只需要简单的写一段空循环程序即可。如:
for(i=0;i<3;i++);
这一段空循环操作,对10M晶振的逻辑对象来说,已经有大约10us的延时,已经满足时序控制的要求,这样可以快速确定逻辑对象的逻辑状态。
3.手动切换流程
该手动切换流程主要包括以下步骤:
逻辑对象在接收到上位机发送的正反逻辑切换命令;
处于正逻辑状态的逻辑对象A立即确定为反逻辑状态,并通知逻辑对象B;处于反逻辑状态的逻辑对象B逻辑对象A的状态改变,进行延时等待;
逻辑对象B再次检测到逻辑对象A为反逻辑状态,则确定自身为正逻辑状态。
具体举例如下:
逻辑对象在接收到上位机发送的正反逻辑切换命令之后,立即进行正反逻辑切换。处于正逻辑状态的逻辑对象A立即确定为反逻辑状态,中央处理器CPU1控制与非逻辑电路1的第一输入端CON1为低电平,与非逻辑电路1的输出端WORK1输出高电平。同时,处于反逻辑状态的逻辑对象B快速响应逻辑对象A的状态改变,一段时间后,逻辑对象B再次检测到STDBY2为高电平,从而确定自身为正逻辑状态。
综上所述,本发明的优点是:
1.能够在几十微秒的时间内确定正反逻辑状态;
2.根据故障等级进行正反逻辑切换;
3.能快速确定两个逻辑对象同时上电时的逻辑状态;
4.实现基于手动控制的正反逻辑切换;
5.两个逻辑对象在同时启动之前是完全对等的关系;
6.具有正反逻辑状态锁定功能;
7.实现正反逻辑切换的逻辑电路简单,实现成本低廉。

Claims (10)

1.一种冗余切换控制方法,其特征在于该方法包括以下步骤:
1)检测到正逻辑状态的逻辑对象A出现异常状态;
2)逻辑对象A将表示自身出现异常状态的信号发送给另一个逻辑对象B;
3)另一个逻辑对象B获悉逻辑对象A出现异常状态,进行逻辑对象B的故障检测,并根据自身的故障程度确定逻辑状态;
4)逻辑对象A根据逻辑对象B的逻辑状态,进行故障程度比较,再次确定自身的逻辑状态;
5)根据需要重复步骤1)-4)直到将故障程度较轻的逻辑对象确定为正逻辑状态。
2.如权利要求1所述的冗余切换控制方法,其特征在于:步骤4)进一步包括如下步骤:
4-1)逻辑对象A延时等待;
4-2)读取逻辑对象B逻辑状态:
4-3)判断逻辑对象B与逻辑对象A的表示逻辑状态的逻辑值是否相同;
4-4)如果不同,则逻辑对象B的故障程度低于逻辑对象A的故障程度,将逻辑对象A确定为反逻辑状态;
4-5)如果相同,逻辑对象A对自身的故障程度进行判断,并再次确定逻辑状态;
4-6)判断逻辑对象A与逻辑对象B的表示逻辑状态的逻辑值是否相同,
4-7)如果不同,则逻辑对象A的故障程度低于或者等于逻辑对象B的故障程度,将逻辑对象A确定为正逻辑状态;
4-8)如果相同,则重复步骤4-1)至4-7)直至完成逻辑对象A逻辑状态的确定。
3.如权利要求2所述的冗余切换控制方法,其特征在于:步骤3)具体包括如下步骤:
3-1)响应逻辑对象A的状态改变并进行故障检测;
3-2)逻辑对象B根据故障程度确定逻辑状态;
3-3)如果逻辑对象B为正逻辑状态,并通知逻辑对象A;
3-4)如果逻辑对象B为反逻辑状态,逻辑对象B开始延时等待;
3-5)逻辑对象B再次判断逻辑对象A的逻辑状态;
3-6)如果逻辑对象A处于正逻辑状态,逻辑对象B确定为反逻辑状态;
3-7)如果逻辑对象A处于反逻辑状态,则重复步骤3-1)至3-6)直至完成逻辑对象B逻辑状态的确定。
4.如权利要求3所述的冗余切换控制方法,其特征在于:该方法还包括复位时逻辑对象逻辑状态确定流程,该流程包括逻辑对象同时复位流程及一个逻辑对象复位流程。
5.如权利要求4所述的冗余切换控制方法,其特征在于:逻辑对象同时复位流程包括以下步骤:
逻辑对象都处于复位状态;
一个逻辑对象率先结束复位状态,并把该逻辑对象确定为正逻辑;通知另一个逻辑对象,并确定另一逻辑对象为反逻辑。
6.如权利要求5所述的冗余切换控制方法,其特征在于:一个逻辑对象复位流程包括以下步骤:
处于正逻辑状态的逻辑对象A复位,改变逻辑状态值,并通知逻辑对象B;
逻辑对象B的复位判断;
如果逻辑对象B处于复位状态,则此时两个逻辑对象同时在复位,按照逻辑对象同时复位流程确定逻辑状态;
如果逻辑对象B不处于复位状态,两个逻辑对象进行正反逻辑切换。
7.如权利要求6所述的冗余切换控制方法,其特征在于:该方法还包括手动切换流程,该流程包括以下步骤:
逻辑对象在接收到上位机发送的正反逻辑切换命令;
处于正逻辑状态的逻辑对象A立即确定为反逻辑状态,并通知逻辑对象B;处于反逻辑状态的逻辑对象B逻辑对象A的状态改变,进行延时等待;
逻辑对象B再次检测到逻辑对象A为反逻辑状态,则确定自身为正逻辑状态。
8.如权利要求7所述的冗余切换控制方法,其特征在于:逻辑对象故障检测结果分成两级或者两级以上的故障程度,并根据时序的不同,用逻辑对象的逻辑状态值表示。
9.如权利要求8所述的冗余切换控制方法,其特征在于:逻辑对象的掉电状况列入故障状况进行处理。
10.一种冗余切换控制电路,该电路包括一组与非逻辑电路和中央处理器,其特征在于,
与非逻辑电路分别对应逻辑对象,具有三个输入端:
第一个输入端传输控制信号,由中央处理器控制;
第二个输入端传输复位信号,由逻辑对象的复位芯片控制,逻辑对象复位时,相应的第二个输入端为低电平;
第三个输入端传输状态信号,与相对逻辑对象与非逻辑电路的输出端相连,该第三个输入端为低电平时,表示相对逻辑对象处于或即将处于正逻辑状态;
第三输入端同时连接各自对应中央处理器的一个外中断输入端,快速响应逻辑对象的逻辑状态改变。
CNB03146369XA 2003-07-10 2003-07-10 冗余切换控制方法及电路 Expired - Lifetime CN1303532C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB03146369XA CN1303532C (zh) 2003-07-10 2003-07-10 冗余切换控制方法及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB03146369XA CN1303532C (zh) 2003-07-10 2003-07-10 冗余切换控制方法及电路

Publications (2)

Publication Number Publication Date
CN1591348A true CN1591348A (zh) 2005-03-09
CN1303532C CN1303532C (zh) 2007-03-07

Family

ID=34597498

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03146369XA Expired - Lifetime CN1303532C (zh) 2003-07-10 2003-07-10 冗余切换控制方法及电路

Country Status (1)

Country Link
CN (1) CN1303532C (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430550B (zh) * 2007-03-30 2010-12-01 哈尔滨工程大学 发动机冗余电控系统切换控制方法
CN101291203B (zh) * 2008-06-04 2012-07-18 中兴通讯股份有限公司 一种sdh设备中增强扩展子架管理的主控板倒换方法
CN101296065B (zh) * 2008-06-19 2012-10-03 浙江中控技术股份有限公司 一种提高冗余主站可靠性的方法及系统
CN103513593A (zh) * 2013-10-08 2014-01-15 潍柴动力股份有限公司 在双控制器场景中实现控制的方法和装置
CN104536358A (zh) * 2014-12-17 2015-04-22 中船航海科技有限责任公司 船用自动操舵仪双操舵控制信号的自动切换方法及装置
CN105573112A (zh) * 2015-12-09 2016-05-11 中车大连机车研究所有限公司 内燃机车励磁控制器双机热冗余自动切换系统
CN106647351A (zh) * 2016-10-19 2017-05-10 浙江中控技术股份有限公司 一种冗余切换电路
CN110515295A (zh) * 2019-07-25 2019-11-29 南京南瑞继保电气有限公司 一种动态可配置的冗余io模块的方法
CN113341688A (zh) * 2021-08-06 2021-09-03 浙江中控技术股份有限公司 工业控制系统的冗余控制电路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4719629A (en) * 1985-10-28 1988-01-12 International Business Machines Dual fault-masking redundancy logic circuits
JP3141472B2 (ja) * 1991-12-03 2001-03-05 日本電気株式会社 切替制御方式

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430550B (zh) * 2007-03-30 2010-12-01 哈尔滨工程大学 发动机冗余电控系统切换控制方法
CN101291203B (zh) * 2008-06-04 2012-07-18 中兴通讯股份有限公司 一种sdh设备中增强扩展子架管理的主控板倒换方法
CN101296065B (zh) * 2008-06-19 2012-10-03 浙江中控技术股份有限公司 一种提高冗余主站可靠性的方法及系统
CN103513593A (zh) * 2013-10-08 2014-01-15 潍柴动力股份有限公司 在双控制器场景中实现控制的方法和装置
CN103513593B (zh) * 2013-10-08 2016-01-13 潍柴动力股份有限公司 在双控制器场景中实现控制的方法和装置
CN104536358A (zh) * 2014-12-17 2015-04-22 中船航海科技有限责任公司 船用自动操舵仪双操舵控制信号的自动切换方法及装置
CN105573112A (zh) * 2015-12-09 2016-05-11 中车大连机车研究所有限公司 内燃机车励磁控制器双机热冗余自动切换系统
CN106647351A (zh) * 2016-10-19 2017-05-10 浙江中控技术股份有限公司 一种冗余切换电路
CN110515295A (zh) * 2019-07-25 2019-11-29 南京南瑞继保电气有限公司 一种动态可配置的冗余io模块的方法
CN113341688A (zh) * 2021-08-06 2021-09-03 浙江中控技术股份有限公司 工业控制系统的冗余控制电路

Also Published As

Publication number Publication date
CN1303532C (zh) 2007-03-07

Similar Documents

Publication Publication Date Title
CN1152305C (zh) 虚拟机系统
CN1303532C (zh) 冗余切换控制方法及电路
CN1260633C (zh) 图像形成设备和功率控制方法
CN1046987A (zh) 可编程控制器
CN1549976A (zh) 通用串行端口体系结构和系统
CN1147785C (zh) 执行多个指令流的多程序流程同时处理器
CN1760836A (zh) 信息处理系统、信息处理方法和程序
CN1993670A (zh) 信息处理装置
CN1577193A (zh) 安全控制器及利用此控制器的系统
CN1484147A (zh) 实现自动开关机测试的系统及方法
CN1264078A (zh) 执行多个操作系统的计算机
CN1896898A (zh) 恒压电路,设有多个恒压电路的电源系统装置及其控制方法
CN1073272A (zh) 分布式控制系统
CN1916963A (zh) 支持多个图型处理单元方法与系统
CN1591374A (zh) 直接存储器存取传输控制器
CN1838077A (zh) 可调度性确定方法和实时系统
CN1252144A (zh) 一可编程组件中可构元件的自同步方法
CN1089203C (zh) 复制控制器及其故障恢复方法
CN1595759A (zh) 电池充电控制电路、电池充电设备和电池充电控制方法
CN1164708A (zh) 计算机系统及其软件故障恢复方法
CN1416138A (zh) 半导体装置
CN1703657A (zh) 在多事件同时发生期间确定竞争性原因事件的概率和/或系统有效性的方法
CN1256762C (zh) 芯片频率调整的方法
CN1818884A (zh) 计算机、io扩展装置和io扩展装置的连接识别方法
CN1385871A (zh) 半导体继电器及该半导体继电器的控制方法

Legal Events

Date Code Title Description
ASS Succession or assignment of patent right

Owner name: ZHEJIANG ZHONGKONG TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: ZHEDA CENTRLA CONTROL TECHNOLOGY CO LTD, ZHEJIANG

Effective date: 20041203

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20041203

Address after: Hangzhou City, Zhejiang Province, No. 252 Wensanlu Road Weixing building 21 floor

Applicant after: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd.

Address before: Hangzhou City, Zhejiang Province, No. 252 Wensanlu Road Weixing building 21 floor

Applicant before: ZHEDA ZHONGKONG TECHNOLOGY Co.

C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: Central control science and Technology Park (hi tech Zone), No. six, No. 309, Binjiang District Road, Zhejiang, Hangzhou

Patentee after: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd.

Address before: No. six, No. 309, Binjiang District Road, Hangzhou, Zhejiang

Patentee before: ZHEJIANG CENTRAL CONTROL TECHN

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190516

Address after: 310053 No. 309 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Co-patentee after: ZHEJIANG University

Patentee after: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd.

Address before: 310053 Zhejiang Binjiang District Hangzhou six Road 309 central control science and Technology Park (high tech Zone)

Patentee before: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070307