CN103238122B - 安全装置、安全装置的运算方法 - Google Patents
安全装置、安全装置的运算方法 Download PDFInfo
- Publication number
- CN103238122B CN103238122B CN201180056641.3A CN201180056641A CN103238122B CN 103238122 B CN103238122 B CN 103238122B CN 201180056641 A CN201180056641 A CN 201180056641A CN 103238122 B CN103238122 B CN 103238122B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- computing
- end value
- value
- operational part
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
- G05B19/0425—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/14—Plc safety
- G05B2219/14014—Redundant processors and I-O
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/14—Plc safety
- G05B2219/14136—Redundancy, masking redundancy, avoid failure but no fault detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24182—Redundancy
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24189—Redundant processors monitor same point, common parameters
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24191—Redundant processors are different in structure
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
一种安全装置,包括第1运算部、第2运算部、输出控制部、以及具备该第1运算部及第2运算部的第1中央运算处理装置。第1运算部与第2运算部是不同的硬件。第1运算部对从控制对象检测到的检测值进行第1运算,从而取得第1结果值。第2运算部对检测值进行第2运算,从而取得第2结果值,判定第1结果值与第2结果值是否一致。输出控制部在上述第2运算部判定为上述第1结果值与上述第2结果值一致的情况下,输出上述第1结果值。第2运算部在上述第2运算部判定为上述第1结果值与上述第2结果值不一致的情况下,不输出上述第1结果值。
Description
技术领域
本发明涉及一种安全装置及安全装置的运算方法。
本申请基于2011年1月31日在日本申请的日本特愿2011-018220号,并主张其优先权,其内容援引到本说明书中。
背景技术
在火力发电厂等中,作为监视工厂的状态并检测异常来使工厂安全地停止的安全装置,适用电子式的安全装置。工厂的安全装置要求高可靠性,因此在国际功能安全规格IEC61508等中规定有要求事项。因此使工厂的利用者遵守这些安全规格的要求在逐渐增加。
在电子式的安全装置中,为了提高其可靠性,通常采用运算安全功能的逻辑的电子式的安全装置的运算装置(在CPU板上使软件动作来实现)的多重设置。在非专利文献1中,将运算装置单体并联设置在实现多重设置,在各运算装置进行自我诊断之后,运算装置相互比较运算结果,从而检测运算装置的故障。由此,在非专利文献1中所记载的安全装置(控制装置)中,降低了安全功能应发挥作用时由于故障而不动作的概率。
图16是背景技术的安全装置的结构图。如图16所示,非专利文献2的安全装置900在一个系统内为了降低安全功能应发挥作用时由于故障而不动作的概率,用不同的技术构成相同的功能。不同的技术是指,例如,如图16所示,由半导体开关构成执行侧的输出开关SWa1,由机械开关构成待机侧的输出开关SWa2。此外,非专利文献2中所记载的发明也如图16所示运算装置(CPU)被并联连接而多重设置。这样,非专利文献2的安全装置900去除硬件的共同部来降低安全功能应发挥作用时由于故障而不动作的概率。
一般情况下,若在多重设置的各运算装置上搭载同一软件,则会成为共模故障的原因,因此存在妨碍实现高可靠性的问题。共模故障是指,由于具有共同的应用程序,因此具有共同的故障原因。因此,专利文献1中所记载的发明在N个多重化装置中分别搭载不同的软件来实现多样化,从而排除共模故障。专利文献1中所记载的发明在由多个软件的模块来构成功能的情况下,用一个以上的版本的软件制作各模块。并且,专利文献1中所记载的发明改变模块的组合来实现N种版本的软件。
现有技术文献
专利文献
专利文献1:日本特开平6-34269号公报
非专利文献
非专利文献1:IEC61508-6ed1.0,Functionalsafetyofelectrical/electronic/programmableelectronicsafety-relatedsystems-Part6:GuidelinesontheapplicationofIEC61508-2andIEC61508-3,InternationalElectrotechnicalCommission,2004年4月
非专利文献2:安藤忠明、安藤進清、“安全計装システムとProSafeシリーズの診断機能”、横河技法Vol.43No.4p.175-180、1999
发明内容
发明要解决的问题
然而,在专利文献1所记载的背景技术中,开发N个不同的算法及软件是并不容易的,存在成本增加的问题。此外,在非专利文献2所记载的安全装置中,公开了为了确保多样性而设置不同的硬件的内容,但是没有公开对CPU(运算部分)的硬件及软件确保多样性的内容。因此,在非专利文献2的安全装置中,虽然能够防止由硬件引起的共模故障,但存在无法防止由软件引起的共模故障的问题。
本发明是鉴于上述问题而做出的,其目的在于提供一种能够廉价地防止共模故障的安全装置及安全装置的运算方法。
用于解决课题的方案
为了实现上述目的,本发明的一个实施方式的安全装置,包括第1运算部、第2运算部、输出控制部、以及具备该第1运算部及第2运算部的第1中央运算处理装置。第1运算部与第2运算部是不同的硬件。第1运算部对从控制对象检测到的检测值进行第1运算,从而取得第1结果值。第2运算部对检测值进行第2运算,从而取得第2结果值,判定第1结果值与第2结果值是否一致。输出控制部在上述第2运算部判定为上述第1结果值与上述第2结果值一致的情况下,输出上述第1结果值。第2运算部在上述第2运算部判定为上述第1结果值与上述第2结果值不一致的情况下,不输出上述第1结果值。
发明效果
根据本发明,能够实现能够廉价地降低共模故障的可能性的安全装置。
附图说明
图1是本发明的第1实施方式的安全装置的结构图。
图2是该实施方式的运算装置的结构图。
图3是说明该实施方式的运算装置的数据的例子的图。
图4是说明该实施方式的第1运算部和第2运算部所进行的运算的图。
图5是说明运算装置所进行的运算的概略的一例的图。
图6是说明该实施方式的运算装置所进行的运算的一例的图。
图7是该实施方式的安全装置的处理步骤的流程图。
图8是说明本发明的第2实施方式的运算装置的结构的一例的图。
图9是说明该实施方式的运算模块的输入输出数据的一例的图。
图10是说明该实施方式的逆运算模块的输入输出数据和所保存的数据的一例的图。
图11A是说明该实施方式的运算模块的结构的一例的图。
图11B是说明该实施方式的逆运算模块的结构的一例的图。
图12是说明该实施方式的逆运算模块的处理步骤的图。
图13是该实施方式的逆运算模块的处理步骤的流程图。
图14A是说明本发明的第3实施方式的输入为一个的情况下的数字值的正向运算的图。
图14B是说明该实施方式的输入为一个的情况下的数字值的逆运算的图。
图15A是说明该实施方式的输入为两个的情况下的数字值的正向运算的图。
图15B是说明该实施方式的输入为两个的情况下的数字值的逆运算的图。
图16是背景技术的安全装置的结构图。
具体实施方式
以下,参照附图详细说明本发明的实施方式。另外,本发明不限定于上述实施方式,在其技术思想的范围内能够进行各种变更。
(第1实施方式)
图1是本发明的第1实施方式的安全装置的结构图。另外,本实施方式的安全装置说明适用于火力发电厂、水力发电厂、电厂等工厂的例子,但也可以适用于工厂的生产线、建筑物的维护系统、大型空调系统等用到分布式控制的安全装置的系统。
如图1所示,本实施方式的安全装置100包括输入装置2、运算装置3a~3d及输出装置4。此外,安全装置100与促动器(actuator)5连接。
促动器5是例如强制停止发电用的燃气轮机的燃料供给的阀。此外,在安全装置100上安装有传感器1。促动器5根据由安全装置100输出的指令值来动作。
传感器1检测热量及流量等模拟值。此外,传感器1检测促动器5上所安装的未图示的各种开关的逻辑状态等数字值。传感器1向安全装置100输出模拟值的检测值和数字值的检测值。
安全装置100的输入装置2向运算装置3a~3d输出由传感器1输出的模拟值的检测值和数字值的检测值。
运算装置3a对由输入装置2输出的模拟值的检测值和数字值的检测值分别实施运算处理,向输出装置4输出运算结果。
运算装置3b对由输入装置2输出的模拟值的检测值和数字值的检测值分别实施运算处理,向输出装置4输出运算结果。
运算装置3c对由输入装置2输出的模拟值的检测值和数字值的检测值分别实施运算处理,向输出装置4输出运算结果。
运算装置3d对由输入装置2输出的模拟值的检测值和数字值的检测值分别实施运算处理,向输出装置4输出运算结果。
输出装置4如后文所述对由运算装置3a~3d输出的运算结果进行多数确定处理,将根据多数确定结果选择的运算结果作为指令值输出到促动器5。
以下,将运算装置3a~3d统称为“运算装置3”。
图2是本实施方式的运算装置的结构图。如图2所示,运算装置3包括分配部31、第1运算部32、第2运算部33、自我诊断部34及输出控制部35。此外,第1运算部32包括第1安全功能运算部101和第1安全功能运算验证部102。此外,第2运算部33包括第2安全功能运算部111和第2安全功能运算验证部112。此外,第1运算部32和第2运算部33例如通过一个CPU(CentralProcessingUnit:中央处理器)所具有的逻辑运算装置ALU(ArithmeticandLogicUnit)和浮点运算装置FPU(FloatingPointnumberprocessingUnit)来执行。
分配部31将由输入装置2输出的模拟值的检测值和数字值的检测值分成模拟值的检测值ina和数字值的检测值ing。分配部31向第1运算部32的第1安全功能运算部101和第2运算部33的第2安全功能运算验证部112输出数字值的检测值ing。分配部31向第1运算部32的第1安全功能运算验证部102和第2运算部33的第2安全功能运算部111输出模拟值的检测值ina。
第1运算部32例如通过逻辑运算装置ALU(ArithmeticandLogicUnit)来执行。第1运算部32通过例如软件的切换来实现第1安全功能运算部101和第1安全功能运算验证部102。
第1安全功能运算部101对由分配部31输出的数字值的检测值ing进行逻辑运算(第1运算),取得作为促动器5的控制量的输出值,并向第2安全功能运算验证部112和输出控制部35输出运算结果out1。
第1安全功能运算验证部102对由分配部31输出的模拟值的检测值ina进行基于仿真(emulation)的公知的整数运算(第2运算),取得作为促动器5的控制量的输出值。第1安全功能运算验证部102判定该运算结果是否与第2安全功能运算部111的运算结果out2一致。当判定的结果是第1安全功能运算验证部102的运算结果与第2安全功能运算部111的运算结果out2一致的情况下,第1安全功能运算验证部102向输出控制部35输出表示运算结果正常的信息。当判定的结果是第1安全功能运算验证部102的运算结果与第2安全功能运算部111的运算结果out2不一致的情况下,第1安全功能运算验证部102向输出控制部35输出表示运算结果异常的信息。
另外,在第1安全功能运算验证部102所进行的基于仿真的整数运算中,例如在第1运算部32中通过汇编码进行基于库(library)中所安装的软件的仿真,通过微码仿真ALU中不存在的操作,由此进行整数除法、浮点的处理。或者,第1运算部32通过设置未图示的除法器、浮点单元这样的其他硬件部件、协处理器等,进行整数除法及浮点的处理。
第2运算部33例如通过浮点运算装置FPU(FloatingPointnumberprocessingUnit)来执行。第2运算部33通过例如软件的切换来实现第2安全功能运算部111和第2安全功能运算验证部112。
第2安全功能运算部111对由分配部31输出的模拟值的检测值ina进行浮点运算(第1运算),取得作为促动器5的控制量的输出值,并向第1安全功能运算验证部102和输出控制部35输出运算结果out2。
第2安全功能运算验证部112对由分配部31输出的数字值的检测值ing进行如后文所述通过模拟运算来模拟的逻辑运算(第2运算),取得作为促动器5的控制量的输出值。第2安全功能运算验证部112判定该运算结果是否与第1安全功能运算部101的运算结果out1一致。当判定的结果是第2安全功能运算验证部112的运算结果与第1安全功能运算部101的运算结果out1一致的情况下,第2安全功能运算验证部112向输出控制部35输出表示运算结果正常的信息。当判定的结果是第1安全功能运算验证部112的运算结果与第1安全功能运算部101的运算结果out1不一致的情况下,第2安全功能运算验证部112向输出控制部35输出表示运算结果异常的信息。
自我诊断部34诊断运算装置3的安全性,并向输出控制部35输出诊断结果。自我诊断部34例如判定从未图示的电源供给装置供给到运算装置3的电源电压的电压值是否在预定的值的范围内。自我诊断部34将电压值在预定的范围内的情况判定为正常,将电压值在预定的值的范围外的情况判定为异常,并向输出控制部35输出判定结果。
输出控制部35在由第1安全功能运算验证部102输出的信息为表示运算结果正常的信息的情况下,向输出装置4输出由第2安全功能运算部111输出的模拟值的运算结果。输出控制部35在由第2安全功能运算验证部112输出的信息为表示运算结果正常的信息的情况下,向输出装置4输出由第1安全功能运算部101输出的数字值的运算结果。
输出控制部35在由第1安全功能运算验证部102输出的信息为表示运算结果异常的信息的情况下,不向输出装置4输出由第2安全功能运算部111输出的模拟值的运算结果。输出控制部35在由第2安全功能运算验证部112输出的信息为表示运算结果异常的信息的情况下,不向输出装置4输出由第1安全功能运算部101输出的数字值的运算结果。
图3是说明本实施方式的运算装置的数据的例子的图。在图3中,各列为各运算装置3的输入值in、分配部31的输出(模拟值的检测值ina及数字值的检测值ing)、第1安全功能运算部101的输出out1(逻辑运算结果1~4)、第2安全功能运算部111的输出out2(模拟运算结果1~4)。各行是各运算装置3a~3d的数据。这样,向运算装置3a~3d输入同一输入值in。然后,运算装置3a~3d的分配部31分配输入值in,向各第1安全功能运算部101输出数字值的检测值ing,向各第2安全功能运算部111输出模拟值的检测值ina。然后,运算装置3a~3d的各第1安全功能运算部101分别输出逻辑运算结果1~4(out1)。此外,运算装置3a~3d的各第2安全功能运算部111分别输出模拟运算结果1~4(out2)。
图4是说明本实施方式的第1运算部32和第2运算部33进行的运算的图。如图4所示,第1运算部32的第1安全功能运算部101对数字值的检测值进行逻辑运算。为了验证该运算结果,第2运算部33的第2安全功能验证部112对数字值的检测值进行通过模拟运算模拟后的逻辑运算。
此外,第2运算部33的第2安全功能运算部111对模拟值的检测值进行模拟运算(浮点运算)。为了验证该运算结果,第1运算部32的第1安全功能验证部102对模拟值的检测值进行基于仿真的整数运算。
图5是说明运算装置所进行的运算的概略的一例的图。
如图5所示,向运算装置3输入有输入装置2输出的数字值的检测值DIN1151及DIN2152、模拟值的检测值AIN3153。在图5中,标号161、162及163是运算要素。标号161是进行逻辑和的逻辑运算的运算要素,标号163是进行逻辑积的逻辑运算的运算要素。此外,标号162是进行当输入值超过预定的值时输出H电平(还称为真或“1”)的信号的函数运算的运算要素。这样,运算装置3预先将运算要素(加法、减法、除法、限幅(limiter)、折线函数等)函数化来进行存储。并且,如图5所示,通过箭头181将运算要素161的输出连接到运算要素163的输入,通过箭头182将运算要素162的输出连接到运算要素163的输入,构成逻辑。运算装置3执行根据图5所示的结构图(还称为数据流)转换为进行逻辑运算的程序而得到的程序。
在图5中,例如,在数字值的检测值DIN1151或DIN2152中某一个为H电平(还称为真或“1”)的情况下,运算要素161向运算要素163输出H电平。并且,在模拟值的AIN3153超过预定的值的情况下,运算要素162向运算要素163输出H电平。然后,运算要素163取得运算要素161的输出和运算要素162的输出的逻辑积,从而取得运算结果DOUT1171。
此外,图5所示的是用于说明运算装置3所进行的运算的概要。在实际运算中,例如,在模拟值的检测值AIN3153为热量的情况下,运算要素163在该模拟值的检测值AIN3153超过预定的热量时,为了降低热量,生成表示使促动器5降低热量的指示的信息(例如关闭强制停止燃料供给的阀),并作为指令值输出到促动器5。
此外,例如,在数字值的检测值DIN1151或DIN2152是表示促动器5所具有的用于设定热量的开关的状态的检测值的情况下,运算装置3在上述模拟值的检测值AIN3153超过预定的热量的情况下,为了降低热量,生成表示使促动器5降低热量的指示的信息。并且,运算装置3将用于设定热量的开关的状态作为指令值输出到促动器5。
在以下说明中,为了简化运算装置3的动作的说明,说明对向运算装置3输入的数字值的检测值、模拟值的检测值分别独立地进行运算的例子。
图6是说明本实施方式的运算装置所进行的运算的一例的图。
在图6中,各行是使用ALU进行的逻辑运算的例子与使用FPU进行的浮点运算的逻辑运算的例子之间的对应关系,各列是使用ALU进行的逻辑运算的例子和使用FPU进行的浮点运算部的逻辑运算的例子。如图6所示,逻辑运算中所使用的值是真和假。此外,浮点运算的逻辑运算中所使用的值是1.0和0.0。
逻辑积Y=(X1)AND(X2)在进行浮点运算的情况下进行Y=(X1)×(X2)的运算。
逻辑和Y=(X1)OR(X2)在进行浮点运算的情况下进行Y=float((X1)+(X2))!=0.0)的运算。另外,运算符“float”是4字节浮点,运算符“!=”是比较运算符,有不同的情况。即,在X1与X2的和不同于0.0的情况下,Y=1.0,在X1与X2的和为0的情况下,Y=0.0。
否定Y=X~在进行浮点运算的情况下进行Y=1.0-X的运算。
排他性逻辑和Y=(X1)^(X2)在进行浮点运算的情况下进行Y=fabs(X1-X2)的运算。运算符“fabs”是取得绝对值的运算符。即,运算X1与X2的差的绝对值。
另外,在图6中表示了通过浮点运算来进行逻辑运算的一例,但除此之外通过采用其他公知的浮点运算,能够通过浮点运算来实现否定逻辑积等各种逻辑运算。
图7是本实施方式的安全装置的处理步骤的流程图。
首先,向安全装置100的运算装置3输入有输入装置2输出的模拟值的检测值和数字值的检测值。
运算装置3的分配部31将由输入装置2输出的模拟值的检测值和数字值的检测值分为模拟值的检测值ina和数字值的检测值ing(步骤S1)。
分配部31向第1运算部32的第1安全功能运算部101和第2运算部33的第2安全功能运算验证部112输出数字值的检测值ing。分配部31向第1运算部32的第1安全功能运算验证部102和第2运算部33的第2安全功能运算部111输出模拟值的检测值ina。
接着,第1安全功能运算部101对由分配部31输出的数字值的检测值ing进行逻辑运算,取得作为促动器5的控制量的输出值,并向第2安全功能运算验证部112和输出控制部35输出运算结果out1(步骤2)。即,第1安全功能运算部101通过ALU对数字值的检测值ing执行逻辑运算。
第2安全功能运算验证部112对由分配部31输出的数字值的检测值ing进行通过模拟运算模拟后的逻辑运算,取得作为促动器5的控制量的输出值(步骤S3)。即,第2安全功能运算验证部112为了验证第1安全功能运算部101的运算结果,通过FPU执行通过模拟运算模拟后的逻辑运算。
第2安全功能运算验证部112判定第2安全功能运算验证部112的运算结果是否与第1安全功能运算部101的运算结果out1一致(步骤S4)。
当判定的结果是第2安全功能运算验证部112的运算结果与第1安全功能运算部101的运算结果out1一致的情况下(步骤S4:是(Yes)),第2安全功能运算验证部112向输出控制部35输出表示第1安全功能运算部101的运算结果正常的信息。
输出控制部35根据表示由第2安全功能运算验证部112输出的运算结果正常的信息,向输出装置4输出由第1安全功能运算部101输出的运算结果(步骤S5)。
当判定的结果是第2安全功能运算验证部112的运算结果与第1安全功能运算部101的运算结果out1不一致的情况下(步骤S4:否(No)),第2安全功能运算验证部112向输出控制部35输出表示运算结果异常的信息。
输出控制部35根据表示由第2安全功能运算验证部112输出的运算结果异常的信息,不向输出装置4输出由第1安全功能运算部101输出的运算结果(步骤S6)。
接着,第2安全功能运算部111对由分配部31输出的模拟值的检测值ina进行模拟运算,取得作为促动器5的控制量的输出值,并向第1安全功能运算验证部102和输出控制部35输出运算结果out2(步骤S7)。即,第2安全功能运算部111通过FPU对模拟值的检测值ina执行模拟运算。
第1安全功能运算验证部102通过仿真对由分配部31输出的模拟值的检测值ina进行整数运算,取得作为促动器5的控制量的输出值(步骤S8)。即,第1安全功能运算验证部102为了验证第2安全功能运算部111的运算结果,对整数运算进行仿真,通过ALU来执行。
第1安全功能运算验证部102判定第1安全功能运算验证部102的运算结果是否与第2安全功能运算部111的运算结果out2一致(步骤S9)。
当判定的结果是第1安全功能运算验证部102的运算结果与第2安全功能运算部111的运算结果out2一致的情况下(步骤S9:是),第1安全功能运算验证部102向输出控制部35输出表示运算结果正常的信息。
输出控制部35根据表示由第1安全功能运算验证部102输出的运算结果正常的信息,向输出装置4输出由第2安全功能运算部111输出的运算结果(步骤S10)。
当判定的结果是第1安全功能运算部102的运算结果与第2安全功能运算验证部111的运算结果out2不一致的情况下(步骤S9:否),第1安全功能运算验证部102向输出控制部35表示输出运算结果异常的信息。
输出控制部35根据表示由第1安全功能运算验证部102输出的运算结果异常的信息,不向输出装置4输出由第2安全功能运算部111输出的运算结果(步骤S11)。
接着,向输出装置4输入运算装置3a~3d通过步骤S1~步骤S11进行运算而得到的运算结果。输出装置4对所输入的运算结果进行多数确定处理,并根据多数确定处理向促动器5输出指令值(步骤S12)。
另外,在本实施方式中,说明了运算装置3的输出控制部35在由第2安全功能运算验证部112输出的运算结果异常的情况下,不向输出装置4输出由第1安全功能运算部101输出的运算结果的例子。在由第2安全功能运算验证部112输出的运算结果异常的情况下,由于运算装置3上存在异常,因此输出控制部35也可以向输出装置4发送表示运算装置3上存在异常的信息。同样,在由第1安全功能运算验证部102输出的运算结果异常的情况下,由于运算装置3上存在异常,因此输出控制部35也可以向输出装置4发送表示运算装置3上存在异常的信息。
输出装置4在输入有由运算装置3输出的表示存在异常的信息的情况下,例如,也可以在未图示的显示部上显示发生异常的运算装置3的固有的号码等,向安全装置100的使用者进行通知。此时,在运算装置3内,由于通过不同的硬件(ALU和FPU)和不同的软件(不同的运算方式)双重地确认运算结果,因此具有还能够检测出运算装置3的异常的效果。
另外,不同的运算方式是指,例如对数字值进行的逻辑运算和对模拟值进行的浮点运算,或者是对数字值进行的基于浮点运算的逻辑运算和对模拟值进行的基于仿真的整数运算等。
接着,说明输出装置4所进行的多数确定处理。
在从运算装置3a~3d输入有四个运算结果的情况下,输出装置4通过四个运算结果进行多数确定,例如,若四个中有两个以上为控制安全侧的输出值,则向促动器5输出控制安全侧的输出值。另外,控制安全侧的输出值是指,将控制对象控制为安全的状态的输出,被预先设定。
在从运算装置3a~3d输入有三个运算结果的情况下,即在一个运算结果由于异常而没有从运算装置3输出的情况下,输出装置4通过三个运算结果进行多数确定,例如,若三个中有两个以上为控制安全侧的输出值,则向促动器5输出控制安全侧的输出值。
在从运算装置3a~3d输入有两个运算结果的情况下,即在两个运算结果由于异常而没有从运算装置3输出的情况下,输出装置4在两个运算结果中有一个以上为控制安全侧的输出值,则向促动器5输出控制安全侧的输出值。在控制安全侧的输出值没有一个以上的情况下,按预先设定的预定的输出顺序,将所输入的运算结果中的一个运算结果作为指令值输出到促动器5。
在从运算装置3a~3d输入有一个运算结果的情况下,即在三个运算结果由于异常而没有从运算装置3输出的情况下,输出装置4将所输入的运算结果作为指令值输出到促动器5。
在一个运算结果都没有从运算装置3a~3d输入的情况下,即在四个运算结果由于异常而没有从运算装置输出的情况下,输出装置4将预先设定的用于安全动作的控制值作为指令值输出到促动器5。
另外,输出装置5对与模拟的检测值对应的运算值、与针对数字值的检测值对应的运算值分别进行上述多数确定处理。
此外,在图7所示的流程图中,例如步骤S2和步骤S7的运算也可以由第1安全功能运算部101和第2安全功能运算部111并行地进行。此外,步骤S3、S4和步骤S8~S9也可以由第1安全功能运算验证部102和第2安全功能运算验证部112并行地进行。
此外,在图1的结构例中,表示了多重设置有多个运算装置3的例子,但是在使用本实施方式的安全装置100的情况下,由于在一个运算装置3内通过不同的硬件和软件进行确认,因此也可以不多重设置运算装置3,而是设置一个运算装置3。
如上所述,本实施方式的安全装置100使用一个CPU(运算装置3)的ALU(第1运算部32)和FPU(第2运算部33),根据输入值分别采用不同的硬件和不同的运算方式来进行运算。其结果,还具有提高运算的可靠性的效果,此外还能够检测CPU内的故障。此外,本实施方式的安全装置100中,由第1运算部32进行逻辑运算,由第2运算部33进行作为与其不同的逻辑方式的浮点运算,因此在软件方面也能够具有多样性。其结果,能够减小共模故障的可能性。
另外,在本实施方式中,说明了运算装置3使用一个CPU所具有的ALU和FPU的例子,但如果是具有数字信号处理器DSP的CPU,则也可以由DSP构成ALU和FPU。或者,也可以由一个数字信号处理器DSP构成ALU(第1运算部32)和FPU(第2运算部33)。
(第2实施方式)
图8是说明本发明的第2实施方式的运算装置的结构的一例的图。如图8所示,本实施方式的运算装置300包括第1运算部32a和第2运算部33a。此外,图8中虽然没有图示,但与第1实施方式的图2同样,运算装置300包括分配部31、自我诊断部34及输出控制部35。此外,第2运算部33a包括输入数据部201、运算模块(FB1)202、运算模块(FBj)203、运算模块(FBm)204及输出数据部205。第1运算部32a包括逆运算用输入数据部211、逆运算模块(FB1-1)212、模块(FBj-1)213、逆运算模块(FBm-1)214及逆运算输出部215。
首先,说明运算装置300所进行的处理的概要。另外,在以下说明中,假设输入值仅为模拟值的检测值来进行说明。
运算装置300的分配部31向第2运算部33a输出由输入装置2(图1)输出的模拟值的检测值。在第2运算部33a中,运算模块(FB1)202~运算模块(FBm)204对所输入的模拟值的检测值依次进行运算。此外,第2运算部33a将运算结果和运算中途所使用的要素如后文所述输出到第1运算部32a的逆运算模块(FB1-1)212~逆运算模块(FBm-1)214。
第1运算部32a使用所输入的运算结果和运算中途所使用的要素,通过逆运算模块(FB1-1)212~逆运算模块(FBm-1)214进行逆运算,验证运算结果。此外,与第1实施方式同样,第1运算部32a和第2运算部33a例如为一个CPU(运算装置3)所具有的ALU和FPU。
第2运算部33a的输入数据部201向运算模块(FB1)202输出由分配部31输出的模拟值的检测值。此外,输入数据部201存储所输入的模拟值的检测值。
运算模块(FB1)202~运算模块(FBm)204构成为用于进行如下运算:为了根据由分配部31输出的模拟值的检测值来生成安全功能的输出所需的运算。
运算模块(FB1)202通过预定的函数F1对由输入数据部201输出的模拟值的检测值进行运算。运算模块(FB1)202向运算模块(FBj)203输出运算结果(Y1n)。进一步,运算模块(FB1)202向逆运算模块(FB1-1)212输出所输入的模拟值的检测值in(X1n)、运算结果(Y1n)、运算中途所使用的要素(W1n、V1n)。此外,运算模块(FB1)202存储上一次运算中途所使用的要素(W1(n-1))。另外,下标n表示本次运算的值,n-1表示上一次运算的值。
运算模块(FBj)203通过预定的函数F2对由运算模块(FB1)202输出的运算结果(Y1n(=Xjn))进行运算。运算模块(FBj)203向运算模块(FBm)204输出运算结果(Yjn)。进一步,运算模块(FBj)203向逆运算模块(FBj-1)213输出由运算模块(FB1)202输出的运算结果(Y1n(=Xjn))、运算结果(Yjn)、运算中途所使用的要素(Wjn、Vjn)。此外,运算模块(FBj)203存储上一次运算中途所使用的要素(Wj(n-1))。
运算模块(FBm)204通过预定的函数F3对由运算模块(FBj)203输出的运算结果(Yjn(=Xmn))进行运算。运算模块(FBm)204向输出数据部205输出运算结果(Ymn)。进一步,运算模块(FBm)204向逆运算模块(FBm-1)214输出由运算模块(FBj)203输出的运算结果(Yjn(=Xmn))、运算结果(Ymn)、运算中途所使用的要素(Wmn、Vmn)。此外,运算模块(FBm)204存储上一次运算中途所使用的要素(Wm(n-1))。
输出数据部205根据输入了由运算模块(FBm)204输出的运算结果的情况,判断为运算模块(FB1)202~运算部模块(FBm)204的运算结束。此外,输出数据部205向逆运算输出部215输出表示运算结束的信息。
逆运算输出部215根据由输出数据部205输出的表示运算结束的信息,向逆运算模块(FBm-1)214输出开始进行逆运算的信息。
逆运算模块(FB1-1)212~逆运算模块(FBm-1)214是为了根据由运算模块(FB1)202~运算模块(FBm)204输出的模拟值的检测值in(X1n)、运算结果(Y1n(=Xjn))、(Yjn(=Xmn))及(Ymn)、运算中途所使用的要素(W1n、V1n)、(Wjn、Vjn)及(Wmn、Vmn)进行逆运算而构成的。
逆运算模块(FBm-1)214根据由逆运算输出部215输出的开始进行逆运算的信息,使用由运算模块(FBm)204输出的运算结果Yjn(=Xmn)、运算结果Ymn、运算中途所使用的要素(Wmn、Vmn),通过预定的函数F3 -1进行逆运算。逆运算模块(FBm-1)214向逆运算模块(FBj-1)213输出开始进行逆运算的信息。
此外,逆运算模块(FBm-1)214判定逆运算结果Xmn’是否与运算结果Xmn一致(还称为不一致核查)。当判定的结果是逆运算结果Xmn’与运算结果Xmn一致的情况下,逆运算模块(FBm-1)214判定为运算模块(FBm)204的运算结果正常。当判定的结果是逆运算结果Xmn’与运算结果Xmn不一致的情况下,逆运算模块(FBm-1)214判定为运算模块(FBm)204的运算结果异常。逆运算模块(FBm-1)214向输出控制部35输出判定结果。
此外,逆运算模块(FBm-1)214判定逆运算中途所使用的要素Wm(n-1)’是否与所存储的上一个周期的逆运算中途所使用的要素Wm(n-1)一致。当判定的结果是逆运算中途所使用的要素Wm(n-1)’与上一个周期的逆运算中途所使用的要素Wm(n-1)一致的情况下,逆运算模块(FBm-1)214判定为运算模块(FBm)204的运算结果正常。此外,逆运算模块(FBm-1)214将所输入的运算中途所使用的要素Wmn改写为Wm(n-1)’并保存,以能够在下一个周期的逆运算中使用。
当判定的结果是逆运算中途所使用的要素Wm(n-1)’与逆运算中途所使用的要素Wm(n-1)不一致的情况下,逆运算模块(FBm-1)214判定为运算模块(FBm)204的运算结果异常。逆运算模块(FBm-1)214向输出控制部35输出判定结果。
逆运算模块(FBj-1)213根据由逆运算模块(FBm-1)214输出的开始进行逆运算的信息,使用由运算模块(FBj)203输出的运算结果Y1n(=Xjn)、运算结果Yjn、运算中途所使用的要素(Wjn、Vjn),通过预定的函数F2 -1进行逆运算。逆运算模块(FBj-1)213向逆运算模块(FB1-1)212输出开始进行逆运算的信息。
此外,逆运算模块(FBj-1)213判定逆运算结果Xjn’是否与运算结果Xjn一致。当判定的结果是逆运算结果Xjn’与运算结果Xjn一致的情况下,逆运算模块(FBj-1)213判定为运算模块(FBj)203的运算结果正常。当判定的结果是逆运算结果Xjn’与运算结果Xjn不一致的情况下,逆运算模块(FBj-1)213判定为运算模块(FBj)203的运算结果异常。逆运算模块(FBj-1)213向输出控制部35输出判定结果。
此外,逆运算模块(FBj-1)213判定逆运算中途所使用的要素Wj(n-1)’是否与上一个周期的逆运算中途所使用的要素Wj(n-1)一致。当判定的结果是逆运算中途所使用的要素Wj(n-1)’与上一个周期的逆运算中途所使用的要素Wj(n-1)一致的情况下,逆运算模块(FBj-1)213判定为运算模块(FBj)203的运算结果正常。此外,逆运算模块(FBj-1)213将所输入的运算中途所使用的要素Wjn改写为Wj(n-1)’并保存,以能够在下一个周期的逆运算中使用。
当判定的结果是逆运算中途所使用的要素Wj(n-1)’与上一个周期的逆运算中途所使用的要素Wj(n-1)不一致的情况下,逆运算模块(FBj-1)213判定为运算模块(FBj)203的运算结果异常。逆运算模块(FBj-1)213向输出控制部35输出判定结果。
逆运算模块(FB1-1)212根据由逆运算模块(FBj-1)213输出的开始进行逆运算的信息,使用由运算模块(FB1)202输出的模拟值的检测值in(X1n)、运算结果Y1n、运算中途所使用的要素(W1、V1),通过预定的函数F1 -1进行逆运算。逆运算模块(FB1-1)212向逆运算用输入数据部211输出表示逆运算结束的信息。
此外,逆运算模块(FB1-1)212判定逆运算结果X1n’是否与模拟值的检测值in(X1n)一致。当判定的结果是逆运算结果X1n’与模拟值的检测值in(X1n)一致的情况下,逆运算模块(FB1-1)213判定为运算模块(FB1)202的运算结果正常。当判定的结果是逆运算结果X1n’与模拟值的检测值in(X1n)不一致的情况下,逆运算模块(FB1-1)212判定为运算模块(FB1)202的运算结果异常。逆运算模块(FB1-1)212向输出控制部35输出判定结果。
此外,逆运算模块(FB1-1)212判定逆运算中途所使用的要素W1(n-1)’是否与上一个周期的逆运算中途所使用的要素W1(n-1)一致。当判定的结果是逆运算中途所使用的要素W1(n-1)’与上一个周期的逆运算中途所使用的要素W1(n-1)一致的情况下,逆运算模块(FB1-1)212判定为运算模块(FB1)202的运算结果正常。此外,逆运算模块(FB1-1)212将所输入的运算中途所使用的要素W1n改写为W1(n-1)’并保存,以能够在下一个周期的逆运算中使用。
当判定的结果是逆运算中途所使用的要素W1(n-1)’与上一个周期的逆运算中途所使用的要素W1(n-1)不一致的情况下,逆运算模块(FB1-1)212判定为运算模块(FB1)202的运算结果异常。逆运算模块(FB1-1)212向输出控制部35输出判定结果。
逆运算用输入数据部211向输出控制部35输出由运算模块(FB1)212输出的表示逆运算结束的信息。
输出控制部35根据由逆运算用输入数据部211输出的表示逆运算结束的信息、由逆运算模块(FB1-1)212~逆运算模块(FBm-1)214输出的判定结果,在运算模块(FB1)202~运算模块(FBm)204的运算正常的情况下,将运算模块(FBm)204的运算结果作为指令值输出到输出装置4。
另外,在运算模块(FB1)202~运算模块(FBm)204中所使用的预定的函数F1~F3、在逆运算模块(FB1-1)212~逆运算模块(FBm-1)214中所使用的预定的函数F1 -1~F3 -1预先由安全装置100的设计者根据输入值预先设定。
另外,在本实施方式中,说明了在所有的运算模块(FB1)202~运算模块(FBm)204的运算结束之后由逆运算模块(FB1-1)212~逆运算模块(FBm-1)214进行逆运算的例子。例如,也可以在各运算模块(FB1)202的运算结束之后,由逆运算模块(FB1-1)212进行逆运算。
图9是说明本实施方式的运算模块和逆运算模块的输入输出数据的一例的图。图10是说明本实施方式的逆运算模块的输入输出数据和所保存的数据的一例的图。
如图9所示,运算模块(FB1)202~运算模块(FBm)204分别被输入Xn,分别输出Yn、Wn及Vn。
如图10所示,逆运算模块(FB1-1)212~逆运算模块(FBm-1)214分别被输入Yn、Wn、Vn及Xn,输出Xn’。此外,逆运算模块(FB1-1)212~逆运算模块(FBm-1)214分别保存上一个周期的W(n-1)。
接着,参照图11A~图13说明运算模块(FB1)202~运算模块(FBm)204、逆运算模块(FB1-1)212~逆运算模块(FBm-1)214所进行的处理。图11A是说明本实施方式的运算模块的结构的一例的图。图11B是说明本实施方式的逆运算模块的结构的一例的图。图12是说明本实施方式的逆运算模块的处理步骤的图。图13是本实施方式的逆运算模块的处理步骤的流程图。
图11A和图11B是图8中的运算模块的用虚线包围的220的运算模块(FBj)203和逆运算模块(FBj-1)213的结构的一例。
如图11A所示,运算模块(FBj)203进行将Xjn、Wj(n-1)作为输入值并将Yjn、Wjn及Vjn作为输出值的运算。如图11B所示,逆运算模块(FBj-1)213进行将Yjn、Wjn及Vjn作为输入值并将Xjn’、Wj(n-1)’作为输出值的逆运算。
在图11A和图11B中,下标n是本周期的数据,下标n-1是上一个周期的数据。此外,Xjn是输入列,Yjn是输出列。此外,Wjn是中间数据列(计算出输出之前的中途的主要运算值),Vjn是唯一地求出Xjn和Wj(n-1)所需的中间数据。Xjn’是Xjn的逆运算值,Wj(n-1)’是Wj(n-1)的逆运算值,Wj(n-1)是为了进行逆运算而复制了上一个周期的Wjn的数据列。
如图11A所示,运算模块(FBj)203对输入值的Xjn和Wj(n-1)实施预定的函数F2,取得输出值的Yjn、Wjn、Vjn。
如图11B所示,逆运算模块(FBj-1)213对输入值的Yjn、Wjn及Vjn实施预定的函数F2 -1,取得输出值Xjn’Wj(n-1)’。
接着,详细说明逆运算模块(FBj-1)212所进行的逆运算的步骤。
首先,逆运算模块(FBj-1)212复制运算模块(FBj)202的运算结果Yjn作为输入值(步骤S101,图12的C1、C2)。
接着,逆运算模块(FBj-1)212复制运算模块(FBj)202的运算中途所使用的要素Wjn和Vjn作为输入值(步骤S102,图12的C3)。
接着,逆运算模块(FBj-1)212复制向运算模块(FBj)202输入的输入值即Xjn作为输出值(步骤S103,图12的C4)。
接着,逆运算模块(FBj-1)212通过预定的函数F2 -1对所复制的输入值Yjn、Wjn及Vjn进行逆运算,取得Xjn’和Wj(n-1)’(步骤S104,图13的C5)。
接着,逆运算模块(FBj-1)212判定通过逆运算求出的Xjn’与所复制的Xjn是否一致(步骤S105)。
当判定的结果是通过逆运算求出的Xjn’与所复制的Xjn一致的情况下(步骤S105:是),进入到步骤S107。当判定的结果是通过逆运算求出的Xjn’与所复制的Xjn不一致的情况下(步骤S105:否),进入到步骤S106。
接着,逆运算模块(FBj-1)212判定逆运算中途所使用的要素Wj(n-1)’与所复制的Wj(n-1)是否一致(步骤S107,图12的C6)。
当判定的结果是通过逆运算求出的Wj(n-1)’与所复制的Wj(n-1)一致的情况下(步骤S107:是),进入到步骤S108。当判定的结果是通过逆运算求出的Wj(n-1)’与所复制的Wj(n-1)不一致的情况下(步骤S107:否),进入到步骤S106。
逆运算模块(FBj-1)212由于运算结果或运算中途所使用的要素不一致,因此判定为异常,并向输出控制部35输出判定结果(步骤S106)。
逆运算模块(FBj-1)212由于运算结果和运算中途所使用的要素一致,因此判定为正常,并向输出控制部35输出判定结果。此外,逆运算模块(FBj-1)212将所复制的Wjn改写为Wj(n-1)’并保存,以能够在下一个周期的逆运算核查中使用(步骤S108,图12的C7)。
如上所述,在本实施方式中,第1运算部32a使用通过第2运算部33a取得的运算结果和运算中途所使用的要素,对第2运算部33所取得的运算结果进行逆运算。并且,第1运算部32a判定逆运算而得到的运算结果是否与第2运算部33a(FPU)所取得的运算结果的输入值一致。进一步,第1运算部32a(ALU)还判定逆运算中途所使用的要素是否与上一个周期中所使用的要素一致。其结果,能够通过不同的硬件及不同的软件,核查运算结果是否正确,因此能够廉价地降低共模故障的可能性。
另外,在本实施方式中,说明了像运算模块(FB1)202~运算模块(FBm)204、逆运算模块(FB1-1)212~逆运算模块(FBm-1)214这样分别各使用三个模块的例子,但运算模块及逆运算模块的数量不限于此,也可以根据所检测的检测值及指令值来确定。
此外,也可以在本实施方式的结构中添加实施方式1的结构。此时,通过由第1运算部32a对第2运算部33a所取得的运算结果进行逆运算和正向的运算,能够进一步提高可靠性。
此外,在本实施方式中,说明了如图8所示仅使用一个运算装置3的例子,但是与图1同样,也可以多重设置运算装置3。
(第3实施方式)
在第2实施方式中,说明了在模拟值的检测值输入到运算装置3的情况下,由第1运算部32a进行逆运算来对由第2运算部33a运算的运算结果进行判定的例子。在本实施方式中,说明在数字值的检测值输入到运算装置3的情况下,由第2运算部33b进行逆运算来对由第1运算部32b运算的运算结果进行判定的例子。另外,第2运算部33b如在第1实施方式中所说明的那样,通过浮点运算对数字值进行逻辑运算,由此进行判定。
图14A是说明本实施方式的输入为一个的情况下的数字值的正向运算的图。图14B是本实施方式的输入为一个的情况下的数字值的逆运算的图。
如图14A所示,在输入为一个、输出为一个的情况下,第1运算部32b对输入Xn实施预定的函数F来取得输出Yn。此外,如图14B所示,第2运算部33b对输出Yn实施函数F-1来逆运算出Xn’,并比较逆运算得到的Xn’与Xn,由此能够判定运算是否正常。作为这样的运算,例如有NOT逻辑(否定)。
图15A是说明本实施方式的输入为两个的情况下的数字值的正向运算的图。图15B是说明本实施方式的输入为两个的情况下的数字值的逆运算的图。
如图15A所示,在输入为两个、输出为一个的情况下,第1运算部32b对输入X1和X2实施预定的函数F来取得输出Yn。在此,仅通过输出Yn无法唯一地求出输入X1、X2,因此例如如图15B所示,第2运算部33b将输入X2和输出Yn作为输入值,对这些X2和Yn实施预定的函数F-1来取得X1’。并且,第2运算部33b比较所取得的X1’与所输入的X1,由此能够判定运算是否正常。作为这样的运算,例如有AND逻辑(逻辑积)、OR逻辑(逻辑和)等。
如上所述,在本实施方式中,对于第1运算部32b(ALU)所取得的运算结果,第2运算部33b(FPU)对第1运算部32b所取得的运算结果进行逆运算。并且,第2运算部33b(FPU)判定进行逆运算而得到的运算结果是否与第1运算部32b(ALU)的输入值一致。其结果,能够通过不同的硬件及不同的软件,核查运算结果是否正确,因此能够廉价地降低共模故障的可能性。
此外,也可以在本实施方式的结构中添加实施方式1的结构。此时,通过由第2运算部33b对第1运算部32b所取得的运算结果进行逆运算和正向的运算,能够进一步提高可靠性。
此外,也可以在本实施方式的结构中添加实施方式2的结构。此时,无论对于模拟值的检测值,还是对于数字值的检测值,都通过不同的硬件、软件进行逆运算来进行比较,能够降低共模故障的可能性。
此外,在本实施方式中,说明了如图8所示仅使用一个运算装置3的例子,但是与图1同样,也可以多重设置运算装置3。
另外,在本实施方式中,说明了在一个运算装置3中设置ALU和FPU,通过ALU执行第1运算部32b的运算并通过FPU执行第2运算部33b的运算的例子,但是例如在RISC(ReducedInstructionSetComputer:精简指令集计算机)处理器的情况下,由于能够通过超标量(superscalar)使FPU与ALU并列地动作,因此能够实现本实施方式。此外,将一个CPU内具有多个运算部的例如双核处理器用于运算装置3,也能够得到与本实施方式相同的效果。
工业上的可利用性
本发明能够适用于火力发电厂、水力发电厂、电厂等工厂。
标号说明
100安全装置
2输入装置
3、3a~3d、300运算装置
4输出装置
31分配部
32、32a、32b第1运算部
33、33a、33b第2运算部
34自我诊断部
35输出控制部
101第1安全功能运算部
102第1安全功能运算验证部
111第2安全功能运算部
112第2安全功能运算验证部
201输入数据部
202~204运算模块FB1~运算部模块FBm
212~214逆运算模块FB1-1~逆运算模块FBm-1
205输出数据部
211逆运算用输入数据部
215逆运算输出部
Claims (7)
1.一种安全装置,包括:
第1运算部,对从控制对象检测到的检测值进行第1运算,从而取得第1结果值;
第2运算部,对上述检测值进行第2运算,从而取得第2结果值,判定上述第1结果值与上述第2结果值是否一致;
输出控制部,在上述第2运算部判定为上述第1结果值与上述第2结果值一致的情况下,输出上述第1结果值,在上述第2运算部判定为上述第1结果值与上述第2结果值不一致的情况下,不输出上述第1结果值;以及
第1中央运算处理装置,包括上述第1运算部及上述第2运算部,
上述第1运算为逻辑运算且上述第2运算为浮点运算,或者上述第2运算为逻辑运算且上述第1运算为浮点运算,
在上述第1运算为上述逻辑运算且上述第2运算为上述浮点运算的情况下,上述第1运算部进行上述逻辑运算,且上述第2运算部通过浮点运算进行模拟来进行上述逻辑运算,
在上述第2运算为上述逻辑运算且上述第1运算为上述浮点运算的情况下,上述第1运算部进行上述浮点运算,且第2运算部通过仿真来进行整数运算,
上述第1运算部与上述第2运算部是不同的硬件。
2.根据权利要求1所述的安全装置,其中,
上述第1运算部在上述第1运算的中途取得第3结果值,向上述第2运算部输入上述检测值、上述第1结果值及上述第3结果值,
上述第2运算部使用上述第1结果值及上述第3结果值进行上述第1运算的逆运算,从而取得第4结果值,判定该第4结果值与检测值是否一致,
输出控制部在上述第2运算部判定为上述检测值与上述第4结果值一致的情况下,输出上述第1结果值,在上述第2运算部判定为上述检测值与上述第4结果值不一致的情况下,不输出上述第1结果值。
3.根据权利要求1所述的安全装置,其中,还包括:
第2中央运算处理装置,具有与上述第1中央运算处理装置相同的结构,与上述第1中央运算处理装置并联连接;以及
输出装置,确定用于控制上述控制对象的指令值,
上述输出装置根据上述第1中央运算处理装置的上述输出控制部所输出的上述第1结果值和上述第2中央运算处理装置的上述输出控制部所输出的第5结果值中的输入到上述输出装置的结果值,确定上述指令值,
上述输出装置在上述第1结果值及上述第5结果值都没有被输入的情况下,根据预先设定的用于安全动作的控制值确定指令值。
4.根据权利要求3所述的安全装置,其中,还包括:
上述输出控制部在上述第2运算部判定为上述第1结果值与上述第2结果值不一致的情况下,向上述输出装置输出表示在上述第1运算部或上述第2运算部上存在异常的信息,
上述输出装置根据上述信息确定上述指令值。
5.一种安全装置的运算方法,包括以下工序:
对从控制对象检测到的检测值进行第1运算,从而取得第1结果值;
对上述检测值进行第2运算,从而取得第2结果值;
判定上述第1结果值与上述第2结果值是否一致;以及
在判定为上述第1结果值与上述第2结果值一致的情况下,输出上述第1结果值,在判定为上述第1结果值与上述第2结果值不一致的情况下,不输出上述第1结果值,
上述第1运算为逻辑运算且上述第2运算为浮点运算,或者上述第2运算为逻辑运算且上述第1运算为浮点运算,
在上述第1运算为上述逻辑运算且上述第2运算为上述浮点运算的情况下,进行上述第1运算的工序包括对上述检测值进行上述逻辑运算的工序,且进行上述第2运算的工序包括通过上述浮点运算进行模拟来对上述检测值进行上述逻辑运算的工序,
在上述第2运算为上述逻辑运算且上述第1运算为上述浮点运算的情况下,进行上述第1运算的工序包括进行上述浮点运算的工序,且进行上述第2运算的工序包括通过仿真来进行整数运算的工序。
6.根据权利要求5所述的运算方法,其中,
进行上述第1运算的工序中包括在上述第1运算的中途取得第3结果值的工序,
进行上述第2运算的工序中包括使用上述第1结果值及上述第3结果值进行上述第1运算的逆运算来取得第4结果值的工序,
还包括以下工序:
判定该第4结果值与检测值是否一致;和
在判定为上述检测值与上述第4结果值一致的情况下,输出上述第1结果值,在判定为上述检测值与上述第4结果值不一致的情况下,不输出上述第1结果值。
7.根据权利要求5所述的运算方法,其中,还包括以下工序:
在判定为上述第1结果值与上述第2结果值不一致的情况下,输出表示存在异常的信息;以及
根据上述信息控制上述控制对象。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-018220 | 2011-01-31 | ||
JP2011018220A JP5683294B2 (ja) | 2011-01-31 | 2011-01-31 | 安全装置、安全装置の演算方法 |
PCT/JP2011/073079 WO2012105089A1 (ja) | 2011-01-31 | 2011-10-06 | 安全装置、安全装置の演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103238122A CN103238122A (zh) | 2013-08-07 |
CN103238122B true CN103238122B (zh) | 2016-01-06 |
Family
ID=46602323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180056641.3A Active CN103238122B (zh) | 2011-01-31 | 2011-10-06 | 安全装置、安全装置的运算方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9753437B2 (zh) |
EP (1) | EP2672339B1 (zh) |
JP (1) | JP5683294B2 (zh) |
KR (1) | KR101533169B1 (zh) |
CN (1) | CN103238122B (zh) |
WO (1) | WO2012105089A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10185291B2 (en) * | 2013-06-28 | 2019-01-22 | Fisher Controls International Llc | System and method for shutting down a field device |
JP6053651B2 (ja) * | 2013-09-20 | 2016-12-27 | 日立オートモティブシステムズ株式会社 | パワーステアリング装置および車両搭載機器の制御装置 |
JP6078444B2 (ja) * | 2013-09-20 | 2017-02-08 | 日立オートモティブシステムズ株式会社 | パワーステアリング装置および車両搭載機器の制御装置 |
JP5902778B1 (ja) * | 2014-09-03 | 2016-04-13 | ファナック株式会社 | 周辺機器を安全に制御する機能を有する工作機械 |
HUE049330T2 (hu) * | 2015-03-23 | 2020-09-28 | Siemens Ag | Égetõberendezés biztonsági berendezéssel |
JP6731108B2 (ja) * | 2017-02-22 | 2020-07-29 | 株式会社日立製作所 | 制御システムおよび制御方法 |
JP7218212B2 (ja) * | 2019-03-05 | 2023-02-06 | 株式会社東芝 | 半導体装置 |
WO2021081895A1 (zh) * | 2019-10-31 | 2021-05-06 | 西门子股份公司 | 控制系统、现场设备、分布式控制系统及控制系统的备份方法 |
EP3832453A1 (de) * | 2019-12-05 | 2021-06-09 | Wieland Electric GmbH | Verfahren zur durchführung einer gleitkommaarithmetik |
CN111858196A (zh) * | 2020-06-12 | 2020-10-30 | 海光信息技术有限公司 | 一种计算单元检测方法、并行处理器及电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63254525A (ja) | 1987-04-10 | 1988-10-21 | Matsushita Electric Ind Co Ltd | 除算装置 |
JP2885800B2 (ja) * | 1988-06-28 | 1999-04-26 | 日本信号株式会社 | 二重系処理装置 |
JPH0634269A (ja) | 1992-07-17 | 1994-02-08 | Matsushita Electric Ind Co Ltd | 乾燥処理装置 |
FR2704329B1 (fr) | 1993-04-21 | 1995-07-13 | Csee Transport | Système de sécurité à microprocesseur, applicable notamment au domaine des transports ferroviaires. |
JPH06342369A (ja) | 1993-06-01 | 1994-12-13 | Hitachi Ltd | 多重バージョン機能実現方法および開発支援システム |
JPH08292894A (ja) * | 1995-04-20 | 1996-11-05 | Toshiba Corp | ディジタル制御装置 |
JPH10116105A (ja) * | 1996-10-11 | 1998-05-06 | Tokyo Electric Power Co Inc:The | 一般化予測制御システム及び脱硝制御装置 |
KR100408493B1 (ko) * | 2001-05-07 | 2003-12-06 | 한국전력기술 주식회사 | 소프트웨어 공통유형고장을 자체 배제한 디지털원자로 보호시스템 및 그 제어방법 |
JP4025540B2 (ja) * | 2001-12-10 | 2007-12-19 | 株式会社日立製作所 | 多重化制御装置 |
CN100520730C (zh) * | 2004-10-25 | 2009-07-29 | 罗伯特·博世有限公司 | 在具有至少两个执行单元的计算机系统中对程序代码的执行进行分离的方法和设备 |
JP2008518300A (ja) * | 2004-10-25 | 2008-05-29 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも2つの実行ユニットを備えるコンピュータシステムにおけるプログラムコードの処理分割方法および装置 |
DE102006050715A1 (de) | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Verfahren und System zum Erzeugen eines gültigen Signals |
JP4461135B2 (ja) * | 2006-12-25 | 2010-05-12 | 富士通株式会社 | 演算回路及び演算方法並びに情報処理装置 |
WO2009155993A1 (en) * | 2008-06-27 | 2009-12-30 | Abb Research Ltd. | A safety system for a machine |
DE102009019087A1 (de) * | 2009-04-20 | 2010-11-11 | Pilz Gmbh & Co. Kg | Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage |
CN101694588B (zh) | 2009-10-14 | 2012-04-18 | 北京全路通信信号研究设计院有限公司 | 一种二乘二取二主备控制切换系统和方法 |
-
2011
- 2011-01-31 JP JP2011018220A patent/JP5683294B2/ja active Active
- 2011-10-06 WO PCT/JP2011/073079 patent/WO2012105089A1/ja active Application Filing
- 2011-10-06 CN CN201180056641.3A patent/CN103238122B/zh active Active
- 2011-10-06 EP EP11857548.9A patent/EP2672339B1/en active Active
- 2011-10-06 US US13/989,888 patent/US9753437B2/en active Active
- 2011-10-06 KR KR1020137013736A patent/KR101533169B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
JP5683294B2 (ja) | 2015-03-11 |
KR101533169B1 (ko) | 2015-07-01 |
EP2672339A1 (en) | 2013-12-11 |
WO2012105089A1 (ja) | 2012-08-09 |
EP2672339B1 (en) | 2019-04-03 |
US9753437B2 (en) | 2017-09-05 |
KR20130084679A (ko) | 2013-07-25 |
CN103238122A (zh) | 2013-08-07 |
EP2672339A4 (en) | 2018-01-24 |
JP2012159956A (ja) | 2012-08-23 |
US20130245794A1 (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103238122B (zh) | 安全装置、安全装置的运算方法 | |
Guo et al. | A simple reliability block diagram method for safety integrity verification | |
CN103778028B (zh) | 半导体器件 | |
US7631113B2 (en) | Control system for a system rendered secure through diversification | |
US20120083904A1 (en) | Method and system for offline code validation | |
US20060200278A1 (en) | Generic software fault mitigation | |
JP5981988B2 (ja) | 安全制御装置の動作方法および安全制御装置 | |
US20210349443A1 (en) | Method and apparatus for the computer-aided creation and execution of a control function | |
KR20140132373A (ko) | 레거시 하드웨어 및 소프트웨어를 위한 향상된 리호스팅 능력 | |
WO2007007703A1 (ja) | 故障診断装置、プログラム及び記録媒体 | |
CN112740122B (zh) | 用于监视安全关键过程的自动化系统 | |
CN105464722B (zh) | 一种适用于机组aps控制的汽轮机紧急跳闸系统及其方法 | |
CN104732627A (zh) | 一种汽包安全联锁系统控制方案优化方法 | |
Jahanian | Failure mode reasoning | |
CN104317259A (zh) | 一种建立plc/dcs平台设备逻辑模型的方法 | |
JP6400114B2 (ja) | 監視制御装置用試験装置 | |
Pakonen et al. | Verification of fault tolerant safety I&C systems using model checking | |
Riera et al. | A non-intrusive method to make safe existing PLC Program | |
Moritani et al. | Development of cad for zone dividing of process control networks to improve cyber security | |
JP2004118265A (ja) | プラント保護装置 | |
CN111044826A (zh) | 检测方法及检测系统 | |
JP2012080600A (ja) | ディジタル保護継電装置 | |
Shashoa et al. | Fault detection based on two-stage recursive least squares parameter estimation | |
Mueller et al. | „Methodological Approach to the Sensitivity Analysis of Failure Effects in Modern Digital I&C Systems “ | |
Śnieżek et al. | A fail safe programmable logic controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210623 Address after: Kanagawa Prefecture, Japan Patentee after: Mitsubishi Power Co., Ltd Address before: Tokyo, Japan Patentee before: MITSUBISHI HEAVY INDUSTRIES, Ltd. |