一种三取二安全输出的表决结构及其表决方法
技术领域
本发明涉及一种三取二的表决结构及其表决方法。
背景技术
目前的工业控制系统绝大多数都是计算机控制系统,采用容错技术可显著地提高其可靠性和可用性。但系统一旦不能正常工作,有可能向被控设备输出危险的控制信号,从而造成人员伤亡和财产损失。因此铁路、石化、钢铁等领域要求工业控制计算机系统不仅是高可靠和高可用的容错系统,同时也是故障安全系统。
硬件失效,电磁干扰以及软件代码中的隐含错误导致的故障是不可避免的。为了提高系统的可靠性,会采取容错技术加以屏蔽。容错就是当系统中某些指定的硬件发生故障或软件出现错误时,系统仍能正确地执行规定的一组程序或算法,当然这些指定的硬件或软件是经过冗余设计的。因此避错和容错技术是提高计算机系统可靠性的2种主要技术手段。尤其是容错技术,它是构造高可靠和高安全计算机系统强有力的直接手段,因此在设计计算机系统时应采用故障检测、故障屏蔽及故障恢复等容错技术。
2oo3结构又称三模冗余结构(Triple Modular Redundancy,TMR),也称三取二结构。三个模块同时执行一样的操作,以多数相同的输出作为该表决系统的正确输出,这是基于“少数服从多数”的纠错原理,可以屏蔽任意一个通道的故障。像计算机这种非故障-安全的设备,设备故障(包括软、硬件故障)可能有错误输出。而三取二结构只要不出现两个性质完全相同的错误,就能保证系统是正确输出的。因为出现两种同样性质错误的概率一般是非常小的。对于安全性输出可通过故障-安全输出控制电路和2oo3表决器来共同保证其故障-安全特性。
为了实现上述的方案,出现了一种三取二安全输出的表决结构,如图1,包括两个二极管和四个固态继电器;固态继电器两两串联后并联,利用三系主机输出三组控制信号控制三个固态继电器,再通过二系主机输出两组控制信号的逻辑运算后控制另一个固态继电器,实现三取二安全输出。该表决结构还包括三个光电耦合器,三个光电耦合器用来接收所述的表决电压信号并输出反馈信号,供三系进行输出反馈检查,从而检测表决结构是否存在故障。
上述的表决结构虽然可以实现三取二输出,但在检测方面存在缺陷,三个用来检测的光电耦合器只能检测到最终经过表决的输出信号,不能对单个固态继电器进行检测,如果单个固态继电器发生故障,可能会出现系统检测不出的情况出现。例如,当SSR1固态继电器故障,三系的信号可以通过SSR2、SSR4固态继电器进行输出,而检测系统也可以检测到系统输出的信号,而SSR1固态继电器的故障就无法被发现,成为一个安全隐患。即使当检测系统检测到系统输出出现问题时,也只能判断是这4个固态继电器出现了问题,而不能判断到底是哪一个出现了问题,这样会加大系统的维护时间,从而降低系统的可维修性。
发明内容
针对现有技术存在的问题,本发明的目的之一在于提供一种既能实现三取二输出又可以对三取二表决结构自检的三取二安全输出的表决结构。
本发明的另一目的在于提供一种上述三取二安全输出的表决结构的表决、自检方法。
为实现上述目的,本发明的三取二安全输出的表决结构包括三个功能模块,
第一功能模块用于接入外部设备的第一控制信号、第二控制信号和电源电压信号,并对第一控制信号和第二控制信号进行与操作;
第二功能模块用于接入外部设备的第二控制信号、第三控制信号和电源电压信号,并对第二控制信号和第三控制信号进行与操作;
第三功能模块用于接入外部设备的第一控制信号、第三控制信号和电源电压信号,并对第三控制信号和第一控制信号进行与操作;
三个功能模块的输出端相连并输出表决电压信号;每一功能模块的输出还引出一反馈端,自反馈端输出各自的自检信号。
进一步,所述第一控制信号、第二控制信号和第三控制信号均包括第一子控制信号和第二子控制信号,当所述表决结构表决输出时,接入的第一子控制信号和第二子控制信号相同;当所述表决结构自检时,接入的第一子控制信号和第二子控制信号相同或不同。
进一步,所述三个功能模块为三个光电继电器,每个光电继电器包括两个控制端、一电源电压信号输入端和一输出端,每个光电继电器的两个控制端接入控制三个光电继电器通断的一组控制信号,三个光电继电器的输出端相连并输出表决电压信号。
进一步,每个功能模块由第一、第二光电继电器串联而成,第一、第二光电继电器包括一控制端和一输出端,第一光电继电器的控制端、第二光电继电器的控制端分别接入一控制第一光电继电器和第二光电继电器通断的一控制信号,第一光电继电器的输出端前极接入所述外部设备的电源电压信号,第一光电继电器的输出端后极和第二光电继电器的输出端前极相连,每个功能模块的第二光电继电器的输出端后极相连并输出表决电压信号。
本发明的三取二安全输出的表决结构的表决方法,包括如下步骤:
1)获取第一控制信号、第二控制信号和第三控制信号,第一控制信号、第二控制信号和第三控制信号分别包括第一子控制信号和第二子控制信号;
2)对第一功能模块、第二功能模块和第三功能模块进行上电自检:
利用第一控制信号的第一子控制信号和第二控制信号的第一子控制信号控制第一功能模块的通断;第二控制信号的第二子控制信号和第三控制信号的第一子控制信号控制第二功能模块的通断;第三控制信号的第二子控制信号和第一控制信号的第二子控制信号控制第三功能模块的通断;
3)向第一控制信号、第二控制信号和第三控制信号输入不同的自检序列,根据第一功能模块、第二功能模块和第三功能模块的反馈端反馈的自检信号判断第一功能模块、第二功能模块和第三功能模块是否发生故障;
4)自检完成后,第一控制信号、第二控制信号和第三控制信号输入表决序列,并由第一功能模块、第二功能模块和第三功能模块的输出端输出表决结果。
进一步,当自检序列输出第一控制信号的第一子控制信号和第二控制信号的第一子控制信号均为高电平时,若第一功能模块的反馈端输出低电平,则判断第一功能模块发生断路;当自检序列输出第一控制信号的第一子控制信号和第二控制信号的第一子控制信号均为零电平时,若第一功能模块的反馈端输出高电平,则判断第一功能模块发生短路;
当自检序列输出第二控制信号的第二子控制信号和第三控制信号的第一子控制信号均为高电平时,若第二功能模块的反馈端输出低电平,则判断第二功能模块发生断路;当自检序列输出第二控制信号的第二子控制信号和第三控制信号的第一子控制信号均为零电平时,若第二功能模块的反馈端输出高电平,则判断第二功能模块发生短路;
当自检序列输出第三控制信号的第二子控制信号和第一控制信号的第二子控制信号均为高电平时,若第三功能模块的反馈端输出低电平,则判断第三功能模块发生断路;当自检序列输出第三控制信号的第二子控制信号和第一控制信号的第二子控制信号均为零电平时,若第三功能模块的反馈端输出高电平,则判断第三功能模块发生短路。
本发明的三取二安全输出的表决结构及其表决方法,既能够实现三取二输出表决,又可以对表决结构中的元件进行短路和断路检查,可以大大提高输出系统维护的效率。
附图说明
图1为现有技术三取二安全输出的表决结构的示意图;
图2为本发明实施例1的示意图;
图3为本发明实施例2的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不是限制本发明的范围。
实施例1
如图2所示,本发明的三取二安全输出的表决结构,包括J1-J6六个光电继电器,光电继电器包括两个二极管和两个MOS管,每一二极管对应一MOS管,两个MOS管引出1、2、3、4四个管脚,两个MOS管引出5、6、7、8四个管脚,R1-R12为12个限流电阻,以光电继电器J1为例,第一路的管脚1、2分别连接主机A的控制信号OUTA1和信号地;第一路管脚8、7分别连接安全5V电源和第二路管脚3;第二路管脚4连接信号地;第二路管脚6连接安全24V电源正;第二路管脚5连接反馈1及光电继电器J2第二路管脚6,以此类推,组成了一个安全输出的表决阵列。为了保证输出表决的安全性,图中的24V、5V都是安全电源,安全电源由三系主机动态信号控制,当三系主机出现故障时,电源会被切断。5V电源用来推动光电继电器,而24V电源是用来推动后级机械式继电器线圈。
当系统需要进行输出时,三系主机会分别通过IO管脚输出控制命令。每一系主机会输出两个输出信号,如A系的控制信号为OUTA1、OUTA2。在系统正常运行时,同一系的这两个输出信号都是一样的。当OUTA1输出控制信号1时,会通过限流电阻导通J1的第一个发光二极管,而发光二极管通过发光将J1的第一个MOS管导通,此时,安全5V会通过限流电阻先导通第一个MOS管,再导通第二个发光二极管,第二个发光二极管再通过发光将第二个MOS管导通,24V通过此MOS管输出,驱动外部执行机构进行输出,而外部执行机构一般都选用机械继电器,另外五组输出控制信号的输出原理与之相同。
从图2可知,当一系输出出现故障时,此三取二表决系统会发挥作用。我们假设,A、B系均输出继电器吸起的命令,即OUTA1、OUTA2、OUTB1、OUTB2均为1;而C系发生故障,OUTC1、OUTC2均为0(无输出)。这时表决阵列发挥作用,系统输出1。
本发明为了能够对六个光电继电器实现自检,在每一光电继电器的输出端上游均引出一反馈端,以对每一光电继电器的状态进行分别检查。当六个光电继电器阵列其中一列的两个光电继电器出现短路故障时,会导致系统一直输出高电平,从而导向危险侧。
自检的目的主要是为了防止这种情况发生。光电继电器的故障主要有两种,一种是短路,一种是断路,对输出板光电继电器表决阵列的检测需要三系主机的共同动作,同步输出、同步检测。由于输出阵列驱动后级的机械继电器寿命没有光电继电器长,这就要求输出阵列控制的机械继电器在光电继电器自检时一定不能吸起(如果此时吸起,一是影响机械继电器寿命,每次上电都要吸起一次;二是可能造成一些意想不到的问题)。光电继电器检查的原理是:光电继电器的响应时间比机械继电器要快的多,当光电继电器导通时,机械继电器并未导通。可以令输出系统只在快于机械继电器的响应时间的短暂时间内(4ms左右)输出自检信号,而此时机械继电器是不会动作的,这时检测光电继电器的反馈信号就可以对光电继电器的状态做出判断。
对每组光电继电器按照以下顺序输出,对输出和反馈结果进行记录。一共顺序输出8组。每组输出的时间4ms,因时间有一定误差,输出前后各延时4ms,输出后归零。顺序是:输出前先等待4ms,然后输出,再等待4ms,读出数据;输出零,再等待4ms,一共13ms。防止机械继电器动作。
8组自检序列如下表格,通过第0组~第1组输出后的反馈数据,可以用来判断J1、J3、J5的状态,所以此3个光电继电器可以一起进行判断;第2组~第7组输出后的反馈数据,可以用来判断J2、J4、J6的状态,因为J2、J4、J6的反馈信号与此阵列输出为同一路,所以此3个光电继电器需要分别进行判断;短路判断时,反馈出现“1”时即认为短路;断路判断时,反馈出现“0”时即认为断路。
第0组输出时,可以对J1、J3、J5进行断路判断,如自检时OUTA1、OUTB2和OUTC2输入“1”,OUTB1、OUTC1、OUTA2输入“0”,若J1、J3、J5的反馈端输出为“0”,则可以判断出J1、J3、J5发生了断路。第1组输出时,可以对J1、J3、J5进行短路判断,如自检时OUTA1、OUTB2和OUTC2输入“0”,OUTB1、OUTC1、OUTA2输入“0”,若J1、J3、J5的反馈端输出为“1”,则可以判断出J1、J3、J5发生了短路。如果检测到J1、J3和J5发生故障,为了不影响对J2、J4、J6的自检结果,需要先对J1、J3和J5进行维修,待J1、J3和J5无故障后再对与其串联的J2、J4和J6进行自检。
第2组自检序列输出可以对J2进行断路判断,如自检时OUTB1输入“1”,OUTA1、OUTB2、OUTC2、OUTC1和OUTA2输入“0”,若J2的反馈端输出为“0”,则可以判断出J2发生了断路;第3组自检序列输出可以对J2进行短路判断,如自检时OUTB1输入“0”,若J2的反馈端输出为“1”,则可以判断出J2发生了短路。
第4组自检序列输出可以对J4进行断路判断,如自检时OUTC1输入“1”,若J4的反馈端输出为“0”,则可以判断出J4发生了断路;第5组自检序列输出可以对J4进行短路判断,如自检时OUTC1输入“0”,若J4的反馈端输出为“1”,则可以判断出J4发生了短路。
第6组自检序列输出可以对J6进行断路判断,如自检时OUTA2输入“1”,若J6的反馈端输出为“0”,则可以判断出J6发生了断路;第7组自检序列输出可以对J6进行短路判断,如自检时OUTA2输入“0”,若J6的反馈端输出为“1”,则可以判断出J6发生了短路。
经过输出自检之后,系统可以检查出每个光电继电器是否出现故障和每个故障的类型,这样可以大大缩短系统的维修时间,提高了系统的可维护性,保证了表决结构表决结果的准确性。
实施例2
此方案还可以简化为由3个光电继电器组成的三取二输出阵列,如图3所示,J1-J3为3个光电继电器,光电继电器包括两个二极管和两个MOS管,每一二极管对应一MOS管,两个MOS管引出1、2、3、4四个管脚,两个MOS管引出5、6、7、8四个管脚,R1-R6为6个限流电阻,以光电继电器J1为例,第一路的管脚1、2分别连接主机A的控制信号OUTA1和信号地;第一路管脚8、7分别连接主机B的控制信号OUTB1和第二路管脚3;第二路管脚4连接信号地;第二路管脚6连接安全24V电源正;第二路管脚5连接反馈1及光电继电器J2、光电继电器J3的第二路管脚5,以此类推,组成了一个安全输出的表决阵列。
当系统需要进行输出时,三系主机会分别通过IO管脚输出控制命令。考虑到既要进行表决,又方便进行自检,每一系主机会输出两个输出信号,如A系的控制信号为OUTA1、OUTA2。在系统进行表决输出时,同一系的这两个输出信号都是一样的。当OUTA1输出控制信号1时,会通过限流电阻导通J1的第一个发光二极管,而发光二极管通过发光将J1的第一个MOS管导通,此时,OUTB1会通过限流电阻先导通第一个MOS管,再导通第二个发光二极管,第二个发光二极管再通过发光将第二个MOS管导通,24V通过此MOS管输出,驱动外部执行机构进行输出,而外部执行机构一般都选用机械继电器,另外两组输出控制信号的输出原理与之相同。
从图2可知,当一系输出出现故障时,此三取二表决系统会发挥作用。我们假设,A、B系均输出继电器吸起的命令,即OUTA1、OUTA2、OUTB1、OUTB2均为1;而C系发生故障,OUTC1、OUTC2均为0(无输出)。这时表决阵列发挥作用,系统输出1。
当需要对表决阵列进行自检时,每一系主机输出的两个控制信号根据故障类型进行选择,输出控制信号的原则如下表的6组自检序列,第0组~第1组输出后的反馈数据,可以用来判断J1的状态;第2组~第3组输出后的反馈数据,可以用来判断J2的状态;第4组~第5组输出后的反馈数据,可以用来判断J3的状态;短路判断时,反馈出现“1”时即认为短路;断路判断时,反馈出现“0”时即认为断路。
第0组输出时,可以对J1进行断路判断,如自检时OUTA1、OUTB1输入“1”,若J1的反馈端输出为“0”,则可以判断出J1发生断路。第1组输出时,可以对J1进行短路判断,如自检时OUTA1、OUTB1输入“0”,若J1的反馈端输出为“1”,则可以判断出J1发生了短路。同理,第2组输出时,可以对J2进行断路判断。第3组输出时,可以对J2进行短路判断。第4组输出时,可以对J3进行断路判断。第5组输出时,可以对J3进行短路判断。