CN103080858A - 安全控制装置及安全控制方法 - Google Patents

安全控制装置及安全控制方法 Download PDF

Info

Publication number
CN103080858A
CN103080858A CN2011800380861A CN201180038086A CN103080858A CN 103080858 A CN103080858 A CN 103080858A CN 2011800380861 A CN2011800380861 A CN 2011800380861A CN 201180038086 A CN201180038086 A CN 201180038086A CN 103080858 A CN103080858 A CN 103080858A
Authority
CN
China
Prior art keywords
task
security
processing
time period
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800380861A
Other languages
English (en)
Other versions
CN103080858B (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of CN103080858A publication Critical patent/CN103080858A/zh
Application granted granted Critical
Publication of CN103080858B publication Critical patent/CN103080858B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/25Pc structure of the system
    • G05B2219/25343Real time multitasking
    • 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/25Pc structure of the system
    • G05B2219/25347Multitasking machine control
    • 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/25Pc structure of the system
    • G05B2219/25352Preemptive for critical tasks combined with non preemptive, selected by attribute
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34372Inability to process, execute assigned task within allocated time interval
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34382Preemptive multitasking, cpu decides upon priority scheme, which task to start
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34383Dynamic preemptive, special event register manages time slices for applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

关于时间分段,能够在保证安全关联系统的独立性的同时以固定周期执行任务。安全控制装置包括处理器、和控制处理器的执行时间对任务的分配的系统程序。处理器通过系统程序,根据将安全关联任务所属的安全关联TP或者非安全关联任务所属的非安全关联TP的期间以固定周期表示的调度信息,对任务进行调度,在固定周期的TP的任务中,在任务的处理结束时保存结束信息并使任务处于可执行状态,通过调度,当存储了结束信息时,即使固定周期的TP的任务处于可执行状态,也抑制执行时间的分配,并从固定周期的TP的期间结束开始到TP的下一个周期中的期间开始之前删除结束信息。

Description

安全控制装置及安全控制方法
技术领域
本发明涉及为了确保功能安全而搭载在服务机器人和输送设备等上的安全控制装置,特别涉及使用了计算机系统的安全控制装置。
背景技术
服务机器人需要通过外界传感器或自诊断装置来持续监视安全状态,并在检测到任何危险时通过执行合适的安全控制逻辑来确保功能安全。
作为国际标准制定了IEC61508,该国际标准与以上述的服务机器人以及运输设备等按电气原理进行动作的系统为对象的功能安全相关。在IEC61508中,将为了确保功能安全而设置的系统称为安全关联系统。IEC61508规定了用于通过微处理器及PLC(Programmable Logic Controller,可编程逻辑控制器)等硬件和计算机程序(软件)来构建安全关联系统的各种手法。通过使用由IEC61508规定的手法,能够使用计算机系统来构建安全关联系统。
另一方面,近年来微处理器等可编程电子设备的处理能力被提高了。因而,通过利用多任务OS(Operating System,操作系统),在一个计算机系统上并行执行各种应用程序,能够对搭载在服务机器人及汽车等设备上的多用途计算机系统进行整合。
例如,专利文献1公开了如下技术:使与功能安全的确保相关的应用程序(以下,称为安全关联应用)与其他的应用程序(以下,称为非安全关联应用)一同在一个计算机系统上动作。
当将由IEC61508规定的手法应用于包含安全关联应用及非安全关联应用的软件整体时,会产生应用于非安全关联应用的必要性。因而,存在软件开发成本増大的问题。
因此,在专利文献1所公开的技术中,通过系统程序的时间分段,使安全关联应用(安全监视程序及安全控制程序)与非安全关联应用(通常控制程序)独立。因而,能够从安全关联系统中除去通常控制程序,从而能够有利于使用计算机系统构成的安全关联系统的低成本化。
在先专利文献
专利文献
专利文献1:日本专利文献特开2010-271759号公报
发明内容
但是,专利文献1例示的安全控制装置中存在以下说明的技术问题。以下,参照图31~34来说明该技术问题。
首先,对第一技术问题进行说明。在服务机器人的控制中,存在很多需要以固定周期重复执行的处理。例如有:对服务机器人的执行器进行控制的处理、通过从服务机器人的传感器获取信息并确认所获取的信息来监视服务机器人的状态的处理等。
但是,专利文献1所例示的、采用了时间分段的系统程序以固定周期强制性地切换时间段,并对属于时间段的任务分配处理器的执行时间。因而如图31所示,当需要以固定周期重复处理的任务的执行周期和时间段的切换周期被设计为不同步时,会出现产生抖动(周期性的偏差)的问题。
另外,在图31中,示出了对安全关联系统的安全控制任务所属的时间段TP3、和通常控制任务(图中未示出)所属的时间段TP2进行调度的情况。此外,示出了需要以固定周期重复处理的任务是安全控制任务的情况。如此,在从执行安全控制任务开始经过了固定周期之后接着应当执行安全控制任务的定时,有时安全控制任务所属的TP3没有被激活。此时,
会出现安全控制任务的执行延迟,无法以固定周期执行安全控制任务的问题。
此外,如图32所示,即便使任务的执行周期和时间段的切换周期同步,也会产生以下说明的问题。首先,当安全控制任务在处理的执行结束后休眠而变为等待状态后,在接下来安全控制任务所属的TP3被激活之前,需要唤醒安全控制任务使其处于可执行状态。这是因为:即使安全控制任务的执行周期和时间段的切换周期同步,如果接下来的TP3被激活时安全控制任务未开始执行,则还是无法以固定周期执行安全控制任务。
此时,作为唤醒安全控制任务的方法,可以考虑通过属于TP3前的TP2的通常控制任务唤醒安全控制任务的方法。例如,通常控制任务通过任务间通信唤醒安全控制任务。但是,如此一来,则会出现无法保证安全关联系统的安全控制任务和与之不同的通常控制任务之间的独立性的问题。
接着,对第二技术问题进行说明。如上所述,在服务机器人的控制中,存在很多需要以固定周期重复执行的处理。为了以固定周期重复地执行用于执行需要以固定周期重复的处理的任务,需要使该任务的执行在固定周期内结束。
在图33中,示出了对安全关联系统的安全控制任务所属的时间段TP3和通常控制任务(图中未示出)所属的时间段TP2进行调度的情况。这里,示出了需要以固定周期重复处理的任务是安全控制任务、TP3以与其相同的固定周期被重复激活的情况。在图33中,由于在以固定周期重复的TP3的期间内安全控制任务的执行未结束,因而安全控制任务不会以固定周期正确地进行动作。
这里,为了确认任务中的处理是否以固定周期正确地进行动作,需要在生成任务的各个软件中加入对处理是否以固定周期执行、或者处理是否在固定周期内结束进行监视的手段。此时,会产生各软件中的处理内容增加、软件变复杂的问题。
接着,对第三技术问题进行说明。在时间分段中,如图34所示,为使任务的执行在时间段的期间内可靠地结束,需要将时间段的时间设定得比实际所需的执行时间的最坏情况下还要多。即,将时间段的时间设定得与任务的执行时间最长情况下的执行时间相比还有富余。
因而,如图34所示,当任务在没有消耗达到最坏情况的执行时间的情况下结束时,在时间段的时间中会产生空闲时间。即,存在无法有效地利用处理器的执行时间的问题。
本发明是鉴于上述认知而作出的,其目的在于提供一种能够在时间分段中保证安全关联系统的独立性,并能够以固定周期执行任务的安全控制装置及安全控制方法。
本发明第一方式涉及的安全控制装置包括:处理器;系统程序,所述系统程序控制所述处理器的执行时间针对安全关联任务和非安全关联任务的分配,所述安全关联任务执行与控制对象的功能安全的确保相关的处理,所述非安全关联任务执行与所述控制对象的控制相关的其他处理;存储部,所述存储部存储表示所述任务中的处理结束的结束信息;其中,所述处理器通过执行所述系统程序来按照调度信息调度所述任务,所述调度信息表示安全关联时间段和非安全关联时间段的调度内容,以使该安全关联时间段和该非安全关联时间段中的至少一个时间段的期间以固定周期开始,所述安全关联时间段是当所述安全关联任务处于可执行状态时将所述执行时间分配给该安全关联任务的时间段,所述非安全关联时间段是当所述非安全关联任务处于可执行状态时将所述执行时间分配给该非安全关联任务的时间段;所述处理器通过执行所述固定周期的时间段中的任务,而在该任务中的处理结束时,将表示该任务中的处理结束的结束信息存储至所述存储部,并且释放针对该任务的所述执行时间,使得该任务变为可执行状态,在所述调度中,当在所述存储部中存储了所述结束信息时,即使所述固定周期的时间段中的任务处于可执行状态,所述处理器也在所述固定周期的时间段中抑制对该任务分配所述执行时间,所述处理器通过执行所述系统程序,从所述固定周期的时间段的期间结束起到该时间段的下一个周期的期间开始之前,删除被存储在所述存储部中的结束信息。
本发明第二方式涉及的安全控制方法包括以下步骤:按照调度信息来调度所述任务,从而在固定周期的时间段中将处理器的执行时间分配给该固定周期的时间段中的任务,所述调度信息表示安全关联时间段和非安全关联时间段的调度内容,以使该安全关联时间段和该非安全关联时间段中的至少一个时间段的期间以固定周期开始,所述安全关联时间段是当执行与控制对象的功能安全的确保相关的处理的安全关联任务处于可执行状态时将所述执行时间分配给该安全关联任务的时间段,所述非安全关联时间段是当执行与所述控制对象的控制相关的其他处理的非安全关联任务处于可执行状态时将所述执行时间分配给该非安全关联任务的时间段;当被分配了所述执行时间的任务中的处理结束时,将表示该任务中的处理结束的结束信息存储至存储部,并且释放针对该任务的所述执行时间,使得该任务变为可执行状态;当在该固定周期的时间段中调度任务时,在所述存储部中存储了所述结束信息的情况下,即使该固定周期的时间段中的任务处于可执行状态,也抑制对该任务分配所述执行时间;从所述固定周期的时间段的期间结束起到该时间段的下一个周期的期间开始之前,删除被存储在所述存储部中的结束信息。
发明效果
根据上述本发明的各方式,能够提供一种在时间分段中能够在保证安全关联系统的独立性的同时以固定周期执行任务的安全控制装置及安全控制方法。
附图说明
图1是表示发明第一实施方式涉及的安全控制装置的结构例的框图;
图2是用于说明发明的第一实施方式中的时间分段的概念的图;
图3是用于说明发明的第一实施方式中的资源分段概念的概念图;
图4是表示由图1所的OS提供的执行环境下启动的段调度器和任务之间的关系的图;
图5A是表示调度模式的具体例的图;
图5B是表示调度模式的具体例的图;
图6是表示段调度器的处理步骤的具体例的流程图;
图7是表示微型控制器的重置处理步骤的具体例的流程图;
图8是表示微型控制器的重置处理步骤的具体例的流程图;
图9是表示发明的第二实施方式涉及的调度模式的具体例的图;
图10是任务的状态变迁图;
图11是表示发明的第二实施方式涉及的安全控制任务的结束处理步骤的具体例的流程图;
图12是表示发明的第二实施方式涉及的任务调度器的处理步骤的具体例的流程图;
图13是表示发明的第二实施方式涉及的段调度器的处理步骤的具体例的流程图;
图14是表示由发明的第二实施方式涉及的OS提供的执行环境下启动的、段调度器和任务之间的关系的图;
图15是表示发明的第三实施方式涉及的调度模式的具体例的图;
图16是表示发明的第三实施方式涉及的安全控制任务的结束处理步骤的具体例的流程图;
图17是表示发明的第三实施方式涉及的任务调度器的处理步骤的具体例的流程图;
图18是表示发明的第三实施方式涉及的段调度器的处理步骤的具体例的流程图;
图19是表示发明的第四实施方式涉及的调度模式的具体例的图;
图20是表示发明的第四实施方式涉及的段调度器的处理步骤的具体例的流程图;
图21是表示由发明的第五实施方式中的OS提供的执行环境下启动的、段调度器和任务之间的关系的图;
图22是表示发明的第五实施方式涉及的调度模式的具体例的图;
图23是表示发明的第五实施方式涉及的段调度器的处理步骤的具体例的流程图;
图24是表示发明第六实施方式涉及的安全控制装置的结构例的框图;
图25是表示由发明第六实施方式中的OS提供的执行环境下启动的、段调度器和任务之间的关系的图;
图26是表示发明第六实施方式涉及的通常控制段中的处理的具体例的图;
图27是表示发明第六实施方式涉及的调度处理步骤的具体例的流程图;
图28是表示发明第七实施方式涉及的段调度器的处理步骤的具体例的流程图;
图29是表示发明第七实施方式涉及的RAM检查任务的处理步骤的具体例的流程图;
图30是表示发明第七实施方式涉及的RAM检查任务的处理步骤的具体例的流程图;
图31是用于说明技术问题的图;
图32是用于说明技术问题的图;
图33是用于说明技术问题的图;
图34是用于说明技术问题的图。
具体实施方式
以下,参照附图对应用本发明的具体实施方式进行详细说明。在各图中,针对相同要素标注了相同符号,为使说明明确,根据需要省略了重复说明。
<发明的第一实施方式>
本实施方式涉及的安全控制装置1被搭载在服务机器人或运输设备等上,以执行用于确保功能安全的安全控制。安全控制装置1被构成为通过同一个计算机系统来执行安全关联应用和非安全关联应用。图1是表示本实施方式涉及的安全控制装置1的结构例的框图。
处理器10进行程序(命令流)的获取、命令的解码、以及与命令的解码结果相应的运算处理。另外,尽管在图1中仅示出了一个处理器10,但安全控制装置1也可以是具有多个处理器10的多处理器结构。此外,处理器10也可以是多核处理器。处理器10通过执行作为系统程序的操作系统(OS)100来提供多道程序环境。所谓多道程序环境,是指通过定期地切换执行多个程序、或者根据某个事件的发生而切换所执行的程序来使多个程序如同被并行执行的环境。
多道程序有时也被称为多处理、多线程、多任务等。处理、线程以及任务是指在多道程序环境下被并行执行的程序单位。本实施方式的处理器10所具备的多道程序环境可以是多处理环境,也可以是多线程环境。
执行用存储器11是为了由处理器10执行程序而使用的存储器。执行用存储器11中存储了从非易失性存储器13载入的程序(OS100及应用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存储OS100及应用101~103。另外,非易失性存储器13的至少一部分可被构成为能够从安全控制装置1上卸下。例如,可以使存储了应用101~103的存储器能够卸下。此外,非易失性存储器13的至少一部分可被配置在安全控制装置1的外部。
OS100通过被处理器10执行,而利用处理器10、执行用存储器11以及非易失性存储器13等硬件资源,进行包含任务调度的任务管理、中断管理、时间管理、资源管理、任务间同步以及任务间通信机构的提供等。
另外,为了提高与功能安全的确保相关联的安全监视应用101及安全控制应用103相对于通常控制应用102的独立性,OS100具有在时间上和空间上保护硬件资源的功能。这里,硬件资源包括处理器10、执行用存储器11、I/O端12。
其中,时间上的保护通过将被称为处理器10的执行时间的时间资源分段来进行。具体而言,通过将处理器10的执行时间分段,并对各段(称为时间段)分配任务(处理或线程),来进行时间上的保护。针对被分配给各时间段(以下,有时简称为TP)的任务,OS100的调度功能(段调度器21)保证包含处理器10的执行时间在内的资源的利用。
图2是与时间分段相关的概念图。在图2的例子中,例示了将预先确定的1周期时间分为TP1、TP2及TP3这三个的例子。例如,当将100Tick(时间单位)设为1周期时间时,将其中前半部分的20Tick规定为TP1,中间的30Tick规定为TP2,后半部分的50Tick规定为TP3。
此外,在图2的例子中,第一应用(APL1)~第四应用(APL4)被分配给TP1~TP3中的任一个。根据时间的经过,OS100的调度功能(段调度器21)选择并确定将TP1~TP3中的任一个激活。然后,在处理器10中执行被分配给激活的TP的应用。
另一方面,空间上的保护是通过将包含执行用存储器11和I/O端口12的固定资源分段,并对各段(称为资源段)分配任务来进行的。OS100的调度功能(段调度器21)禁止任务越过预先分配的资源段(以下,有时简称为RP)而访问其他资源。
图3是与资源分段相关的概念图。在图3的例子中示出了两个RP(RP1和RP2)。RP1被分配了执行用存储器11和非易失性存储器13的一部分(A区域)、以及I/O端口12的一部分(端口A)。此外,RP2被分配了执行用存储器11和非易失性存储器13的另一部分(B区域)、以及I/O端口12的另一部分(端口B)。禁止从RP1访问被分配给RP2的资源,并禁止从RP2访问被分配给RP1的资源。
另外,无需将全部资源都排他性地分配给任一RP。即,可以有多个RP共享的资源。例如,当进行服务机器人的安全控制时,需要从通常控制应用102和安全控制应用103都能够访问执行器。因而,用于控制执行器的I/O端口可被通常控制应用101所属的RP和安全控制应用102所属的RP共享。
返回到图1继续说明。应用101~103在由OS100和处理器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基于来自OS100的信号进行微型控制器15的重置。后面将针对使用了重置电路14的微型控制器15的重置机构进行叙述。
接下来,使用图4对段调度器21和由于应用101~103的启动而生成的任务之间的关系进行说明。图4是表示在由OS100提供的多道程序环境下启动的、段调度器21和任务24、26、28之间的关系的图。
微型控制器15包含处理器10、执行用存储器11、I/O端口12、非易失性存储器13等。另外,图4中例示了在微型控制器15的外部包括重置电路14的结构,但也可以是在微型控制器15的内部包含重置电路14的结构。
来自外部的时钟源的时钟信号被供应到微型控制器15,处理器10等以基于该时钟信号的规定的计时器周期进行动作。在本实施方式中,将规定的计时器周期作为1Tick来进行说明。因而,通过由处理器10来执行OS100,段调度器21在每一Tick内动作,并且各TP中,任务调度器23、25、27和任务(安全监视任务24、通常控制任务26、安全控制任务28)在每一Tick内动作。
段调度器21在每一Tick内动作,进行TP的切换(段调度)。段调度器21选择并确定在下一Tick的期间内激活TP1~TP3中的任一个。另外,段调度器21使与所选择的TP相关的任务调度器开始动作。
针对段调度器21的段调度进行具体叙述的话,段调度器21参照调度表22,按照确定TP的设定的调度模式进行段调度。
调度表22保存有规定TP的切换顺序及定时的调度模式。另外,调度表22保存有至少两个不同的调度模式。其中一个是安全监视任务24没有进行异常检测时(即通常时)所应用的调度模式。另一个是通过安全监视任务24检测到了异常时所应用的调度模式。以下,将通常时应用的调度模式称为“通常控制调度模式”。并且,将异常检测时应用的调度模式称为“安全控制调度模式”。
图5A示出了通常控制调度模式的具体例。在图5A中,通常控制任务26所属的TP2被分配了1周期时间的前半部分(T1)。此外,安全监视任务24所属的TP1被分配了1周期时间的后半部分(T2)。根据图5A的调度模式,通常控制任务26和安全监视任务24被反复调度。
图5B示出了安全控制调度模式的具体例。在图5B中,安全控制任务28所属的TP3被分配了1周期时间的前半部分(T3)。此外,安全监视任务24所属的TP1被分配了1周期时间的后半部分(T4)。根据图5B的调度模式,安全控制任务28和安全监视任务24被反复调度。
返回到图4继续进行说明。任务调度器23、25、27进行各自所属的TP内的任务调度。对于各TP内的任务调度,可应用通常的以优先级为基础的调度。在图4中示出的是各TP分别仅包含一个任务,但实际上各TP包含了1个以上的任务。例如,在通常控制用的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通知结果的具体结构,能够采用各种各样的手法。例如,任务能够调出OS100的系统核心(服务核心),经由OS100,将结果通知给段调度器21。此外,例如假设将与任务的执行状况相关的标志存储到执行用存储器11中,任务能够根据其执行状况来设定标记的值,并且段调度器21根据标志的设定值来判断任务的执行状况。
如上所述,段调度器21在每一Tick内进行动作,选择和确定激活TP1~TP3中的任一个。另外,段调度器21使与所选的TP相关的任务调度器开始动作。然后,通过任务调度器23、25、27开始动作而进行任务的调度,处理器10按照由任务调度器23、25、27进行调度的顺序,执行TP内的任务。由此,被分配给激活的TP的应用在处理器10中被执行。
接下来,使用图6针对段调度器21的段调度进行说明。图6是表示段调度器21的处理步骤的具体例的流程图。
首先,在每一Tick内动作的段调度器21使TPX的任务调度器动作(S11)。这里,变量X表示TP的编号,X是1以外的值。即,在S11中,使除安全监视用的TP1之外的、TP2或TP3中的任一个动作。
另外,在图6中,基于通常控制调度模式(例如图5A)或安全控制调度模式(例如图5B),以执行调度的情况为例进行说明。即,以如下情况为例进行说明:当接在TP2或者TP3之后的下一个TP是TP1,并且在TP1检测到TP2中的异常时,接受来自TP1的结果,使下一个选择和确定的TP为TP3。
在S11开始动作的TPX的任务调度器根据优先级执行TPX内的任务(S12)。当经过了1Tick时,段调度器21开始TP的调度(S13)。即,段调度器21基于调度模式来选择和确定在接下来的1Tick的期间内激活任一个TP。
当不改变下一个激活的TP时(S14中为“否”),段调度器21返回S11,使针对同一个TPX的动作继续。因而,在到达TPX的切换定时之前的期间内,重复S11~S14的处理。
当改变下一个激活的TP时(S14中为“是”),段调度器21使该改变的时间段的任务调度器动作(S15)。这里,使TP1的任务调度器动作。然后,TP1的任务调度器23根据优先级来执行TP1内的任务(S16)。
在TP1中执行的安全监视任务24监视通常控制任务26的执行状况,监视I/O端口12的输入输出数据,判断它们是否正常(S17)。当判断的结果是被判断为异常时(S18中为“否”),安全监视任务24将该结果通知给段调度器21(S19)。
当经过了1Tick后,段调度器21再次开始调度(S20)。段调度器21基于调度模式来选择和确定在下一Tick期间内激活任一个TP,当不改变下一个激活的TP时(S21中为“否”),返回到S15,使针对TP1的动作继续。
当改变下一个激活的TP时(在S21中为“是”),段调度器21进而根据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中的任一个。
如上所述,在本实施方式中,OS100具有段调度器21,该段调度器21根据来自安全监视用的TP1的通知、或来自各TP的通知,选择和确定下一个要激活的段。段调度器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。
通过采用由独立动作的段调度器21从全部TP接受结果通知的结构,段调度器21能够统一把握与全部TP相关的状况。因而,例如当段调度器21根据来自安全监视用的TP1的结果通知来选择并确定下一个段时,段调度器21能够在考虑了各TP的状况后,仅从处于正常状态的TP确定并选择下一个段。因此,与现有技术相比,能够实现更准确的段调度。
接下来,使用图7和图8对使用了重置电路14的微型控制器15的重置机构进行说明。图7和图8是表示使用了重置电路14的微型控制器15的重置处理步骤的具体例的流程图。
在本实施方式中,在每一Tick动作的段调度器21具有微型控制器15的重置功能。当检测出OS100中的异常时,段调度器21与重置电路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发送信号,当来自段调度器21的发送信号被切断时,重置电路14对微型控制器15进行重置。另外,在图8中,TPX是TP1和TP3以外的TP。
与图7的S31~S35的处理相比,在图8的S53中,明确了段调度器21在每个Tick动作这点,此外,在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的切换在每一Tick内被正常地执行。
另外,在图7和图8中,说明的是段调度器21根据来自TP1的结果通知而向重置电路14输出重置指示信号,或者停止向重置电路14发送信号,但也可以根据来自TP1~TP3中任一个的结果通知而向重置电路14输出重置指示信号,或者停止向重置电路14发送信号。
<发明的第二实施方式>
接着,针对本第二实施方式涉及的安全控制装置1进行说明。另外,本第二实施方式涉及的安全控制装置1的结构与本第一实施方式涉及的安全控制装置1的结构相同。此外,段调度器21和任务24、26、28之间的关系也与本第一实施方式涉及的安全控制装置1中的关系相同。以下,对于与第一实施方式涉及的安全控制装置1相同的内容,省略说明。
在本第二实施方式中,对于执行需要以固定周期执行的处理的任务,当任务的处理结束时,将该处理结束的消息通知给段调度器21。这里,在本第二实施方式中,对执行需要以固定周期执行的处理的任务是安全控制任务28的情况进行说明。
安全控制任务28在处理的执行结束时,将表示TP3中的处理结束的信息保存在执行用存储器11中。具体来说,在执行用存储器11中存储表示TP3中的处理是否结束的TP处理结束标志。安全控制任务28在处理结束时设立TP处理结束标志。即,当TP处理结束标志被设立时,TP处理结束标志表示安全控制任务28的执行结束,安全控制任务28中的处理结束。当TP处理结束标志没有设立时,TP处理结束标志表示安全控制任务28的执行未结束,安全控制任务28中的处理没有结束。安全控制任务28在TP处理结束标志被设立之后,使任务调度器27动作。即,安全控制任务28在设立TP处理结束标志后,释放处理器10的执行时间,而转变到可执行状态。另外,对于可执行状态等任务的状态,将在后面叙述。
任务调度器27进行属于TP3的任务的调度,但是当TP处理结束标志被设立时,即使安全控制任务28处于可执行状态,也会抑制处理器10的执行时间对安全控制任务28的分配。
段调度器21在切换TP时,除去TP处理结束标志。这里,在本第二实施方式中,对段调度器21按照图9例示的调度模式进行段调度的情况进行说明。即,调度表22保存图9例示的调度模式。图9例示的调度模式中,限定了TP的切换顺序和定时,以使得TP3被激活的周期为固定周期。
接着,参照图10对任务的状态进行说明。图10是任务的状态变迁图。任务24、26、28选取执行状态、可执行状态、等待状态、二重等待状态、强制等待状态以及休止状态中的任一状态。
执行状态是通过任务调度器23、25、27、29对任务分配了处理器10的执行时间的状态。当任务处于执行状态时,该任务正在被处理器10执行。处于执行状态的任务例如当在由任务调度器23、25、27、29分配的处理器10的执行时间被用尽时,转变到可执行状态。此外,处于执行状态的任务例如在休眠时转变到等待状态。
可执行状态是尽管能够对任务分配处理器10的执行时间、却没有对任务分配处理器10的执行时间的状态。可执行状态例如是任务已唤醒的状态。可执行状态的任务例如在被任务调度器23、25、27、29分配了处理器10的执行时间时转变到执行状态。
等待状态是不能给任务分配处理器10的执行时间、并且处理器10的执行时间没有被分配的状态。等待状态例如是任务正在休眠的状态。处于等待状态的任务例如在休眠时间结束时或者由于从其他任务接收到任务间通信等而从休眠的状态唤醒时,转变到可执行状态。
强制等待状态是不能给任务分配处理器10的执行时间、并且处理器10的执行时间没有被分配的状态。强制等待状态例如是通过段调度器21、任务调度器23、25、27或其他任务,使得处于可执行状态的任务被临时禁止执行的状态。当通过段调度器21、任务调度器23、25、27或者其他的任务而解除了强制等待状态时,处于强制等待状态的任务转变到可执行状态。
二重等待状态是不能给任务分配处理器10的执行时间、并且分配处理器10的执行时间没有被分配的状态。二重等待状态例如是通过段调度器21、任务调度器23、25、27或者其他的任务,使得处于等待状态的任务被临时禁止执行的状态。当通过段调度器21、任务调度器23、25、27或者其他的任务而解除了强制等待状态时,转变为等待状态。此外,处于强制等待状态的任务在唤醒时转变到强制等待状态。
休止状态是不能给任务分配处理器10的执行时间、并且处理器10的执行时间没有被分配的状态。休止状态例如是任务没有启动的状态或者是任务已结束了的状态。
接着,参照图11对本第二实施方式涉及的安全控制任务28的结束处理进行说明。图11是表示本第二实施方式涉及的安全控制任务28的结束处理步骤的具体例的流程图。
当TP3被激活时,通过任务调度器27对安全控制任务28分配处理器10的执行时间。被分配了处理器10的执行时间的安全控制任务28执行如前所述的为确保功能安全而规定的处理。当该处理结束时,安全控制任务28设立被存储在执行用存储器11中的TP处理结束标志(S81)。
安全控制任务28在设立TP处理结束标志后,释放处理器10的执行时间,转变到可执行状态。安全控制任务28例如通过执行释放处理器10的执行时间的系统调用,转变到可执行状态。由此,对任务调度器27分配处理器10的执行时间,使任务调度器27被执行(S82)。
接着,参照图12对本第二实施方式涉及的任务调度器27的处理进行说明。图12是表示本第二实施方式涉及的任务调度器27的处理步骤的具体例的流程图。
任务调度器27在被执行的时候,判定TP处理结束标志是否设立(S91)。当TP处理结束标志设立时(S91中为“是”),任务调度器27不执行任务调度。由此,例如,当在TP3中安全控制任务28中的处理被执行之后,即使安全控制任务28处于可执行状态,也能够使得在同一个TP3的期间内安全控制任务28中的处理不会被再次执行。当TP处理结束标志未设立时(S91中为“否”),任务调度器27执行属于TP3的任务的调度(S92)。由此,给安全控制任务28分配处理器10的执行时间。
接着,参照图13说明本第二实施方式涉及的段调度器21的处理。图13是表示本第二实施方式中的段调度器21的处理步骤的具体例的流程图。
每当对处理器10产生周期性的计时器中断时(S101),处理器10执行段调度器21(S102)。如此,每当从微型控制器15具有的计时器(图中未示出)产生了周期性的计时器中断时,执行段调度器21,由此段调度器21以规定的计时器周期进行动作。段调度器21在被执行时,基于按照调度模式来判定是否切换TP(S103)。例如,通过参照调度模式确认本次被执行的定时是否是TP的切换定时来进行判定。
当切换TP时(S103中为“是”),段调度器21清除TP处理结束标志(S104)。由此,例如,当从TP3切换至下一个TP2时,TP处理结束标志被清除。因而,当TP3随后被激活时,安全控制任务28被任务调度器27执行。这里,在本第二实施方式中,如图9所示,TP3以固定周期被激活。因而,安全控制任务28以固定周期被执行。另外,也可以不在TP的切换时刻,而在TP3随后被激活之前,清除TP处理结束标志。这是因为:如果在TP3随后被激活之前清除TP处理结束标志,安全控制任务28会在固定周期后被执行。
当不切换TP时(S103中为“否”),或者在步骤S104的处理后,段调度器21进行段调度(S105)。
如以上说明的那样,在本第二实施方式中,安全控制任务28在处理结束时将表示处理结束的信息保存在执行用存储器11中,释放处理器10的执行时间而转变到可执行状态。然后,在任务的调度中,当在执行用存储器11中存储了表示处理结束的信息时,即使安全控制任务28处于可执行状态,任务调度器27也抑制处理器10的执行时间对安全控制任务28的分配。
另外,在调度模式中,使TP3为固定周期。此外,从TP3的期间结束时起,到TP3下一个周期中的期间开始之前,段调度器21删除表示处理结束的信息。如此,能够使得在同一个TP3的期间内安全控制任务28不会被再次执行,并且能够维持当下一个固定周期后的TP3的期间开始时安全控制任务28被开始执行的可执行状态。此外,来自其他任务的安全控制任务28不需要唤醒。因而,根据本第二实施方式,能够在保证安全关联系统的独立性的同时,以固定周期执行任务。
<发明的第三实施方式>
接着,对本第三实施方式涉及的安全控制装置1进行说明。另外,由于本第三实施方式涉及的安全控制装置1的结构与本第二实施方式涉及的安全控制装置1的结构相同,因而省略说明。
接着,参照图14说明段调度器21和因应用101~104的启动而生成的任务之间的关系。图14是表示由OS100提供的多道编程环境下启动的、段调度器21和任务24、26、28A、28B、28C之间的关系的图。以下,对于与本发明第二实施方式相同的内容,省略说明。
在本第三实施方式中,多个安全控制任务28A、28B、28C被启动。在本第三实施方式中,对安全控制任务28A是执行需要以固定周期执行的处理的任务的情况进行说明。安全控制任务28B、28C是虽不必要周期性地执行,但想在TP3内仅执行一次的任务。这里,预先设定任务的优先级,使得安全控制任务28A的优先级最高,安全控制任务28B的优先级第二高,安全控制任务28C的优先级最低。即,对需要以固定周期执行的安全控制任务28A设定最高的优先级。
安全控制任务28A、28B、28C的每一个在任务中的处理结束时,将表示任务中的处理结束的信息保存在执行用存储器11中。具体来说,多个表示任务中的处理是否结束的任务处理结束标志以与安全控制任务28A、28B、28C的每一个相对应的方式被保存到执行用存储器11中。安全控制任务28A、28B、28C的每一个在处理结束时,设立任务处理结束标志。即,在任务处理结束标志被设立的情况下,任务处理结束标志表示安全控制任务中的处理已结束。当任务处理结束标志被清除时,任务处理结束标志表示安全控制任务中的处理未结束。安全控制任务28A、28B、28C的每一个在设立了任务处理结束标志后,使任务调度器27动作。即,安全控制任务28A、28B、28C的每一个在设立了TP处理结束标志后,释放处理器10的执行时间,转变到可执行状态。
任务调度器27从优先级最高的任务开始,依次执行属于TP3的任务的调度。在任务处理结束标志被设立的情况下,即使与该任务处理结束标志相对应的安全控制任务处于可执行状态,任务调度器27也将该安全控制任务排除在处理器10的执行时间的分配对象之外。
段调度器21在切换TP时,清除任务处理结束标志。这里,在本第三实施方式中,对段调度器21按照图15例示的调度模式进行段调度的情况进行说明。即,在本第三实施方式中,调度表22保持图15所例示的调度模式。如图15例示的那样,本第三实施方式中的调度模式规定TP的切换顺序和定时,使得TP3被激活的周期为固定周期。
接着,参照图16对本第三实施方式涉及的安全控制任务28A、28B、28C的结束处理进行说明。图16是表示本第三实施方式涉及的安全控制任务28A、28B、28C的结束处理步骤的具体例的流程图。
当TP3激活时,通过任务调度器27,给安全控制任务28A、28B、28C的任一个分配处理器10的执行时间。被分配了处理器10的执行时间的安全控制任务执行上述的为确保功能安全而规定的处理。安全控制任务在该处理结束时,设立被保存在执行用存储器11中的任务处理结束标志(S111)。
安全控制任务28在设立了任务处理结束标志后,释放处理器10的执行时间,转变到可执行状态。由此,对任务调度器27分配处理器10的执行时间,执行任务调度器27(S112)。
接着,参照图17说明本第三实施方式涉及的任务调度器27的处理。图17是表示本第三实施方式涉及的任务调度器27的处理步骤的具体例的流程图。
任务调度器27在被执行时,判定任务处理结束标志是否已设立(S121)。当任务处理结束标志已设立时,任务调度器27将与该任务处理结束标志相对应的安全控制任务排除在调度对象之外。由此,例如在TP3中安全控制任务28A被执行后,即使安全控制任务28A处于可执行状态,也能够使得在同一个TP3的期间内安全控制任务28A不会被再次执行。任务调度器27执行属于TP3的任务的调度(S122)。
这里,在本第二实施方式中,如上所述,按照任务的优先级,以安全控制任务28A、安全控制任务28B、安全控制任务28C的顺序执行任务。此时,图16和图17所示的处理被执行,如图15所示,安全控制任务28A、28B、28C被执行。
具体来说,首先,通过任务调度器27执行优先级最高的安全控制任务28A。安全控制任务28A在处理的执行结束时,设立任务处理结束标志(S111)。由于与安全控制任务28A对应的任务处理结束标志已被设立,因此随后执行的任务调度器27将安全控制任务28A排除在调度对象之外(S112、S121)。因而,任务调度器27执行优先级第二高的安全控制任务28B(S122)。
安全控制任务28B在处理的执行结束时,设立任务处理结束标志(S111)。由于由于与安全控制任务28B对应的任务处理结束标志已被设立,因此随后执行的任务调度器27将安全控制任务28B排除在调度对象之外(S112、S121)。因而,任务调度器27执行优先级第二高的安全控制任务28C(S122)。
安全控制任务28C在处理的执行结束时,设立任务处理结束标志(S111)。由于与安全控制任务28C对应的任务处理结束标志已被设立,因此随后执行的任务调度器27将安全控制任务28C排除在调度对象之外(S112、S121)。至此,由于安全控制任务28A、28B、28C全部被排除在调度对象之外,因而任务调度器27不再执行属于TP3的任一安全控制任务28A、28B、28C。
接着,参照图18对本第三实施方式中的段调度器21的处理进行说明。图18是表示本第三实施方式涉及的段调度器21的处理步骤的具体例的流程图。
每当对处理器10产生了周期性的计时器中断时(S131),处理器10执行段调度器21(S132)。当段调度器21被执行时,根据调度模式来判定是否切换TP(S133)。
当切换TP时(S133中为“是”),段调度器21将与属于TP3的任务对应的任务处理结束标志清除(S134)。由此,例如当从TP3切换到接下来的TP2时,任务处理结束标志被清除。因而,当接下来TP3被激活时,安全控制任务28A、28B、28C被任务调度器27执行。
当不切换TP时(S133中为“否”),或者在步骤S134的处理之后,段调度器21进行段调度(S135)。另外,如上所述,也可以不是在TP的切换时,而是在接下来TP3被激活之前,将TP处理结束标志清除。
如以上说明的那样,在本第三实施方式中,与第二实施方式相比,在TP3中对优先级比安全控制任务28A低的安全控制任务28B、28C分配处理器10的执行时间。因而,在安全控制任务28A的执行结束后,处理器10能够消除不执行任何处理的时间,从而能够提高处理器10的利用效率。
此外,在本第三实施方式中,由于将需要以固定周期执行的安全控制任务28A的优先级设为最高,因而当固定周期的TP3的期间开始时,安全控制任务28A被执行。从而,在本第三实施方式中,也能够以固定周期来执行安全控制任务28A。
<发明的第四实施方式>
接着,对本第四实施方式涉及的安全控制装置1进行说明。另外,本第四实施方式涉及的安全控制装置1的结构与本第一实施方式涉及的安全控制装置1的结构相同。此外,关于段调度器21和任务24、26、28之间的关系,也与本第一实施方式涉及的安全控制装置1的结构相同。以下,对于与第一实施方式涉及的安全控制装置1相同的内容,省略说明。
在本第四实施方式中,对于执行需要以固定周期执行的处理的任务,当任务中的处理结束时,将该处理结束的消息通知给段调度器21。这里,在本第四实施方式中,对执行需要以固定周期执行的处理的任务是安全控制任务28的情况进行说明。
这里,在本第四实施方式中,对段调度器21按照图19例示的调度模式进行段调度的情况进行说明。即,在本第四实施方式中,调度表22保持图19例示的调度模式。本第四实施方式涉及的调度模式如图19所例示的那样,对TP的切换顺序和定时进行规定,以使得TP3被激活的周期为固定周期。以下,也将TP的切换定时称为“TP边界”。此外,本第四实施方式中的调度模式如图19例示的那样,对安全控制任务28登记周期结束的TP边界。这里,周期结束的TP边界是指在该时刻需要以固定周期执行的安全控制任务28中的处理应结束的TP的切换定时。在本第四实施方式中,该周期结束的TP边界被保持在从需要以固定周期执行的安全控制任务28所属的TP3向接下来的TP2切换的定时。
接着,参照图20对本第四实施方式涉及的段调度器21的处理进行说明。图20是表示本第四实施方式涉及的段调度器21的处理步骤的具体例的流程图。
每当针对处理器10发生了周期性的计时器中断时(S141),处理器10执行段调度器21(S142)。当段调度器21在TP边界被执行时,执行以下的处理。段调度器21判定在当前的TP边界是否存在登记了周期结束的TP边界的任务(S143)。在本第四实施方式中,由于针对安全控制任务28登记了周期结束的TP边界,因而判定为在从TP3至TP2的TP边界存在登记了周期结束的TP边界的任务。
当存在登记了周期结束的TP边界的任务时(S143中为“是”),段调度器21判定是否有来自该任务的处理结束的通知(S144)。在本第四实施方式中,判定是否有来自安全控制任务28的通知。这里,可以如第二实施方式或第三实施方式那样,通过表示处理的结束的标志向段调度器21通知处理的结束,也可以通过任务间通信从任务向段调度器21通知处理的结束。
当没有来自安全控制任务28的处理结束的通知时(S144中为“否”),段调度器21判定为异常(S145)。此时,段调度器21执行与异常相对应的处理(S146)。当由于安全控制任务28的处理没有以固定周期结束而引起的异常是可通过切换到其他TP并执行属于该TP的任务来应付的异常时,段调度器21从TP3切换至其他的TP。此外,当由于安全控制任务28的处理没有以固定周期结束而引起的异常是需要紧急停止的异常时,段调度器21将微型控制器15重置。
当不存在登记了周期结束的TP边界的任务时(S143中为“否”),或者当从安全控制任务28通知了处理结束时(S144中为“是”),段调度器21执行段调度(S147)。此时,当属于TP3的安全控制任务28处于等待状态时,段调度器21将安全控制任务28设为可执行状态。例如,段调度器21通过针对安全控制任务28的任务间通信,唤醒安全控制任务28而使其变为可执行状态。由此,安全控制任务28以固定周期被执行。另外,如第二和第三实施方式所示,也可以通过将安全控制任务28维持在可执行状态,并且通过表示处理结束的标志使得安全控制任务28不会在同一个TP3的期间内被执行,由此使得安全控制任务28以固定周期被执行。然后,段调度器21执行属于TP3之后的TP的任务调度器(S148)。
如以上说明的那样,在本第四实施方式中,当以固定周期执行安全控制任务28的时间段的期间结束时,通过段调度器21来判定是否从安全控制任务28通知了处理结束。由此,由于不需要在生成安全控制任务28的安全控制应用103等的各个应用中加入进行监视的手段,因此能够简化软件结构。
<发明的第五实施方式>
接着,对本第五实施方式涉及的安全控制装置1进行说明。另外,由于本第五实施方式涉及的安全控制装置1的结构与本第一实施方式涉及的安全控制装置1的结构相同,故省略说明。
接着,参照图21对段调度器21和由于应用101~104的启动而生成的任务之间的关系进行说明。图21是表示由OS100提供的多道编程环境下启动的、段调度器21与任务24、26A、26B、28、30之间的关系的图。以下,针对与本发明第一实施方式相同的内容,省略说明。
本第五实施方式涉及的OS200具有多个安全控制段TP3、TP4。此外,在本第五实施方式中,启动多个通常控制任务26A、26B。在本第五实施方式中,对安全监视任务24、通常控制任务26A、26B及安全控制任务30分别是执行需要以固定周期执行的处理的任务的情况进行说明。
这里,在本第五实施方式中,对段调度器21根据图22例示的调度模式进行段调度的情况进行说明。即,在本第五实施方式中,调度表22保持图22例示的调度模式。本第五实施方式涉及的调度模式如图22所例示的那样,保持开始任务的TP边界和结束任务的TP边界。开始任务的TP边界是指开始执行任务的定时。结束任务的TP边界是指在此之前应该结束任务执行的定时。
这里,图22例示的调度模式中,TP1的各个期间、TP3的期间、以及TP4的期间为相同的长度。此外,TP2的各个期间为相同的长度。从而,在图22中,在使得各任务24、26A、26B、30的每一个以固定周期执行的定时,确定开始任务的TP边界。此外,在图22中,在各任务24、26A、26B、28的每一个应当在固定周期内结束任务执行的定时,确定结束任务的TP边界。
任务调度器29与任务调度器23、25、27同样地,进行属于TP4的安全控制任务30的调度。
段调度器21在切换TP时,在开始任务的TP边界被设定为调度模式的该切换定时下的TP边界的情况下,开始任务的执行。此外,段调度器21在切换TP时,在结束任务的TP边界被设定为调度模式的该切换定时下的TP边界的情况下,判定任务的执行是否结束。
接着,参照图23对本第五实施方式涉及的段调度器21的处理进行说明。图23是表示本第三实施方式涉及的段调度器21的处理步骤的具体例的流程图。
每当针对处理器10产生了周期性的计时器中断时(S151),处理器10执行段调度器21(S152)。段调度器21判定当前的定时是否是TP边界(S153)。即,判定是否发生TP的切换。
在当前的定时是TP边界的情况下(S153中为“是”),段调度器21判定结束任务的TP边界被设定为该TP边界的任务的执行是否结束(S154)。如第二实施方式或第三实施方式所示,任务的执行是否结束可由段调度器21通过表示处理结束的标志来判定,也可通过是否经由任务间通信从任务向段调度器21通知了处理结束来判定。
当任务的执行未结束时(S154中为“否”),段调度器21判定为异常(S155)。此时,段调度器21执行与异常相对应的处理(S156)。当由于任务的执行未以固定周期结束而引起的异常是可通过切换到其他TP并执行属于该TP的任务来应付的异常时,段调度器21从当前TP切换到其他TP。此外,当由于任务的执行未以固定周期结束而引起的异常是需要紧急停止的异常时,段调度器21将微型控制器15重置。
在当前的定时不是TP边界的情况下(S153中为“否”),或者任务的执行未结束的情况下(S154中为“是”),当存在开始任务的TP边界被设定为其TP边界的任务时,段调度器21将该任务设为执行状态(S157)。段调度器21执行段调度(S158)。然后,段调度器21执行属于段调度的切换目标的TP的任务调度器(S159)。被执行的任务调度器开始执行将段调度器21设为执行状态的任务。
如以上说明的那样,在本第五实施方式中,在固定周期的定时,对TP边界设定开始执行任务的开始定时。此外,在与上述固定周期相同的固定周期的定时,设定对任务的执行结束进行判定的结束判定定时。然后,段调度器21判定是否在被设定了开始定时的TP边界开始了任务的执行、且在被设定了结束判定定时的TP边界结束了任务的执行。由此,由于不需要在执行各任务24、26A、26B、30的每一个的各个应用中加入进行监视的手段,因而能够简化软件结构。
<发明的第六实施方式>
接着,参照图24对本第六实施方式涉及的安全控制装置2进行说明。图24是表示本第六实施方式涉及的安全控制装置2的结构例的框图。以下,对于与第一实施方式涉及的安全控制装置1相同的内容,省略说明。
非易失性存储器13存储RAM(Random Access Memory:随机存取存储器)检查应用104。RAM检查应用104包含用于执行RAM检查处理的命令码。具体来说,RAM检查处理是由RAM检查应用104通过对执行用存储器11进行数据的读写来检查执行用存储器11是否正常的处理。另外,RAM检查应用104也可以包含用于使处理器10向段调度器21通知结果的命令码。
接着,利用图25对段调度器21和由于应用101~104的启动而生成的任务之间的关系进行说明。图25是表示由OS100提供的多道编程环境下启动的、段调度器21和任务24、26、28、31之间关系的图。以下,对于与第一实施方式中的安全控制装置1相同的内容,省略说明。
RAM检查任务31是由于RAM检查应用104的启动而生成的任务。RAM检查任务31进行检查执行用存储器11是否正常的处理。
这里,在本第六实施方式中,如图26所例示的那样,在TP2中执行的处理包括必须处理和伴随处理,所述必须处理是必须在TP2的期间内结束执行的处理,所述伴随处理是不必在TP2的期间内结束执行的处理。在本第六实施方式中,对必须处理是由通常控制任务26执行的处理、伴随处理是由RAM检查任务31执行的处理的情况进行说明。执行必须处理的通常控制任务26的优先级被设定得比执行伴随处理的RAM检查任务31的优先级高。这里,TP2的期间被取为比执行必须处理的通常控制任务26的执行时间最长时的执行时间更有富余。
接着,参照图27对本第六实施方式涉及的调度处理进行说明。图27是表示本第六实施方式涉及的调度处理步骤的具体例的流程图。
在将TP切换到TPX时,段调度器21使TPX的任务调度器动作(S161)。这里,对TPX是TP2、任务调度器25被执行的情况进行说明。任务调度器25根据任务的优先级来执行任务(S162)。这里,优先级高的通常控制任务26先被执行。任务调度器25在结束必须处理之前,使执行必须处理的通常控制任务26的执行继续(S163中为“否”,S162)。
当必须处理结束时(S163中为“是”),任务调度器25执行进行伴随处理的RAM检查任务31(S164)。另外,当在上次的TP2的期间内RAM检查任务31中的处理被中断了时,该处理被接着执行。在到达TP的切换定时之前,任务调度器25继续执行RAM检查任务31(S165中为“否”,S162、S163中为“是”、S164)。
当达到TP的切换定时时(S165中为“是”),段调度器21实施TP的切换。由此,当属于切换前的TP2的RAM检查任务31的执行未结束时,该执行被中断。即,中断由RAM检查任务31进行的伴随处理(S166)。
如以上说明的那样,根据本第六实施方式,与第一实施方式相比而言,在TP2中还给优先级比通常控制任务26低的RAM检查任务31分配处理器10的执行时间。因而,能够消除安全控制任务28A的执行结束后、处理器10不执行任何处理的时间,从而能够有效地利用处理器10的执行时间。
<发明的第七实施方式>
接着,对本第七实施方式涉及的安全控制装置2进行说明。另外,由于本第七实施方式涉及的安全控制装置1的结构和本第六实施方式涉及的安全控制装置1的结构相同,因而省略说明。此外,关于段调度器21和任务24、26、28、31之间的关系,由于与本第六实施方式涉及的安全控制装置2的结构相同,因而省略说明。
接着,参照图28对本第七实施方式涉及的段调度器21的处理进行说明。图28是表示本第七实施方式涉及的段调度器21的处理步骤的具体例的流程图。
每当针对处理器10产生了周期性的计时器中断时(S171),处理器10执行段调度器21(S172)。段调度器21基于调度模式来判定是否发生TP的切换(S173)。
当发生了TP的切换时(S173中为“是”),段调度器21将自由振荡式计时器所表示的当前值保存到执行用存储器11中。由此,TP开始时的时间被保存到执行用存储器11中。自由振荡式计时器(图中未示出)被配置在处理器10中。
当没有发生TP的切换时(S173中为“否”)、以及自由振荡式计时器被保存后,段调度器21执行段调度(S175)。
接着,参照图29对本第七实施方式涉及的RAM任务31的处理进行说明。图29和图30是表示本第七实施方式涉及的RAM检查任务31的处理步骤的具体例的流程图。
RAM检查任务31在进行RAM检查时,进行剩余时间的询问处理(S181)。在剩余时间的询问处理中,RAM检查任务31判定TP2的剩余时间中是否有执行RAM检查的余量(S182)。
这里,在本第七实施方式中,RAM检查对象的执行用存储器11是对于对执行用存储器11的访问而进行排他控制的存储器。即,后述的RAM检查(S183)将从其他任务对执行用存储器11的访问锁定固定时间,在检查执行用存储器11的固定范围后进行解锁。因而,在RAM检查的执行当中,如果发生向其他TP的切换,则RAM检查任务31保持锁定。即,属于其他TP的任务无法访问执行用存储器11。因而,在本第七实施方式中,当存在执行RAM检查的余量时,进行RAM检查(S183)。
这里,步骤S182中的更具体的处理如图30所示。当进行剩余时间的询问时,RAM检查任务31在剩余时间的询问中(S191)根据自由振荡式计时器的值计算出剩余时间。具体来说,RAM检查任务31从自由振荡式计时器的当前值减去由段调度器21保存到执行用存储器11中的TP2开始时的自由振荡式计时器的值,由此算出TP2被激活之后的经过时间Ta。RAM检查任务31从TP2的时间中减去经过时间Ta,由此算出TP2的剩余时间。例如,将表示TP2的时间的信息预先保存在执行用存储器11中。然后,RAM检查任务31通过参照该信息,来计算TP2的剩余时间。
当TP2的剩余时间中不存在余量时(S182中为“否”),RAM检查任务31中断处理(S184)。此时,RAM检查任务31例如通过进行休眠来释放处理器10的执行时间。
当TP2的剩余时间中存在余量时(S182中为“是”),RAM检查任务31实施RAM检查(S183)。
如以上说明的那样,在本第七实施方式中,当在RAM检查任务31中执行RAM检查处理时,在TP2的剩余期间比RAM检查处理所需的期间小的情况下,中断RAM检查任务31的处理,释放处理器10的执行时间。由此,能够防止如RAM检查处理那样不希望被切断的连续处理由于TP的切换而被切断。此外,当TP2的剩余期间大于等于RAM检查处理所需的期间时,执行RAM检查处理。由此,在RAM检查处理结束之前,保证了不会发生从TP2向其他TP的切换,因而在RAM检查处理中不需要排他控制。
另外,本发明不仅仅限于上述实施方式,显而易见,能够在不脱离上述本发明主旨的范围内进行各种变更。例如,可以将第一至第七实施方式的全部或任一个组合起来进行实施。
在本实施方式中,对OS具有TP1~TP4的情况进行了例示,但TP的种类和数目不限于此。对于调度模式也不限于本实施方式所例示的内容。此外,属于TP的任务的种类和数目也不限于本实施方式中例示的内容。
符号说明
1、2 安全控制装置
10   处理器
11   执行用存储器
12   I/O端口
13   非易失性存储器
14   重置电路
15   微型控制器
21   段调度器
22   调度表
23、25、27、29任务调度器
24   安全监视任务
26、26A、26B通常控制任务
28、28A、28B、28C、30安全控制任务
31   RAM检查任务
100  操作系统
101  安全监视应用
102  通常控制应用
103  安全控制应用
104  RAM检查应用

Claims (7)

1.一种安全控制装置,包括:
处理器;
系统程序,所述系统程序控制所述处理器的执行时间针对安全关联任务和非安全关联任务的分配,所述安全关联任务执行与控制对象的功能安全的确保相关的处理,所述非安全关联任务执行与所述控制对象的控制相关的其他处理;
存储部,所述存储部存储表示所述任务中的处理结束的结束信息;
其中,所述处理器通过执行所述系统程序来按照调度信息调度所述任务,所述调度信息表示安全关联时间段和非安全关联时间段的调度内容,以使该安全关联时间段和该非安全关联时间段中的至少一个时间段的期间以固定周期开始,所述安全关联时间段是当所述安全关联任务处于可执行状态时将所述执行时间分配给该安全关联任务的时间段,所述非安全关联时间段是当所述非安全关联任务处于可执行状态时将所述执行时间分配给该非安全关联任务的时间段;
所述处理器通过执行所述固定周期的时间段中的任务,而在该任务中的处理结束时,将表示该任务中的处理结束的结束信息存储至所述存储部,并且释放针对该任务的所述执行时间,使得该任务变为可执行状态,
在所述调度中,当在所述存储部中存储了所述结束信息时,即使所述固定周期的时间段中的任务处于可执行状态,所述处理器也在所述固定周期的时间段中抑制对该任务分配所述执行时间,
所述处理器通过执行所述系统程序,从所述固定周期的时间段的期间结束起到该时间段的下一个周期的期间开始之前,删除被存储在所述存储部中的结束信息。
2.如权利要求1所述的安全控制装置,其中,
在所述固定周期的时间段中,所述执行时间还被分配给执行任意处理的至少一个任意处理任务,所述任意处理任务具有比所述安全关联任务和所述非安全关联任务低的优先级,
所述处理器通过执行所述任意处理任务,而在该任意处理任务中的处理结束时,将表示该任意处理任务中的处理结束的结束信息存储至所述存储部,并且释放针对该任意处理任务的所述执行时间,使得该任意处理任务变为可执行状态,
所述处理器在所述调度中优先给优先级更高的任务分配所述执行时间,并且即使所述固定周期的时间段中的任务处于可执行状态,在表示该任务中的处理结束的结束信息被存储在所述存储部中的情况下,也抑制对该任务分配所述执行时间。
3.如权利要求1或2所述的安全控制装置,其中,
在所述调度中,当所述固定周期的时间段的期间结束时,在表示该时间段中的任务的处理结束的结束信息没有存储在所述存储部中的情况下,所述处理器判定为异常,并执行与该异常相应的处理。
4.如权利要求1所述的安全控制装置,其中,
用于开始执行所述固定周期的时间段中的任务的开始定时和用于判定该任务的执行结束的结束判定定时预先被设定给该固定周期的时间段,
在所述调度中,当设定了所述开始定时的时间段的期间开始时,所述处理器开始执行该时间段中的任务,并且当设定了所述结束判定定时的时间段的期间结束时,在所述存储部中没有存储所述结束信息的情况下,所述处理器判定为异常,并执行与该异常相应的处理。
5.如权利要求1所述的控制装置,其中,
在所述安全关联时间段或所述非安全关联时间段中,所述执行时间还被分配给执行任意处理的至少一个任意处理任务,所述任意处理任务具有比该安全关联时间段或该非安全关联时间段中的安全关联任务或非安全关联任务低的优先级,
所述处理器在所述调度中优先给优先级更高的任务分配所述执行时间。
6.如权利要求5所述的安全控制装置,其中,
所述处理器通过执行所述任意处理任务,而在给所述任意处理任务分配所述执行时间的安全关联时间段或非安全关联时间段结束为止的期间短于该任意处理任务所执行的处理所需要的期间时,释放针对该任意处理任务的所述执行时间。
7.一种安全控制方法,包括以下步骤:
按照调度信息来调度所述任务,从而在固定周期的时间段中将处理器的执行时间分配给该固定周期的时间段中的任务,所述调度信息表示安全关联时间段和非安全关联时间段的调度内容,以使该安全关联时间段和该非安全关联时间段中的至少一个时间段的期间以固定周期开始,所述安全关联时间段是当执行与控制对象的功能安全的确保相关的处理的安全关联任务处于可执行状态时将所述执行时间分配给该安全关联任务的时间段,所述非安全关联时间段是当执行与所述控制对象的控制相关的其他处理的非安全关联任务处于可执行状态时将所述执行时间分配给该非安全关联任务的时间段;
当被分配了所述执行时间的任务中的处理的执行结束时,将表示该任务中的处理结束的结束信息存储至所述存储部,并且释放针对该任务的所述执行时间,使得该任务变为可执行状态;
当在该固定周期的时间段中调度任务时,在所述存储部中存储了所述结束信息的情况下,即使该固定周期的时间段中的任务处于可执行状态,也抑制对该任务分配所述执行时间;
从所述固定周期的时间段的期间结束起到该时间段的下一个周期的期间开始之前,删除被存储在所述存储部中的结束信息。
CN201180038086.1A 2011-01-31 2011-01-31 安全控制装置及安全控制方法 Expired - Fee Related CN103080858B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/000526 WO2012104898A1 (ja) 2011-01-31 2011-01-31 安全制御装置および安全制御方法

Publications (2)

Publication Number Publication Date
CN103080858A true CN103080858A (zh) 2013-05-01
CN103080858B CN103080858B (zh) 2014-07-16

Family

ID=46602153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180038086.1A Expired - Fee Related CN103080858B (zh) 2011-01-31 2011-01-31 安全控制装置及安全控制方法

Country Status (5)

Country Link
US (1) US8706265B2 (zh)
EP (1) EP2672341B1 (zh)
JP (1) JP5136695B2 (zh)
CN (1) CN103080858B (zh)
WO (1) WO2012104898A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106062648A (zh) * 2014-03-13 2016-10-26 欧姆龙株式会社 控制器
CN108430897A (zh) * 2015-11-30 2018-08-21 哈贝尔公司 用于数据通信总线上的通道带宽的同步脉冲控制的系统、装置和方法
CN110231781A (zh) * 2018-03-05 2019-09-13 欧姆龙株式会社 控制装置、存储介质、控制方法
CN110434855A (zh) * 2019-08-20 2019-11-12 广东博智林机器人有限公司 机器人施工的方法、装置和工控机
CN111788140A (zh) * 2018-03-05 2020-10-16 三菱电机株式会社 电梯安全控制装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5267737B2 (ja) * 2011-01-31 2013-08-21 トヨタ自動車株式会社 安全制御装置および安全制御方法
CN103052924B (zh) * 2011-01-31 2014-09-24 丰田自动车株式会社 安全控制装置及安全控制方法
CN103095706B (zh) * 2013-01-17 2015-09-09 苏州亿倍信息技术有限公司 一种终端安全的处理方法及系统
CN103095707B (zh) * 2013-01-17 2015-09-09 苏州亿倍信息技术有限公司 一种终端安全的信息处理方法及系统
JP2014211689A (ja) * 2013-04-17 2014-11-13 トヨタ自動車株式会社 安全制御装置および安全制御方法
JP6029553B2 (ja) * 2013-08-22 2016-11-24 日立オートモティブシステムズ株式会社 車両制御装置
WO2015173533A1 (en) 2014-05-11 2015-11-19 Safetty Systems Ltd. A monitoring unit as well as method for predicting abnormal operation of time-triggered computer systems
GB2526083B (en) * 2014-05-11 2016-03-30 Safetty Systems Ltd A framework as well as method for developing time-triggered computer systems with multiple system modes
GB2526082B (en) * 2014-05-11 2016-03-30 Safetty Systems Ltd A monitoring unit as well as method for predicting abnormal operation of time-triggered computer systems
US11099525B2 (en) 2016-12-08 2021-08-24 National Instruments Corporation Control of safety input/output by non-safety system during safe times
CN107363835B (zh) * 2017-08-06 2019-11-08 北京镁伽机器人科技有限公司 运动控制部件的配置方法、装置、介质和机器人系统
JP7025966B2 (ja) 2018-03-20 2022-02-25 日立Astemo株式会社 車両制御装置
CN109684070B (zh) * 2018-08-29 2022-12-13 西安电子科技大学 一种云计算并行操作中的调度方法
JP7003952B2 (ja) * 2019-03-14 2022-01-21 オムロン株式会社 制御システム、サポート装置およびサポート装置用のプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295840A (ja) * 1994-04-28 1995-11-10 Nec Ic Microcomput Syst Ltd マルチプログラミングにおける事象管理方式
JP2006338426A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 計算機システム
JP2009251663A (ja) * 2008-04-01 2009-10-29 Denso Corp タスク制御方法及びマルチタスクシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
US5636124A (en) * 1995-03-08 1997-06-03 Allen-Bradley Company, Inc. Multitasking industrial controller
JP2000207228A (ja) * 1999-01-18 2000-07-28 Star Micronics Co Ltd モ―タ制御装置
US7302685B2 (en) * 2000-06-02 2007-11-27 Honeywell International Inc. Methods and apparatus for sharing slack in a time-partitioned system
JP2002086379A (ja) 2000-09-13 2002-03-26 Toshiba Corp ロボット、ロボットの制御方法およびロボットを動作するプログラムを記憶したコンピュータ読み取り可能な記憶媒体
DE102004054571B4 (de) * 2004-11-11 2007-01-25 Sysgo Ag Verfahren zur Verteilung von Rechenzeit in einem Rechnersystem
US7613595B2 (en) * 2005-03-01 2009-11-03 The Math Works, Inc. Execution and real-time implementation of a temporary overrun scheduler
WO2008023427A1 (fr) * 2006-08-24 2008-02-28 Netcleus Systems Corporation Dispositif de traitement de tâche
JP2008191823A (ja) 2007-02-02 2008-08-21 Omron Corp 安全管理方法、安全管理システムおよび安全制御機器
US7870299B1 (en) * 2008-02-06 2011-01-11 Westinghouse Electric Co Llc Advanced logic system
DE102008060011A1 (de) * 2008-11-25 2010-05-27 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage
JP5446447B2 (ja) 2009-05-19 2014-03-19 トヨタ自動車株式会社 安全制御装置および安全制御方法
US9678483B2 (en) * 2011-01-26 2017-06-13 Honeywell International Inc. Programmable controller with both safety and application functions
JP5240402B2 (ja) * 2011-01-31 2013-07-17 トヨタ自動車株式会社 安全制御装置および安全制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295840A (ja) * 1994-04-28 1995-11-10 Nec Ic Microcomput Syst Ltd マルチプログラミングにおける事象管理方式
JP2006338426A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 計算機システム
JP2009251663A (ja) * 2008-04-01 2009-10-29 Denso Corp タスク制御方法及びマルチタスクシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106062648A (zh) * 2014-03-13 2016-10-26 欧姆龙株式会社 控制器
US10139799B2 (en) 2014-03-13 2018-11-27 Omron Corporation Controller to modify an execution condition during program execution
CN108430897A (zh) * 2015-11-30 2018-08-21 哈贝尔公司 用于数据通信总线上的通道带宽的同步脉冲控制的系统、装置和方法
CN110231781A (zh) * 2018-03-05 2019-09-13 欧姆龙株式会社 控制装置、存储介质、控制方法
CN111788140A (zh) * 2018-03-05 2020-10-16 三菱电机株式会社 电梯安全控制装置
CN110231781B (zh) * 2018-03-05 2022-04-05 欧姆龙株式会社 控制装置、存储介质、控制方法
CN110434855A (zh) * 2019-08-20 2019-11-12 广东博智林机器人有限公司 机器人施工的方法、装置和工控机
CN110434855B (zh) * 2019-08-20 2021-03-30 广东博智林机器人有限公司 机器人施工的方法、装置和工控机
CN112621752A (zh) * 2019-08-20 2021-04-09 广东博智林机器人有限公司 机器人施工的方法、装置和工控机

Also Published As

Publication number Publication date
EP2672341B1 (en) 2015-09-09
US8706265B2 (en) 2014-04-22
US20120029659A1 (en) 2012-02-02
JP5136695B2 (ja) 2013-02-06
CN103080858B (zh) 2014-07-16
JPWO2012104898A1 (ja) 2014-07-03
EP2672341A4 (en) 2014-08-06
EP2672341A1 (en) 2013-12-11
WO2012104898A1 (ja) 2012-08-09

Similar Documents

Publication Publication Date Title
CN103080858B (zh) 安全控制装置及安全控制方法
CN103052923B (zh) 安全控制装置及安全控制方法
CN103403628B (zh) 安全控制装置以及安全控制方法
CN103052924B (zh) 安全控制装置及安全控制方法
CN100527089C (zh) 信息处理装置中的功率控制装置
EP2680094B1 (en) Safety control device and safety control method
CN103348294A (zh) 安全控制装置以及安全控制方法
US9152454B2 (en) Method for enabling sequential, non-blocking processing of statements in concurrent tasks in a control device
CN103154919B (zh) 多处理器系统中的异常控制
CN105474174A (zh) 控制时间密集的指令
JP5633501B2 (ja) 制御装置および制御方法
JP5906584B2 (ja) 制御装置及び制御方法
JP5699910B2 (ja) 制御装置および制御方法
JP2015212969A (ja) 情報処理装置およびdmaコントローラの動作確認方法
Skambraks A safety-related PES for task-oriented real-time execution without asynchronous interrupts

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: 20140716

Termination date: 20160131

EXPY Termination of patent right or utility model