CN103026309B - 安全控制装置以及安全控制方法 - Google Patents
安全控制装置以及安全控制方法 Download PDFInfo
- Publication number
- CN103026309B CN103026309B CN201180004525.7A CN201180004525A CN103026309B CN 103026309 B CN103026309 B CN 103026309B CN 201180004525 A CN201180004525 A CN 201180004525A CN 103026309 B CN103026309 B CN 103026309B
- Authority
- CN
- China
- Prior art keywords
- task
- time
- time zone
- control
- security
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 138
- 238000012544 monitoring process Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims description 66
- 230000009471 action Effects 0.000 claims description 42
- 230000002159 abnormal effect Effects 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 12
- 230000001276 controlling effect Effects 0.000 claims 7
- 230000002596 correlated effect Effects 0.000 claims 1
- 238000005192 partition Methods 0.000 abstract 6
- 230000015654 memory Effects 0.000 description 32
- 230000015572 biosynthetic process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 230000004913 activation Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000009790 rate-determining step (RDS) Methods 0.000 description 2
- 230000011514 reflex Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000084 gamma-ray spectrum Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- 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/0426—Programming the control sequence
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/24211—Override normal program, execute urgency program so machine operates safe
-
- 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/25—Pc structure of the system
- G05B2219/25343—Real time multitasking
-
- 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/25—Pc structure of the system
- G05B2219/25347—Multitasking machine control
-
- 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/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34382—Preemptive multitasking, cpu decides upon priority scheme, which task to start
-
- 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/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34383—Dynamic preemptive, special event register manages time slices for applications
Abstract
使跳过执行中不需要的时间区成为可能。OS(100)具有一部分区调度器(21),该分区调度器(21)按照包含向安全监视程序分配执行时间的TP1、向通常控制程序分配执行时间的TP2、以及向安全控制程序分配执行时间的TP3的调度模式,来选择并决定接下来要调度的时间区。处理器通过执行OS(100),使分区调度器(21)周期性地动作。分区调度器(21)响应于来自TP1至TP3的至少一个时间区内执行的程序的执行结果通知,而跳过在调度模式包含的TP中包含不需要执行的程序的TP。
Description
技术领域
本发明涉及为了确保功能安全而被安装于服务机器人以及运输设备等的安全控制装置,特别涉及使用了计算机系统的安全控制装置。
背景技术
服务机器人需要通过外部传感器或者自我诊断装置来持续监视安全状态,并在检测到任何的危险时执行适当的安全控制逻辑,由此来确保功能安全。
作为与以除了上述的服务机器人以外还包括运输设备等通过电气原理进行动作的系统为对象的功能安全有关的国际标准,制定了IEC 61508。在IEC 61508中将为了确保功能安全而设置的系统称为安全相关系统。IEC 61508规定了用于通过微处理器以及PLC(Programmable LogicController:可编程逻辑控制器)等硬件和计算机程序(软件)来构筑安全相关系统的各种各样的技术。通过使用IEC 61508所规定的技术,能够使用计算机系统来构筑安全相关系统。
另一方面,近年来微处理器等可编程电子设备的处理能力正在提高。因此,通过利用多任务OS(Operating System:操作系统)在一个计算机系统上并行执行各种各样的应用程序,能够整合安装于服务机器人以及汽车等设备中的多用途的计算机系统。
例如在专利文献1中公开了以下的技术:使与确保功能安全相关的应用程序(以下,称为安全相关应用)和其他的应用程序(以下,称为非安全相关应用)在一个计算机系统上运行。
如果将IEC 61508所规定的技术应用到包含安全相关应用以及非安全相关应用的全体软件中,那么需要将其也应用到非安全相关应用程序。因此,存在软件开发成本增大的问题。
因此,在专利文献1所公开的技术中,通过系统程序的时间分区,使安全相关应用(安全监视程序以及安全控制程序)从非安全相关应用程序(通常控制程序)中独立出来。因此,能够从安全相关系统中排除通常控制程序,能够有助于降低使用计算机系统构成的安全相关系统的成本。
在先技术文献
专利文献
专利文献1:日本专利文献特开2010-271759号公报。
发明内容
发明所要解决的问题
但是,在如专利文献1所例示的以往的安全控制装置中存在如以下说明的问题。
首先,对于第一个问题使用图11A来具体地说明。在图11A中,TP1是执行安全监视程序的时间区、TP2是执行通常控制程序的时间区、TP3是执行安全控制程序的时间区。
以往技术中的系统程序根据预先确定的固定调度模式来切换时间区。因此,例如,在按照如图11A的上部所示的通常控制时的调度模式(固定模式)进行调度的情况下发生异常时,调度模式被切换到如图11A的下部所示的安全控制时的调度模式(固定模式),之后按照安全控制时的调度模式(固定模式)来进行调度。
但是,根据异常的种类,有在发生异常时需要立即应对的异常。关于这样的异常,如果根据例如图11A的下部所示的安全控制时的调度模式执行调度的话,不仅反复执行为了异常处理而要求实时执行的TP3,而且甚至对于所发生的异常不需要执行的TP1也被反复地执行。因此,在直到安全被确保的期间内,尽管需要实时并且连续地执行TP3,但是作为固定模式所包含的TP1也需要执行。
因此,在发生异常时,无法使仅执行安全控制程序的时间区实时并且连续地来执行,安全控制程序执行的处理产生延迟,其结果是,存在发生异常时的安全控制有可能没有被恰当地进行的问题。
接着,使用图12以及图13来具体地说明第二个问题。图12示出了以往技术中的通常控制时的调度模式的具体例子。图13示出了以往技术中的关于系统程序执行的任务初始化处理的处理步骤的具体例子。
在具有时间分区功能的系统程序中,为了执行由安全监视程序等生成的任务,需要分配执行该任务的时间资源(时间区)。另外,为了分配时间区来执行任务,需要在执行通常的任务处理之前进行初始化处理。而且,为了进行任务的初始化处理,至少需要一个时间区。
这里,假定以往技术的系统程序根据图12中所示的基本的调度模式来执行调度的情况。这里,作为基本的调度模式,以在一次周期中包含全部种类的时间区(这里是,TP1、TP2、TP3)的情况为例进行说明。
图13示出与以往技术中的系统程序执行的任务初始化处理相关的处理步骤的具体例子。在图13中,分区调度器使与TPX(TP1~TP3中的任一个TP)相关的任务动作(S111),在直到与所有的时间区相关的任务的初始化处理结束为止的期间内,依次执行与TPX相关的任务的初始化处理(S112~S114)。而且,在与所有的时间区相关的任务的初始化处理结束了的情况下,分区调度器使与TPX相关的任务动作,之后开始执行通常的任务处理(S115)。
因此,在以往技术中的系统程序基于图13所示的处理步骤按照基本的调度模式(例如图12)执行调度时,首先在最初的周期中,使与所有的时间区(TP1、TP2、TP3)有关的任务的初始化处理分别在至少一个时间区中执行,在所有的任务的初始化处理结束之后,在第二次以后的周期所包含的时间区中能够开始通常的任务处理。
但是,在没有发生异常的情况下,对于TP3,并不是通常的任务处理执行的。因此,第二次以后的周期所包含的TP3不执行任何任务。即,在最初的周期中在与TP3相关的任务的初始化处理结束了的情况下,在第二次以后的周期所包含的TP3中除异常时以外不存在要执行的任务。由此,在针对所有的任务的初始化处理结束之后,即使是在诸如异常几乎不发生的情況下,实际上不需要的TP3也在每个周期被调度。
对于由通常控制程序生成的任务,与由安全监视程序生成的任务等相比,可以说优选能够确保更长的执行时间。在以往技术中,由于即使是在初始化处理结束之后不需要的TP3也被调度,因此其结果是,存在不能对由通常控制程序生成的任务的执行时间(TP2)分配更长的时间的问题。
本申请的发明人认真研究了专利文献1所公开的以往技术,发现上述的问题是由于以下的原因造成的。
首先,在专利文献1所公开的OS 100中,安全监视进程21选择规定时间区的切换顺序以及定时的调度模式,OS 100按照调度模式进行时间区调度(参照专利文献1的0036段、0039段以及图4等)。即,公开了OS100按照由安全监视进程21指定的固定的调度模式来进行时间区的切换。
因此,在专利文献1所公开的OS 100中,因为时间区的切换依赖在TP1中由安全监视进程21作出的选择结果,所以在调度模式中不能跳过当初预定的TP1。另外,在专利文献1所公开的OS 100中,仅仅是通过在TP1中的安全监视进程21监视通常控制进程22的执行状况和I/O端口12的输入输出的数据(参照专利文献1的0036段等),不能够在考虑了安全控制进程23和安全监视进程21自身的执行状况的基础上选择并决定将哪个TP作为跳过对象。
这样,在专利文献1所公开的OS 100中,分区调度功能不能从在各时间区中被生成的进程中独立出来,另外,因为分区调度功能不能够掌握所有的进程的执行状况,所以存在不能够有意地跳过不需要执行的时间区的问题。其结果是,不能够解决上述的问题。
本发明是在上述见解的基础上作出的,其目的在于提供能够跳过不需要执行的时间区的安全控制装置以及安全控制方法。
用于解决问题的手段
本发明的一个方式所涉及的安全控制装置,包括:硬件资源,所述硬件资源包含至少一个处理器;以及系统程序,所述系统程序用于控制针对下列程序的所述处理器的执行时间的分配,所述程序包括:(a)安全监视程序,所述安全监视程序监视与控制对象有关的异常的发生;(b)通常控制程序,所述通常控制程序与通常时所述控制对象的控制相关联;以及(c)安全控制程序,所述安全控制程序与异常时所述控制对象的控制相关联,所述系统程序部分地包括按照调度模式选择并决定接下来要调度的时间区的分区调度器,所述调度模式包含(d)对所述安全监视程序分配所述执行时间的第一时间区、(e)对所述通常控制程序分配所述执行时间的第二时间区、以及(f)对所述安全控制程序分配所述执行时间的第三时间区,所述处理器通过执行所述系统程序来使所述分区调度器周期地动作,所述分区调度器响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的程序的执行结果通知,而跳过在所述调度模式中包含的时间区中的、包含不需要执行的程序的时间区。
根据上述的本发明的一个方式,分区调度器能够统一掌握与各时间区相关的状况,能够跳过不需要执行的时间区。
另外,所述分区调度器当接收到由在所述第一时间区内执行的所述安全监视程序检测到异常的所述执行通知结果时,可以在之后的调度中跳过所述第三时间区以外的时间区。由此,在发生异常时,能够立即并且连续地仅使执行安全控制程序的时间区,能够恰当地进行发生异常时的安全控制。
而且另外,所述分区调度器可以响应于所述第一乃至第三时间区内的程序的初始化处理被分别执行并且已经结束的情况,在之后的调度中跳过所述第三时间区。由此,能够对通常控制程序分配更长的执行时间。
另外,可以还包括复位所述硬件资源的复位电路,所述分区调度器响应于来自在所述第一至第三时间区中的至少一个时间区内执行的程序的、表示是具有紧急停止的异常的通知,对所述复位电路输出复位指示信号,所述复位电路在接收到所述复位指示信号的情况下,复位所述硬件资源。
而且另外,可以还包括复位所述硬件资源的复位电路,所述分区调度器定期向所述复位电路发送信号,响应于来自在所述第一至第三时间区中的至少一个时间区内执行的程序的、表示是具有紧急停止的异常的通知,停止向所述复位电路发送所述信号,所述复位电路在从所述分区调度器发送来的所述信号中断的情况下,复位所述硬件资源。
发明的效果
根据本发明,能够提供能够跳过不需要执行的时间区的安全控制装置以及安全控制方法。
附图说明
图1是示出发明的实施方式1中的安全控制装置的构成例子的框图;
图2是用于说明发明的实施方式1中的时间分区的概念的图;
图3是用于说明发明的实施方式1中的资源分区的概念的概念图;
图4是示出在由图1所示的OS提供的执行环境中被起动的分区调度器与任务的关系的图;
图5A是示出调度模式的具体例的图;
图5B是示出调度模式的具体例的图;
图6是示出分区调度器的处理步骤的具体例子的流程图;
图7是示出微控制器的复位处理步骤的具体例子的流程图;
图8是示出微控制器的复位处理步骤的具体例子的流程图;
图9是示出分区调度器的处理步骤的具体例子的流程图;
图10是示出初始化处理时的处理步骤的具体例子的流程图;
图11A是用于说明本发明的问题的图;
图11B是用于说明本发明的效果的图;
图12是用于说明本发明的问题的图;
图13是用于说明本发明的问题的图。
具体实施方式
以下参照附图详细地说明应用了本发明的具体的实施方式。在各附图中,同一要素被标注相同的符号,为了说明清楚,根据需要省略重复说明。
<发明的实施方式1>
本实施方式的安全控制装置1被安装于服务机器人或运输设备等来执行用于确保功能安全的安全控制。安全控制装置1被构成为在同一个计算机系统中执行安全相关应用和非安全相关应用。图1是示出本实施方式中的安全控制装置1的构成例子的框图。
处理器10进行程序(指令流)的获取、指令的解码、以及与指令的解码结果相应的运算处理。此外,在图1中,虽然仅示出了一个处理器10,但是安全控制装置1也可以是具有多个处理器10的多处理器的构成。另外,处理器10可以是多核处理器。处理器10通过执行作为系统程序的操作系统(OS)100来提供多道程序设计环境。多道程序设计环境是指通过定期地切换多个程序并执行、或者根据某事件的发生来切换要执行的程序从而宛如多个程序被并行执行的环境。
多道程序设计有时也被称为多进程、多线程、多任务等。进程、线程以及任务是指在多道程序设计环境中被并行执行的程序单位。本实施方式的处理器10具有的多道程序设计环境可以是多进程环境,也可以是多线程环境。
执行用存储器11是用于处理器10执行程序所使用的存储器。执行用存储器11中存储从非易失性存储器13加载的程序(OS 100以及应用101~103等)、以及处理器10的输入输出数据等。此外,处理器10也可以不将程序从非易失性存储器13加载到执行用存储器11,而是直接从非易失性存储器13执行这些程序。
具体地说,执行用存储器11只要设为SRAM(Static Random AccessMemory:静态随机存取存储器)、DRAM(Dynamic Random AccessMemory:动态随机存取存储器)等能够随机存取的易失性存储器即可。图1的执行用存储器11示出了理论上的构成单位。即,执行用存储器11例如可以是多个SRAM设备的组合、多个DRAM设备的组合、或者SRAM设备和DRAM设备的组合。
I/O端口12被用于与外部设备之间进行数据的发送和接收。例如,在安全控制装置1被安装于服务机器人的情况下,外部设备是能够测量服务机器人周围的障碍物的视觉传感器、使服务机器人进行动作的执行机构等。
非易失性存储器13是能够不接受电力供应而比执行用存储器11更稳定地维持存储内容的存储器设备。例如,非易失性存储器13是ROM(Read Only Memory:只读存储器)、闪速存储器、硬盘驱动器或光盘驱动器、或者这些的组合。非易失性存储器13保存OS 100以及应用101~103。此外,非易失性存储器13的至少一部分可以被构成为能够从安全控制装置1卸下。例如,能够卸下保存了应用101~103的存储器。另外,非易失性存储器13的至少一部分可以被配置在安全控制装置1的外部。
OS 100被处理器10执行,从而利用处理器10、执行用存储器11、以及非易失性存储器13等硬件资源进行包含任务调度的任务管理、中断管理、时间管理、资源管理、以及提供任务间同步以及任务间通信机构等。
而且,为了提高与确保功能安全相关的安全监视应用101以及安全控制应用103相对通常控制应用102的独立性,OS 100具有在时间上以及空间上保护硬件资源的功能。这里,硬件资源包括处理器10、执行用存储器11、I/O端口12。
其中,时间上的保护通过将称作处理器10的执行时间的时间上的资源进行分区来进行。具体地说,时间上的保护是通过将处理器10的执行时间分区、并向各个分区(称为时间区)分配任务(进程或者线程)来进行。OS 100的调度功能(分区调度器21)针对被分配到各时间区(下面,有时简称为TP)的任务保证包含处理器10的执行时间的资源的使用。
图2是有关时间分区的概念图。在图2的例子中示出了将预先确定的一个周期时间分割为TP1、TP2、以及TP3三个。例如,在将一个周期时间设为100Tick(100刻度)的情况下,规定其中前一半的20Tick是TP1、中间的30Tick是TP2、后一半的50Tick是TP3。
另外,在图2的例子中,第一应用(APL1)至第四应用程序(APL4)被分配到TP1~TP3中的某一个。OS 100的调度功能(分区调度器21)根据时间的流逝来选择并决定激活TP1~TP3中的哪一个。而且,被分配到激活的TP的应用被处理器10执行。
另一方面,空间上的保护通过对包含执行用存储器11以及I/O端口12的固定的资源进行分区、并将任务分配到各个分区(称为资源分区)来进行。OS 100的调度功能(分区调度器21)禁止任务超过被预先分配的资源区(下面,有时略称为RP)而访问其他的资源。
图3是有关资源分区的概念图。在图3的例子中,示出了两个RP(RP1以及RP2)。执行用存储器11以及非易失性存储器13的一部分(A区域)、以及I/O端口12的一部分(端口A)被分配给RP1。另外,执行存储器11以及非易失性存储器13的另外的一部分(B区域)、以及I/O端口12的另外的一部分(端口B)被分配给RP2。从RP1访问被分配给RP2的资源被禁止,从RP2访问被分配给RP1的资源被禁止。
此外,没有必要将所有的资源互斥地分配给某个RP。也就是说,可以有被多个RP共享的资源。例如,在服务机器人进行安全控制的情况下,需要能够从通常控制应用101以及安全控制应用102的这两者访问执行机构。因此,用于控制执行机构的I/O端口可以被通常控制应用101所属的RP和安全控制应用102所属的RP共享。
返回图1继续进行说明。应用101~103在由OS 100以及处理器10提供的多道程序设计环境下被执行。其中,安全监视应用101包括用于使处理器10执行监视通常控制应用102的执行状况、监视安全控制应用103的执行状况、监视向I/O端口12的输入输出数据的指令码。而且,安全监视应用101包括用于使处理器10执行向分区调度器21通知结果的指令码。也就是说,安全监视应用101是安全相关应用。
另外,通常控制应用102包含用于使处理器10执行用于使服务机器人等控制对象执行通常的功能、动作的控制步骤的指令码。而且,通常控制应用102包含用于使处理器10执行向分区调度器21通知结果的指令码。也就是说,通常控制应用102是非安全相关应用。
另外,安全控制应用103包含用于使处理器10执行应对任何异常被检测到的情况而为了确保功能安全所确定的控制步骤的指令码。而且,安全控制应用103包含用于使处理器10执行向分区调度器21通知结果的指令码。也就是说,安全控制应用103是安全相关应用。
复位电路14基于来自OS 100的信号来复位微控制器15。关于使用了复位电路14的微控制器15的复位机构在后面叙述。
接着,以下使用图4来说明分区调度器21与由应用101~103的起动而生成的任务之间的关系。图4是示出在由OS 100提供的多道程序设计环境下被起动的分区调度器21与任务24、26、28的关系的图。
微控制器15包括处理器10、执行用存储器11、I/O端口12、非易失性存储器13等。此外,在图4中虽然例示出了在微控制器15的外部包括复位电路14的构成,但是也可以是在微控制器15的内部包括复位电路14的构成。
由外部的时钟源向微控制器15提供时钟信号,处理器10等以基于该时钟信号的预定的定时器周期进行动作。在本实施方式中,设预定的定时器周期是1Tick来进行说明。因此,通过由处理器10执行OS 100,分区调度器21在每1Tick进行动作,并且在各TP内,任务调度器23、25、27以及任务(安全监视任务24、通常控制任务26、安全控制任务28)在每1Tick进行动作。
分区调度器21在每1Tick进行动作,进行TP的切换(分区、调度)。分区调度器21选择并决定在下一个1Tick期间激活TP1~TP3中的哪一个。而且,分区调度器21使与选择的TP相关的任务调度器开始动作。
具体地叙述分区调度器21进行的分区、调度,分区调度器21参照调度表22,按照确定了TP的设定的调度模式来进行分区、调度。
调度表22保持有规定了TP的切换顺序以及定时的调度模式。此外,调度表22至少保持有两个不同的调度模式。一个是适用于不进行基于安全监视任务24的异常检测的情况(也就是平常时)的调度模式。另一个是适用于由安全监视任务24检测到异常的情况的调度模式。以下将平常时适用的调度模式称为“通常控制调度模式”。以下将异常检测时适用的调度模式称为“安全控制调度模式”。
图5A示出了通常控制调度模式的具体例子。在图5A中,通常控制任务26所属的TP2被分配在一个周期时间的前半段(T1)。另外,安全监视任务24所属TP1被分配在一个周期时间的后半段(T2)。根据图5A的调度模式,通常控制任务26和安全监视任务24被反复调度。
图5B示出了安全控制调度模式的具体例子。在图5B中,安全控制任务28所属的TP3被分配在一个周期时间的前半段(T3)。另外,安全监视任务24所属TP1被分配在一个周期时间的后半段(T4)。根据图5B的调度模式,安全控制任务28和安全监视任务24被反复调度。
返回到图4继续进行说明。任务调度器23、25、27进行在各自所属的TP之内的任务的调度。各TP内的任务的调度只要应用一般的基于优先级的调度即可。此外,在图4中,各TP图示出了分别仅包含一个任务,但是实际上其包含一个以上的任务。例如,在用于通常控制用的TP2内,可以包含通常控制任务A以及通常控制任务B这两个任务。
安全监视任务24是由于安全监视应用101的起动而生成的任务。在图4的例子中,安全监视任务24被分配到TP1以及RP1。安全监视任务24监视作为非安全相关应用的通常控制任务26的执行状况、作为安全相关应用的安全控制任务28的执行状况、以及I/O端口12的输入输出数据。而且,安全监视任务24将任务的执行状况结果通知给分区调度器21。
通常控制任务26是由于通常控制应用程序102的起动而生成的任务。在图4的例子中,通常控制任务26被分配到TP2以及RP2。通常控制任务26进行用于使服务机器人等控制对象进行通常的功能、动作的控制。而且,通常控制任务26将任务的执行状况结果通知给分区调度器21。
安全控制任务28是由于安全控制应用103的起动而生成的任务。在图4的例子中,安全控制任务28被分配到TP3以及RP3。安全控制任务28应对检测到任何异常的情况而进行为了确保功能安全而被确定的控制。而且,安全控制任务28将任务的执行状况结果通知给分区调度器21。此外,作为从各任务向分区调度器21通知结果的具体的构成,能够采用各种各样的方法。例如,任务调用OS 100的系统调用(服务调用),经由OS 100能够将结果通知给分区调度器21,另外,例如,将与任务的执行状况相关的标志保存在执行用存储器11,任务根据其执行状况设定标志的值,分区调度器21能够根据标志的设定值来判断任务的执行状况。
如上述的那样,分区调度器21在每1Tick进行动作,选择并决定激活TP1~TP3中的哪一个。而且,分区调度器21使与选择的TP相关的任务调度器开始动作。而且,通过任务调度器23、25、27开始动作而进行任务的调度,处理器10按照由任务调度器23、25、27调度的顺序执行TP内的任务。由此,被分配到激活的TP中的应用被处理器10执行。
接着,以下使用图6来说明分区调度器21所执行的分区、调度。图6是示出分区调度器21的处理步骤的具体例子的流程图。此外,在图6中,以按照通常控制调度模式(例如图5A)或者安全控制调度模式(例如图5B)来执行调度的情况为例来进行说明。即,以下述情况为例来进行说明:在TP2或者TP3之后下一个TP是TP1、并且TP2内的异常在TP1内被检测到的情况下,接收来自TP1的结果,下一个被选择并决定的TP是TP3。
首先,在每1Tick进行动作的分区调度器21使TPX的任务调度器动作(S11)。这里,变量X表示TP的编号,假设X是1以外的值。即,在S11中使除了用于安全监视的TP1之外的TP2或者TP3中的一个动作。
在S11中开始动作的TPX的任务调度器根据优先级执行TPX内的任务(S12)。而且,经过1Tick之后,分区调度器21开始TP的调度(S13)。即,分区调度器21按照调度模式选择并决定在下一个1Tick期间激活哪个TP。
分区调度器21在接下来没改变设为激活的TP的情况下(S14中的否)返回到S11,继续在同一个TPX的动作。因此,在直到TPX的切换定时为止的期间,S11~S14的处理被反复执行。
分区调度器21在接下来改变设为激活的TP的情况下(S14中的是),使该要改变的时间区的任务调度器进行动作(S15)。这里,使TP1的任务调度器进行动作。而且,TP1的任务调度器23根据优先级执行TP1内的任务(S16)。
在TP1内被执行的安全监视任务24监视通常控制任务26的执行状况、I/O端口12的输入输出数据,并判断这些是否是正常的(S17)。在判断为判断的结果是异常时(S18中的否),安全监视任务24向分区调度器21通知该结果(S19)。
经过1Tick之后,分区调度器21再次开始调度(S20)。分区调度器21根据调度模式选择并决定在接下来的1Tick内激活哪一个TP,并在接下来没有改变设为激活的TP的情况下(S21中的否)返回到S15,继续关于TP1的动作。
分区调度器21在接下来改变设为激活的TP的情况下(S21中的是),还根据在S19中的来自TP1的通知结果来判断TPX是否正常(S22)。当判断的结果是异常时(S22中的否),分区调度器21选择并决定TP3作为接下来的1Tick内设为激活的TP(S23)。
当判断的结果是正常时(S22中的是),分区调度器21选择并决定TP1和TP3以外的TPX作为接下来的1Tick内设为激活的TP(S24)。
针对图6所示的处理,来说明分区、调度的具体例子。
首先,说明按照图5A所示的通常控制调度模式在S11开始调度的情况。该情况下,在S11中以TPX=TP2开始,在S12~S14阶段也保持TPX=TP2不变。然后,在S15中从TP2改变到TP1,在S15~S21阶段保持为TP1不变。当在S18中判定与TP2相关的执行状况(数据输入输出)为正常时,在S24中,变成TPX=TP2(也就是说,继续从TP2开始的通常控制调度模式)。另一方面,当在S18中判定为与TP2相关的执行状况(数据输入输出)为异常时,在S23中,变成TPX=TP3(也就是说,切换到从TP3开始的安全控制调度模式)。
另外,说明按照图5B所示的安全控制调度模式在S11开始调度的情况。在该情况下,在S11中以TPX=TP3开始,在S12~S14阶段也保持TPX=TP3不变。然后,在S15中从TP3改变到TP1,在S15~S21阶段保持为TP1不变。当在S18中判定与TP3相关的执行状况(数据输入输出)为正常时,在S24中,变成TPX=TP2(也就是说,切换到从TP2开始的通常控制调度模式)。另一方面,当在S18中判定为与TP3相关的执行状况(数据输入输出)为异常时,在S23中,变成TPX=TP3(也就是说,继续从TP3开始的安全控制调度模式)。
此外,在上述的例子中,作为调度模式,以仅组合了三个TP(安全监视用的TP1、通常控制用的TP2、安全控制用的TP3)的情况为例进行了说明,但是如TP2这样的通常控制用的分区或者如TP3这样的安全控制用的分区可以设为分别存在多个。例如,存在两个通常控制用的TP2以及TP4、安全监视用的TP1、以及两个安全控制用的TP3以及TP5,可以组合这五个TP(TP1~TP5)来构成调度模式。在该情况下,在S23中,分区调度器21只要判定与TPX相关的执行状况(数据输入输出)的异常状态的种类、并根据该异常种类来选择安全控制用的TP3和TP5中的某一个即可。另外,在S24中只要选择通常控制用的TP2和TP4中的某一个即可。
如上所述,在本实施方式中,OS 100包括根据来自安全监视用的TP1的通知、或者来自各TP的通知来选择并决定接下来激活的分区的分区调度器21。分区调度器21与在各TP内被执行的任务独立,以预定的定时器周期进行动作。通过以预定的定时器周期独立动作的分区调度器21具有分区、调度功能,能够达到以下的效果。
首先,一般来说,为了充分确保通常控制任务26的执行时间,要求尽可能缩短安全监视任务24的执行时间。在以往技术(例如专利文献1)中,安全监视任务24除了监视通常控制任务26的执行状况、I/O端口12的输入输出数据以外,还要进行调度模式的选择并决定,因此对于该选择并决定所需要的执行时间也需要与安全监视任务24所属的TP2相关地预先分配。
另外,为了保证能够确保功能安全,基本上需要交替地执行安全监视任务24和通常控制任务26。因此,在以往技术中,伴随着通常控制任务26的执行,基于安全监视任务24的调度模式的选择和决定也每次都被执行,如果遍布多个周期进行合计,则为了由安全监视任务24进行调度模式的选择和决定需要很多的执行时间。
与此相对,根据本实施方式,安全监视任务24自身没有必要执行调度模式的选择和决定。另外,分区调度器21在调度模式的选择和决定所需要的执行时间可以是短时间。因此,与以往技术相比,能够起到以下效果:安全监视用的TP1能够被分配更短的时间,并且,通常控制用的TP2能够被分配更长的时间。
而且,在图6中例示的处理中,以分区调度器21根据来自TP1的结果通知来选择并决定安全控制用的TP3(S23)、或者选择并决定通常控制用的TP2(S24)的情况进行了说明,但是本发明不限定于此。例如,取代仅从安全监视用的TP1向分区调度器21通知结果的构成,而设为从TP1~TP3的每个向分区调度器21通知执行状况结果的构成,分区调度器21可以根据来自各TP的结果通知来选择并决定安全控制用的TP3。
通过采用与各TP独立动作的分区调度器21接收来自所有的TP的结果通知的构成,分区调度器21能够统一地掌握与所有的TP有关的状况。因此,例如,分区调度器21在基于来自各TP的结果通知考虑了各TP的状况的基础上,能够执行跳过不需要执行的TP等判断。因此,起到能够有意地跳过仅不需要执行的时间区的效果。另外,例如,分区调度器21在基于来自安全监视用的TP1的结果通知而考虑了各TP的状况的基础上,能够仅从处于正常状态的TP决定并选择接下来的分区。因此,与以往技术相比,起到能够实现更加准确的分区·调度的效果。
接着,以下使用图7以及图8来说明使用了复位电路14的微控制器15的复位机构。图7以及图8示出使用了复位电路14的微控制器15的复位处理步骤的具体例子的流程图。
在本实施方式中,在每1Tick进行动作的分区调度器21具有复位微控制器15的功能。分区调度器21在检测到OS 100中的异常的情况下,与复位电路14协作来进行异常处理。复位电路14基于来自分区调度器21的信号来复位微控制器15。
首先,使用图7来说明使用了复位电路14的微控制器15的复位处理步骤的具体例子。在图7所示的处理中,在从分区调度器21接收了复位指示信号的情况下,复位电路14复位微控制器15。此外,在图7中,TPX是TP1和TP3以外的TP。
首先,在S31~S33中,分区调度器21通过使TPX的动作开始,在直到接下来设为激活的TP被改变为止的期间内,执行与TPX相关的处理。而且,在分区调度器21使TP1的任务调度器23开始动作(S34)之后,TP1所属的安全监视任务24判断与TPX相关处理(输入输出)是否正常(S35)。当判断的结果是正常(S35中的是)时,返回到S31,继续执行关于同一TPX的动作。
当判断的结果是异常(S35中的否)时,TP1所属的安全监视任务24判断TPX内的异常是否是属于TP3的安全控制任务28中能够应对的异常(S36)。当不是TP3中能够应对的异常(S36中的否)时,属于TP1的安全监视任务24向分区调度器21通知是具有紧急停止的异常(S37)。接收到来自属于TP1的安全监视任务24的通知的分区调度器21,向复位电路14输出复位指示信号,接收到复位指示信号的复位电路14对微控制器15进行复位(S38)。
在是TP3中能够应对的异常(S36中的是)时,属于TP1的安全监视任务24向分区调度器21通知TPX发生异常(S39)。接收到来自TP1的通知的分区调度器21从TPX切换到TP3(S40)。
其次,使用图8来说明使用了复位电路14的微控制器15的复位处理步骤的其他的具体例子。在图8所示的处理中,从分区调度器21定期向复位电路14发送信号,复位电路14在来自分区调度器21的发送信号中断的情况下,复位微控制器15。此外,在图8中,TPX是TP1和TP3以外的TP。
与图7的S31~S35阶段的处理相比,在图8的S53中,分区调度器21在每1Tick进行动作这一点被明确化,另外,在S54以及S55中,在分区调度器21定期向复位电路14发送信号这一点上是不同的。其他的图8所示的S51~S57阶段的处理与图7所示的S31~S35阶段的处理基本上是相同的。
另外,与图7的S36~S40阶段的处理相比,在图8的S60中分区调度器21停止向复位电路14发送信号、在S63中分区调度器21向复位电路14发送信号这一点上是不同的。而且,在图8的S61中,根据来自分区调度器21的发送信号中断的情况复位电路14复位微控制器15这一点是不同的。其他的图8所示的S58~S64阶段的处理与图7所示的S36~S40阶段的处理基本上是相同的。
而且,如图8的S71以及S72所示,与S51~S64阶段的处理并行,在分区调度器21中产生不良情况的情况下、或者在从分区调度器21到复位电路14的信号线中产生不良情况的情况下,从分区调度器21向复位电路14的发送信号不再被传递。在这种情况下,根据来自分区调度器21的发送信号中断,复位电路14复位微控制器15(S61)。
根据图8所示的处理,除了有意地从分区调度器21向复位电路14指示复位的情况之外,在分区调度器21自身因为某些原因而没有正常地动作的情况下、或者在从分区调度器21向复位电路14传递发送信号的信号线产生不良情况的情况下,也能够可靠地复位微控制器15。另外,同时对于TP的切换在每1Tick是否被正常地执行也能够保证。
此外,在图7以及图8中,说明了分区调度器21根据来自TP1的结果通知向复位电路14输出复位指示信号、或者停止向复位电路14发送信号,但是也可以根据来自TP1~TP3中的某一个的结果通知向复位电路14输出复位指示信号、或者停止向复位电路14发送信号。
<发明的实施方式2>
本实施方式所涉及的安全控制装置是上述的安全控制装置1的变形。本实施方式所涉及的安全控制装置的整体的构成只要与图1所示的安全控制装置1的构成同样即可。另外,由本实施方式所涉及的安全控制装置所具有的OS提供的任务执行环境只要与图4所示的任务执行环境的构成相同即可。
接着,使用图9以及图11B来更加详细地说明本实施方式所涉及的安全控制装置1进行的处理。图9是示出本实施方式的分区调度器21的处理步骤的具体例子的流程图。此外,在以下的说明中,简化说明与图6中说明的处理相同的处理内容,对于不同的处理内容进行更加详细地说明。
首先,在每1Tick进行动作的分区调度器21使TPX的任务调度器进行动作(S81)。这里,变量X表示TP的编号,假设X是1以外的值。此外,因为图9的S81~S83阶段的处理内容与图6的S11~S13阶段的处理内容相同,所以这里省略其详细的说明。
此外,在图9中,以在按照通常控制调度模式(例如图5A)开始调度的情况下切换到安全控制调度模式(例如图5B)的情况为例来说明。即,以下述情况为例来进行说明:TP2之后下一个TP是TP1,并且,当在TP2内的异常在TP1被检测到的情况下接收来自TP1的结果,下一个被选择并决定的TP是TP3。
分区调度器21判断在TP3内的任务现在是否在执行中(S95)。当在TP3内的任务不是执行中(S95中的否)时,分区调度器21在不改变接下来设为激活的TP(S84中的否)的情况下,返回到S81,继续对于同一个TPX的动作。此外,因为图9的S85~S93阶段的处理内容与图6的S15~S23阶段的处理内容相同,所以这里省略其详细的说明。
针对图9所示的处理,说明分区、调度的具体例子。
这里,说明根据图5A所示的通常控制调度模式在S81开始进行调度的情况。在该情况下,在S81中以TPX=TP2开始,在S82~S84阶段,到经过S93变为TPX=TP3为止,保持TPX=TP2不变。然后,在S85中TPX从TP2改变到TP1,在S85~S91阶段保持为TP1不变。当在S88中判定与TP2相关的执行状况(数据输入输出)为正常时,在S94中,变成TPX=TP2(也就是说,继续从TP2开始的通常控制调度模式)。另一方面,当在S88中判定为与TP2相关的执行状况(数据输入输出)为异常时,在S93中,变成TPX=TP3(也就是说,切换到从TP3开始的安全控制调度模式)。而且,在S93中变成TPX=TP3的情况下,在S95以及S93中由分区调度器21维持TPX=TP3。即,分区调度器21执行分区、调度使得连续选择并决定TP3。
此外,在图9的例子中,在连续选择并决定TP3作为TPX之后,对于通过安全控制确保安全的结果是从TP3向TP2切换的处理没有特别地进行图示,但是为了实现该处理,例如,作为分区调度器21接收来自TP3内的任务的结果通知的构成,可以设为根据TP3内的结果通知的内容判断向TP2的切换。
此外,在图9的例子中,作为调度模式,以仅组合了三个TP(安全监视用的TP1、通常控制用的TP2、安全控制用的TP3)的情况为例进行了说明,但是如TP2这样的通常控制用的分区或者如TP3这样的安全控制用的分区可以分别存在多个。例如,存在两个通常控制用的TP2以及TP4、安全监视用的TP1、以及两个安全控制用的TP3以及TP5,可以组合这五个TP(TP1~TP5)来构成调度模式。在该情况下,在S95中,分区调度器21判断在安全控制用的TP3和TP5中的任一个任务现在是否在执行中,在S83中,分区调度器21只要判定与TPX相关的执行状况(数据输入输出)的异常状态的种类、并根据该种类选择安全控制用的TP3和TP5中的某一个即可。
根据以上说明的本实施方式,在发生了异常时,在之后的调度中,能够跳过用于执行安全控制用以外的任务的TP,而仅执行安全控制用的TP3内的任务。其结果是,在例如按照图11B的上部所示的通常控制时的调度模式进行调度的情况下发生异常时,能够切换到如图11B的下部所示的调度模式,并能够及时并且连续地仅执行TP3。由此,能够更加迅速地开始安全控制程序进行的处理。
另外,在采用了分区调度器21接收来自各TP的结果通知、并考虑所有的TP的状况而进行切换的构成的情况下,不管预先确定的调度模式是怎样的模式,都能够切换到安全控制用的TP3,并且,在被确保安全之前的期间使TP3继续。而且,通过基于来自TP3的结果通知来判断由于TP3的执行安全被确保的情况,也能够将时间区切换到TP2(恢复到通常控制时的模式)。因此,能够恰当地进行发生异常时的安全控制。
<发明的实施方式3>
本实施方式所涉及的安全控制装置是上述的安全控制装置1的变形。本实施方式所涉及的安全控制装置的整体的构成只要与图1所示的安全控制装置1的构成同样即可。另外,由本实施方式涉及的安全控制装置所具有的OS提供的任务执行环境只要与图4所示的任务执行环境的构成同样即可。
接着,使用图10来更加详细地说明本实施方式所涉及的安全控制装置1进行的处理。图10是示出本实施方式的分区调度器21的处理步骤的具体例子的流程图。图10示出了与分区调度器21执行的任务初始化处理有关的处理步骤的具体例子。
首先,在每1Tick进行动作的分区调度器21使TPX的任务调度器进行动作(S101)。这里,变量X表示TP的编号,作为TP,调度模式中所包含的所有种类的TP都为对象。
在S101中开始动作的TPX的任务调度器执行TPX中的任务,由此来执行任务的初始化处理。然后,经过1Tick之后,分区调度器21判断TPX中的任务的初始化处理是否结束(S102)。在任务的初始化处理没有结束(S102中的否)时,返回到S101,继续TPX内的任务的初始化处理。此外,例如,分区调度器21只要基于来自TPX的执行状况结果的通知来判断TPX内的任务的初始化处理是否结束即可。另外,也可以在初始化处理已结束的情况下,任务设定标记的值来表示初始化处理结束,分区调度器21根据标记的值来判断处理的结束。
在任务的初始化处理结束(S102中的是)的情况下,分区调度器21针对调度模式中包含的所有种类的TP判断任务的初始化处理是否结束(S103)。与所有的TP相关,在任务的初始化处理没有结束(S103中的否)的情况下,分区调度器21切换到下一个TPX(S104)。其结果是,处理返回到S101,继续被切换后的TPX内的任务的初始化处理。
与所有的TP相关,在任务的初始化处理结束了(S103中的是)的情况下,分区调度器21在之后选择并决定除了TP3的其他的TP作为设为激活的TPX,并使选择并决定的TPX的任务调度器进行动作(S105)。例如,分区调度器21跳过TP3,仅使TP1以及TP2执行。此外,作为仅选择并决定除了TP3之外的其他的TP的方法,例如只要在接下来设为激活的时间区的候选是TP3的情况下分区调度器21选择并决定TP3以外的时间区即可。
根据以上说明的本实施方式,仅在任务的初始化处理时对所有的TP付与执行时间,在通常的任务处理开始执行之后,能够跳过用于使安全控制用的任务执行的TP3,而仅使用于执行安全监视用的任务的TP1以及用于执行通常控制用的任务的TP2执行。
因此,关于所有的TP,在任务的初始化处理结束之后异常几乎没有发生的情况下,可以不执行不需要的TP3。因此,其结果是,能够对由通常控制程序生成的任务的执行时间(TP2)分配更长的时间。
而且,本发明不限于上述的实施方式,在不脱离已经叙述的本发明的主旨的范围内当然能够进行各种改变。例如,可以分别实施上述的各实施方式,也可以组合多个实施方式来实施。例如能够组合以下构成:在任务的初始化处理时对所有的TP付与执行时间、在通常的任务处理的开始执行之后跳过TP3而仅执行TP1以及TP2的构成;以及在发生异常时切换到从TP3开始的调度模式、并在以后的调度中跳过TP3以外的TP而仅执行TP3内的任务的构成。
符号说明
1 安全控制装置
10 处理器
11 执行用存储器
12 I/O端口
13 非易失性存储器
14 复位电路
15 微控制器
21 分区调度器
22 调度表
23、25、27 任务调度器
24 安全监视任务
26 通常控制任务
28 安全控制任务
100 操作系统
101 安全监视应用
102 通常控制应用
103 安全控制应用
Claims (8)
1.一种安全控制装置,包括:
硬件资源,所述硬件资源包含至少一个处理器;以及
系统程序,所述系统程序用于控制针对下列任务的所述处理器的执行时间的分配,所述任务包括:(a)安全监视任务,所述安全监视任务监视与控制对象有关的异常的发生;(b)通常控制任务,所述通常控制任务与通常时所述控制对象的控制相关联;以及(c)安全控制任务,所述安全控制任务与异常时所述控制对象的控制相关联,
所述系统程序部分地包括:分区调度器,所述分区调度器按照调度模式选择并决定接下来要调度的时间区,所述调度模式包含(d)对所述安全监视任务分配所述执行时间的第一时间区、(e)对所述通常控制任务分配所述执行时间的第二时间区、以及(f)对所述安全控制任务分配所述执行时间的第三时间区;第一任务调度器,所述第一任务调度器在所述第一时间区中调度所述安全监视任务;第二任务调度器,所述第二任务调度器在所述第二时间区中调度所述通常控制任务;以及第三任务调度器,所述第三任务调度器在所述第三时间区中调度所述安全控制任务,
所述处理器通过执行所述系统程序来使所述分区调度器周期地动作,
所述分区调度器响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的任务的执行结果通知,而来跳过在所述调度模式中包含的时间区中的、包含不需要执行的任务的时间区,
所述分区调度器在接收到表示由在所述第一时间区内执行的所述安全监视任务检测到异常的所述执行通知结果时,在之后的调度中跳过所述第三时间区以外的时间区。
2.根据权利要求1所述的安全控制装置,其特征在于,
所述分区调度器响应于在所述第一时间区至所述第三时间区内任务的初始化处理被分别执行并且已经结束,在之后的调度中跳过所述第三时间区。
3.根据权利要求1或2所述的安全控制装置,其特征在于,
还包括对所述硬件资源进行复位的复位电路,
所述分区调度器响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的任务的、表示是具有紧急停止的异常的通知,对所述复位电路输出复位指示信号,
所述复位电路在接收到所述复位指示信号的情况下,对所述硬件资源进行复位。
4.根据权利要求1或2所述的安全控制装置,其特征在于,
还包括对所述硬件资源进行复位的复位电路,
所述分区调度器定期向所述复位电路发送信号,并响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的任务的、表示是具有紧急停止的异常的通知,停止向所述复位电路发送所述信号,
所述复位电路在从所述分区调度器发送来的所述信号中断了的情况下,对所述硬件资源进行复位。
5.一种控制对象的安全控制方法,包括以下步骤:
为了按照调度模式使处理器选择并决定接下来要调度的时间区而周期性地动作,所述调度模式包含(a)对监视与控制对象相关的异常的发生的安全监视任务分配所述处理器的执行时间的第一时间区、(b)对与通常时所述控制对象的控制相关联的通常控制任务分配所述执行时间的第二时间区、以及(c)对与异常时所述控制对象的控制相关联的安全控制任务分配所述执行时间的第三时间区;
在所述时间区中,对在所述时间区中被分配所述执行时间的任务进行调度;以及
为了响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的任务的执行结果通知而使所述处理器跳过在所述调度模式中包含的时间区中的、包含不需要执行的任务的时间区而进行动作,
还包括以下步骤:为了在接收到表示由在所述第一时间区内执行的所述安全监视任务检测到异常的所述执行通知结果时、在之后的调度中使所述处理器跳过所述第三时间区以外的时间区而进行动作。
6.根据权利要求5所述的安全控制方法,其特征在于,
还包括以下步骤:为了响应于在所述第一时间区至所述第三时间区内任务的初始化处理被分别执行并且已经结束、而在之后的调度中使所述处理器跳过所述第三时间区而进行动作。
7.根据权利要求5或6所述的安全控制方法,其特征在于,
还使用复位电路对包含所述处理器的硬件资源进行复位,
所述安全控制方法还包括以下步骤:
响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的任务的、表示是具有紧急停止的异常的通知,对所述复位电路输出复位指示信号;
使用所述复位电路,在接收到所述复位指示信号的情况下对所述硬件资源进行复位。
8.根据权利要求5或6所述的安全控制方法,其特征在于,
还使用复位电路对包含所述处理器的硬件资源进行复位,
所述安全控制方法还包括以下步骤:
定期向所述复位电路发送信号,响应于来自在所述第一时间区至所述第三时间区中的至少一个时间区内执行的任务的、表示是具有紧急停止的异常的通知,停止向所述复位电路发送所述信号;以及
使用所述复位电路,在从所述分区调度器发送来的所述信号中断了的情况下对所述硬件资源进行复位。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/000525 WO2012104897A1 (ja) | 2011-01-31 | 2011-01-31 | 安全制御装置および安全制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103026309A CN103026309A (zh) | 2013-04-03 |
CN103026309B true CN103026309B (zh) | 2015-04-29 |
Family
ID=46602152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180004525.7A Expired - Fee Related CN103026309B (zh) | 2011-01-31 | 2011-01-31 | 安全控制装置以及安全控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8457766B2 (zh) |
EP (1) | EP2680094B1 (zh) |
JP (1) | JP5240402B2 (zh) |
CN (1) | CN103026309B (zh) |
WO (1) | WO2012104897A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012104899A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
US8706265B2 (en) * | 2011-01-31 | 2014-04-22 | Toyota Jidosha Kabushiki Kaisha | Safety controller and safety control method |
EP2672342B1 (en) * | 2011-01-31 | 2017-03-01 | Toyota Jidosha Kabushiki Kaisha | Safety control device and safety control method |
JP2014211689A (ja) * | 2013-04-17 | 2014-11-13 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
CN106293673A (zh) * | 2015-06-08 | 2017-01-04 | 中兴通讯股份有限公司 | 操作指令处理方法及装置 |
CN105150209A (zh) * | 2015-08-14 | 2015-12-16 | 昆山巨林科教实业有限公司 | 搬运桁架机械手精确控制系统及方法 |
CN115855022A (zh) * | 2017-04-07 | 2023-03-28 | 辉达公司 | 使用深度神经网络执行自主路径导航 |
US11535266B2 (en) | 2017-07-13 | 2022-12-27 | Danfoss Power Solutions Ii Technology A/S | Electromechanical controller for vehicles having a main processing module and a safety processing module |
JP6871220B2 (ja) * | 2018-11-08 | 2021-05-12 | ファナック株式会社 | 制御システム |
CN113641094B (zh) * | 2021-07-06 | 2024-02-02 | 江苏徐工工程机械研究院有限公司 | 预防工程机械控制器失效的安全系统及工程机械 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000207228A (ja) * | 1999-01-18 | 2000-07-28 | Star Micronics Co Ltd | モ―タ制御装置 |
JP2003036177A (ja) * | 2001-07-23 | 2003-02-07 | Alps Electric Co Ltd | プリンタの動作制御方法 |
CN1637674A (zh) * | 2003-12-26 | 2005-07-13 | 发那科株式会社 | 控制器管理系统 |
JP2010271759A (ja) * | 2009-05-19 | 2010-12-02 | Toyota Motor Corp | 安全制御装置および安全制御方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07117849B2 (ja) * | 1986-04-17 | 1995-12-18 | フアナツク株式会社 | 数値制御におけるプログラムスキツプ方式 |
JPH0736121B2 (ja) * | 1991-03-15 | 1995-04-19 | 日本電装株式会社 | アンチスキッド制御装置 |
JPH06332338A (ja) * | 1993-05-18 | 1994-12-02 | Canon Inc | 定着装置 |
JPH11242618A (ja) * | 1998-02-25 | 1999-09-07 | Toto Ltd | 燃焼機器の安全回路 |
JP2002086379A (ja) | 2000-09-13 | 2002-03-26 | Toshiba Corp | ロボット、ロボットの制御方法およびロボットを動作するプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
JP4167511B2 (ja) * | 2003-02-25 | 2008-10-15 | 株式会社東芝 | 伝送路二重化判定処理方法 |
JP2005063295A (ja) * | 2003-08-19 | 2005-03-10 | Matsushita Electric Ind Co Ltd | 制御装置 |
JP4442358B2 (ja) * | 2004-08-02 | 2010-03-31 | 株式会社デンソーウェーブ | 制御装置及びコンピュータプログラム |
JP4398838B2 (ja) * | 2004-10-05 | 2010-01-13 | 日本電信電話株式会社 | 端末装置の制御方法、無線通信システム、端末装置、制御プログラム、および記録媒体 |
DE102004054571B4 (de) | 2004-11-11 | 2007-01-25 | Sysgo Ag | Verfahren zur Verteilung von Rechenzeit in einem Rechnersystem |
CA2538503C (en) * | 2005-03-14 | 2014-05-13 | Attilla Danko | Process scheduler employing adaptive partitioning of process threads |
JP2008191823A (ja) | 2007-02-02 | 2008-08-21 | Omron Corp | 安全管理方法、安全管理システムおよび安全制御機器 |
US8510741B2 (en) * | 2007-03-28 | 2013-08-13 | Massachusetts Institute Of Technology | Computing the processor desires of jobs in an adaptively parallel scheduling environment |
US7870299B1 (en) * | 2008-02-06 | 2011-01-11 | Westinghouse Electric Co Llc | Advanced logic system |
US9678483B2 (en) * | 2011-01-26 | 2017-06-13 | Honeywell International Inc. | Programmable controller with both safety and application functions |
-
2011
- 2011-01-31 CN CN201180004525.7A patent/CN103026309B/zh not_active Expired - Fee Related
- 2011-01-31 JP JP2012505536A patent/JP5240402B2/ja not_active Expired - Fee Related
- 2011-01-31 WO PCT/JP2011/000525 patent/WO2012104897A1/ja active Application Filing
- 2011-01-31 EP EP11824295.7A patent/EP2680094B1/en not_active Not-in-force
- 2011-01-31 US US13/498,829 patent/US8457766B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000207228A (ja) * | 1999-01-18 | 2000-07-28 | Star Micronics Co Ltd | モ―タ制御装置 |
JP2003036177A (ja) * | 2001-07-23 | 2003-02-07 | Alps Electric Co Ltd | プリンタの動作制御方法 |
CN1637674A (zh) * | 2003-12-26 | 2005-07-13 | 发那科株式会社 | 控制器管理系统 |
JP2010271759A (ja) * | 2009-05-19 | 2010-12-02 | Toyota Motor Corp | 安全制御装置および安全制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103026309A (zh) | 2013-04-03 |
US20120245709A1 (en) | 2012-09-27 |
EP2680094A1 (en) | 2014-01-01 |
JP5240402B2 (ja) | 2013-07-17 |
US8457766B2 (en) | 2013-06-04 |
JPWO2012104897A1 (ja) | 2014-07-03 |
EP2680094A4 (en) | 2014-08-06 |
EP2680094B1 (en) | 2017-12-13 |
WO2012104897A1 (ja) | 2012-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103026309B (zh) | 安全控制装置以及安全控制方法 | |
CN103403628B (zh) | 安全控制装置以及安全控制方法 | |
EP2677377B1 (en) | Safety control device and safety control method | |
CN103080858B (zh) | 安全控制装置及安全控制方法 | |
EP2672342B1 (en) | Safety control device and safety control method | |
JP5621857B2 (ja) | 安全制御装置および安全制御方法 | |
JP5906584B2 (ja) | 制御装置及び制御方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150429 Termination date: 20180131 |
|
CF01 | Termination of patent right due to non-payment of annual fee |