CN110402430A - 控制装置、控制方法以及控制程序 - Google Patents

控制装置、控制方法以及控制程序 Download PDF

Info

Publication number
CN110402430A
CN110402430A CN201880017192.3A CN201880017192A CN110402430A CN 110402430 A CN110402430 A CN 110402430A CN 201880017192 A CN201880017192 A CN 201880017192A CN 110402430 A CN110402430 A CN 110402430A
Authority
CN
China
Prior art keywords
task
control
priority
time
execution
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
CN201880017192.3A
Other languages
English (en)
Other versions
CN110402430B (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.)
Europa Corp
Original Assignee
Europa 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 Europa Corp filed Critical Europa Corp
Priority claimed from PCT/JP2018/014142 external-priority patent/WO2018186358A1/ja
Publication of CN110402430A publication Critical patent/CN110402430A/zh
Application granted granted Critical
Publication of CN110402430B publication Critical patent/CN110402430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15079Multitasking, real 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/25343Real time multitasking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)

Abstract

以能够保证实时控制的方式执行对对象进行控制的控制任务和非控制任务。控制装置(100)具有:处理器(102),其执行包含控制任务(141)和实施实时控制的相关处理的非控制任务(142、143)的多个任务;多任务执行部(191),其按照基于各任务的优先级(133)的顺序使处理器执行任务;以及调度器(151)。控制任务的优先级被设定为最优先。调度器,当非控制任务的执行开始条件成立时,设定为第1优先级,在从执行开始起的时间为用于实时地执行相关处理的第1时间的期间,维持为第1优先级,然后,当比第1时间长时,下降至第2优先级。

Description

控制装置、控制方法以及控制程序
技术领域
本发明涉及对对象进行控制的控制装置、控制方法以及控制程序。
背景技术
在各种生产现场,使用PLC(可编程控制器)等控制装置的FA(FactoryAutomation:工厂自动化)技术广泛普及。
PLC等控制装置要求高性能。关于该要求,例如,专利文献1(日本特表2013-506911号公报)的PLC具有分配至各个PLC功能的1个或多个处理器,使这些PLC功能中的至少2个PLC功能并行地进行动作。
现有技术文件
专利文献
专利文献1:日本特表2013-506911号公报
发明内容
发明所要解决的问题
PLC等控制装置通过按照预定的每个周期执行控制任务,实现设备的实时控制,该控制任务用于控制包括用于实现生产现场所设置的设备的顺序控制的顺序程序(sequenceprogram)和用于实现运动控制的运动程序(Motion program)等在内的设备。
但是,在PLC等控制装置中,伴随着各种功能的追加,需要在维持上述实时控制(固定周期性)的同时执行不直接参与设备的控制的非控制任务。
为了实现该要求,还提出了在下一周期执行在固定周期内未结束的非控制任务的方法。但是,该方法不适合于异常检测等特定的非控制任务。具体而言,在要求与非控制任务的执行结果对应地改变对象的实时控制的内容等(例如,使机器停止、弹出由于异常而产生不良的工件、当控制对象的机器为包装机时在包装后不卸下切削刀具等)的情况下,在该方法中,存在在还考虑与控制任务的关系而确定的时间内无法完成非控制任务的执行的课题。
专利文献1虽然使PLC功能中的至少2个并行地进行动作,但是未提出有用于以能够保证对象的实时控制的方式执行用于对对象进行实时控制的控制任务和非控制任务的具体结构。
本技术提供控制装置、控制方法和控制程序,以能够保证对象的实时控制的方式执行用于对对象进行实时控制的控制任务和非控制任务。
用于解决课题的手段
根据本公开的一个方面,一种对对象进行控制的控制装置,其具有:处理器,其执行多个任务,该多个任务包含用于实施对象的实时控制的控制任务和用于实施与实时控制相关的相关处理的非控制任务;多任务执行部,其依照基于与多个任务的各任务相关联的优先级的顺序使处理器执行多个任务;以及调度器,其可变地设定非控制任务的优先级,控制任务的优先级被设定为最优先。调度器包括优先级切换部,该优先级切换部进行如下动作:当非控制任务的执行开始条件成立时,设定为第1优先级,并且在从该非控制任务的执行开始起的时间为用于实时地执行相关处理的第1时间的期间,将该非控制任务的优先级维持为第1优先级,然后,当从执行开始起的时间长于第1时间时,将该非控制任务的优先级切换为下降至第2优先级。
优选地,上述第1时间被可变地设定。
优选地,当从第2优先级的非控制任务的执行开始起的时间长于第2时间时,优先级切换部进一步将该非控制任务的优先级切换为上升至第1优先级。
优选地,第2时间被可变地设定。
优选地,相关处理包括:特征量生成处理,根据与对象相关的数据而生成特征量,该特征量适于检测对象中产生的异常;异常检测处理,使用通过特征量生成处理生成的特征量来检测异常;以及与包括存储装置的装置进行用于特征量生成处理或异常检测处理的数据的通信的处理。
优选地,相关处理包括:计算处理,使用从控制装置输出至对象的指令值和预定的预测控制模型来计算对象的估计的控制量;以及校正值计算处理,根据通过计算处理而计算出的控制量计算校正值,控制任务包含控制运算任务,该控制运算任务依照所计算出的校正值,计算针对对象的指令值。
优选地,相关处理包括:计算处理,使用从控制装置输出至对象的对象的控制量和预定的预测控制模型来计算对象的估计的控制量;以及校正值计算处理,根据通过计算处理而计算出的控制量计算校正值,控制任务包含控制运算任务,该控制运算任务依照所计算出的校正值计算针对对象的指令值。
优选地,上述校正值计算处理包括计算校正值的处理,该校正值是以使控制量收敛至预定的范围内的方式进行补偿而得到的。
优选地,具有收集部,该收集部针对非控制任务,收集包含执行时间在内的与该非控制任务的执行有关的信息,由收集部收集的信息输出至外部。
优选地,所收集的信息包含非控制任务的优先级的切换次数。
优选地,相关处理的内容被可变地设定。
优选地,处理器包括多个处理器核,控制装置还具有用于存储核信息的核信息存储部,该核信息指定执行非控制任务的处理器核,调度器还包括核切换部,该核切换部根据核信息或各处理器核的使用率,决定执行非控制任务的处理器核。
优选地,核信息包含根据非控制任务的优先级来指定执行该非控制任务的处理器核的信息。
根据该技术的其它方面,提供对对象进行控制的控制装置中的控制方法。控制装置具有:处理器,其执行多个任务,该多个任务包含用于实施对象的实时控制的控制任务和用于实施与实时控制相关的相关处理的非控制任务;以及多任务执行部,其依照基于与多个任务的各任务相关联的优先级的顺序使所述处理器执行所述多个任务,控制任务的优先级被设定为最优先。
控制方法包括以下步骤:当非控制任务的执行开始条件成立时,设定为第1优先级,并且在从该非控制任务的执行开始起的时间为用于实时地执行所述相关处理的第1时间的期间,将该非控制任务的优先级维持为第1优先级;然后,当从所述执行开始起的时间长于所述第1时间时,将该非控制任务的优先级切换为下降至第2优先级。
根据该技术的其它方面,提供用于使计算机执行上述控制方法的程序。
发明效果
根据本技术,能够以可保证对象的实时控制的方式执行用于对对象进行实时控制的控制任务和非控制任务。
附图说明
图1是示出本实施方式的控制系统1的整体结构例的示意图。
图2是示出构成本实施方式的控制系统1的控制装置100的硬件结构例的框图。
图3是示出构成本实施方式的控制系统1的支持装置200的硬件结构例的框图。
图4是本实施方式的概略处理的流程图。
图5是示意性示出本实施方式的控制装置100具备的功能的图。
图6是示意性示出本实施方式的相关处理任务143的状态转变的图。
图7是示意性示出本实施方式的相关处理程序165的结构的图。
图8是示出用于对本实施方式的任务设定优先级的用户界面的图。
图9是示出对本实施方式的任务分配程序的用户界面的图。
图10是示出本实施方式的对相关处理任务的执行进行管理的处理的流程图。
图11的(A)和(B)是示出本实施方式的相关处理任务143的调度模型的图。
图12是与图11相关联地例示相关处理任务143的优先级切换的图。
图13是示出对本实施方式的多个相关处理任务设定优先级和阈值的例子的图。
图14是示出针对本实施方式的多个相关处理任务分配程序的分配方法的图。
图15是示出本实施方式的用于调试的支持信息的显示例的图。
图16是示出本实施方式的监视信息153A和日志135的一例的图。
图17是示出本实施方式的收集信息228的一例的图。
图18是示出本实施方式的核(core)信息136的图。
图19是示出在实施方式的多核调度中执行1个相关处理任务143的例子的图。
图20是示出在本实施方式的多核调度中执行多个相关处理任务143的例子的图。
图21是示出在本实施方式的多核调度中执行多个相关处理任务143的另一例的图。
图22是示出在本实施方式的多核调度中执行多个相关处理任务143的又一例的图。
图23是说明本实施方式的相关处理任务143的变形例的示意图。
图24是示意性示出本实施方式的预测控制模型的一例的图。
具体实施方式
参照附图对本发明的实施方式详细进行说明。另外,对图中相同或对应部分标注相同标号并不再反复其说明。
<术语的说明>
说明本实施方式中的术语。
“任务”为由处理器执行的处理的单位,任务包含1个以上的程序。
任务的“实时性”表示从开始执行任务起在预定的时间内结束执行。
“控制任务”是用于实时控制现场装置组中的应该控制的对象的任务。
“非控制任务”与“控制任务”不同,“非控制任务”是虽然不直接参与实时控制但是要求实时性、并且用于实施与上述实时控制相关的处理的任务。
任务的“优先级”表示由处理器比其它任务靠前执行该任务的相对顺序。如果优先级高,则执行顺序靠前,如果优先级低,则执行顺序靠后。
<实施方式的概要>
在本实施方式中,控制装置的调度器可变地设定包含控制任务和非控制任务在内的多个任务的优先级。在本实施方式中,将多个任务中的控制任务的优先级设定为最高。调度器进行如下动作:当非控制任务的执行开始条件成立时,设定为第1优先级,并且在从该非控制任务的执行开始起的时间为用于实时地执行相关处理的第1时间的期间,将非控制任务的优先级维持为第1优先级(高优先级),然后,在从开始执行起的经过时间即执行时间长于第1时间时,将该非控制任务的优先级切换为下降至第2优先级(低优先级)。
由此,能够在执行时间超过第1时间的期间,维持实时性并执行相关处理,从而能够实现使用了例如相关处理的结果的对象的实时控制。此外,通过当执行时间超过第1时间而延长时,降低非控制任务的优先级,可优先地执行其它任务,因此,能够在其它任务正执行有助于实时控制的处理的情况下,进行使用了其它任务的执行结果的对象的实时控制。因此,能够保证实现基于控制任务的对象的实时控制,并且还能够实现基于非控制任务的相关处理的实时执行。
<A.控制系统的整体结构例>
首先,对包括本实施方式的控制装置的控制系统1的整体结构例进行说明。
图1是示出本实施方式的控制系统1的整体结构例的示意图。参照图1,作为主要结构要素,本实施方式的控制系统1包括控制应该控制的对象的控制装置100、和与控制装置100连接的支持装置200。
控制装置100也可以实现为PLC(可编程控制器)等的一种计算机。控制装置100经由第1现场网络(Field Network)2与现场装置组10连接,并且经由第2现场网络4与1个或多个显示装置400连接。并且,控制装置100经由局域网6与数据记录(data logging)装置300连接。控制装置100经由各个网络与所连接的装置之间交换数据。另外,数据记录装置300和显示装置400是可选的结构,不是控制系统1的必需结构。
控制装置100具有执行用于控制生产现场等的设备、机器的各种运算的功能、收集由现场装置组10计测并传输到控制装置100的数据(以下,也称作“输入数据”。)的收集功能和监视收集到的输入数据的监视功能。通过将这些功能安装于控制装置100,能够监视对象中产生的现象。
具体而言,控制装置100所安装的后述的内部数据库(以下,也记作“内部DB”。)130提供一部分上述收集功能,控制装置100所安装的异常检测程序(后述)提供监视功能。
现场装置组10包括从控制装置100的应该控制的对象或与控制相关的制造装置、生产线等(以下,统称为“现场”。)收集输入数据的装置。作为这样的收集输入数据的装置,设想输入中继器、各种传感器等。现场装置组10还包括根据由控制装置100生成的指令(以下,也称作“输出数据”。)对现场赋予一些作用的装置。作为这样的对现场赋予一些作用的装置,设想输出中继器、接触器、伺服驱动器、伺服电机和其他任意的致动器。这些现场装置组10经由第1现场网络2与控制装置100之间交换包含输入数据和输出数据在内的数据。
在图1所示的结构例中,现场装置组10包括远程I/O(Input/Output:输入/输出)装置12、中继器组14、图像传感器18、照相机20、伺服驱动器22、伺服电机24和I/O单元16。作为现场装置组10,不限于这些,只要是能够收集输入数据的设备或能够进行基于输出数据的一些动作的设备,则也可以采用任何设备。
远程I/O装置12包括:通信耦合器,其经由第1现场网络2进行通信;以及输入输出部(以下,也称作“I/O单元”。),其用于进行输入数据的取得和输出数据的输出。经由这样的I/O单元,在控制装置100与现场之间交换输入数据和输出数据。图1中示出经由中继器组14交换数字信号作为输入数据和输出数据的例子。I/O单元也可以与现场总线直接连接。图1示出I/O单元16与第1现场网络2直接连接的例子。
图像传感器18对由照相机20拍摄出的图像数据进行图案匹配等图像计测处理,将该处理结果发送到控制装置100。
伺服驱动器22依照来自控制装置100的输出数据,驱动伺服电机24。
如上所述,经由第1现场网络2在控制装置100与现场装置组10之间交换数据,但是,在本实施方式中,这些被交换的数据例如按照每个周期(=单位时间)T更新。周期T表示为了实时控制现场装置组10而预定的单位时间,具有例如几百μsec级~几十msec级。另外,还有时将这样的被交换的数据的更新处理称作“I/O刷新处理”。
此外,经由第2现场网络4与控制装置100连接的显示装置400接收来自用户的操作,向控制装置100发送与用户操作对应的命令等,并且,将控制装置100中的运算结果等进行图形显示。
数据记录装置300经由局域网6与控制装置100连接,与控制装置100之间交换必要的数据。数据记录装置300例如按照时间序列收集控制装置100发生的事件日志等。
支持装置200是支持控制装置100控制对象所需的准备的装置。具体而言,支持装置200提供由控制装置100执行的用户程序的开发环境(程序生成编辑工具、解析器(parser)、编译器等)、用于设定控制装置100和与控制装置100连接的各种设备的参数(配置)的设定环境、向控制装置100发送所生成的用户程序的功能、以在线(或离线)的方式修正/变更在控制装置100上执行的用户程序等的后述的调试工具227(后述)等。
<B.各装置的硬件结构例>
接着,说明构成本实施方式的控制系统1的主要装置的硬件结构例。
(b1:控制装置100的硬件结构例)
图2是示出构成本实施方式的控制系统1的控制装置100的硬件结构例的框图。参照图2,控制装置100包括用于计测包含周期T在内的各种时间的计时器101、CPU(CentralProcessing Unit:中央处理单元)或MPU(Micro Processing Unit:微处理单元)等处理器102、芯片组(chip set)104、主存储装置106、二次存储装置108、局域网控制器110、USB(Universal Serial Bus:通用串行总线)控制器112、存储卡接口114、内部总线控制器122、现场总线控制器118、120和I/O单元124-1、124-2、……。二次存储装置108例如由HDD(HardDisk Drive:硬盘驱动器)、SSD(Flash Solid State Drive:闪存固态硬盘)等非易失性存储装置等构成。主存储装置106由DRAM(Dynamic Random Access Memory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置等构成。
处理器102通过读出二次存储装置108所存储的各种程序并展开到主存储装置106中执行,实现与现场装置组10的对象对应的控制和如后所述的各种处理。芯片组104通过控制处理器102和各构件,实现作为控制装置100整体的处理。
二次存储装置108中存储有由处理器102执行的用户程序150等各种程序和内部DB130。
局域网控制器110对经由局域网6的与其它装置之间的数据交换进行控制。典型地,网络控制器110使用ASIC(Application Specific Integrated Circuit:特定用途集成电路)或FPGA(Field Programmable Gate Array:现场可编程门阵列)这样的专用电路来实现。USB控制器112通过USB连接对与控制装置200之间的数据交换进行控制。典型地,USB控制器112使用ASIC、FPGA这样的专用电路来实现。
存储卡接口114构成为能够拆装存储卡116,能够对存储卡116写入数据,并从存储卡116读出各种数据(用户程序或跟踪数据等)。
内部总线控制器122是与搭载在控制装置100上的I/O单元124-1、124-2……之间交换数据的接口。典型地,内部总线控制器122使用ASIC、FPGA这样的专用电路来实现。
现场总线控制器118对经由第1现场网络2的与其它装置之间的数据交换进行控制。典型地,现场总线控制器118使用ASIC、FPGA这样的专用电路来实现,但是也可以通过软件安装实现。在采用软件安装的情况下,现场总线控制器118主要由处理器102、主存储装置106、存储器等构成,通过由处理器102读出存储器所存储的系统程序(固件)等并展开到主存储装置106中执行,实现必要的处理。同样,现场总线控制器120对经由第2现场网络4的与其它装置之间的数据交换进行控制。典型地,现场总线控制器120还使用ASIC、FPGA这样的专用电路来实现,但是也可以通过软件安装实现。在采用软件安装的情况下,现场总线控制器120主要由处理器102、主存储装置106、存储器等构成,通过由处理器102读出存储器所存储的系统程序(固件)等并展开到主存储装置106中执行,实现必要的处理。
由图2的控制装置100执行的各种程序可以通过计算机可读取的存储卡116等记录介质来安装,但是,也可以通过从网络上的服务器装置等下载的形式安装在二次存储装置108上。此外,本实施方式的控制装置100提供的功能还有时通过利用后述的OS(OperatingSystem:操作系统)190提供的一部分模块的形式来实现。
此外,在图2中,示出了通过由处理器102执行上述程序来提供必要功能的结构例,但是,也可以使用专用的硬件电路(例如,ASIC或FPGA等)安装这些所提供的一部分或全部功能。或者,也可以使用遵循通用架构的硬件(例如,以通用个人计算机为基础的工业用个人计算机)实现控制装置100的主要部分。该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS,并且在各OS上执行必要的应用。
(b2:支持装置200的硬件结构例)
接着,作为一例,本实施方式的支持装置200通过使用遵循通用架构的硬件(例如,通用个人计算机)执行程序来实现。
图3是示出构成本实施方式的控制系统1的支持装置200的硬件结构例的框图。参照图3,支持装置200包括CPU或MPU等处理器202、光学驱动器204、主存储装置206、二次存储装置208、USB(Universal Serial Bus:通用串行总线)控制器212、局域网控制器214、输入部216和显示部218。这些构件经由总线220连接。
处理器202通过读出二次存储装置208所存储的各种程序并展开到主存储装置206中执行,实现如后所述的各种处理。
二次存储装置208例如由HDD(Hard Disk Drive:硬盘驱动器)、SSD(Flash SolidState Drive:闪存固态硬盘)等构成。典型地,也可以在二次存储装置208中存储有:开发程序222,其用于进行用户程序150的生成、系统结构的定义、各种参数的设定等;参数设定工具224,其用于指定各种变量;数据挖掘工具226,其用于从由控制装置100收集的数据提取目标信息;调试工具227,其涉及任务的调度;以及收集信息228。收集信息228为可用于调试的信息,且是汇总在由控制装置100执行任务的情况下收集到的信息而得到的信息。之后叙述调试工具227和收集信息228的详细情况。此外,也可以在二次存储装置208中存储OS和其它必要的程序。
支持装置200也可以具有光学驱动器204,从非暂时存储计算机可读取的程序的记录介质205(例如,DVD(Digital Versatile Disc:数字通用光盘)等光学记录介质)中读出该记录介质205所存储的程序并安装于二次存储装置208等。
由支持装置200执行的各种程序也可以通过计算机可读取的记录介质205来安装,但是,也可以通过从网络上的服务器装置等下载的形式安装。此外,本实施方式的支持装置200提供的功能还有时通过使用OS提供的一部分模块的形式来实现。
USB控制器212通过USB连接对与控制装置100之间的数据交换进行控制。局域网控制器214对经由任意局域网的与其它装置之间的数据交换进行控制。
输入部216由键盘、鼠标等构成,受理用户操作。显示部218由显示器、各种指示器、打印机等构成,输出来自处理器202的处理结果等。
在图2中,示出了通过由处理器202执行程序来提供必要功能的结构例,但是,也可以使用专用的硬件电路(例如,ASIC或FPGA等)安装这些所提供的一部分或全部功能。
<C.整体处理和功能结构例>
说明由控制系统1实施的处理的概要和控制装置100具有的功能的概要。
(c1:整体的处理)
图4是本实施方式的概略处理的流程图。参照图4,由控制系统1实施的整体处理首先包括由控制装置100进行的任务的执行处理(步骤ST1)和收集在任务的执行中取得的信息的处理(步骤ST2)。还包括由支持装置200进行的收集信息228的统计处理(步骤ST3)和基于收集信息228的显示处理(步骤ST4)。并且,控制系统1的处理包括基于调试工具227的调试处理(步骤ST5)和用于由控制装置100根据调试结果再次执行任务(程序)的处理(步骤ST6)。
另外,在图4中,支持装置200执行统计处理、基于收集信息228的图像的显示处理和调试处理(步骤ST3~ST5),但是,也可以由控制装置100执行这些处理。
(c2:功能结构)
图5是示意性示出本实施方式的控制装置100具备的功能的图。在图5中,与二次存储装置108的存储内容相关地示出控制装置100的调度器151。
主存储装置106包括用于供处理器102展开程序并执行的作业区域E1。此外,二次存储装置108存储内部DB 130、表示在任务执行时收集的信息的日志135和用户程序150。用户程序150是能够供用户使用支持装置200生成的程序,基本上由控制装置100的处理器102(图2)执行。
用户程序150包含按照每个固定周期T执行以实施现场装置组10中的、所指定的对象的实时控制的主固定周期程序(控制输入程序161、控制输出程序162和高优先控制程序163)。并且,用户程序150包含低优先控制程序164、相关处理程序165和系统服务程序166。
控制输入程序161和控制输出程序162相当于I/O刷新处理的功能。具体而言,控制输入程序161和控制输出程序162包含如下命令:将与现场装置组10之间交换的数据(输入数据和输出数据)作为内部DB 130的变量写入,或读出变量。控制装置100对这些输入数据和输出数据分别分配唯一的变量名称,能够使用各个变量名称表达与现场装置组10交换的数据。
典型地,高优先控制程序163包含顺序/运动程序(顺序程序和/或运动程序)。顺序/运动程序包含如下命令:读出内部DB 130的变量,根据变量进行用于实时控制现场装置组10中的、应该控制的对象的逻辑运算和/或数值运算,将该结果写入变量中。表示高优先控制程序163的运算结果的变量经由控制输出程序162输出至现场装置组10,用于控制现场装置组10的对象。
低优先控制程序164包含要求与现场装置组10的控制有关的实时性、并且虽然优先级比高优先控制程序低但是要求实时性的程序。低优先控制程序164例如包含用于生成向上述叙述的运动程序提供的轨道数据的轨道生成程序。
相关处理程序165为实施与现场装置组10的对象的实时控制相关的处理的、要求实时性的程序,例如包含特征量生成程序和异常检测程序。
由处理器102执行特征量生成程序。特征量生成程序包含依照预先指定的特征量的生成方法使用变量中的所指定的变量来生成特征量的命令。例如,特征量生成程序能够根据与现场装置组10中的对象相关的数据而生成特征量,该特征量适于检测对象中产生的异常。
异常检测程序包含使用利用特征量生成程序生成的特征量实施异常检测的处理的命令。例如,异常检测程序根据通过机器学习设定的异常检测模型和利用特征量生成程序生成的特征量,检测对象中是否存在异常,将是否存在异常作为学习结果存储到内部DB130中。此外,学习结果能够发送到外部,并输出至外部设备。
由处理器102执行系统服务程序166。系统服务程序166包含不要求实时性并且用于实施与现场装置组10的控制不同的处理的程序。系统服务程序166包含例如与控制装置100的外部设备(支持装置200、数据记录装置300、显示装置400等)的通信或对文件的数据写入等命令。系统服务程序166例如可包含非周期性地执行并且如与中断等事件对应地执行的程序。
控制装置100上也安装有OS 190,以提供用于供处理器102执行程序的环境。OS190包括多任务执行部191。多任务执行部191实现以用户程序150为任务单位依照基于各任务的优先级的顺序使处理器102执行的多任务控制。
在本实施方式中,处理器执行的任务包含高优先控制任务141、低优先控制任务142、相关处理任务143和服务任务144。另外,任务的种类不限定于这些。高优先控制任务141和低优先控制任务142相当于用于实时控制现场装置组10的对象的“控制任务”。相关处理任务143相当于不与对象的实时控制直接相关但是执行与上述的实时控制相关的处理的“非控制任务”。低优先控制任务142和服务任务144为与“控制任务”和“非控制任务”不同的任务。
在本实施方式中,将用户程序150中的、例如控制输入程序161、控制输出程序162和高优先控制程序163分配至高优先控制任务141,将低优先控制程序164分配至低优先控制任务142。此外,将相关处理程序165分配至相关处理任务143,将系统服务程序166分配至服务任务144。
控制装置100还具有多任务执行部191为了执行任务而参考(读出)的任务控制信息131、系统变量、阈值152A和优先级信息152B。这些信息存储到主存储装置106中。此外,控制装置100包含在后述的多核动作模式下使用的核信息136。之后叙述核信息136的详细情况。
系统变量包含各种变量,该各种变量包含用于控制任务的执行的任务状态变量。任务状态变量包含状态标志FL,该状态标志FL依照各任务的后述的状态转变表示该任务的执行状态。状态标志FL为由多任务执行部191写入的值,并且例如依照任务的状态转变,写入有‘00’(执行前状态)、‘01’(执行状态并且执行中)、‘10’(执行状态并且暂停(执行中断))和‘11’(执行完成状态)中的任意一个值。另外,在图6中叙述任务的状态转变。
任务控制信息131与各任务对应地包含任务名称132、优先级133和分配给该任务的程序的程序名称134。阈值152A包含第1时间T1和第2时间T2(>第1时间T1)。第1时间T1相当于用于实时地执行相关处理任务143的相关处理程序165的执行时间的限制时间。优先级信息152B包含相关处理任务143的优先级即高优先级PH和低优先级PL(比高优先级低的优先级)。
调度器151通过包含可变地设定各任务的优先级(即,处理器102对该任务的执行顺序)的命令在内的程序来实现。调度器151的程序存储到二次存储装置108中。处理器102从二次存储装置108读出调度器151的程序,将所读出的程序展开到主存储装置106中执行。
<D.任务的状态转变>
在本实施方式中,多任务执行部191使任务转变为执行状态、执行前状态和执行完成状态的3个状态并执行。执行状态表示对任务分配处理器102等资源并且任务处于执行中的状态。执行前状态表示转变为执行状态之前的任务的状态、具体而言、如果存在资源的分配则可开始执行的可执行状态。执行完成状态表示任务的执行已完成的状态、即、任务具有用于转变为可执行状态的一些事件的状态。
在处理器102具有1个处理器核的情况下,由多任务执行部191在某一时刻被分配处理器102(处理器核)的资源从而成为执行状态的任务为一个。多任务执行部191从执行前状态的任务中选择依次分配资源的任务,使所选择的任务转变为执行状态。依照各任务具有的优先级实施该选择。
返回图5,调度器151具有:优先级切换部153,其包括计数器153B;任务信息设定部154,其包含设定任务控制信息131的命令;以及执行指示部157,其包含将用于指示相关处理任务143的执行开始的执行开始指示输出至多任务执行部191的命令。计数器153B通过进行与计时器101的输出同步的计数动作,计测相关处理任务143的执行时间。此外,调度器151具有:收集部155,其包含根据来自优先级切换部153的监视信息153A收集对相关处理任务143的优先级进行切换的次数和执行时间等信息的命令;以及设定部152,其包含设定阈值152A和优先级信息152B的命令。并且,调度器151包括核切换部156,该核切换部156使后述的多核动作模式启动。调度器151的这些各部件通过程序实现,处理器102执行这些程序。
(d1:相关处理任务143的优先级切换)
在本实施方式中,调度器151的优先级切换部153针对非控制任务,实施与该任务的执行时间对应的优先级的切换(调整)。在本实施方式中,作为进行这样的优先级的调整的非控制任务,例示相关处理任务143,但是不限于相关处理任务143。
在实施方式中,“控制任务”即高优先控制任务141的优先级被设定为最优先。低优先控制任务142、“非控制任务”和服务任务144的优先级设定为低于高优先控制任务141的优先级。例如,相关处理任务143的优先级能够设定为与“第1优先级”对应的高优先级PH或与“第2优先级”对应的低优先级PL中的任意一个。优先级切换部153包含如下命令:将计数器153B计测的相关处理任务143的执行时间与阈值152A进行比较,根据比较结果将优先级变更为(切换为)高优先级PH或低优先级PL中的一个。
图6是示意性示出本实施方式的相关处理任务143的状态转变的图。如图6所示,多任务执行部191能够与固定周期触发(Trigger)同步地使相关处理任务143从执行前状态转变为执行状态。OS 190与周期T的开始同步地输出固定周期触发(Trigger)。
优先级切换部153利用计数器153B计测相关处理任务143处于执行状态的时间、即与相关处理任务143对应的状态标志FL表示执行状态的(FL=‘01’或‘10’)时间。在相关处理任务143的优先级133表示‘高优先级PH’的情况下,优先级切换部153将计测出的执行时间与第1时间T1进行比较。在比较结果为(执行时间>第1时间T1)的情况下,优先级切换部153将任务控制信息131中的与相关处理任务143对应的优先级133从高优先级PH改写为低优先级PL。此外,在相关处理任务143的优先级133表示‘低优先级PL’的情况下,优先级切换部153将计测出的执行时间与第2时间T2进行比较。在比较结果为(执行时间>第2时间T2)的情况下,优先级切换部153将任务控制信息131中的与相关处理任务143对应的优先级133从低优先级PL改写为高优先级PH。
这样,相关处理任务143的优先级能够根据在前次的执行状态下执行相关处理任务143所需的时间(执行时间)进行切换。
(d2:相关处理任务143向执行状态的转变的指示)
图7是示意性示出本实施方式的相关处理程序165的结构的图。在图7中,作为相关处理程序165的结构,并列示出异常检测程序和特征量生成程序,与各程序对应地示出接点CN。接点CN指定对否执行对应的程序。
执行指示部157在判断为用于开始相关处理任务143的执行的执行开始条件成立时,将执行开始指示输出至多任务执行部191。
参照图7,说明上述的执行开始条件。图7示出例如在执行了未图示的其它任务时利用从其它任务输出的命令指示选择与特征量生成程序对应的接点的状态。在受理了固定周期触发(Trigger)的情况下,当受理了上述的命令指示时,调度器151的执行指示部157将相关处理任务143的执行开始指示输出至多任务执行部191。当从执行指示部157受理了执行开始指示时,多任务执行部191使相关处理任务143从执行前状态转变为执行状态。
这样,执行指示部157在受理了图6所示的固定周期触发(Trigger)或来自控制程序的命令指示、或基于以变量值为基础的事件的自动指示、或可包含二者组合的指示时,判断为相关处理任务143的执行开始条件成立。
(d3:相关处理任务143向执行状态的转变和状态标志FL的设定)
多任务执行部191在从执行指示部157受理了执行开始指示时,使相关处理任务143转变为执行状态。具体而言,多任务执行部191从任务控制信息131读出与相关处理任务143对应的程序名称134。多任务执行部191根据所读出的程序名称134从二次存储装置108读出相关处理程序165,将所读出的相关处理程序165展开到主存储装置106中,由此,能够开始执行相关处理程序165。由此,相关处理任务143从执行前状态转变为执行状态。
此外,多任务执行部191在使相关处理任务143从执行前状态转变为执行状态时,设置与相关处理任务143对应的状态标志FL。具体而言,在相关处理任务143转变为执行状态时,如果处理器102未执行其它任务,则多任务执行部191使处理器102立即执行相关处理任务143,将状态标志FL设置为‘00’→‘01’。
另一方面,在相关处理任务143转变为执行状态时,如果处理器102正在执行其它任务,即正在执行相同优先级的其它任务时,则多任务执行部191中断(暂停)相关处理任务143的执行,将状态标志FL设置为‘00’→‘10’。该情况下,当之后该其它任务的执行中断时,多任务执行部191使处理器102执行相关处理任务143,将与相关处理任务143对应的状态标志FL设置为‘10’→‘01’。这样,在作为与相关处理任务143的优先级相同的优先级的其它任务能够转变为执行状态的情况下,针对两个任务按照预定的每个时间交替地反复执行中→执行中断(以下,也称作交替执行),由此,两个任务能够维持执行状态。
然后,在相关处理任务143的执行已完成的情况下,多任务执行部191使相关处理任务143从执行状态转变为执行完成状态,并且将与相关处理任务143对应的状态标志FL设置为‘11’。
这样,能够利用相关处理任务143的状态标志FL的值,表示相关处理任务143处于执行前状态、执行状态(执行中或执行中断)和执行完成状态中的哪一个。计数器153B通过计测相关处理任务143的状态标志FL为‘01’或‘10’的时间,计测相关处理任务143的执行时间。
<E.与任务有关的信息的设定>
在本实施方式中,用户能够针对各任务,设定或变更优先级和分配至该任务的程序。
图8是示出用于对本实施方式的任务设定优先级的用户界面的图。图9是示出对本实施方式的任务分配程序的用户界面的图。图8和图9的用户界面被提供为支持装置200的显示部218的显示画面。
在本实施方式中,关于任务的优先级,高优先控制任务141具有在用户程序150的任务中最高的优先级(执行顺序最靠前),高优先控制任务141的优先级是固定的。用户程序150的其它各任务的优先级能够可变地设定为低于高优先控制任务141。用户能够经由图8的用户界面设定除了高优先控制任务141以外的其它任务的优先级。
在图8的画面中,针对各任务,用户能够操作输入部216以设定“任务的类型和优先级”、“任务名称”、“触发的周期”和“是否存在周期超过检测”的各项目。另外,在本实施方式中,如图8所示,针对作为主固定周期任务的高优先控制任务141,例如以优先级为‘4’且每隔1msec执行的方式设定默认值(固定值)。
用户能够任意地设定除了“控制任务”以外的其它任务。在图8中,用户例如针对相关处理任务143,作为优先级,设定‘8’作为高优先级PH,设定‘18’作为低优先级PL,设定‘10msec’作为触发周期,在周期超过检测的栏中,设定‘2msec’作为第1时间T1,并设定‘10msec’作为第2时间T2。另外,第1时间T1和第2时间T2不限定于这些值。例如,用户能够依照对相关处理任务143所要求的实时性(从开始执行任务起在预定的时间内执行结束),将第1时间T1和第2时间T2设定为该预定的时间的容许范围(例如,上限的限制值和下限的限制值等)。
此外,在图9中,用户能够设定分配给各任务的程序。在本实施方式中,基本上对任务分配1个程序,但是,也可以分配2个以上的程序。例如,在图9中,对作为相关处理任务143的任务RTS1分配存在相关性的程序Program0(程序0)、Program1(程序1)、Program2(程序3)(特征量生成程序、异常检测程序等)。
支持装置200将由图8和图9的用户界面设定出的信息传输到控制装置100。控制装置100的设定部152将从支持装置200接收到的信息中的、与相关处理任务143对应的高优先级PH和低优先级PL的值设定为优先级信息152B。此外,任务信息设定部154根据从支持装置200接收到的信息,设定与任务控制信息131的各任务对应的任务名称132、优先级133和程序名称134。
<F.任务的管理>
本实施方式的控制装置100具有单核动作模式和多核动作模式,在各动作模式中管理任务的执行。具体而言,处理器102具有1个或多个核处理器。单核动作模式表示使用1个核处理器执行任务的模式,多核动作模式表示使用2个以上的核处理器执行任务的模式。控制装置100的动作模式能够切换。首先,说明单核动作模式。
图10是示出本实施方式的对相关处理任务的执行进行管理的处理的流程图。在图10中,与控制多任务执行部191的高优先控制任务141和相关处理任务143的执行的处理相关联地示出用于利用调度器151管理相关处理任务143的执行的管理处理PR。
控制多任务执行部191的高优先控制任务141和相关处理任务143的执行的处理作为包含OS 190的一部分的程序存储到主存储装置106中。此外,调度器151的管理处理PR作为程序存储到二次存储装置108中。处理器102从主存储装置106或二次存储装置108读出这些程序并执行。另外,在本实施方式中,处理器102定期地执行管理处理PR的程序。
参照图10,当开始周期T时,处理器102执行任务控制信息131的任务中的、优先级133最高的高优先控制任务141。具体而言,高优先控制任务141的控制输入程序161将从现场装置组10输入的数据设定为内部DB 130的输入变量(步骤S1、S2)。此外,高优先控制程序163执行基于内部DB 130的输入变量的数据的运算,将用于控制现场装置组10的对象的控制数据写入内部DB 130的输出变量中(步骤S3、S2)。控制输出程序162读出在步骤S2中设定的输出变量表示的控制数据并输出,以对对象进行控制(步骤S5)。
(f1:基于相关处理任务143的高优先级的管理)
当上述叙述的高优先控制任务141的执行结束时,调度器151实施调度,以使依照优先级执行除此以外的任务。这里,在任务控制信息131中,作为初始值,将与相关处理任务143对应的优先级133设定为“高优先级PH”,该“高优先级PH”为高优先控制任务141的优先级的第二高的优先级。
另外,由任务信息设定部154实施该初始值的设定。具体而言,例如,在系统被初始化(更加确定地,控制装置100的初始化)之后,在执行指示部157最先判断出相关处理任务143的执行开始条件的成立时,任务信息设定部154实施上述初始值的设定。
在管理处理PR中,调度器151在受理了与周期T同步的固定周期触发的输出(步骤S6)的情况下,在受理了执行指示时,执行指示部157判断为上述的执行开始条件成立(步骤21)。在执行开始条件成立时,调度器151开始相关处理任务143的状态管理(步骤S23)。该执行指示包含来自高优先控制任务141的处理(步骤S3)的命令指示、或来自以基于高优先控制任务141的变量值为基础的事件处理(步骤S7)的自动指示。
当开始相关处理任务143的状态管理时,调度器151根据状态标志FL判断相关处理任务143是否处于执行状态(步骤S25)。在该时刻,不执行相关处理任务143,因此,状态标志FL表示‘00’。
调度器151在根据状态标志FL判断为相关处理任务143未处于执行状态时(步骤S25中的“否”),执行指示部157将执行开始指示输出至多任务执行部191(步骤S27)。当执行开始指示输出至多任务执行部191时,计数器153B开始计测相关处理任务143的执行时间(步骤S29)。然后,调度器151完成管理处理PR(步骤S31),返回步骤S23。
多任务执行部191在受理了来自调度器151的执行开始指示时,根据任务控制信息131中的与相关处理任务143对应的优先级133(该优先级表示“高优先级PH”),将相关处理任务143选择为应该开始执行的任务,使相关处理任务143从执行前状态转变为执行状态。即、多任务执行部191将与相关处理任务143对应的状态标志FL变更为‘00’→‘01’(步骤S41)。处理器102执行调度器151选择出的相关处理任务143。具体而言,根据任务控制信息131,执行与相关处理任务143对应的程序名称134表示的相关处理程序165(步骤S45)。
返回管理处理PR,调度器151在根据状态标志FL判断为相关处理任务143处于执行状态时(步骤S25中的“是”),优先级切换部153对计数器153B计测的相关处理任务143的执行时间与阈值152A的时间进行比较(步骤S33)。具体而言,优先级切换部153根据相关处理任务143的优先级133,决定阈值152A的第1时间T1和第2时间T2中的、应该比较的时间。这里,相关处理任务143的优先级133表示高优先级PH。因此,优先级切换部153决定第1时间T1,对相关处理任务143的执行时间与第1时间T1进行比较。
优先级切换部153在根据上述比较结果判断为(执行时间>第1时间T1)的条件成立、即执行时间长于(超过)第1时间时(步骤S33中的“是”),优先级切换部153将表示执行时间超过第1时间T1的超过通知输出至多任务执行部191,并且实施优先级切换处理(步骤S35)。在优先级切换处理中,优先级切换部153将任务控制信息131的相关处理任务143的优先级133变更为优先级信息152B的低优先级PL。然后,完成管理处理PR(步骤S31),返回步骤S23。
此外,优先级切换部153在判断为上述的(执行时间>第1时间T1)的条件不成立时(步骤S33中的“否”)、即判断为执行时间不超过第1时间T1时,完成处理(步骤S31),返回步骤S23。
多任务执行部191在处理器102对相关处理任务143的执行结束时,使相关处理任务143从执行状态转变为执行完成状态。即,将相关处理任务143的状态标志FL重置为‘01’→‘11’(步骤S49)。此外,相关处理任务143将处理结果(特征量生成程序或异常检测程序的执行结果)设定为内部DB 130的学习结果(步骤S47、S2)。
当从优先级切换部153受理了上述超过通知时,多任务执行部191实施超过通知应对处理(步骤S43),转移到步骤S45。在该超过通知应对处理中,多任务执行部191例如实施是否中断相关处理任务143的执行的判断处理。另外,超过通知应对处理的内容不限定于该判断处理。
(f2:基于相关处理任务143的低优先级的管理)
说明如下情形:在实施上述的基于高优先级的处理之后,调度器151在受理了下一固定周期触发的情况下,任务控制信息131的与相关处理任务143对应的优先级133表示低优先级PL。该情形例如为在上述叙述的步骤S35中由优先级切换部153将相关处理任务143的优先级133变更为低优先级PL的情形。
另外,该“低优先级PL”为高优先控制任务141的优先级的第二高的优先级。此外,相关处理任务143的优先级133(低优先级PL)与低优先控制任务142的优先级133相同。
调度器151受理相关处理任务143的执行指示,判断出执行开始条件成立(步骤S21、S23)。接着,调度器151在根据状态标志FL判断为相关处理任务143未处于执行状态时(步骤S25中的“否”),执行指示部157向多任务执行部191输出执行开始指示(步骤S27)。当受理了执行开始指示时,多任务执行部191使处理器102执行相关处理任务143。具体而言,多任务执行部191依照任务控制信息131的优先级133选择相关处理任务143和低优先控制任务142,使两者从执行前状态转变为执行状态,并且,计数器153B开始计测相关处理任务143的执行时间(步骤S41、S45、S29)。然后,当相关处理任务143的执行结束时,进行相关处理任务143的状态标志FL的重置(步骤S49)和相关处理任务143的执行结果的处理(步骤S47)。
这里,交替执行2个任务(即、低优先控制任务142和相关处理任务143),但是,计数器153B根据相关处理任务143的状态标志FL的值,在交替执行中计测包含执行中断(暂停)的时间在内的相关处理任务143的执行时间。
返回步骤S33。优先级切换部153将计数器153B计测的相关处理任务143的执行时间与阈值152A的时间进行比较(步骤S33)。具体而言,优先级切换部153根据相关处理任务143的优先级133,决定阈值152A的第1时间T1和第2时间T2中的、应该比较的时间。这里,相关处理任务143的优先级133表示低优先级PL。因此,优先级切换部153决定第2时间T2,将相关处理任务143的执行时间与第2时间T2进行比较。
在优先级切换部153根据上述比较结果判断为(执行时间>第2时间T2)的条件成立、即执行时间长于(超过)第2时间T2时(步骤S33中的“是”),优先级切换部153将表示执行时间超过第2时间T2的超过通知输出至多任务执行部191,并且实施优先级切换处理(步骤S35)。在优先级切换处理中,优先级切换部153将任务控制信息131的相关处理任务143的优先级133变更为优先级信息152B的高优先级PH。然后,完成管理处理PR(步骤S31),返回步骤S23。
另外,在图10中,在执行时间超过第1时间T1或第2时间T2时实施优先级切换处理(步骤S35),但是实施的时期不限定于此。例如,也可以在相关处理任务143的执行开始条件成立时,实施优先级切换处理。在该情形中,在相关处理任务143的执行时间超过第1时间T1或第2时间T2的情况下,之后,在相关处理任务143的执行开始条件成立时,优先级切换部153将任务控制信息131的相关处理任务143的优先级133设定为优先级信息152B的高优先级PH或低优先级PL。
(f3:相关处理任务143的优先级切换的优点)
根据图10的调度器151的管理处理PR,可在相关处理任务143的执行时间不超过第1时间T1的期间,维持高优先级PH。因此,能够维持实时性并执行相关处理,从而能够实现使用了例如按照每个执行时间而获得的相关处理(异常检测处理等)的结果的对象的实时控制。此外,通过当执行时间超过第1时间T1时,降低相关处理任务143的优先级,可优先地执行其它任务、例如,作为其它控制任务的低优先控制任务142,因此,能够进行使用低优先控制任务142的执行结果(运动控制的轨道数据)的对象的可靠的实时控制。因此,能够保证实现基于控制任务的对象的实时控制,还能够实现基于非控制任务的实时的相关处理的执行。
此外,在与相同优先级的其它任务进行交替执行的结果为相关处理任务143的执行时间超过阈值152A的情况下,变更相关处理任务143的优先级,因此,之后,能够避免交替执行,并能够以不超过阈值的执行时间执行完成相关处理任务143。此外,通过消除(避免)交替执行,其它任务的执行时间也变短。由此,如果其它任务例如为低优先控制任务142,则能够更加可靠地实现使用了该执行结果(运动控制的轨道数据)的对象的实时控制。
此外,即使在未进行交替执行的情况下,也在相关处理任务143的执行时间超过阈值152A时,由于执行相关处理任务143,处理器资源在较长时间内一直成为占用状态,妨碍其它任务的执行。关于此点,在相关处理任务143的执行时间超过第2时间T2时,调度器151将相关处理任务143的优先级按照低优先级PL→高优先级PH提高,能够较早地执行完成相关处理任务143,在较早的时期向作为其他任务即例如低优先级控制任务142开放(分配)资源。此外,在相关处理任务143的执行时间超过第1时间T1时,调度器151将相关处理任务143的优先级按照高优先级PH→低优先级PL降低,能够向优先级更高的其它任务开放资源。由此,例如,如果其它任务为用于运动控制的轨道计算的低优先控制任务142,则能够将轨道数据迅速地输出至高优先控制任务141的运动程序,能够更加可靠地实施对象的实时控制。
<G.相关处理任务143的调度模型>
使用任务执行的调度模型进一步说明图10的管理处理PR对相关处理任务143的执行的管理。图11的(A)和(B)是示出本实施方式的相关处理任务143的调度模型的图。图12是与图11相关联地例示相关处理任务143的优先级切换的图。图11的纵轴表示任务的优先级,横轴表示设为第n个周期T、第(n+1)个周期T、第(n+2)个周期、第(n+3)个周期……的时间经过。
在本实施方式中,相关处理任务143的高优先级PH能够成为低优先控制任务142等其它任务的优先级以下。例如,图11的(A)是相关处理任务143的高优先级PH与低优先控制任务142的优先级相同的情形。此外,在本实施方式中,相关处理任务143的低优先级PL能够成为低优先控制任务142等其它任务的优先级以上。例如,图11的(B)示出相关处理任务143的优先级为低优先级PL的情况下的例(1)和例(2)的情形。图11的(B)的例(1)是示出相关处理任务143的低优先级PL为低优先控制任务142的优先级与服务任务144的优先级之间的值的情形。例(2)是示出相关处理任务143的低优先级PL低于低优先控制任务142的优先级并且与服务任务144的优先级相同的情形。
(g1:相关处理任务143为高优先级的情况下的调度模型)
参照图11的(A),各周期T根据与计时器101的输出同步的周期开始信号而开始。这时,如图12的(A)所示,在任务控制信息131中设定有各任务的优先级。当开始了周期T时,首先,执行优先级最高的高优先控制任务141(控制输入程序161、控制输出程序162和高优先控制程序163,然后,多任务执行部191依照图12的(A)的任务控制信息131的高优先级(=16),交替执行相同的优先级133即低优先控制任务142和相关处理任务143。相关处理任务143的执行时间t(参照图11的(A))还包含交替执行中的执行中断的时间(即、低优先控制任务142执行中的时间)在内而被计测。
在图11的(A)的执行时间t为(t≤第1时间T1)的情况下,优先级切换部153不实施优先级切换处理,因此,相关处理任务143的优先级133保持为图12的(A)的高优先级。另一方面,在图11的(A)的执行时间t为(t>第1时间T1)的情况下,优先级切换部153实施优先级切换处理。由此,相关处理任务143的优先级133从图12的(A)的优先级切换至图12的(B)或图12的(C)所示的低优先级(=48)。
(g2:相关处理任务143为低优先级的情况下的调度模型)
参照图11的(B)的例(1),说明如图12的(B)所示那样相关处理任务143为低优先级PL的情况。与图11的(A)同样,首先,执行高优先控制任务141,然后,执行其它任务。该情况下,根据图12的(B)的任务控制信息131,低优先控制任务142的优先级高于相关处理任务143的优先级。因此,多任务执行部191执行低优先控制任务142,接着,执行相关处理任务143。
在例(1)中,如果设执行时间t为(t>第2时间T2),则优先级切换部153实施优先级切换处理。由此,相关处理任务143的优先级133返回到图12的(A)的任务控制信息131表示的原来的高优先级。
参照图11的(B)的例(2),说明如图12的(C)所示那样相关处理任务143为低优先级的情况。在例(2)中,也与图11的(A)同样,首先,执行高优先控制任务141,然后,执行其它任务。该情况下,根据图12的(C)的任务控制信息131,低优先控制任务142的优先级高于相关处理任务143的优先级,并且,相关处理任务143的优先级与服务任务144的优先级相同。因此,多任务执行部191执行低优先控制任务142,接着,交替执行相同优先级的相关处理任务143和服务任务144。
在例(2)中,如果设相关处理任务143的执行时间t为(t>第2时间T2),则优先级切换部153实施优先级切换处理。由此,相关处理任务143的优先级133被切换成返回到图12的(A)的任务控制信息131表示的原来的高优先级。
<H.相关处理任务143的另一例>
上述叙述的相关处理任务143分配有特征量生成处理和异常检测处理,作为与用于实时控制的高优先控制任务141相关的处理,但是,分配至相关处理任务143的处理还包括在控制装置100内实施的通信处理。具体而言,该通信处理可包括与包括二次存储装置108在内的各种装置进行与特征量生成处理或异常检测处理相关的数据的通信的处理。
此外,与上述的特征量生成处理或异常检测处理相关的数据包含为了生成特征量而从现场装置组10受理的原始(raw)数据、特征量生成处理的结果(所生成的特征量等)、异常检测的结果等,但是不限定于这些。特征量生成处理的结果和异常检测的结果的通信处理可包括与二次存储装置108的通信、以及经由局域网控制器110、USB(Universal SerialBus:通用串行总线)控制器112及存储卡接口114等的与外部装置的通信。此外,原始(raw)数据和异常检测的结果的通信处理可包括经由内部总线控制器122、现场总线控制器118、120及I/O单元124-1、124-2、……等的与外部装置的通信。
<I.与任务有关的信息的设定的另一例>
说明与图8和图9中叙述的任务有关的信息的设定的另一例。图13是示出对本实施方式的多个相关处理任务设定优先级和阈值的例子的图。在图5中,设定部152单独地设定了优先级信息152B和阈值152A,但是,如图13所示,也可以通过1个表的形式设定。
在图13中,例如示出相关处理任务143包含多个任务RTS1和RTS2的情况。在图13中,由设定部152与各任务RTSi对应地通过表的形式设定优先级(高优先级PH、低优先级PL)和阈值(第1时间T1和第2时间T2)。
图14是示出针对本实施方式的多个相关处理任务分配程序的分配方法的图。图14的下段表示用于实施对相关处理任务的程序的分配的作为用户界面的画面例。画面显示在支持装置200的显示部218上。开发程序222对相关处理程序165的构造进行解析,根据解析结果提取相关处理程序165中包含的多个程序(特征量生成程序和异常检测程序)并显示。
用户对输入部216进行操作以从图14的画面设定分配至相关处理任务143的程序。在图14的上段示出在能够设定3个任务RTS1~RTS3作为相关处理任务143的情况下,用户与各任务RTSi对应地分配异常检测程序或特征量生成程序(设定了程序名称134)的状态。
这样,能够将在图14的下段所示的相关处理程序165的程序结构信息提供为用于供用户判断分配给各任务RTSi的程序的支持信息。
<J.收集信息和调试>
在本实施方式中,收集部155在执行相关处理任务143时,将与调度有关的信息记录为日志135。调试工具227根据收集该日志135而获得的收集信息228生成用于支持调试的信息,将所生成的支持信息提供给用户。
在本实施方式中,“调试”表示调整或变更用户所设定的用户设定信息(第1时间T1、第2时间T2、优先级(高优先级PH和低优先级PL)、分配至相关处理任务143的程序内容(包含程序名称、种类))的作业。用户例如进行调试,以接近能够可靠地实施实时控制的目标。
图15是示出本实施方式的用于调试的支持信息的显示例的图。图16是示出本实施方式的监视信息153A和日志135的一例的图。图17是示出本实施方式的收集信息228的一例的图。
(J1:收集的信息)
在本实施方式中,收集部155受理在相关处理任务143的执行中从优先级切换部153输出的监视信息153A,将所受理的监视信息153A作为日志135存储到二次存储装置108中。监视信息153A为与相关处理任务143的执行的调度有关的信息,例如包含计数器153B输出的目前的计测时间和目前的优先级(高优先级PH或低优先级PL中的任意一个)。
图16的(A)表示监视信息153A的一例,图16的(B)表示日志135的一例。例如,设想将作为相关处理任务143的任务RTS1设定为第1时间T1=2msec和第2时间T2=10msec的情形。该情形中,任务RTS1以高优先级PH开始执行,在执行结束时,例如从优先级切换部153输出图16的(A)的监视信息153A,并且记录图16的(B)作为日志135。
具体而言,图16的(A)的监视信息153A表示如下情况:任务RTS1的执行结束时的优先级为‘高优先级’,从以该高优先级开始执行起经过0.2msec后执行结束。此外,图16的(B)的日志135表示如下情况:任务RTS1从执行开始到完成为止优先级进行2次切换(即、高优先级→低优先级→高优先级),作为执行时间需要合计12.2msec。
支持装置200的调试工具227从控制装置100接收日志135,根据日志135生成收集信息228。参照图17的(A),收集信息228针对相关处理任务143,包含任务名称71、执行的总次数即执行次数82、执行时间的代表值(最小、平均、最大)83和优先级切换数量的代表值(最小、平均、最大)84等统计信息。执行时间的代表值83表示执行次数82表示的21103次的任务执行的执行时间中的最小值、平均值和最大值。此外,优先级切换数量的代表值84表示在执行次数82表示的21103次的各执行中所计数的优先级的切换次数中的最小值、平均值和最大值。
此外,收集信息228包含图17的(B)的信息。图17的(B)表示与图17的(A)的21103次的执行有关的信息的详细内容。具体而言,针对相关处理任务143,按照每个信息组(即、高优先级PH、低优先级PL、第1时间T1和第2时间T2的组)包含任务名称71、在以‘高优先级’的优先级执行结束的情况下的统计信息96和97、以及在以‘低优先级’的优先级执行结束的情况下的统计信息98和99。
示出如下情况:在根据特定的信息的组(高优先级、低优先级、第1时间T1和第2时间T2的组)执行了任务RTS1的情况下,统计信息96针对任务RTS1从执行开始到结束为止进行4次的优先级切换并以‘高优先级’执行结束的情形为总计23次。此外,统计信息97表示关于该23次的任务执行而执行时间的最小值、平均值和最大值分别为0.1msec、0.8msec和1.9msec。
同样,示出如下情况:在根据上述特定的信息的组执行了任务RTS1的情况下,统计信息98从执行开始到结束为止,进行5次的优先级切换并以‘低优先级’执行结束的情形为总计11次。此外,统计信息99表示关于该11次的任务执行而执行时间的最小值、平均值和最大值分别为0.1msec、0.4msec和0.5msec。
(J2:调试工具)
调试工具227根据收集信息228生成的调试支持信息作为图15所示的显示部218的画面提供给用户。例如,在图15的画面的上段显示基于图17的(B)的统计信息96和97的图像,在下段显示基于图17的(B)的统计信息98和99的图像。
用户能够获得进行如下处理的指针:对图15的画面的收集信息228与用于实时控制的目标进行比较,根据比较结果,判断对任务RTS1所设定的阈值152A(第1时间T1和第2时间T2)或优先级信息152B(高优先级PH、低优先级PL)是否适于可靠地实施实时控制。此外,用户还能够获得进行如下处理的指针:根据上述比较结果,判断分配至任务RTS1的程序是否适当。
用户根据上述判断,经由例如图8的用户界面变更对任务RTS1所设定的阈值152A(第1时间T1和第2时间T2)或优先级信息152B(高优先级PH、低优先级PL)。或者,经由例如图13的用户界面变更分配至任务RTS1的程序。
例如,在任务RTS1切换为低优先级的次数多于目标的情况下,与其它任务交替执行,其结果为,执行时间延长,能够估计出切换为低优先级。该情况下,存在如下可能性:用户通过以延长第1时间T1的方式变更或以能够避免交替执行的方式变更原来的高优先级PH的值,能够减少切换为低优先级的次数。
例如,在任务RTS1切换为高优先级的次数多于目标的情况下,与其它任务交替执行,其结果为,执行时间延长,能够估计出切换为高优先级。该情况下,存在如下可能性:用户通过以延长第2时间T2的方式变更或以能够避免交替执行的方式变更原来的低优先级PL的值,能够减少切换为高优先级的次数。
此外,在对任务RTS1分配了特征量生成程序的情况下,在任务执行时间长于目标或向低优先级的切换次数多于目标时,能够估计出特征量生成程序的执行对处理器102施加了较高的负荷。
具体而言,特征量生成程序可包含快速傅里叶变换等运算量较多的(运算时间较长的)处理。用户为了减轻上述负荷,执行开发程序222并变更特征量生成程序。例如,以变更或减少所生成的特征量的种类而使运算量变少的方式,变更特征量生成程序。
支持装置200将上述的变更后的阈值152A或变更后的优先级信息152B或变更后的特征量生成程序发送到控制装置100。调度器151根据这些变更后的信息生成任务控制信息131,根据任务控制信息131再次执行任务RTS。调试工具227显示基于在再次执行的情况下所取得的收集信息228的监视画面(图15)。该监视画面将用于判断阈值(第1时间T1、第2时间T2)或优先级信息(高优先级PH、低优先级PL)或特征量生成程序等的基于调试的变更内容是否适于可靠地实施实时控制的支持信息提供给用户。
<K:优先级切换的其它判断条件>
在上述实施方式中,在执行时间超过第1时间T1或第2时间T2时(步骤S33中的“是”)实施优先级切换处理(图10的步骤S35),但是,用于实施优先级切换处理的条件不限定于执行时间超过第1时间T1或第2时间T2。
例如,调度器151对相关处理任务的执行时间超过第1时间T1或第2时间T2的次数进行计数。作为用于实施优先级切换处理的条件,调度器151在该计数值为预定的N(N≥2)次以上时,实施优先级切换处理。另外,N为用户可设定的值。
<L:多核动作模式>
在上述实施方式中,说明了在控制装置100处于单核动作模式时,调度器151利用处理器102的1个处理器核执行相关处理任务143的情况,但是,这里,说明使用处理器102具有的2个以上的处理器核的多核动作模式。在控制装置100切换为多核动作模式的情况下,调度器151启动核切换部156。
处理器核是将运算器、程序计数器等用于执行任务的设备组合而构成的。因此,在多核动作模式中,能够使用多个处理器核并行地执行多个任务。在本实施方式中,说明处理器102例如具有4个处理器核即Core1~Core4作为处理器核的情况,但是,处理器核的数量为2个以上即可,不限定于4个。以下,使用该识别符即核编号Core1~Core4说明4个处理器核。
(L1:核信息的设定)
图18是示出本实施方式的核信息136的图。核信息136表示与在多核动作模式中执行相关处理任务143的核处理器有关的信息。支持装置200根据来自输入部216的用户的操作内容受理核信息136,将所受理的核信息136发送到控制装置100。控制装置100的处理器102将从支持装置200接收的核信息136存储到二次存储装置108。处理器102在执行任务时,从二次存储装置108读出核信息136,并展开到主存储装置106中。
参照图18,核信息136针对相关处理任务143的各任务RTSi,包含动作核指定137和分配模式138的数据。动作核指定137表示指定用于执行对应的任务RTSi的处理器核的信息。分配模式138包含:数据139,其指定将执行该任务RTSi的处理器核‘动态’地切换、或者设为‘固定’;以及数据140,其表示应该执行被指定为‘固定’的情况下的该任务RTSi的处理器核。
参照图17,具体而言,对任务‘RTS1’分配Core2和Core3,分配模式表示‘动态’。该情况下,示出了执行任务‘RTS1’的处理器核能够切换为Core2或Core3中的任意一个。与此相对,对任务‘RTS2’分配Core2和Core3,分配模式表示‘固定(高=2、低=3)’。该情况下,在执行任务‘RTS2’时,指定为如下:如果优先级为高优先级,则以Core2执行,如果优先级为低优先级,则以Core3执行。
(L2:多核调度)
说明用于在多核动作模式中执行相关处理任务143(任务RTSi)的调度。在多核动作模式中,核切换部156从OS 190受理CPU使用率159。OS 190计测CPU使用率159。CPU使用率159例如表示分别针对Core1~Core4,该处理器核处于未在任务的执行等中使用的idle状态的概率(每单位时间的idle状态的时间的比例:空闲率E)。
在调度器151使相关处理任务143转变为执行状态的情况下,核切换部156包含根据核信息136或根据CPU使用率159和核信息136双方决定应该执行该相关处理任务143的处理器核的命令。核切换部156将表示所决定的处理器核的核指定命令158输出至OS 190。将该过程称作调度器151的“多核调度”。OS 190使用由核指定命令158指定的处理器核,执行转变为执行状态的该相关处理任务143。
在多核调度中,实施以下说明的动作模式M1~M7中的任意一个。另外,在动作模式M1~M7中,与上述单核动作模式同样,首先,多任务执行部191由Core1~Core4中的1个以上的处理器核执行作为主固定周期任务的高优先控制任务141。
(L3:相关处理任务143为1个的情况下的调度模型)
图19是示出在实施方式的多核调度中执行1个相关处理任务143的例子的图。在图19中,说明如下情形:首先执行高优先级的相关处理任务143(以下,也称作任务RTS),接着执行低优先级的任务RTS。
图19的(A)的动作模式M1是表示核信息136“对任务‘RTS’分配Core2和Core3并且分配模式为‘动态’”的情形。在指示为‘动态’的情况下,核切换部156根据CPU使用率159和核信息136,将空闲率E更大的(即,可分配至相关处理任务143的资源较多的)处理器核决定为应该执行任务RTS的处理器核。
参照图19的(A),核切换部156根据执行开始任务RTS之前的CPU使用率159,判断为(Core3的空闲率E>Core2的空闲率E)。因此,核切换部156根据判断决定空闲率E较大一方的Core3,输出表示所决定的Core3的核指定命令158。由此,多任务执行部191在Core3中执行高优先级的任务RTS。
说明任务RTS在Core3中执行并由优先级切换部153从高优先级切换为低优先级的情况。在执行低优先级的任务RTS的情况下,核切换部156根据CPU使用率159,判断为(Core3的空闲率E>Core2的空闲率E),并根据判断,决定空闲率E较大一方的Core3,输出表示Core3的核指定命令158。由此,低优先级的任务RTS在Core3执行。
与此相对,图19的(B)的动作模式M2是表示核信息136“对任务‘RTS’分配Core2和Core3并且分配模式为‘固定(高优先级的情况下为Core2,低优先级的情况下为Core3)’”的情形。
因此,核切换部156不依赖于CPU使用率159,而根据核信息136决定应该执行任务RTS的处理器核。参照图19的(B),例如,在任务RTS为高优先级时,核切换部156输出表示Core2的核指定命令158。在任务RTS在Core2中执行并由优先级切换部153从高优先级切换为低优先级的情况下,核切换部156根据核信息136决定Core3,输出表示Core3的核指定命令158。由此,多任务执行部191在Core3中执行低优先级的任务RTS。
(L4:相关处理任务143为多个的情况下的调度模型)
图20是示出在本实施方式的多核调度中执行多个相关处理任务143的例子的图。图19的动作模式M1和M2是执行1个任务RTS的情况,在图20的动作模式M3和M4中,调度器151调度多个任务RTS。参照图20,说明如下情况:执行高优先级的任务RTS1~RTS3,接着,执行低优先级的任务RTS1~RTS3。
首先,图20的(A)的动作模式M3是表示核信息136“对任务‘RTS1~RTS3’分配Core2和Core3并且分配模式为‘动态’”的情形。图20的动作模式M4是表示核信息136“对任务‘RTS1~RTS3’分配Core2和Core3并且分配模式为‘固定(高优先级的情况下为Core2,低优先级的情况下为Core3)’”的情形。
在图20的(A)的动作模式M3中,为了执行相同的优先级(高优先级)的任务RTS1~RTS3,核切换部156能够根据CPU使用率159,将空闲率E最高的Core3决定为应该执行任务RTS1~RTS的处理器核。
该情况下,由1个处理器核(即,Core3)进行3个任务RTS1~RTS3的并行执行(交替执行)。因此,各任务的执行时间可能变得比较长。因此,为了缩短执行时间,例如,在Core3的空闲率E为阈值以上的情况下,核切换部156将Core3决定为应该执行任务RTS1和RTS2这2个任务的处理器核,为了任务RTS3决定其它处理器核(即,Core2)。由此,在执行多个相关处理任务143的情况下,使负荷在处理器核之间分散,从而能够缩短各相关处理任务143的执行时间。
此外,在任务RTS1~RTS3切换为低优先级的情况下,核切换部156将CPU使用率159表示的空闲率E较大的1个处理器核(即,Core3)决定为执行任务RTS1~RTS3的处理器核。或者,也可以决定为在Core3中执行任务RTS1和RTS2并在其它处理器核(即Core2)中执行任务RTS3。由此,能够分散如上所述的处理器核之间的负荷和缩短各任务的执行时间。
在图20的(B)的动作模式M4中,为了执行相同的高优先级的任务RTS1~RTS3,核切换部156能够不根据CPU使用率159,而依照核信息136将Core2决定为执行任务RTS1~RTS的处理器核。调度器151调度成在Core2中按照任务RTS1→任务RTS2→任务RTS3的顺序执行任务。
此外,在任务RTS1~RTS3切换为低优先级的情况下,核切换部156不依赖于CPU使用率159,而依照核信息136将Core3决定为执行任务RTS1~RTS的处理器核。调度器151调度成在Core3中按照任务RTS1→任务RTS2→任务RTS3的顺序执行任务。
(L5:相关处理任务143为多个的情况下的调度模型-2)
图21是示出在本实施方式的多核调度中执行多个相关处理任务143的另一例的图。
与图20的(A)同样,在图21的(A)的动作模式M5中,核切换部156依照CPU使用率159和核信息136,决定执行任务RTS1~RTS3的处理器核。
图21的(B)的动作模式M6表示图20的(B)的动作模式M4的调度模型的变形例。在图20的(B)中,调度器151在Core3(或Core2)中依照任务RTS1→任务RTS2→任务RTS3的顺序执行。因此,最后执行的任务RTS3等待至其它任务的执行结束,任务RTS3的执行时间变长。
与此相对,在图21的(B)的动作模式M6中,调度器151调度成在Core3(或Core2)中并行地执行(即、交替执行)任务RTS1~RTS3。由此,能够使针对各任务的执行时间平均化。
此外,在本实施方式中,用户能够指定动作模式M4(参照图20的(B))或动作模式M6(参照图20的(B)),作为依照核信息136执行多个任务的模式。
(L6:相关处理任务143为多个的情况下的调度模型-3)
图22是示出在本实施方式的多核调度中执行多个相关处理任务143的又一例的图。图22的动作模式M7是表示核信息136“对任务‘RTS’分配Core2和Core3并且分配模式为‘固定(高优先级的情况下为Core2,低优先级的場情况下为Core3)’”的情形。
在动作模式M7中,核切换部156不根据CPU使用率159,而根据核信息136将执行高优先级的任务RTS1~RTS3的处理器核决定为Core2。同样,核切换部156将执行低优先级的任务RTS1~RTS3的处理器核决定为Core3。
根据动作模式M7,能够在高优先级的多个相关处理任务143转变为执行状态的情况下,实现各任务的实时性。具体而言,参照图21,在执行高优先级的任务RTS1~RTS3的情况下,调度器151在Core2中,按照任务RTS1→任务RTS2→任务RTS3的顺序执行(参照图22的情形C1→情形C2→情形C3)。因此,高优先级的各任务能够缩短在执行该任务的情况下占用Core2的可利用资源而执行的、该任务的执行时间。
接着,在高优先级的任务RTS1在Core2中执行的情况下,在由于执行时间超过第1时间T1所以切换为低优先级时,核切换部156依照核信息136,将执行任务RTS1的处理器核决定为Core3(情形C2)。在该情形中,并行进行Core3中的低优先级的任务RTS1的执行和Core2中的高优先级的任务RTS2的执行。
接着,在高优先的任务RTS2的Core2中的执行时间超过第1时间T1(其中,任务RTS1在Core3中的执行时间不超过第2时间T2)时,任务RTS2切换为低优先级。该情况下,核切换部156依照核信息136,将执行任务RTS2的处理器核决定为Core3。因此,并行进行任务RTS1和任务RTS2在Core3中的执行和高优先的任务RTS3在Core2中的执行(情形C3)。
接着,在高优先的任务RTS3在Core2中的执行时间超过第1时间T1(其中,任务RTS1和RTS2在Core3中的执行时间不超过第2时间T2)时,任务RTS3的优先级切换为低优先级。该情况下,核切换部156依照核信息136,将执行任务RTS1的处理器核决定为Core3。因此,在Core3中交替执行任务RTS1~RTS3(情形C4)。
最后,在低优先的任务RTS3在Core3中的执行时间超过第2时间T2(其中,任务RTS2和RTS3在Core3中的执行时间不超过第2时间T2)时,任务RTS1的优先级切换为高优先级(情形C5)。该情况下,并行进行Core2中的任务RTS1的执行和Core3中的任务RTS2和RTS3的交替执行。
在本实施方式的多核动作模式中,在执行多个任务RTS1~RTS3的情况下,用户能够指定在上述的动作模式M4、M6和M7中的哪一个模式下执行。
<M.变形例>
图23是说明本实施方式的相关处理任务143的变形例的示意图。图24是示意性示出本实施方式的预测控制模型的一例的图。在上述实施方式中,作为相关处理任务143的一例,说明了异常检测程序,但是,相关处理不限定于异常检测程序。例如,在(c2.功能结构)中叙述的相关处理任务143也可以包含预测控制程序,该预测控制程序使用预测控制模型控制由控制装置100控制的对象(以下,称作对象90)。对象90例如为图1的现场装置组10所具备的设备等。预测控制程序包含使用变量中的赋予给对象90的指令值来预测对象90的控制量并输出控制参数的校正值的命令。通过执行这样的命令,可实现图23的校正值计算处理1431。
在本实施方式中,预测控制模型例如是为了预测对象90的响应并实现对象90的最优化控制而应用的过程(process)的模型。
另外,利用图5的内部DB 130所存储的变量表示指令值和控制量。这些指令值和控制量是通过由图5的控制输入程序161和控制输出程序162实施I/O刷新处理来与图1的现场装置组10之间交换的数据(输入数据和输出数据),设定为内部DB 130的变量。
在图23中,示出由控制装置100执行的相关处理任务143和作为高优先控制任务141的一例的控制运算任务1411。当执行控制运算任务1411时,依照预定的图案1511按照每个控制周期生成指令值1516,将指令值1516输出至对象90,并且,从对象90输入作为针对指令值1516的响应值(反馈值)的控制量1517。
相关处理任务143包括:预测处理1432,其使用来自控制运算任务1411的输出(即,从控制装置100输出至对象90的目前的指令值1512)和预测控制模型1434,计算作为对象90的控制量的估计值的估计控制量1513;以及计算处理1433,其计算校正值1514,该校正值1514是以使估计控制量1513与理想控制量1518(目标控制量)之差收敛至预定的范围内的方式补偿估计控制量1513而得到的。在图23中,指令值1512和控制量1515分别为与指令值1516和控制量1517相同的值。
控制运算任务1411依照所计算出的校正值1514,计算针对对象90的控制输出(指令值1516)。输出所计算出的指令值1516,以对对象90进行控制。
上述预测控制模型1434能够通过基于对象90的特性的机器学习预先生成或者通过用户操作预先生成。图24中示意性示出预测控制模型1434的一例。参照图24,例如,预测控制模型1434示作表示指令值1512(或控制量1515)与估计控制量1513的相关关系的曲线图。因此,预测处理1432能够基于这样的预测控制模型1434,根据指令值1512(或控制量1515)的值X估计(计算)估计控制量1513的值Y。另外,预测控制模型1434不限定于这样的相关关系的曲线图。
另外,由预测控制模型1434估计的估计控制量1513可以为目前的值(例如,与目前的控制周期对应的值),也可以为将来的值(例如,与下一控制周期以后的控制周期对应的值)。
此外,在通过机器学习生成预测控制模型1434的情况下,例如,也可以通过使用神经网络的机器学习生成。
此外,在计算处理1433中,计算通过预测处理1432输出的估计控制量1513与理想控制量(目标控制量)1518之差,使用未图示的预测控制模型,根据该计算出的控制量的差估计(计算)指令值1516的修正量。
控制运算任务1411输入校正值1514,生成对所输入的校正值1514进行了反馈的指令值1516,并输出至对象90。
总之,图24的预测控制模型1434是将估计控制量1513作为客观变量、指令值1512作为解释变量而预先生成的。因此,在图23中,将赋予给对象90的目前的指令值1512(指令值1516)输入到预测控制模型1434,输出下一控制周期中的对象90的估计控制量1513。接着,计算校正值1514,使用所计算出的校正值1514进行指令值1516的改写,该校正值1514是以使估计控制量1513与理想控制量1518(目标控制量)之差收敛至预定的范围内的方式补偿估计控制量1513而得到的。
此外,图24的预测控制模型1434也可以是将估计控制量1513作为客观变量、控制量1515作为解释变量而预先生成的。该情况下,在图23中,将赋予给对象90的目前的控制量1515(控制量1517)输入到预测控制模型1434,输出下一控制周期中的对象90的估计控制量1513。接着,计算校正值1514,使用所计算出的校正值1514进行指令值1516的改写,该校正值1514是以使估计控制量1513与理想控制量1518(目标控制量)之差收敛至预定的范围内的方式补偿估计控制量1513而得到的。
这样,根据相关处理任务143的校正值计算处理1431,能够使用赋予给对象90的指令值1512预测对象90的控制量,输出至控制参数的校正值1514,并且,还能够使用对象90的控制量1515预测赋予给对象90的校正值。
此外,在图23的计算处理1433中,计算出校正值1514,该校正值1514是以使估计控制量1513与理想控制量(目标控制量)1518之差收敛至预定的范围内的方式补偿估计控制量1513而得到的,但是,校正值1514的计算方法不限定于基于这样的补偿的方法。例如,计算处理1433也可以是依照估计控制量1513和预定的运算来计算校正值1514的处理。
此外,在图23中,按照每个控制周期,将基于使用预测控制模型1434而估计(计算)出的校正值1514的指令值1516输出至对象90,但是,指令值1516的输出周期不限定于控制周期。例如,也可以根据对象90的特性的不同,以长于控制周期的周期输出指令值1516。该情况下,针对对象90,能够按照每个长于控制周期的周期,将基于使用预测控制模型1434而估计(计算)出的校正值1514的指令值1516输出至对象90。
此外,预定的图案1511可包含表示对象90应该移动的轨迹的位置图案。该情况下,能够依照利用基于使用预测控制模型1434而生成的校正值1514的指令值1516表示的轨迹(被估计为对象90应该移动的轨迹),对对象90的位置进行控制。
另外,在图23中,控制运算任务1411依照预定的图案1511生成指令值1516,但是,控制运算任务1411也可以在不使用该图案1511的情况下生成指令值1516。
<N.本实施方式的效果>
在本实施方式的优先级切换处理中,在执行时间不长于(超过)第1时间T1的期间,维持高优先级PH。因此,能够维持实时性并执行相关处理,从而能够实现例如使用能够按照每个执行时间而获得的相关处理的结果的对象的实时控制。此外,通过当执行时间长于(超过)第1时间T1时,使相关处理任务143的优先级降低,可优先地执行其它任务,因此,在正执行其它任务如低优先控制任务142等那样有助于实时控制的处理(运动控制的轨道计算处理)的情况下,高优先控制任务141能够进行使用了执行结果的对象的实时控制。因此,能够保证实现基于控制任务的对象的实时控制,还能够实现基于非控制任务的实时的相关处理的执行。
此外,在多核调度中,由各处理器核优先地执行对象的控制任务,并针对相关处理任务143实施优先级切换处理。此外,同时使用2个以上的处理器核优先地执行控制任务,并针对多个相关处理任务143实施优先级切换处理。
由此,根据多核调度,也能够保证实现基于控制任务的对象的实时控制,并能够实现基于多个非控制任务的实时的相关处理的执行。
<O.实施方式的结构>
根据上述叙述的实施方式,对对象进行控制的控制装置100具有:任务控制信息131,其与包含用于实施对象的实时控制的控制任务(高优先控制任务141)和用于实施与实时控制相关的相关处理的非控制任务在内的多个任务的各任务相关联地存储由处理器执行该任务的优先级;以及调度器151,其依照优先级,调整非控制任务的执行顺序。控制任务的优先级被设定为最优先(即,非控制任务的优先级设定为低于控制任务的优先级)。调度器151包括优先级切换部153,该优先级切换部153针对非控制任务,在该非控制任务的执行时间t长于用于实时地执行相关处理的第1时间T1的情况下,将该非控制任务的优先级切换为较低(高优先级PH→低优先级PL)。
根据上述的结构,在非控制任务的执行时间为用于实时执行的第1时间T1的期间,维持高优先级PH,然后,当超过第1时间T1而延长时,将优先级切换为低优先级PL。因此,能够在执行时间为第1时间内的期间,维持实时控制并将非控制任务(相关处理任务143)的优先级设为比较高并实时地执行,从而能够可靠地将相关处理的结果反映到对象的实时控制中。
此外,当执行时间超过用于实时执行的第1时间而延长时,能够降低优先级并进行针对其它控制任务(例如,低优先控制任务142)的优先资源的分配。由此,可靠地将基于其它控制任务的处理结果反映到对象的实时控制中。由此,能够以可保证对象的实时控制的方式执行用于对对象进行实时控制的控制任务和非控制任务。
优选地,高优先级PH表示其它任务(例如低优先控制任务142)的优先级以上,并且,低优先级PL表示该其它任务的优先级以下。由此,能够优先地执行其它任务,能够在其它任务向控制任务提供轨道数据等与实时控制有关的数据的情况下,更加可靠地实施对象的实时控制。
优选地,可变地设定上述第1时间T1。此外,能够可变地设定低优先级PL和高优先级PH。因此,能够以可保证对象的实时控制的方式调整第1时间T1和高优先级PH或低优先级PL,并决定用于对对象进行实时控制的控制任务和非控制任务。
优选地,在执行时间长于第2时间T2的情况下,优先级切换部153还针对低优先级PL的非控制任务,将该非控制任务提高至高优先级PH。因此,能够以第1时间T1和第2时间T2为基准调整如能够保证对象的实时控制的非控制任务的执行时间。
优选地,可变地设定第2时间T2。因此,能够以可保证对象的实时控制的方式调整第2时间T2,并决定用于对对象进行实时控制的控制任务和非控制任务。
优选地,相关处理包括:特征量生成处理,根据与对象相关的数据而生成特征量,该特征量适于检测对象中产生的异常;异常检测处理,使用通过特征量生成处理而生成的特征量检测异常;以及与包括存储装置的装置进行用于特征量生成处理或异常检测处理的数据的通信的处理。
因此,能够使用非控制任务的实时执行的结果即异常检测结果来实施对象的实时控制。
优选地,相关处理包括:计算处理,使用从控制装置输出至对象的指令值1512和预定的预测控制模型1434来计算对象90的估计的控制量1513;以及校正值计算处理1431,其根据通过计算处理而计算出的控制量计算校正值1514,控制任务141包含控制运算任务1411,该控制运算任务1411依照所计算出的校正值1514,计算针对对象的控制输出(指令值1516)。
因此,能够利用使用了非控制任务的预测控制模型的处理结果来实施对象的实时控制。
优选地,相关处理包括:计算处理,使用从控制装置输出至对象的对象90的控制量1517和预定的预测控制模型1434来计算对象的估计的控制量1513;以及校正值计算处理1431,根据通过计算处理而计算出的控制量1513来计算校正值1514,控制任务141包含控制运算任务1411,该控制运算任务1411依照所计算出的校正值,计算针对对象的控制输出(指令值1516)。
因此,能够利用使用了非控制任务的预测控制模型的处理结果来实施对象的实时控制。
优选地,上述校正值计算处理包括计算校正值的处理,该校正值是以使控制量收敛至预定的范围的方式进行补偿而得到的。
因此,能够通过以使控制量收敛至预定的范围内的方式进行补偿,计算校正值。
优选地,具有收集部155,该收集部155针对非控制任务,收集包含执行时间在内的与该非控制任务的执行有关的信息,由收集部收集的信息输出至外部。
因此,通过输出收集信息,能够将包含非控制任务的执行时间的信息作为用于设定上述第1时间T1或第2时间T2的支持信息提供给用户。
优选地,所收集的信息包含非控制任务的优先级的切换次数。
因此,能够将非控制任务的优先级的切换次数作为上述支持信息提供给用户。
优选地,可变地设定相关处理的内容。
因此,能够针对以用于对对象进行实时控制的控制任务和非控制任务,调整相关处理的内容(相关处理程序的种类、运算处理等内容),以能够保证对象的实时控制。
优选地,处理器102包括多个处理器核(Core1~Core4),存储指定执行非控制任务的处理器核的核信息136。调度器151还包括核切换部156,该核切换部156根据核信息136或各处理器核的使用率159,决定执行非控制任务的处理器核。
因此,能够决定具有表示空闲率E较高的使用率159的处理器核,并使该处理器核执行非控制任务。
优选地,核信息136包含根据非控制任务的优先级来指定执行该非控制任务的处理器核的信息。
因此,在存在多个非控制任务的情况下,能够从优先级较高的非控制任务起依次决定处理器核并使该处理器核执行该非控制任务。
应该认为此次公开的实施方式在所有方面都是例示,而不是限制性内容。本发明的范围不是通过上述说明来示出而是通过权利要求书来示出,旨在包含与权利要求书同等的意思和范围内的所有变更。
标号说明
1:控制系统;10:现场装置组;100:控制装置;101:计时器;102、202:处理器;106、206:主存储装置;108、208:二次存储装置;131:任务控制信息;133:优先级;134:程序名称;135:日志;136:核信息;137:动作核指定;138:分配模式;141:高优先控制任务;142:低优先控制任务;143:相关处理任务;144:服务任务;150:用户程序;151:调度器;152:设定部;152A:阈值;152B:优先级信息;153:优先级切换部;153A:监视信息;153B:计数器;154:任务信息设定部;155:收集部;156:核切换部;157:执行指示部;158:核指定命令;159:使用率;161:控制输入程序;162:控制输出程序;163:高优先控制程序;164:低优先控制程序;165:相关处理程序;166:系统服务程序;191:多任务执行部;200:支持装置;204:光学驱动器;205:记录介质;216:输入部;218:显示部;222:开发程序;224:参数设定工具;226:数据挖掘工具;227:调试工具;228:收集信息;300:数据记录装置;400:显示装置;E:空闲率;FL:状态标志;PH:高优先级;PL:低优先级;PR:管理处理;RTS、RTS1、RTS2、RTS3:任务;T:周期;t:执行时间。

Claims (15)

1.一种控制装置,其对对象进行控制,该控制装置具有:
处理器,其执行多个任务,该多个任务包含用于实施所述对象的实时控制的控制任务和用于实施与所述实时控制相关的相关处理的非控制任务;
多任务执行部,其依照基于与所述多个任务的各任务相关联的优先级的顺序使所述处理器执行所述多个任务;以及
调度器,其可变地设定所述非控制任务的优先级,
所述控制任务的优先级被设定为最优先,
所述调度器包括优先级切换部,该优先级切换部进行如下动作:当所述非控制任务的执行开始条件成立时,设定为第1优先级,并且在从该非控制任务的执行开始起的时间为用于实时地执行所述相关处理的第1时间的期间,将该非控制任务的优先级维持为第1优先级,然后,当从所述执行开始起的时间长于所述第1时间时,将该非控制任务的优先级切换为下降至第2优先级。
2.根据权利要求1所述的控制装置,其中,
所述第1时间被可变地设定。
3.根据权利要求1或2所述的控制装置,其中,
当从所述第2优先级的所述非控制任务的执行开始起的时间长于第2时间时,所述优先级切换部进一步将该非控制任务的优先级切换为上升至所述第1优先级。
4.根据权利要求3所述的控制装置,其中,
所述第2时间被可变地设定。
5.根据权利要求1~4中的任意一项所述的控制装置,其中,
所述相关处理包括:
特征量生成处理,根据与所述对象相关的数据而生成特征量,该特征量适于检测所述对象中产生的异常;
异常检测处理,使用通过所述特征量生成处理生成的特征量来检测所述异常;以及
与包括存储装置的装置进行用于所述特征量生成处理或所述异常检测处理的数据的通信的处理。
6.根据权利要求1~4中的任意一项所述的控制装置,其中,
所述相关处理包括:
计算处理,使用从所述控制装置输出至所述对象的指令值和预定的预测控制模型来计算所述对象的估计的控制量;以及
校正值计算处理,根据通过所述计算处理而计算出的控制量计算校正值,
所述控制任务包含控制运算任务,该控制运算任务依照所计算出的所述校正值,计算针对所述对象的指令值。
7.根据权利要求1~4中的任意一项所述的控制装置,其中,
所述相关处理包括:
计算处理,使用从所述控制装置输出至所述对象的所述对象的控制量和预定的预测控制模型来计算所述对象的估计的控制量;以及
校正值计算处理,根据通过所述计算处理而计算出的控制量计算校正值,
所述控制任务包含控制运算任务,该控制运算任务依照所计算出的所述校正值,计算针对所述对象的指令值。
8.根据权利要求6或7所述的控制装置,其中,
所述校正值计算处理包括计算所述校正值的处理,所述校正值是以使所述控制量收敛至预定的范围内的方式进行补偿而得到的。
9.根据权利要求1~8中的任意一项所述的控制装置,其中,
所述控制装置具有收集部,该收集部针对所述非控制任务,收集包含从所述执行开始起的时间在内的与该非控制任务的执行有关的信息,
由所述收集部收集的信息输出至外部。
10.根据权利要求9所述的控制装置,其中,
所述收集的信息包含所述非控制任务的所述优先级的切换次数。
11.根据权利要求1~10中的任意一项所述的控制装置,其中,
所述相关处理的内容被可变地设定。
12.根据权利要求1~11中的任意一项所述的控制装置,其中,
所述处理器包括多个处理器核,
所述控制装置还具有用于存储核信息的核信息存储部,该核信息指定执行所述非控制任务的处理器核,
所述调度器还包括核切换部,该核切换部根据所述核信息或各所述处理器核的使用率,决定执行所述非控制任务的处理器核。
13.根据权利要求12所述的控制装置,其中,
所述核信息包含根据所述非控制任务的所述优先级来指定执行该非控制任务的处理器核的信息。
14.一种对对象进行控制的控制装置中的控制方法,其中,
所述控制装置具有:
处理器,其执行多个任务,该多个任务包含用于实施所述对象的实时控制的控制任务和用于实施与所述实时控制相关的相关处理的非控制任务;以及
多任务执行部,其依照基于与所述多个任务的各任务相关联的优先级的顺序使所述处理器执行所述多个任务,
所述控制任务的优先级被设定为最优先,
所述控制方法具有可变地设定所述非控制任务的优先级的步骤,
在所述可变地设定的步骤中包括以下步骤:
当所述非控制任务的执行开始条件成立时,设定为第1优先级,并且在从该非控制任务的执行开始起的时间为用于实时地执行所述相关处理的第1时间的期间,将该非控制任务的优先级维持为第1优先级;以及
然后,当从所述执行开始起的时间长于所述第1时间时,将该非控制任务的优先级切换为下降至第2优先级。
15.一种程序,该程序用于使计算机执行权利要求14所述的控制方法。
CN201880017192.3A 2017-04-07 2018-04-02 控制装置、控制方法以及记录介质 Active CN110402430B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2017-077015 2017-04-07
JP2017077015 2017-04-07
JP2018-048152 2018-03-15
JP2018048152A JP6406466B1 (ja) 2017-04-07 2018-03-15 制御装置、制御方法および制御プログラム
PCT/JP2018/014142 WO2018186358A1 (ja) 2017-04-07 2018-04-02 制御装置、制御方法および制御プログラム

Publications (2)

Publication Number Publication Date
CN110402430A true CN110402430A (zh) 2019-11-01
CN110402430B CN110402430B (zh) 2023-01-10

Family

ID=63855241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880017192.3A Active CN110402430B (zh) 2017-04-07 2018-04-02 控制装置、控制方法以及记录介质

Country Status (3)

Country Link
JP (1) JP6406466B1 (zh)
CN (1) CN110402430B (zh)
DE (1) DE112018001886T5 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015529A (zh) * 2020-08-05 2020-12-01 北京奇艺世纪科技有限公司 数据任务调度方法、系统、电子设备及存储介质
CN112677659A (zh) * 2020-12-22 2021-04-20 厦门喵宝科技有限公司 一种便携式智能打印装置的控制方法及打印装置
CN114326560A (zh) * 2021-11-18 2022-04-12 北京华能新锐控制技术有限公司 降低风电机组国产化plc的cpu负荷的方法及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7380390B2 (ja) 2020-03-31 2023-11-15 オムロン株式会社 制御装置、プログラムおよび制御方法
US20220075349A1 (en) * 2020-09-08 2022-03-10 Delta Tau Data Systems, Inc. Method and apparatus for multi-core processor management in a motion control system
CN113393146B (zh) * 2021-06-25 2022-12-20 重庆大学 基于贝叶斯网络的多阶段柔性测试系统可靠性评估方法
CN114282661B (zh) * 2021-12-23 2024-06-25 安谋科技(中国)有限公司 神经网络模型的运行方法、可读介质和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
JP2002099434A (ja) * 2000-09-25 2002-04-05 Matsushita Electric Ind Co Ltd 制御装置
US20040045003A1 (en) * 2002-08-28 2004-03-04 David Lake Stack usage in computer-related operating systems
CN103377078A (zh) * 2012-04-11 2013-10-30 广州市地下铁道总公司 车载atp实时任务调度方法及其任务调度系统
CN103477290A (zh) * 2011-03-15 2013-12-25 欧姆龙株式会社 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质
CN104272256A (zh) * 2012-05-24 2015-01-07 科尼龙硅公司 任务处理装置
CN104915256A (zh) * 2015-06-05 2015-09-16 惠州Tcl移动通信有限公司 一种任务的实时调度实现方法及其系统
CN105900025A (zh) * 2014-01-07 2016-08-24 三菱电机株式会社 控制装置、开发装置、以及开发程序

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519060A (ja) * 2003-12-04 2007-07-12 松下電器産業株式会社 タスクスケジューリング装置、タスクスケジューリング方法、タスクスケジューリングプログラム、記録媒体、及び伝送媒体
JP4270038B2 (ja) * 2004-06-16 2009-05-27 株式会社デンソーウェーブ 制御装置及びコンピュータプログラム
US8347044B2 (en) 2009-09-30 2013-01-01 General Electric Company Multi-processor based programmable logic controller and method for operating the same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
JP2002099434A (ja) * 2000-09-25 2002-04-05 Matsushita Electric Ind Co Ltd 制御装置
US20040045003A1 (en) * 2002-08-28 2004-03-04 David Lake Stack usage in computer-related operating systems
CN103477290A (zh) * 2011-03-15 2013-12-25 欧姆龙株式会社 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质
CN103377078A (zh) * 2012-04-11 2013-10-30 广州市地下铁道总公司 车载atp实时任务调度方法及其任务调度系统
CN104272256A (zh) * 2012-05-24 2015-01-07 科尼龙硅公司 任务处理装置
CN105900025A (zh) * 2014-01-07 2016-08-24 三菱电机株式会社 控制装置、开发装置、以及开发程序
CN104915256A (zh) * 2015-06-05 2015-09-16 惠州Tcl移动通信有限公司 一种任务的实时调度实现方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨名: "基于RBAC的任务优先级访问控制的研究与实现", 《煤炭技术》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015529A (zh) * 2020-08-05 2020-12-01 北京奇艺世纪科技有限公司 数据任务调度方法、系统、电子设备及存储介质
CN112015529B (zh) * 2020-08-05 2023-09-01 北京奇艺世纪科技有限公司 数据任务调度方法、系统、电子设备及存储介质
CN112677659A (zh) * 2020-12-22 2021-04-20 厦门喵宝科技有限公司 一种便携式智能打印装置的控制方法及打印装置
CN114326560A (zh) * 2021-11-18 2022-04-12 北京华能新锐控制技术有限公司 降低风电机组国产化plc的cpu负荷的方法及装置
CN114326560B (zh) * 2021-11-18 2024-02-09 北京华能新锐控制技术有限公司 降低风电机组国产化plc的cpu负荷的方法及装置

Also Published As

Publication number Publication date
JP6406466B1 (ja) 2018-10-17
DE112018001886T5 (de) 2019-12-19
CN110402430B (zh) 2023-01-10
JP2018181315A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
CN110402430A (zh) 控制装置、控制方法以及控制程序
US11301294B2 (en) Control device, control method, and control program
US11644803B2 (en) Control system database systems and methods
Yan et al. HANSEL: Adaptive horizontal scaling of microservices using Bi-LSTM
Ferrucci et al. Using hadoop mapreduce for parallel genetic algorithms: A comparison of the global, grid and island models
US11347211B2 (en) Industrial control system with predictive machine learning module
CN114036704A (zh) 用于独立运送技术轨道和线路的监督控制的控制器系统
CN103477290A (zh) 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质
CN109345377A (zh) 一种数据实时处理系统及数据实时处理方法
Soualhia et al. Predicting scheduling failures in the cloud: A case study with google clusters and hadoop on amazon EMR
JP2008524716A (ja) 離散事象シミュレーションを用いた生産計画解析のためのシステムおよび方法
CN101398686A (zh) 通过嵌入式历史机数据实现的自适应工业系统
CN109983412A (zh) 控制装置、控制程序以及控制方法
CN108693823A (zh) 控制装置
CN108628263A (zh) 控制系统、控制装置、计算机可读存储介质以及控制方法
Kádár et al. Discrete event simulation for supporting production planning and scheduling decisions in digital factories
US20190188581A1 (en) Switching from calendar-based to predictive maintenance: a leaner and faster software-based solution orchestrating data-driven forecasting models
Tuli et al. GOSH: Task scheduling using deep surrogate models in fog computing environments
CN109816412A (zh) 一种训练模型生成方法、装置、设备和计算机存储介质
CN109557889A (zh) 支持装置及记录媒体
EP3979014A1 (en) Control system, support device, and support program
JP7288189B2 (ja) ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
Hernández et al. A Simulation-based Scheduling Strategy for Scientific Workflows.
JP7436854B2 (ja) 情報処理装置、制御方法、プログラム
WO2021111936A1 (ja) 予測システム、情報処理装置および情報処理プログラム

Legal Events

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