CN104641307B - 安全运算装置、安全输入装置、安全输出装置以及安全控制器 - Google Patents

安全运算装置、安全输入装置、安全输出装置以及安全控制器 Download PDF

Info

Publication number
CN104641307B
CN104641307B CN201380047159.2A CN201380047159A CN104641307B CN 104641307 B CN104641307 B CN 104641307B CN 201380047159 A CN201380047159 A CN 201380047159A CN 104641307 B CN104641307 B CN 104641307B
Authority
CN
China
Prior art keywords
storage region
input
output
output data
data
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
Application number
CN201380047159.2A
Other languages
English (en)
Other versions
CN104641307A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN104641307A publication Critical patent/CN104641307A/zh
Application granted granted Critical
Publication of CN104641307B publication Critical patent/CN104641307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24182Redundancy

Abstract

一种安全运算装置,其具有处理器(11)以及存储器(12),存储器具有第1存储区域(12A)、和地址与第1存储区域不同的第2存储区域(12B),处理器具有:执行控制部(13),其执行第1处理过程和第2处理过程,该第1处理过程包含写入至第1存储区域的输入数据的程序处理,该第2处理过程包含写入至第2存储区域的输入数据的程序处理、以及针对写入至第2存储区域的输出数据的冗余码的添加;结果对照部(14),其将在第1处理过程中添加了冗余码的输出数据、以及在第2处理过程中添加了冗余码的输出数据进行对照;运算诊断部(15),其诊断处理器以及存储器有无故障;以及异常处理部(16),其在冗余校验、结果对照部的对照、以及运算诊断部的诊断中的至少一项检测出异常的情况下,使输出数据的输出停止。

Description

安全运算装置、安全输入装置、安全输出装置以及安全控制器
技术领域
本发明涉及安全运算装置、安全输入装置、安全输出装置以及安全控制器,特别是涉及一种实施内部诊断的安全控制器的结构,该内部诊断用于保障可靠性较高的控制动作。
背景技术
用于安全控制的安全控制器例如按照与功能安全相关的国际标准即IEC61508,要求能够检测出处理器或存储器中的电路的永久性故障即硬件故障、和暂时性的故障即软件故障这两种故障。
对于安全控制器的内部诊断,例如已知下述方法,即,将2个处理器的运算结果对照而进行相互诊断的方法、和由1个处理器执行2次相同的运算处理而对处理结果进行比较的方法。例如,在专利文献1中,公开了将由1个处理器执行2次相同的运算处理而得出的结果写入各自的存储器的方法。
专利文献1:日本特开昭59-194204号公报
发明内容
如果采用专利文献1所记载的结构,则对来自2个存储器的输出使用二重化的分接器和触发电路而进行一重化。由处理器执行2次运算处理而得到的结果的对照通过二重化的硬件电路实现。采用该二重化电路结构的情况与由一重输入输出电路构成的通常的结构相比,存在下述问题,即,需要冗余的电路结构,导致安全控制器变复杂且高成本。
本发明就是鉴于上述情况而提出的,其目的在于得到一种安全运算装置、安全输入装置、安全输出装置以及安全控制器,该安全运算装置、安全输入装置、安全输出装置以及安全控制器作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
为了解决上述课题,并实现目的,本发明的特征在于,具有:处理器,其实施输入数据的程序处理;以及存储器,其保存输入至所述处理器的所述输入数据、以及所述程序处理的结果即输出数据,所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输入数据以及所述输出数据,所述处理器具有:执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含写入所述第1存储区域的所述输入数据的所述程序处理、和向作为所述程序处理的结果而写入所述第1存储区域的所述输出数据添加冗余码,该第2处理过程包含写入所述第2存储区域的所述输入数据的所述程序处理、和向作为所述程序处理的结果而写入所述第2存储区域的所述输出数据添加冗余码;结果对照部,其对在所述第1处理过程中添加了所述冗余码的所述输出数据、和在所述第2处理过程中添加了所述冗余码的所述输出数据进行对照;运算诊断部,其通过运算,诊断所述处理器以及所述存储器有无故障;以及异常处理部,其在所述输入数据以及所述输出数据的冗余校验、所述结果对照部的对照、以及所述运算诊断部的诊断中的至少一项检测出异常的情况下,使所述输出数据的输出停止。
发明的效果
本发明所涉及的安全运算装置具有包含处理器以及存储器的一重电路结构。执行控制部分别对从第1存储区域读出的输入数据、以及从第2存储区域读出的输入数据执行程序处理。结果对照部通过对针对双方的输入数据的程序处理的结果进行对照,从而检测出软件故障。运算诊断部检测出处理器以及存储器中的硬件故障。由此,安全运算装置具有下述效果,即,作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
附图说明
图1是表示本发明的实施方式1所涉及的具有安全运算装置的安全控制器的结构的框图。
图2是表示安全控制器的动作过程的流程图(其一)。
图3是表示安全控制器的动作过程的流程图(其二)。
图4是表示本发明的实施方式2所涉及的具有安全运算装置的安全控制器的动作过程的流程图(其一)。
图5是表示本发明的实施方式2所涉及的具有安全运算装置的安全控制器的动作过程的流程图(其二)。
图6是表示本发明的实施方式6所涉及的具有安全运算装置的安全控制器的结构的框图。
图7是表示本发明的实施方式7所涉及的具有安全输入装置的安全控制器的结构的框图。
图8是表示安全输入装置的动作过程的流程图。
图9是表示本发明的实施方式8所涉及的具有安全输出装置的安全控制器的结构的框图。
图10是表示安全输出装置的动作过程的流程图。
图11是表示本发明的实施方式9所涉及的安全控制器的结构的框图。
图12是表示本发明的实施方式10所涉及的安全控制器的结构的框图。
具体实施方式
下面,基于附图,对本发明所涉及的安全运算装置、安全输入装置、安全输出装置以及安全控制器的实施方式进行详细说明。此外,本发明并不限定于这些实施方式。
实施方式1
图1是表示本发明的实施方式1所涉及的具有安全运算装置的安全控制器的结构的框图。安全控制器具有安全运算装置10、安全输入装置18、以及安全输出装置19。
安全运算装置10实施用于安全控制的运算处理。安全输入装置18接受向安全控制器输入的输入信号。安全输出装置19从安全控制器将输出信号输出至外部。安全运算装置10、安全输入装置18、以及安全输出装置19经由总线20彼此进行内部连接。
安全运算装置10具有处理器11以及存储器12。处理器11实施输入至安全运算装置10的输入数据的程序处理。存储器12保存输入至处理器11的输入数据、以及程序处理的结果即输出数据。
存储器12具有彼此独立的第1存储区域12A以及第2存储区域12B。第2存储区域12B的地址与第1存储区域12A的地址不同。第1存储区域12A以及第2存储区域12B均能够保存输入数据以及输出数据。
处理器11具有执行控制部13、结果对照部14、运算诊断部15、异常处理部16、以及输入输出处理部17。执行控制部13执行针对写入至第1存储区域12A的输入数据的第1处理过程、和针对写入至第2存储区域12B的输入数据的第2处理过程。结果对照部14将在第1处理过程中写入至第1存储区域12A的输出数据和在第2处理过程中写入至第2存储区域12B的输出数据进行对照。
运算诊断部15通过运算,诊断出处理器11以及存储器12有无故障。在运算诊断部15进行的处理器11以及存储器12的诊断中,例如可以使用测试模式。异常处理部16在输入数据以及输出数据的冗余校验、结果对照部14的对照、以及运算诊断部15的诊断中的至少一项检测出异常的情况下,使输出数据的输出停止。
输入输出处理部17进行安全输入装置18与第1存储区域12A以及第2存储区域12B之间的输入数据的转发、和安全输出装置19与第1存储区域12A以及第2存储区域12B之间的输出数据的转发。
图2以及图3是表示安全控制器的动作过程的流程图。安全输入装置18向输入数据添加冗余码。输入输出处理部17将添加有冗余码的输入数据从安全输入装置18读入。输入输出处理部17将读入的输入数据写入至第1存储区域12A以及第2存储区域12B(步骤S1)。
执行控制部13对写入至第1存储区域12A的输入数据(第1输入数据)所附带的冗余码进行校验(步骤S2)。冗余码例如是CRC(Cyclic Redundancy Code)。
在该冗余校验中检测出异常的情况下(步骤S3,Yes),异常处理部16使安全控制器的动作停止(步骤S18)。另一方面,如果通过步骤S2的冗余校验确认出没有异常(步骤S3,No),则执行控制部13执行第1输入数据的程序处理(步骤S4)。程序例如是由用户生成的应用程序。在程序处理中,执行控制部13使用第1输入数据、以及第1存储区域12A所保存的自身保存数据。
执行控制部13将步骤S4的处理结果即输出数据(第1输出数据)写入至第1存储区域12A(步骤S5)。执行控制部13根据步骤S4的处理结果,将第1存储区域12A所保存的自身保存数据改写。
执行控制部13向写入至第1存储区域12A的第1输出数据添加冗余码(步骤S6)。冗余码例如是CRC。从步骤S2至步骤S6相当于针对写入至第1存储区域12A的第1输入数据的第1处理过程。
下面,执行控制部13对写入至第2存储区域12B的输入数据(第2输入数据)所附带的冗余码进行校验(步骤S7)。冗余码例如是CRC。在该冗余校验中检测出异常的情况下(步骤S8,Yes),异常处理部16使安全控制器的动作停止(步骤S18)。另一方面,如果通过步骤S7的冗余校验确认出没有异常(步骤S8,No),则执行控制部13执行第2输入数据的程序处理(步骤S9)。
第1存储区域12A以及第2存储区域12B除了偏移地址不同以外,存储映像相同。执行控制部13对于第2输入数据,以与步骤S4中对第1输入数据进行处理时的偏移地址不同的偏移地址执行相同的程序。在程序处理中,执行控制部13使用第2输入数据、以及第2存储区域12B所保存的自身保存数据。
执行控制部13将步骤S9的处理结果即输出数据(第2输出数据)写入至第2存储区域12B(步骤S10)。执行控制部13根据步骤S9的处理结果,将第2存储区域12B所保存的自身保存数据改写。
执行控制部13向写入至第2存储区域12B的第2输出数据添加冗余码(步骤S11)。冗余码例如是CRC。从步骤S7至步骤S11相当于针对写入至第2存储区域12B的第2输入数据的第2处理过程。
然后,结果对照部14将在步骤S6中添加了冗余码的第1输出数据和在步骤S11中添加了冗余码的第2输出数据进行比较对照(步骤S12)。结果对照部14也可以在第1以及第2输出数据的基础上,将值可能变更的自身保存数据包含在比较对照的范围内。
在结果对照部14的对照中检测出异常的情况下(步骤S13,Yes),异常处理部16使安全控制器的动作停止(步骤S18)。另一方面,如果在结果对照部14的对照中确认出没有异常(步骤S13,No),则输入输出处理部17从第1存储区域12A读出第1输出数据,并将第1输出数据写入至安全输出装置19。
安全输出装置19对由输入输出处理部17写入的第1输出数据所附带的冗余码进行校验(步骤S14)。在该冗余校验中检测出异常的情况下(步骤S15,Yes),异常处理部16使安全输出装置19进行的第1输出数据的输出停止(步骤S18)。另一方面,如果通过步骤S14的冗余校验确认出没有异常(步骤S15,No),则安全输出装置19输出第1输出数据。
下面,运算诊断部15诊断处理器11以及存储器12有无故障(步骤S16)。运算诊断部15使用测试模式对处理器11的运算单元(ALU;Arithmetic and Logic Unit)进行诊断。作为测试模式,选择能够确认出ALU的寄存器的各位是否可独立地开启/关闭这一情况的模式。
例如,在进行加法运算的ALU的情况下,实施作为运算对象的2个寄存器的各位(0,0)、(0,1)、(1,0)、以及(1,1)的确认、和来自低阶位的进位运算。并且,为了确认相邻的存储位之间没有发生短路,作为测试模式,选择使相邻位成为不同结果的模式(0x5555以及0xAAAA)。
运算诊断部15对第1存储区域12A以及第2存储区域12B的被指定出的地址进行彼此不同的测试模式的写入以及读出。第1存储区域12A以及第2存储区域12B具有彼此不同的偏移地址和相同的存储映像。在相同的测试模式中,即使发生偏移地址线固着的故障,由于第1存储区域12A以及第2存储区域12B的相同地址中写入有相同的值,因此难于进行正确的故障诊断。运算诊断部15通过在第1存储区域12A以及第2存储区域12B的被指定出的地址中预先写入不同的值,并将读出的值与写入时的值进行比较,从而诊断出地址线的故障。
在处理器11以及存储器12的故障诊断中检测出异常的情况下(步骤S17,Yes),即,在处理器11以及存储器12中的至少一个发生故障的情况下,异常处理部16使安全控制器的动作停止(步骤S18)。异常处理部16将来自第1存储区域12A以及第2存储区域12B的信号输出设为OFF。
另一方面,如果通过处理器11以及存储器12的故障诊断确认出没有异常,即,处理器11以及存储器12中的任何一个均没有发生故障(步骤S17,No),则安全控制器返回步骤S1,继续进行用于安全控制的动作。
安全控制器在输入数据以及输出数据的冗余校验、结果对照部14的对照、以及运算诊断部15的诊断中的至少一项检测出异常的情况下,通过步骤S18的动作的停止,成为稳定的无限循环状态。由此,安全控制器在检测出异常的时刻使输出数据的输出停止。
安全控制器在安全运算装置10的处理器11以及存储器12中的某一个发生软件故障的情况下,能够根据通过结果对照部14得到的对照结果,检测出故障的发生。此外,安全控制器在发生软件故障的情况下,除了使动作停止以外,还可以在实施了规定的措施之后继续进行动作。
即使在软件处理的某个周期中检测出软件故障,也可以在下一个周期及其以后进行消除。安全控制器例如可以通过将检测出故障的周期的前一个周期的输出数据应用在本周期中,从而避免错误操作而继续下一个周期及其以后的处理。安全控制器也可以在规定次数的周期中连续检测出故障的情况下,使动作停止。
安全控制器在处理器11以及存储器12中的某一个发生硬件故障的情况下,能够根据通过运算诊断部15得到的诊断结果,检测出故障的发生。如果在软件处理的某个周期中检测出硬件故障,则在下一个周期及其以后均不会消除。因此,安全控制器在检测出硬件故障的情况下,立即使动作停止。
安全控制器采用由处理器11、存储器12、安全输入装置18、以及安全输出装置19构成的一重电路结构。安全控制器即使不采用二重化的硬件结构,也能够检测出硬件故障以及软件故障这两种故障。安全控制器作为一重电路结构而能够实现简化和低成本。
实施方式2
图4以及图5是表示本发明的实施方式2所涉及的具有安全运算装置的安全控制器的动作过程的流程图。本实施方式所涉及的安全控制器具有与实施方式1所涉及的安全控制器(参照图1)相同的结构。本实施方式的动作过程中的从步骤S1至步骤S9的过程与实施方式1的动作过程中的步骤S1~S9(参照图2)相同。
执行控制部13使步骤S9的处理结果即输出数据(第2输出数据)进行位反转(步骤S20)。执行控制部13将经过位反转而得到的第2输出数据写入至第2存储区域12B(步骤S10)。另外,执行控制部13根据步骤S9的处理结果,将第2存储区域12B所保存的自身保存数据改写,并且,进行位反转。
执行控制部13向写入至第2存储区域12B的第2输出数据添加冗余码(步骤S11)。冗余码例如是CRC。从步骤S7到步骤S11相当于针对写入至第2存储区域12B的第2输入数据的第2处理过程。
下面,结果对照部14将在步骤S6中添加了冗余码的第1输出数据和在步骤S11中添加了冗余码的第2输出数据进行比较对照(步骤S12)。在步骤S12中,结果对照部14通过求出彼此的逻辑异或的方法,将第1输出数据和第2输出数据进行对照。之后的从步骤S13至步骤S15的动作过程与实施方式1的从步骤S13至步骤S15的动作过程相同。
如果通过步骤S14的冗余校验确认出没有异常(步骤S15,No),则安全输出装置19输出第1输出数据。然后,运算诊断部15对处理器11有无故障进行诊断(步骤S21)。相对于第1存储区域12A所保存的第1输出数据,第2存储区域12B所保存的第2输出数据经过了步骤S20的位反转。能够通过将第1输出数据和第2输出数据进行比较对照,从而检测出地址线的故障。由此,在实施方式2中,不需要通过运算诊断部15进行的存储器12的故障诊断。
步骤S17以及步骤S18的动作过程与实施方式1中的步骤S17以及步骤S18的动作过程相同。实施方式2所涉及的安全控制器与实施方式1相同地,作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
实施方式3
实施方式3所涉及的安全控制器具有与实施方式1所涉及的安全控制器(参照图1)相同的结构。对于本实施方式所涉及的安全控制器的动作过程,在实施方式2所涉及的安全控制器的动作过程(参照图4以及图5)中的步骤S20中,取代位反转而进行向补码的转换。在这里,参照图4以及图5的流程图,对本实施方式的动作过程进行说明。
执行控制部13将步骤S9的处理结果即输出数据(第2输出数据)转换成补码。执行控制部13将向补码转换而得到的第2输出数据写入至第2存储区域12B(步骤S10)。另外,执行控制部13根据步骤S9的处理结果,将第2存储区域12B所保存的自身保存数据改写,并且转换成补码。
结果对照部14将在步骤S6中添加了冗余码的第1输出数据和在步骤S11中添加了冗余码的第2输出数据进行比较对照(步骤S12)。在步骤S12中,结果对照部14通过判断彼此的逻辑和是否是0,将第1输出数据和第2输出数据进行对照。之后的动作过程与实施方式2的从步骤S13到步骤S18的动作过程相同。
在实施方式3中,与实施方式2相同地、将写入至第1存储区域12A的第1输出数据和写入至第2存储区域12B的第2输出数据设为不同的值。能够通过将第1输出数据和第2输出数据进行比较对照,从而检测出地址线的故障。由此,在实施方式3中,不需要通过运算诊断部15进行的存储器12的故障诊断。
实施方式3所涉及的安全控制器与实施方式1以及2相同地,作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
实施方式4
实施方式4所涉及的安全控制器具有与实施方式1所涉及的安全控制器(参照图1)相同的结构。对于本实施方式所涉及的安全控制器的动作过程,在实施方式2所涉及的安全控制器的动作过程(参照图4以及图5)的步骤S20中,取代位反转而进行使字节序逆转的转换。在这里,参照图4以及图5的流程图对本实施方式的动作过程进行说明。
执行控制部13对步骤S9的处理结果即输出数据(第2输出数据)进行例如使16位数据的高阶位以及低阶位颠倒的转换。执行控制部13将经过字节序逆转而得到的第2输出数据写入至第2存储区域12B(步骤S10)。另外,执行控制部13根据步骤S9的处理结果,将第2存储区域12B所保存的自身保存数据改写,并且使字节序逆转。
结果对照部14将在步骤S6中添加了冗余码的第1输出数据和在步骤S11中添加了冗余码的第2输出数据进行比较对照(步骤S12)。此时,在使第2存储区域12B所保存的第2输出数据字节序逆转后,结果对照部14读出该字节序逆转后的第2输出数据。结果对照部14将第1输出数据和经过字节序逆转而得到的第2输出数据进行对照。之后的动作过程与实施方式2的从步骤S13至步骤S18的动作过程相同。
在实施方式4中,与实施方式2以及3相同地、将写入至第1存储区域12A的第1输出数据和写入至第2存储区域12B的第2输出数据设为不同的值。能够通过将第1输出数据和第2输出数据进行比较对照,从而检测出地址线的故障。由此,在实施方式4中,不需要通过运算诊断部15进行的存储器12的故障诊断。
实施方式4所涉及的安全控制器与实施方式1至3相同地,作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
实施方式4所涉及的安全控制器还可以使步骤S4的处理结果即输出数据(第1输出数据)的字节序逆转。结果对照部14还可以在进行比较对照时,使第1存储区域12A所保存的第1输出数据、以及第2存储区域12B所保存的第2输出数据中的任意一方的字节序逆转,而进行读出。
实施方式5
实施方式5所涉及的安全控制器具有与实施方式1所涉及的安全控制器(参照图1)相同的结构。本实施方式所涉及的安全控制器的动作过程与实施方式1所涉及的安全控制器的动作过程(参照图2以及图3)相同。在这里,参照图2以及图3的流程图,对本实施方式的动作过程进行说明。
在第1输入数据的程序处理(步骤S4)中,执行控制部13使用作为面向16位的编译器而生成的程序。另一方面,在第2输入数据的程序处理(步骤S9)中,执行控制部13使用作为面向32位的编译器而生成的程序。
控制器处理的数据大部分都是16位数据。在步骤S4中,执行控制部13向寄存器加载16位的第1输入数据,并执行16位命令。执行控制部13将处理结果即16位的第1输出数据写入至第1存储区域12A(步骤S5)。
另外,在步骤S9中,处理器11向寄存器加载16位的第2输入数据,并执行32位命令。执行控制部13将处理结果即16位的第2输出数据写入至第2存储区域12B(步骤S10)。
在实施方式5中,对第1输入数据以及第2输入数据执行的命令彼此不同。结果对照部14能够通过将第1输出数据和第2输出数据进行比较对照,从而检测出处理器11的软件故障以及硬件故障。由此,在实施方式5中,不需要通过运算诊断部15进行的处理器11的故障诊断。
实施方式5所涉及的安全控制器与实施方式1至4相同地,作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
实施方式6
图6是表示本发明的实施方式6所涉及的具有安全运算装置的安全控制器的结构的框图。安全控制器具有安全运算装置30、安全输入装置18、以及安全输出装置19。对与实施方式1相同的部分标注相同的标号,并适当地省略重复的说明。
安全运算装置30实施用于安全控制的运算处理。安全运算装置30、安全输入装置18、以及安全输出装置19经由总线20,彼此进行内部连接。安全输入装置18基于向安全控制器输入的输入数据,计算出冗余码。安全输入装置18生成向输入数据添加有冗余码以及附加信息的输入报文。输入报文包含输入数据以及冗余码。冗余码例如是CRC。附加信息例如是头部信息。
安全运算装置30具有处理器31以及存储器12。处理器31实施输入至安全运算装置30的输入数据的程序处理。存储器12保存输入至处理器31的输入报文、以及程序处理的结果即输出报文。
处理器31具有执行控制部32、结果对照部33、控制运算部34、报文处理部35、运算诊断部36、异常处理部37、以及发送接收部38。发送接收部38进行来自安全输入装置18的输入报文的接收和向安全输出装置19的输出报文的发送。发送接收部38进行安全输入装置18与第1存储区域12A以及第2存储区域12B之间的输入报文的转发、和安全输出装置19与第1存储区域12A以及第2存储区域12B之间的输出报文的转发。
报文处理部35实施输入报文处理以及输出报文处理。作为输入报文处理,报文处理部35将向输入报文添加的冗余码解码并进行校验。作为输出报文处理,报文处理部35向输出数据添加冗余码而生成输出报文。
控制运算部34对来自报文处理部35的输入报文所包含的输入数据实施控制运算。控制运算部34例如执行安全控制逻辑。执行控制部32执行针对写入至第1存储区域12A的输入报文的第1处理过程、和针对写入至第2存储区域12B的输入报文的第2处理过程。
结果对照部33将在第1处理过程中写入至第1存储区域12A的输出报文、和在第2处理过程中写入至第2存储区域12B的输出报文进行对照。
运算诊断部36通过运算,诊断处理器31以及存储器12有无故障。在运算诊断部36进行的处理器31以及存储器12的诊断中,例如使用测试模式。
异常处理部37在输入数据以及输出数据的冗余校验、结果对照部33的对照、以及运算诊断部36的诊断中的至少一项检测出异常的情况下,使输出报文的输出停止。
下面,说明安全控制器的动作过程。发送接收部38从安全输入装置18读入向输入数据添加有冗余码的输入报文。发送接收部38将读入的输入报文写入至第1存储区域12A以及第2存储区域12B。
报文处理部35对由发送接收部38读入的输入报文实施输入报文处理。在第1处理过程中,报文处理部35将输入报文所附带的冗余码解码,并实施冗余校验。报文处理部35对输入报文所包含的输入数据以及头部信息进行校验。执行控制部32将经过报文处理部35的输入报文处理的输入报文写入至第1存储区域12A。
在第1处理过程中,执行控制部32将从第1存储区域12A读出的输入报文传送至控制运算部34。控制运算部34实施输入报文所包含的输入数据的控制运算,例如安全控制逻辑。执行控制部32将经过控制运算部34的控制运算的输入数据作为输出数据写入至第1存储区域12A。
在第1处理过程中,执行控制部32将从第1存储区域12A读出的输出数据传送至报文处理部35。报文处理部35对从第1存储区域12A读出的输出数据实施输出报文处理。报文处理部35基于输出数据,计算出冗余码,并向输出数据添加冗余码。执行控制部32将添加有冗余码的输出数据作为输出报文写入至第1存储区域12A。在第1处理过程中,执行控制部32执行输入报文处理、控制运算、输出报文处理,并将其结果随时记录至第1存储区域12A。
然后,在第2处理过程中,报文处理部35将输入报文所附带的冗余码解码,并实施冗余校验。报文处理部35对输入报文所包含的输入数据以及头部信息进行校验。执行控制部32将经过报文处理部35的输入报文处理的输入报文写入至第2存储区域12B。
在第2处理过程中,执行控制部32将从第2存储区域12B读出的输入报文发送至控制运算部34。控制运算部34实施输入报文所包含的输入数据的控制运算,例如安全控制逻辑。执行控制部32将经过控制运算部34的控制运算的输入数据作为输出数据写入至第2存储区域12B。
在第2处理过程中,执行控制部32将从第2存储区域12B读出的输出数据发送至报文处理部35。报文处理部35对从第2存储区域12B读出的输出数据实施输出报文处理。报文处理部35基于输出数据计算出冗余码。报文处理部35生成向输出数据添加有冗余码的输出报文。执行控制部32将由报文处理部35生成的输出报文写入至第2存储区域12B。在第2处理过程中,执行控制部32执行输入报文处理、控制运算、以及输出报文处理,并将其结果随时记录至第2存储区域12B。
结果对照部33将写入至第1存储区域12A的输出报文和写入至第2存储区域12B的输出报文进行比较对照。异常处理部37在输入数据以及输出数据的冗余校验、结果对照部33的对照、以及运算诊断部36的诊断中的至少一项检测出异常的情况下,使输出报文的输出停止。
在实施方式6中,安全控制器与实施方式1相同地,作为一重电路结构而能够实现简化和低成本。
实施方式7
图7是表示本发明的实施方式7所涉及的具有安全输入装置的安全控制器的结构的框图。安全控制器具有安全输入装置40、安全运算装置50、以及安全输出装置19。
安全运算装置50实施用于安全控制的运算处理。安全输入装置40接受向安全控制器输入的输入信号。安全输出装置19从安全控制器将输出信号输出至外部。安全输入装置40、安全运算装置50、以及安全输出装置19经由总线20,彼此进行内部连接。
安全输入装置40具有输入部41、处理器42、以及存储器43。输入部41将向安全输入装置40输入的输入信号数值化,成为输入数据。处理器42对来自输入部41的输入数据实施程序处理。存储器43保存输入至处理器42的输入数据。
存储器43具有彼此独立的第1存储区域43A以及第2存储区域43B。第2存储区域43B的地址与第1存储区域43A的地址不同。第1存储区域43A以及第2存储区域43B均能够保存输入数据。
处理器42具有输入运算部44、输入诊断部45、报文处理部46、执行控制部47、结果对照部48、以及发送部49。输入运算部44对来自输入部41的输入数据实施运算处理。输入诊断部45通过向输入部41发送测试信号,诊断输入部41有无异常。
作为输入报文处理,报文处理部46向输入数据添加冗余码以及附加信息。由此,报文处理部46生成面向安全运算装置50的输入报文。
执行控制部47执行包含向第1存储区域43A写入输入报文的第1处理过程、和包含向第2存储区域43B写入输入报文的第2处理过程。
结果对照部48将在第1处理过程中写入至第1存储区域43A的输入报文和在第2处理过程中写入至第2存储区域43B的输入报文进行对照。
发送部49将写入至第1存储区域43A的输入报文、和写入至第2存储区域43B的输入报文中的某一个发送至安全运算装置50。
图8是表示安全输入装置的动作过程的流程图。输入诊断部45将测试信号发送至输入部41(步骤S31)。输入诊断部45判断输入部41有无异常(步骤S32)。
输入诊断部45针对输入部41确认输入数据的值与测试信号是否一致。在输入信号是数字信号的情况下,输入诊断部45将对输入数据的当前值进行ON/OFF反转而得到的信号作为测试信号。例如,在相应的输入信道的值是“ON”的情况下,输入诊断部45将OFF信号作为测试信号发送。在输入运算部44确认出OFF信号的情况下,输入诊断部45判断出输入部41没有异常。在相应的输入信道的值是“OFF”的情况下,输入诊断部45可以将ON信号作为测试信号发送。
在输入信号是模拟信号的情况下,输入诊断部45将在模拟输入的幅度范围内进行变动的波形设为测试信号。在输入运算部44确认到测试信号的波形的情况下,输入诊断部45判断出输入部41没有异常。输入诊断部45可以将模拟输入的范围内的值多次分割并发送至输入部41。在输入运算部44确认到该值的情况下,输入诊断部45判断出输入部41没有异常。输入诊断部45以能够确认AD变换之后的各位的ON/OFF的方式,选择测试信号。
在输入诊断部45判断出输入部41存在异常的情况下(步骤S32,Yes),发送部49使向安全运算装置50的输入报文的发送停止(步骤S43)。安全控制器停止动作。
在输入诊断部45判断出输入部41没有异常的情况下(步骤S32,No),输入部41对多个输入端子的信号进行采样并将其数值化。输入部41获取数值化后的输入数据(步骤S33)。输入运算部44对输入部41的各输入信道实施输入数据的筛选处理(步骤S34)。输入运算部44通过筛选处理,决定出可以通过的输入数据的值(输入值)。
在输入信号是数字信号的情况下,输入运算部44在规定的周期的输入信号是相同值时,将该值确定为输入值。或者,输入运算部44将规定的周期的输入信号的值中、频度最高的值确定为输入值。在输入信号是模拟信号的情况下,输入运算部44将输入信号的规定的周期的移动平均值确定为输入值。输入运算部44可以在将输入信号的规定的周期中的急剧变化的值去除之后,确定出输入值。
报文处理部46向来自输入运算部44的输入数据添加冗余码以及附加信息。冗余码例如是CRC。附加信息例如是头部信息。报文处理部46生成向输入数据添加有冗余码以及头部信息的输入报文(第1输入报文)(步骤S35)。
报文处理部46向输入数据的通信头部添加作为头部信息的发送接收站点信息、报文编号。报文处理部46针对头部信息以及有效数据(输入数据)计算出CRC。报文处理部46向有效数据追加计算出的CRC。
安全运算装置50能够通过再次计算CRC,从而检测出输入报文的误码。另外,安全运算装置50能够通过确认头部信息,从而判断出接受的输入报文是否是应该接收的输入报文。
执行控制部47将来自报文处理部46的第1输入报文写入至第1存储区域43A(步骤S36)。第1处理过程是从步骤S33至步骤S35的处理过程。第1存储区域43A除了储存第1输入报文以外,还作为第1处理过程中的变量等的存储区域起作用。
下面,输入运算部44与步骤S34相同地、对输入部41的各输入信道实施输入数据的筛选处理(步骤S37)。报文处理部46与步骤S35相同地、向来自输入运算部44的输入数据添加冗余码以及头部信息。报文处理部46生成向输入数据添加有冗余码以及头部信息的输入报文(第2输入报文)(步骤S38)。
执行控制部47将来自报文处理部46的第2输入报文写入至第2存储区域43B(步骤S39)。第2处理过程是从步骤S37至步骤S39的处理过程。第2存储区域43B除了储存第2输入报文以外,还作为第2处理过程中的变量等的存储区域起作用。
结果对照部48从第1存储区域43A读出第1输入报文。结果对照部48从第2存储区域43B读出第2输入报文。结果对照部48将分别读出的第1输入报文和第2输入报文进行比较对照(步骤S40)。
在结果对照部48的对照中检测出异常的情况下(步骤S41,Yes),发送部49使向安全运算装置50的输入报文的发送停止(步骤S43)。安全控制器停止动作。
如果在结果对照部48的对照中确认出没有异常(步骤S41,No),则发送部49将第1输入报文或者第2输入报文发送至安全运算装置50(步骤S42)。发送部49例如从第2存储区域43B读出第2输入报文。发送部49将读出的第2输入报文发送至安全运算装置50。如果从发送部49将输入报文发送至安全运算装置50,则安全输入装置40返回步骤S31,继续用于接受向安全控制器的输入信号的输入的动作。
安全输入装置40在处理器42以及存储器43中的某一个发生软件故障的情况下,能够根据通过结果对照部48得到的对照结果,检测出故障的发生。此外,安全输入装置40在发生软件故障的情况下,除了使动作停止以外,还可以在实施了规定的措施之后继续进行动作。
即使在软件处理的某个周期中检测出软件故障,也可以在下一个周期及其以后进行消除。安全输入装置40例如可以通过将检测出故障的周期的前一个周期的输入报文应用在本周期中,从而避免错误操作而继续下一个周期及其以后的处理。安全输入装置40也可以在规定次数的周期中连续检测出故障的情况下,使动作停止。
安全输入装置40在处理器42以及存储器43中的某一个发生硬件故障的情况下,在结果对照部48进行的对照中,难于检测出故障的发生。为了对硬件故障进行自诊断,安全输入装置40例如在周期的中途实施规定的诊断程序。
安全输入装置40对向输入部41输入的输入信号的整体范围实施由输入诊断部45进行的诊断。安全输入装置40能够对一重电路结构的输入部41检测出由于电路部件发生固着、漂移所导致的误输入。安全输入装置40以及安全运算装置50通过进行输入报文的冗余校验和头部信息的确认,从而能够利用一重通信单元检测出输入报文的错误。安全输入装置40能够通过结果对照部48的输入报文的对照,防止软件错误的混入。
安全输入装置40采用由输入部41、处理器42、以及存储器43构成的一重电路结构。实施方式7所涉及的安全输入装置40作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
此外,可以在安全输入装置40的处理器42的动作中追加与上述的实施方式1至5中的处理器11(参照图1)相同的动作。
实施方式8
图9是表示本发明的实施方式8所涉及的具有安全输出装置的安全控制器的结构的框图。安全控制器具有安全输入装置18、安全运算装置50、以及安全输出装置60。
安全运算装置50实施用于安全控制的运算处理。安全输入装置18接受向安全控制器输入的输入信号。安全输出装置60从安全控制器将输出信号输出至外部。安全输入装置18、安全运算装置50、以及安全输出装置60经由总线20,彼此进行内部连接。
安全输出装置60具有输出部61、处理器62、以及存储器63。处理器62实施输出报文的程序处理。存储器63保存输出报文所包含的输出数据。输出部61输出与输出数据相对应的输出信号。
存储器63具有彼此独立的第1存储区域63A、以及第2存储区域63B。第2存储区域63B的地址与第1存储区域63A的地址不同。第1存储区域63A以及第2存储区域63B均能够保存输出数据。
处理器62具有电源切断部64、输出诊断部65、结果对照部66、输出运算部67、报文处理部68、执行控制部69、以及接收部70。接收部70接收来自安全运算装置50的输出报文。
作为输出报文处理,报文处理部68基于输出报文所包含的冗余码以及附加信息,校验输出报文的内容。输出运算部67实施用于从输出报文提取输出数据的运算处理。执行控制部69执行包含向第1存储区域63A写入输出数据的第1处理过程、和包含向第2存储区域63B写入输出数据的第2处理过程。
结果对照部66将在第1处理过程中写入至第1存储区域63A的输出数据和在第2处理过程中写入至第2存储区域63B的输出数据进行对照。
输出诊断部65通过向输出部61发送测试信号,诊断输出部61有无异常。电源切断部64根据输出诊断部65的诊断结果,切断向输出部61供电的电源。
图10是表示安全输出装置的动作过程的流程图。输出诊断部65向输出部61发送测试信号(步骤S51)。输出诊断部65判断输出部61有无异常(步骤S52)。
输出诊断部65针对输出部61确认输出数据的值与测试信号是否一致。在将输出信号设为数字信号的情况下,输出诊断部65将对输出数据的当前值进行ON/OFF反转而得到的信号作为测试信号。输出诊断部65将测试信号输出至输出部61。
例如,在相应的输出端子的值是“ON”的情况下,作为测试信号,输出诊断部65发送OFF信号。在一定时间内输出诊断部65确认到OFF信号的情况下,输出诊断部65判断出输出部61没有异常。或者,输出诊断部65读出输出端子的信号,将读出的信号的值与期待的输出数据的值进行比较。
在将输出信号设为模拟信号的情况下,输出诊断部65将DA转换器的范围的值多次分割,并发送至输出部61。输出诊断部65读出输出部61的输出数据的值,在读出的值处于误差范围内的情况下,判断输出部61没有异常。输出诊断部65的测试,在与输出端子连接的设备不发生反应程度的较短时间内进行。在输出诊断部65的测试过程中,输出部61可以继续输出基于当前的输出数据的输出信号。
在输出诊断部65判断出输出部61存在异常的情况下(步骤S52,Yes),电源切断部64切断输出部61的电源(步骤S63)。通过切断输出部61的电源,安全输出装置60将来自输出部61的输出信号强制地设为零。
在输出诊断部65判断出输出部61不存在异常的情况下(步骤S52,No),接收部70接收来自安全运算装置50的输出报文(步骤S53)。报文处理部68校验接收部70接收到的输出报文(第1输出报文)的内容(步骤S54)。
输出报文包含冗余码以及附加信息。冗余码例如是CRC。附加信息例如是头部信息。报文处理部68通过再次计算第1输出报文的CRC,从而检测出第1输出报文的误码。另外,报文处理部68通过确认头部信息即发送接收站点信息、报文编号,从而判断已接受的第1输出报文是否是应该由安全输出装置60应该得到输出信号的正确的输出报文。
输出运算部67从第1输出报文中提取输出部61的每个输出端子的输出数据(第1输出数据)。输出运算部67实施第1输出数据的筛选处理(步骤S55)。输出运算部67通过筛选处理,将规定的周期的移动平均值或者连续的相同值决定为可以通过的第1输出数据的值(输出值)。输出运算部67通过筛选处理,防止输出值的波动。
执行控制部69将来自输出运算部67的第1输出数据写入至第1存储区域63A(步骤S56)。第1处理过程是从步骤S54至步骤S56的处理过程。第1存储区域63A除了储存第1输出数据以外,还作为第1处理过程中的变量等的存储区域起作用。
下面,报文处理部68与步骤S54相同地、校验接收部70接收到的输出报文(第2输出报文)的内容(步骤S57)。报文处理部68通过再次计算第2输出报文的CRC,从而检测出第2输出报文的误码。另外,报文处理部68能够通过确认头部信息即发送接收站点信息、报文编号,从而判断已接受的第2输出报文是否是应该由安全输出装置60得到输出信号的正确的输出报文。
输出运算部67与步骤S55相同地、从第2输出报文中提取输出部61的每个输出端子的输出数据(第2输出数据)。输出运算部67实施第2输出数据的筛选处理(步骤S58)。
执行控制部69将来自输出运算部67的第2输出数据写入至第2存储区域63B(步骤S59)。第2处理过程是从步骤S57至步骤S59的处理过程。第2存储区域63B除了存储第2输出数据以外,还作为第2处理过程中的变量等的存储区域起作用。
结果对照部66从第1存储区域63A读出第1输出数据。结果对照部66从第2存储区域63B读出第2输出数据。结果对照部66将分别读出的第1输出数据和第2输出数据进行比较对照(步骤S60)。
在结果对照部66的对照中检测出异常的情况下(步骤S61,Yes),电源切断部64切断输出部61的电源(步骤S63)。通过切断输出部61的电源,安全输出装置60将来自输出部61的输出信号强制地设为零。
如果在结果对照部66的对照中确认出没有异常(步骤S61,No),则输出部61输出基于第1输出数据或者第2输出数据的输出信号(步骤S62)。如果输出部61输出了输出信号,则安全输出装置60返回步骤S51,继续用于对输出信号进行输出的动作。
安全输出装置60在处理器62以及存储器63中的某一个发生软件故障的情况下,能够根据通过结果对照部66得到的对照结果,检测出故障的发生。此外,安全输出装置60在发生软件故障的情况下,除了使动作停止以外,还可以在实施了规定的措施之后,继续进行动作。
即使在软件处理的某个周期中检测出软件故障,也可以在下一个周期及其以后进行消除。安全输入装置60例如可以通过将检测出故障的周期的前一个周期的输出数据应用在本周期中,从而避免错误操作而继续下一个周期及其以后的处理。安全输入装置60也可以在规定次数的周期中连续检测出故障的情况下,使动作停止。
安全输入装置60在处理器62以及存储器63中的某一个发生硬件故障的情况下,在结果对照部66进行的对照中,难于检测出故障的发生。为了对硬件故障进行自诊断,安全输入装置60例如在周期的中途实施规定的诊断程序。
安全输出装置60对输出部61的输出范围的整体实施通过输出诊断部65进行的诊断。安全输出装置60能够对一重电路结构的输出部61检测出由于电路部件发生固着、漂移所导致的误输出。安全输出装置60以及安全运算装置50通过进行输出报文的冗余校验和头部信息的确认,从而能够利用一重通信单元检测出输出报文的错误。安全输出装置60能够通过结果对照部66的输出数据的对照,防止软件错误的混入。
安全输出装置60采用由输出部61、处理器62、以及存储器63构成的一重电路结构。实施方式8所涉及的安全输出装置60作为一重电路结构而能够实现简化和低成本,并能够检测出硬件故障以及软件故障这两种故障。
此外,可以在安全输出装置60的处理器62的动作中追加与上述的实施方式1至5中的处理器11(参照图1)相同的动作。
实施方式9
图11表示本发明的实施方式9所涉及的安全控制器的结构的框图。安全控制器具有安全输入装置18、安全运算装置10、安全输出装置19、网关80、以及设计工具81。安全运算装置10例如是实施方式1所涉及的安全运算装置10。
设计工具81例如是通过PLC系统等进行动作的对定序程序进行编辑的工具。设计工具81例如通过安装有设计工具软件的个人计算机等实现。
安全运算装置10、安全输入装置18、以及安全输出装置19经由总线20,彼此进行内部连接。设计工具81经由网关80与总线20连接。开关以及传感器83与安全输入装置18的输入部连接。致动器以及接触器84与安全输出装置19的输出部连接。
设计工具81进行安全运算装置10的安全控制程序、设定参数的变更或者写入。安全控制器通过应用安全运算装置10,即使不采用二重化硬件构造,也能够检测出硬件故障以及软件故障这两种故障。安全控制器作为一重电路结构而能够实现简化和低成本。
可以在安全控制器的动作中追加与上述的实施方式2至5所涉及的安全控制器相同的动作。安全控制器可以应用实施方式6所涉及的安全运算装置30(参照图6)。
安全控制器也可以应用实施方式7所涉及的安全输入装置40(参照图7)。在该情况下,设计工具81对安全输入装置40指定输入数据的筛选处理的条件、输入诊断的条件。在该情况下,安全控制器作为一重电路结构而能够实现简化和低成本。
安全控制器还可以应用实施方式8所涉及的安全输出装置60(参照图9)。在该情况下,设计工具81对安全输出装置60指定输出数据的筛选处理的条件、输出诊断的条件。在该情况下,安全控制器作为一重电路结构而能够实现简化和低成本。
安全控制器例如还可以将实施方式6所涉及的安全运算装置30、实施方式7所涉及的安全输入装置40、以及实施方式8所涉及的安全输出装置60组合。
实施方式10
图12是表示本发明的实施方式10所涉及的安全控制器的结构的框图。对与实施方式9相同的部分标注相同的标号,并适当地省略重复的说明。
安全控制器具有安全输入装置18、安全运算装置10、安全输出装置19、网络连接装置85、以及设计工具81。安全运算装置10例如是实施方式1所涉及的安全运算装置10。安全运算装置10、安全输入装置18、安全输出装置19、以及设计工具81经由网络连接装置85,彼此进行连接。
设计工具81进行安全运算装置10的安全控制程序、设定参数的变更或者写入。安全控制器通过应用安全运算装置10,即使不采用二重化硬件构造,也能够检测出硬件故障以及软件故障这两种故障。安全控制器作为一重电路结构而能够实现简化和低成本。
可以在安全控制器的动作中追加与上述的实施方式2到5所涉及的安全控制器相同的动作。安全控制器可以应用实施方式6所涉及的安全运算装置30(参照图6)。
安全控制器还可以应用实施方式7所涉及的安全输入装置40(参照图7)。在该情况下,设计工具81对安全输入装置40指定输入数据的筛选处理的条件、输入诊断的条件。在该情况下,安全控制器作为一重电路结构而能够实现简化和低成本。
安全控制器还可以应用实施方式8所涉及的安全输出装置60(参照图9)。在该情况下,设计工具81对安全输出装置60指定输出数据的筛选处理的条件、输出诊断的条件。在该情况下,安全控制器作为一重电路结构而能够实现简化和低成本。
安全控制器例如还可以将实施方式6所涉及的安全运算装置30、实施方式7所涉及的安全输入装置40、以及实施方式8所涉及的安全输出装置60组合。
工业实用性
本发明的安全控制器作为承担机械、设备的安全控制的安全控制器是有用的。
标号的说明
11 处理器,12 存储器,12A 第1存储区域,12B 第2存储区域,13 执行控制部,14结果对照部,15 运算诊断部,16 异常处理部,17 输入输出处理部,18 安全输入装置,19安全输出装置,20 总线,30 安全运算装置,31 处理器,32 执行控制部,33 结果对照部,34控制运算部,35 报文处理部,36 运算诊断部,37 异常处理部,38 发送接收部,40 安全输入装置,41 输入部,42 处理器,43 存储器,43A 第1存储区域,43B 第2存储区域,44 输入运算部,45 输入诊断部,46 报文处理部,47 执行控制部,48 结果对照部,49 发送部,50安全运算装置,60 安全输出装置,61 输出部,62 处理器,63 存储器,63A 第1存储区域,63B 第2存储区域,64 电源切断部,65 输出诊断部,66 结果对照部,67 输出运算部,68 报文处理部,69 执行控制部,70 接收部,80 网关,81 设计工具,83 开关以及传感器,84 致动器以及接触器,85 网络连接装置。

Claims (11)

1.一种安全运算装置,其特征在于,具有:
处理器,其实施输入数据的程序处理;以及
存储器,其保存输入至所述处理器的所述输入数据、以及程序处理的结果即输出数据,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输入数据以及所述输出数据,
所述处理器具有:
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含写入至所述第1存储区域的所述输入数据的冗余校验以及所述程序处理、和向作为所述程序处理的结果而写入至所述第1存储区域的所述输出数据添加冗余码,该第2处理过程包含写入至所述第2存储区域的所述输入数据的冗余校验以及所述程序处理、和向作为所述程序处理的结果而写入至所述第2存储区域的所述输出数据添加冗余码;
结果对照部,其将在所述第1处理过程中添加了所述冗余码的所述输出数据、和在所述第2处理过程中添加了所述冗余码的所述输出数据进行对照;
运算诊断部,其通过运算,诊断所述处理器以及所述存储器有无故障;以及
异常处理部,其在所述执行控制部的所述输入数据的所述冗余校验、所述结果对照部的对照、以及所述运算诊断部的诊断中的至少一项检测出异常的情况下,使所述输出数据的输出停止。
2.根据权利要求1所述的安全运算装置,其特征在于,
在所述第2处理过程中,所述执行控制部将进行位反转而得到的所述输出数据写入至所述第2存储区域,
所述结果对照部通过彼此的逻辑异或而对从所述第1存储区域读出的所述输出数据、和从所述第2存储区域读出的所述输出数据进行对照。
3.根据权利要求1所述的安全运算装置,其特征在于,
在所述第2处理过程中,所述执行控制部将经过转换成补码而得到的所述输出数据写入至所述第2存储区域,
所述结果对照部通过彼此的逻辑和而对从所述第1存储区域读出的所述输出数据、和从所述第2存储区域读出的所述输出数据进行对照。
4.根据权利要求1所述的安全运算装置,其特征在于,
所述执行控制部使写入至所述第1存储区域的所述输出数据和写入至所述第2存储区域的所述输出数据中的一方的字节序逆转,
所述结果对照部在使从所述第1存储区域读出的所述输出数据和从所述第2存储区域读出的所述输出数据中的一方的字节序逆转之后,对它们进行对照,或者在进行比较对照时,使从所述第1存储区域读出的所述输出数据和从所述第2存储区域读出的所述输出数据中的一方的字节序逆转。
5.根据权利要求1所述的安全运算装置,其特征在于,
所述执行控制部在从所述第1存储区域读出的所述输入数据的所述程序处理中,使用作为面向16位的编译器而生成的程序,并且,在从所述第2存储区域读出的所述输入数据的所述程序处理中,使用作为面向32位的编译器而生成的程序。
6.一种安全运算装置,其特征在于,具有:
处理器,其实施输入数据的程序处理;以及
存储器,其保存输入至所述处理器的所述输入数据、以及程序处理的结果即输出数据,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输入数据以及所述输出数据,
所述处理器具有:
报文处理部,其实施输入报文处理和输出报文处理,该输入报文处理将向包含所述输入数据的输入报文添加的冗余码解码并实施冗余校验,该输出报文处理向所述输出数据添加冗余码而生成输出报文;
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含针对写入至所述第1存储区域的输入报文的控制运算、和通过所述输出报文处理得到的所述输出报文向所述第1存储区域的写入,该第2处理过程包含针对写入至所述第2存储区域的输入报文的控制运算、和经过所述输出报文处理而得到的所述输出报文向所述第2存储区域的写入;
结果对照部,其将写入至所述第1存储区域的所述输出报文、和写入至所述第2存储区域的所述输出报文进行对照;
运算诊断部,其通过运算,诊断所述处理器以及所述存储器有无故障;以及
异常处理部,其在所述报文处理部的所述输入数据的所述冗余校验、所述结果对照部的对照、以及所述运算诊断部的诊断中的至少一项检测出异常的情况下,使所述输出报文的输出停止。
7.一种安全输入装置,其特征在于,具有:
输入部,其将输入信号数值化,并作为输入数据;
处理器,其实施所述输入数据的程序处理;以及
存储器,其保存输入至所述处理器的所述输入数据,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输入数据,
所述处理器具有:
输入诊断部,其通过向所述输入部发送测试信号,诊断所述输入部有无异常;
报文处理部,其实施输入报文处理,该输入报文处理向所述输入数据添加冗余码而生成输入报文;
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含针对所述输入数据的运算处理、和所述输入报文向所述第1存储区域的写入,该第2处理过程包含针对所述输入数据的运算处理、和所述输入报文向所述第2存储区域的写入;
结果对照部,其将写入至所述第1存储区域的输入报文、和写入至所述第2存储区域的输入报文进行对照;以及
发送部,其将所述输入报文发送至实施用于安全控制的运算处理的安全运算装置,
所述发送部在所述输入诊断部的诊断、以及所述结果对照部的对照中的至少一项检测出异常的情况下,使所述输入报文的发送停止。
8.一种安全输出装置,其特征在于,具有:
处理器,其实施输出报文的程序处理;
存储器,其保存所述输出报文所包含的输出数据;以及
输出部,其输出与所述输出数据相对应的输出信号,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输出数据,
所述处理器具有:
接收部,其接收来自实施用于安全控制的运算处理的安全运算装置的所述输出报文,
报文处理部,其实施输出报文处理,该输出报文处理基于所述输出报文所包含的冗余码,校验所述输出报文的内容;
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含所述输出报文的内容的校验、和所述输出数据向所述第1存储区域的写入,该第2处理过程包含所述输出报文的内容的校验、和所述输出数据向所述第2存储区域的写入;
结果对照部,其将写入至所述第1存储区域的所述输出数据、和写入至所述第2存储区域的所述输出数据进行对照;以及
输出诊断部,其通过向所述输出部发送测试信号,诊断所述输出部有无异常,
所述输出部在所述输出诊断部的诊断、以及所述结果对照部的对照中的至少一项检测出异常的情况下,使所述输出信号的输出停止。
9.一种安全控制器,其特征在于,具有:
安全输入装置,其接收向安全控制器输入的输入信号;
安全运算装置,其实施用于安全控制的运算处理;以及
安全输出装置,其将输出信号从所述安全控制器输出,
所述安全运算装置具有:
处理器,其对来自所述安全输入装置的输入数据实施程序处理;以及
存储器,其保存输入至所述处理器的所述输入数据、以及程序处理的结果即输出数据,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输入数据以及所述输出数据,
所述处理器具有:
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含写入至所述第1存储区域的所述输入数据的冗余校验以及所述程序处理、和向作为所述程序处理的结果而写入至所述第1存储区域的所述输出数据添加冗余码,该第2处理过程包含写入至所述第2存储区域的所述输入数据的冗余校验以及所述程序处理、和向作为所述程序处理的结果而写入至所述第2存储区域的所述输出数据添加冗余码;
结果对照部,其将在所述第1处理过程中添加了所述冗余码的所述输出数据、和在所述第2处理过程中添加了所述冗余码的所述输出数据进行对照;
运算诊断部,其通过运算,诊断所述处理器以及所述存储器有无故障;以及
异常处理部,其在所述执行控制部的所述输入数据的所述冗余校验、所述安全输出装置的所述输出数据的冗余校验、所述结果对照部的对照、以及所述运算诊断部的诊断中的至少一项检测出异常的情况下,使所述输出数据的输出停止。
10.一种安全控制器,其特征在于,具有:
安全输入装置,其接收向安全控制器输入的输入信号;
安全运算装置,其实施用于安全控制的运算处理;以及
安全输出装置,其将输出信号从所述安全控制器输出,
所述安全输入装置具有:
输入部,其将所述输入信号数值化,并作为输入数据;
处理器,其实施所述输入数据的程序处理;以及
存储器,其保存输入至所述处理器的所述输入数据,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输入数据,
所述处理器具有:
输入诊断部,其通过向所述输入部发送测试信号,诊断所述输入部有无异常;
报文处理部,其实施输入报文处理,该输入报文处理向所述输入数据添加冗余码而生成输入报文;
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含针对所述输入数据的运算处理、和所述输入报文向所述第1存储区域的写入,该第2处理过程包含针对所述输入数据的运算处理、和所述输入报文向所述第2存储区域的写入;
结果对照部,其将写入至所述第1存储区域的输入报文、和写入至所述第2存储区域的输入报文进行对照;以及
发送部,其将所述输入报文发送至所述安全运算装置,
所述发送部在所述输入诊断部的诊断、以及所述结果对照部的对照中的至少一项检测出异常的情况下,使所述输入报文的发送停止。
11.一种安全控制器,其特征在于,具有:
安全输入装置,其接收向安全控制器输入的输入信号;
安全运算装置,其实施用于安全控制的运算处理;以及
安全输出装置,其将输出信号从所述安全控制器输出,
所述安全输出装置具有:
处理器,其对来自所述安全运算装置的输出报文实施程序处理;以及
存储器,其保存所述输出报文所包含的输出数据;以及
输出部,其输出与所述输出数据相对应的输出信号,
所述存储器在第1存储区域、和地址与所述第1存储区域不同的第2存储区域的每一个中都能够保存所述输出数据,
所述处理器具有:
接收部,其接收来自所述安全运算装置的所述输出报文,
报文处理部,其实施输出报文处理,该输出报文处理基于所述输出报文所包含的冗余码,校验所述输出报文的内容;
执行控制部,其执行第1处理过程和第2处理过程,该第1处理过程包含所述输出报文的内容的校验、和所述输出数据向所述第1存储区域的写入,该第2处理过程包含所述输出报文的内容的校验、和所述输出数据向所述第2存储区域的写入;
结果对照部,其将写入至所述第1存储区域的所述输出数据、和写入至所述第2存储区域的所述输出数据进行对照;以及
输出诊断部,其通过向所述输出部发送测试信号,诊断所述输出部有无异常,
所述输出部在所述输出诊断部的诊断、以及所述结果对照部的对照中的至少一项检测出异常的情况下,使所述输出信号的输出停止。
CN201380047159.2A 2012-09-11 2013-03-11 安全运算装置、安全输入装置、安全输出装置以及安全控制器 Active CN104641307B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/073179 WO2014041596A1 (ja) 2012-09-11 2012-09-11 安全コントローラ
JPPCT/JP2012/073179 2012-09-11
PCT/JP2013/056612 WO2014041829A1 (ja) 2012-09-11 2013-03-11 安全演算装置、安全入力装置、安全出力装置および安全コントローラ

Publications (2)

Publication Number Publication Date
CN104641307A CN104641307A (zh) 2015-05-20
CN104641307B true CN104641307B (zh) 2017-05-10

Family

ID=50277754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380047159.2A Active CN104641307B (zh) 2012-09-11 2013-03-11 安全运算装置、安全输入装置、安全输出装置以及安全控制器

Country Status (4)

Country Link
US (1) US9417943B2 (zh)
CN (1) CN104641307B (zh)
DE (1) DE112013004427B4 (zh)
WO (2) WO2014041596A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112013007195T5 (de) * 2013-06-26 2016-03-17 Mitsubishi Electric Corporation Entfernte Einheit und Abnormalitätsbestimmungsverfahren darin
JP6560489B2 (ja) * 2014-11-25 2019-08-14 株式会社日立製作所 制御コントローラおよびその制御方法
JP6540227B2 (ja) * 2015-05-21 2019-07-10 株式会社ジェイテクト 車両用制御装置
JP6717059B2 (ja) * 2016-06-06 2020-07-01 オムロン株式会社 制御システム
CN106708685A (zh) * 2017-02-24 2017-05-24 上海与德信息技术有限公司 故障检测方法及电子设备
JP6712354B2 (ja) * 2017-02-24 2020-06-17 株式会社日立製作所 異常診断システム
JP7102923B2 (ja) * 2018-05-15 2022-07-20 株式会社ジェイテクト 車両用制御装置
CN110825065A (zh) * 2018-08-09 2020-02-21 江西北斗变电科技有限公司 一种实时检测工业互联网控制系统运行状态的方法及系统
JP7045293B2 (ja) * 2018-09-19 2022-03-31 日立Astemo株式会社 電子制御装置
JP7172397B2 (ja) * 2018-10-02 2022-11-16 オムロン株式会社 制御システム、サポート装置およびプログラム
CN111142367B (zh) * 2018-11-02 2022-01-28 株洲中车时代电气股份有限公司 一种针对铁路安全应用的控制系统
CN113227925B (zh) * 2018-12-27 2022-07-29 三菱电机株式会社 数据收集装置、方法及记录有程序的计算机可读取的记录介质
JP7332442B2 (ja) 2019-11-19 2023-08-23 株式会社キーエンス 安全コントローラ
CN112147988A (zh) * 2020-10-15 2020-12-29 济宁科力光电产业有限责任公司 一种危险失效的同步逻辑诊断方法
JP7455772B2 (ja) 2021-02-26 2024-03-26 株式会社日立製作所 誤り検出機能付き論理回路および高安全制御システム
DE112021007224T5 (de) 2021-05-11 2024-01-18 Mitsubishi Electric Corporation Gateway-einrichtung, gateway-steuererungsverfahren und gateway-steuerungsprogramm
US20230236943A1 (en) * 2022-01-25 2023-07-27 Tektronix, Inc. Interface mechanism to control and access instrument settings and instrument data

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH028911A (ja) * 1988-06-27 1990-01-12 Matsushita Electric Works Ltd プログラマブルコントローラ
CN1040698A (zh) * 1988-09-02 1990-03-21 三菱电机株式会社 错误校正电路
CN1197334A (zh) * 1997-04-23 1998-10-28 三菱电机株式会社 纠错译码装置及纠错译码方式
JP2000148216A (ja) * 1998-11-12 2000-05-26 Mitsubishi Electric Corp プラントコントローラ通信装置
CN1341294A (zh) * 1999-12-27 2002-03-20 三菱电机株式会社 通信装置以及通信方法
CN1363165A (zh) * 2000-02-15 2002-08-07 三菱电机株式会社 通信系统和通信方法以及发送终端和接收终端
CN101317159A (zh) * 2005-09-27 2008-12-03 Nxp股份有限公司 检错纠错电路及相应方法
JP2010262432A (ja) * 2009-05-01 2010-11-18 Mitsubishi Electric Corp 安全制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2539887B1 (fr) 1983-01-20 1985-07-26 Tech Europ Commutation Procede pour assurer la securite du fonctionnement d'un automate programmable et automate pour la mise en oeuvre du procede
JPS63298602A (ja) 1987-05-29 1988-12-06 Daikin Ind Ltd 空気調和装置のバックアップ装置
JPH02219101A (ja) 1989-02-21 1990-08-31 Matsushita Electric Ind Co Ltd 出力処理装置
DE4309789A1 (de) 1993-03-25 1994-09-29 Siemens Ag Prüfanordnung für einen Analogeingabekanal für eine sicherheitsgerichtete, insbesondere speicherprogrammierbare Steuereinrichtung
US6426712B1 (en) * 2000-11-16 2002-07-30 Analog Devices, Inc. Fault-signal generators and methods for resolver systems
JP2002358106A (ja) 2001-05-31 2002-12-13 Omron Corp 安全コントローラ
US7328370B2 (en) * 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
EP2294580B1 (en) * 2008-06-20 2014-04-02 Freescale Semiconductor, Inc. Memory system with redundant data storage and error correction
JP5348499B2 (ja) * 2009-03-12 2013-11-20 オムロン株式会社 I/oユニット並びに産業用コントローラ
JP2011043957A (ja) * 2009-08-20 2011-03-03 Renesas Electronics Corp 障害監視回路、半導体集積回路及び故障個所特定方法
JP5404437B2 (ja) * 2010-01-13 2014-01-29 株式会社東芝 安全出力装置
JP5494255B2 (ja) 2010-06-07 2014-05-14 富士電機株式会社 安全制御システム
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH028911A (ja) * 1988-06-27 1990-01-12 Matsushita Electric Works Ltd プログラマブルコントローラ
CN1040698A (zh) * 1988-09-02 1990-03-21 三菱电机株式会社 错误校正电路
CN1197334A (zh) * 1997-04-23 1998-10-28 三菱电机株式会社 纠错译码装置及纠错译码方式
JP2000148216A (ja) * 1998-11-12 2000-05-26 Mitsubishi Electric Corp プラントコントローラ通信装置
CN1341294A (zh) * 1999-12-27 2002-03-20 三菱电机株式会社 通信装置以及通信方法
CN1363165A (zh) * 2000-02-15 2002-08-07 三菱电机株式会社 通信系统和通信方法以及发送终端和接收终端
CN101317159A (zh) * 2005-09-27 2008-12-03 Nxp股份有限公司 检错纠错电路及相应方法
JP2010262432A (ja) * 2009-05-01 2010-11-18 Mitsubishi Electric Corp 安全制御装置

Also Published As

Publication number Publication date
CN104641307A (zh) 2015-05-20
DE112013004427B4 (de) 2016-12-08
US9417943B2 (en) 2016-08-16
US20150220378A1 (en) 2015-08-06
WO2014041829A1 (ja) 2014-03-20
WO2014041596A1 (ja) 2014-03-20
DE112013004427T5 (de) 2015-06-03

Similar Documents

Publication Publication Date Title
CN104641307B (zh) 安全运算装置、安全输入装置、安全输出装置以及安全控制器
KR101029394B1 (ko) 고장 검출 장치, 고장 검출 방법 및 고장 검출 프로그램
Sabnani et al. A new technique for generating protocol test
Chang et al. Assessing automotive functional safety microprocessor with ISO 26262 hardware requirements
CN110431558A (zh) 以计算机支持的方式创建和执行控制功能的方法和装置
Nashiry et al. Online testing for three fault models in reversible circuits
JPH0446044B2 (zh)
JPWO2014041829A1 (ja) 安全演算装置、安全入力装置、安全出力装置および安全コントローラ
Bhattacharya et al. Synthesis of single-output space compactors for scan-based sequential circuits
Ren et al. Fault diagnosis for substation automation based on Petri nets and coding theory
JP2003167755A (ja) 信号処理系の故障診断方法および装置
Yudhana et al. Performance evaluation of communication methods on electric wheelchairs as assistive technology for persons with disabilities
Hristov et al. Safety Critical Computer Systems: failure Independence and software diversity effects on Reliability of dual channel structures
Qiu et al. The realization of cyclic serial port communication based on LabVIEW
Efanov et al. The evaluation of error detection probability at the outputs of combinational circuits under concurrent error detection on the basis of summation codes
JPS6227831A (ja) 演算器チエツク回路
Levin et al. Synthesis of ASM-based self-checking controllers
JP2004318254A (ja) 安全保護計測装置の試験装置
Belli Regular expressions for fault handling in sequential circuits
Efanov Fault-tolerant structures of digital devices based on Boolean complement with the calculations checking by sum codes.
Borecký et al. Faults Coverage Improvement based on Fault Simulation and Partial Duplication
Brissaud et al. Improving availability and safety of control systems by cooperation between intelligent transmitters
AndrejeviC et al. ANN application in electronic diagnosis-preliminary results
Lin Multichip system diagnosis based on product codes signature analysis
Matrosova et al. A fault-tolerant sequential circuit design for stuck-at faults and path delay faults

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant