CN109557889A - 支持装置及记录媒体 - Google Patents

支持装置及记录媒体 Download PDF

Info

Publication number
CN109557889A
CN109557889A CN201810147709.2A CN201810147709A CN109557889A CN 109557889 A CN109557889 A CN 109557889A CN 201810147709 A CN201810147709 A CN 201810147709A CN 109557889 A CN109557889 A CN 109557889A
Authority
CN
China
Prior art keywords
task
priority
module
processing
load
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.)
Pending
Application number
CN201810147709.2A
Other languages
English (en)
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of CN109557889A publication Critical patent/CN109557889A/zh
Pending legal-status Critical Current

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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • 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
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/041Function-oriented details
    • G05B19/0415Function-oriented details adapting phase duration according to measured parameters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种支持装置及记录媒体。所述记录媒体存储用于实现所述支持装置的支持程序的。所述支持装置用于有效率地利用能够由单一控制装置提供的有限的处理资源。支持装置包含:负载推断模块,算出应用程序中所包含的命令的语法分析所需的负载的程度;以及优先级算出模块,基于所算出的负载的程度,算出应当对第二任务设定的优先级。

Description

支持装置及记录媒体
技术领域
本发明涉及一种支持(support)装置及存储用于实现所述支持装置的支持程序(supportprogram)的一种记录媒体,所述支持装置连接于用于对控制对象进行控制的控制装置。
背景技术
在生产现场,各种工厂自动化(Factory Automation,FA)技术正在广泛普及。这种FA系统不仅包含可编程控制器(Programmable Controller,PLC)等控制装置,也包含能够实现计算机数字控制(Computer Numerical Control:CNC)及机器人(robot)等的高级动作的各种致动器(actuator)等。这种FA系统有越来越大规模化的倾向。
例如,日本专利特开2001-027904号公报(专利文献1)公开了一种数字控制系统,所述数字控制系统能够通过使多个CNC装置连结来使所控制的轴数增加,且获得多个CNC装置间的同步。在所述数字控制系统中,主单元(masterunit)及一个或多个从属单元(slaveunit)经由缆线连接。主单元及从属单元各自具有执行梯形程序(ladderprogram)的PLC用处理器(processor)及CNC用处理器。
另外,日本专利特开2016-092544号公报(专利文献2)公开了一种控制系统,所述控制系统通过主控制装置来控制第一控制对象物,并且通过从属控制装置来控制与第一控制对象物不同的第二控制对象物,所述从属控制装置经由网络(network)与所述主控制装置连接。所述控制系统包含主控制装置及从属控制装置。主控制装置及从属控制装置各自包含机器人控制器,所述机器人控制器与具有运算处理部的控制器不同地具有其他运算处理部。
随着近年来信息与通讯技术(Informationand Communication Technology,ICT)的进步,控制装置的处理能力也正飞跃性地提高。也产生如下需求,即,想要利用更少数量的控制装置来实现在以往技术中使用多个专用装置实现的FA系统。
[背景技术文献]
[专利文献]
[专利文献1]日本专利特开2001-027904号公报
[专利文献2]日本专利特开2016-092544号公报
发明内容
[发明欲解决的课题]
在所述专利文献1及专利文献2中所公开的构成中,采用将多个处理器或运算处理部分散配置的构成,为在各个处理器或运算处理部之间实现同步处理,构成可能变得冗余。
本发明应对这种需求,提供一种能够并列地执行多个任务(task)的控制装置。尤其是,本发明的目的之一在于提供一种支持装置及存储用于实现所述支持装置的支持程序的一种记录媒体,所述支持装置用于有效率地利用能够由单一控制装置提供的有限的处理资源(resource)。
[解决课题的手段]
根据本公开的一例提供一种支持装置,所述支持装置连接于具有一个或多个处理器的控制装置。控制装置构成为基于对各任务设定的优先级来处理多个任务。多个任务包含:第一任务,包含依照内部命令(command)在每个第一周期输出控制指令的处理;第二任务,包含如下处理,即,在比第一周期长的每个第二周期,对以解释型语言(interpreterlanguage)记述的应用程序(applicationprogram)的至少一部分进行语法分析(syntacticanalysis)而依次生成内部命令;以及第三任务,包含与第一任务及第二任务不同的处理。支持装置包含:负载推断模块,算出应用程序中所包含的命令的语法分析所需的负载的程度;以及优先级算出模块,基于所算出的负载的程度,算出应当对第二任务设定的优先级。
根据所述公开,当在控制装置中执行第一任务~第三任务时,能够将第二任务的优先级优化,以适当地进行在第一任务中使用的内部命令的生成。由此,能够一边有效率地分配处理资源,一边执行在单一控制装置中相互协作的多个任务。
在所述公开中,支持装置也可还包含提示模块,所述提示模块向用户(user)提示对第二任务设定的优先级。
根据所述公开,用户能够一边确认已算出的优先级,一边决定最终应当设定的优先级。
在所述公开中,支持装置也可还包含设定模块,所述设定模块响应于用户输入而反映针对第二任务的优先级的设定。
根据所述公开,能够设定用户所输入任意的优先级。
在所述公开中,应用程序包含定义目标轨迹的一个或多个命令。第二任务也可包含:依次算出目标轨迹上的通过点的处理;及基于移动路径来生成内部命令的处理,所述移动路径包含所述所算出的多个通过点。负载推断模块也可反映第二周期的长度、用于内部命令的生成的通过点的数量、及所算出的通过点的间隔中的至少一者而算出负载的程度。
根据所述公开,能够在考虑到对第二任务中的运算负载产生影响的参数(parameter)的基础上,更准确地算出负载的程度。
在所述公开中,负载推断模块也可通过参照运算负载系数信息来算出负载的程度,所述运算负载系数信息针对每个命令规定运算负载系数。
根据所述公开,能够考虑到针对应用程序中所包含的每个命令而不同的运算负载的变化来算出负载的程度。
在所述公开中,支持装置也可还包含学习模块,所述学习模块获取控制装置的第二任务的执行状况,并且基于所获取的执行状况来更新运算负载系数信息。
根据所述公开,能够反映实际上在控制装置中产生的运算负载的状况,而决定预先逻辑性地决定的运算负载系数信息的值,所以能够生成更准确的运算负载系数信息。
在所述公开中,支持装置也可还包含:模拟器(emulator),模拟控制装置;以及第二优先级算出模块,基于通过在模拟器中执行多个任务而获取的实际的运算负载的程度,来算出应当对第二任务设定的优先级。
根据所述公开,能够考虑到在更接近于控制装置的环境中执行程序而产生的运算负载来算出优先级,所以能够算出更适当的优先级。
在所述公开中,支持装置也可还包含第三优先级算出模块,所述第三优先级算出模块基于通过在控制装置中执行多个任务而获取的实际的运算负载的程度,来算出对第二任务设定更适当的优先级。
根据所述公开,能够考虑到在实际的控制装置中执行程序而产生的运算负载来算出优先级,所以能够算出更适当的优先级。
根据本公开的另一例提供一种存储用于实现支持装置的支持程序的一种记录媒体,所述支持装置连接于具有一个或多个处理器的控制装置。控制装置构成为基于对各任务设定的优先级来处理多个任务。多个任务包含:第一任务,包含如下处理,即,依照内部命令在每个第一周期输出控制指令;第二任务,包含如下处理,即,在比第一周期长的每个第二周期,对以解释型语言记述的应用程序的至少一部分进行语法分析而依次生成内部命令;以及第三任务,包含与第一任务及第二任务不同的处理。支持程序使计算机执行如下步骤:算出应用程序中所包含的命令的语法分析所需的负载的程度;以及基于所算出的负载的程度,来算出应当对第二任务设定的优先级。
根据所述公开,当在控制装置中执行第一任务~第三任务时,能够优化第二任务的优先级以适当地进行在第一任务中使用的内部命令的生成。由此,能够一边有效率地分配处理资源,一边执行在单一控制装置中相互协作的多个任务。
[发明效果]
根据本发明,能够有效率地利用可由单一控制装置提供的有限的处理资源而并列地执行多个任务。
附图说明
图1(A)、图1(B)是表示本实施方式的控制装置的任务执行的一例的时序图。
图2是表示本实施方式的优先级的算出处理的应用例的示意图。
图3是表示本实施方式的控制系统的整体构成例的示意图。
图4是表示本实施方式的控制装置的硬件构成例的框图。
图5是表示本实施方式的控制装置的功能构成例的框图。
图6(A)、图6(B)是用于说明本实施方式的控制装置的内部命令的生成处理的一例的示意图。
图7是表示本实施方式的支持装置的硬件构成例的框图。
图8是表示本实施方式的支持装置的功能构成例的框图。
图9是表示本实施方式的支持装置的运算负载算出模块的功能构成例的框图。
图10是用于决定本实施方式的支持装置的优先级算出模块所参照的优先级的表格的一例。
图11是表示本实施方式的支持装置所提供的用户接口画面的一例的示意图。
图12是表示本实施方式的支持装置所提供的用户接口画面的另一例的示意图。
图13(A)、图13(B)是表示本实施方式的支持装置所提供的用户接口画面的又一例的示意图。
图14是表示本实施方式的优先级的算出处理的处理顺序的流程图。
图15是用于说明本实施方式的优先级的算出处理的运算负载系数表的学习处理的示意图。
图16是用于说明使用本实施方式的模拟器的优先级的算出处理的示意图。
图17是用于说明使用本实施方式的实际装置的优先级的算出处理的示意图。
附图标号说明
1:控制系统
2:现场网络
6:高级网络
10:第一任务
12:顺序命令执行处理
14、16:输出处理
18:第二任务
20:第三任务
22:第四任务
24:第五任务
30:用户程序
32、32_1、32_2、……、32_N:应用程序
34:系统程序
38:配方信息
40:内部命令
44:移动路径
50:负载推断处理
52:语法分析模块
54:运算负载算出模块
56:运算负载系数表
58:内部命令生成设定信息
60:优先级算出处理
62、62A、62B:优先级算出模块
64、156:任务设定信息
66:对话模块
68:设定模块
70:模拟器
100:控制装置
102、202:处理器
104:芯片组
106、206:主存储器
108、208:存储体
110:高级网络控制器
112、212:USB控制器
114:存储卡接口
116:存储卡
120:内部总线控制器
122:I/O单元
130:现场网络控制器
150:PLC处理引擎
152:顺序程序执行部
154:调度器
160:应用解析部
162:应用调停部
164:控制指令运算部
170:共有存储器
172:共有存储器控制部
174:显示功能部
176:现场网络接口
178:高级网络接口
200:支持装置
204:显示器
210:内部总线
214:输入装置
216:OS
218:支持程序
300:服务器装置
400:显示装置
500:现场机器
510:远程I/O装置
520:机器人
522:机器人控制器
530:工具机
532:伺服电动机
534:输送机
536:工作台
538:伺服驱动器
541:运算负载系数参照模块
542、544、546:系数算出模块
543、545、547:系数乘法模块
548:统计处理模块
600、610、630:用户接口画面
602:趋势图
604、606、608、620、622、632、634、636、638、640:显示窗
612:柱状图
614:平均值
616:最小值
618:最大值
621:优先级表格
624:任务属性信息
Fx1(t)、Fx2(t):函数
P0(t0)、P1(t1)、P2(t2)、P3(t3):通过点
S102、S104、S106、S108、S100、S110、S112、S114、S116、S118、S120、S122、S124:步骤
t0、t1、t2:时刻
T1:控制周期
W:工件
具体实施方式
一边参照附图,一边详细说明本发明的实施方式。此外,对于附图中相同或相当部分附上相同符号,且不重复其说明。
<A.应用例>
首先,参照图1(A)、图1(B)及图2对应用本发明的应用的一例进行说明。
本实施方式的控制装置100能够并列地执行用户程序及应用程序。
本说明书中,“用户程序”包含每次执行时整体被扫描,且每次执行时都能够输出控制指令的程序。用户程序基本上是由用户根据控制对象或应用而任意地制作。作为用户程序的一例而包含如下程序,所述程序包含一个或多个命令,所述一个或多个命令依照由国际电工委员会(International Electrotechnical Commission:IEC)所规定的国际标准IEC61131-3而记述。用户程序可以包含顺序(sequence)命令和/或运动(motion)命令。此外,作为用户程序,并不限定于依照国际标准IEC61131-3而记述的命令,也可包含PLC(可编程控制器)的制造商或供应商等自行规定的命令。这样,用户程序适于要求实时性及高速性的控制。
本说明书中,“顺序命令”是包含一个或多个命令的用语,所述一个或多个命令通过对输入值、输出值、内部值等进行运算的一个或多个逻辑电路来记述。在一次控制周期中,顺序命令从前导执行到结尾为止,在下一控制周期中,“顺序命令”再次从前导执行到结尾为止。
本说明书中,“运动命令”是包含一个或多个命令的用语,所述一个或多个命令用于针对伺服电动机(servomotor)等致动器,运算位置、速度、加速度、加加速度、角度、角速度、角加速度、角加加速度等数值来作为控制指令。关于运动命令,在一次控制周期中,也是从通过功能块(function block)或数值运算式等来记述的运动命令的程序(运动程序)的前导执行到结尾为止。
通过在每个控制周期执行用户程序而输出的控制指令,典型来说包含依照顺序命令而决定的数字(digital)输出的接通/断开、以及依照运动命令而运算的模拟(analog)输出。
本说明书中,“应用程序”包含以解释型语言(Interpreter Language)记述的任意程序。控制装置100一边对应用程序内以解释型语言记述的命令进行语法分析,一边执行处理。作为应用程序的一例,存在记述CNC(Computer Numerical Control:计算机数字控制)中的行为的程序(以下,也称为“NC程序”)、以及用于控制机器人的程序。一般来说,多数情况下NC程序是使用“G语言”进行记述,用于控制机器人的程序是使用专用的机器人语言(例如“M语言”)进行记述。所述应用程序包含定义目标轨迹的一个或多个命令。
在以下的说明中,例如有时也将使用CNC(Computer Numerical Control:计算机数字控制)和/或机器人的进行特定的加工或动作的装置或机械以及它们的控制包含在内称为“控制应用”。
以解释型语言记述的应用程序原本就不适合于在每个固定周期输出控制指令的处理。因此,在本实施方式中,生成适合于在每个控制周期输出控制指令的内部命令。这种内部命令只要为能够在每个控制周期输出控制指令的命令,就可为任何代码。典型来说,内部命令也可为将时间设为输入变量的一个或多个函数、或者将时间设为自变量的一个或多个命令。
图1(A)、图1(B)是表示本实施方式的控制装置100的任务执行的一例的时序图。参照图1(A)、图1(B),本实施方式的控制装置100是基于对各任务设定的优先级来处理多个任务。
本说明书中,“任务”意味着包含一个或多个工序的处理的执行单位。对于各任务,除设定优先级以外,有时也设定执行周期。在设定了执行周期的情况下,调度器(scheduler)依照所述设定的执行周期触发任务的执行。
这种多个任务的执行是通过被称为调度器的控制装置100的功能来管理。调度器将控制装置100所具有的一个或多个处理器的处理时间(以下,也称为“处理器资源”)分配给对象任务。
多个任务典型来说包含在每个控制周期T1反复执行的任务、及以比控制周期T1长的周期执行的任务。
图1(A)、图1(B)中表示按优先级设定的五个任务(第一任务~第五任务)的例子。
第一任务10包含输入输出更新(refresh)处理,所述输入输出更新处理是在与现场(field)之间更新输入值及控制指令(图1(A)、图1(B)中记载为“O/I”)。
第二任务18包含顺序命令执行处理12、输出处理14及输出处理16,所述输出处理14依照由应用程序生成的内部命令而输出控制指令,所述输出处理16是依照用户程序中所包含的运动命令而输出控制指令。也就是说,第二任务18包含依照内部命令来在每个控制周期T1(第一周期)输出控制指令的处理。
第一任务10及第二任务18在每个控制周期T1被触发。因此,对第一任务10及第二任务18设定相对高的优先级。在以下的说明中,也将第一任务10及第二任务18称为“高优先任务”。
第三任务20包含对应用程序进行语法分析而依次生成内部命令的处理。应用程序的语法分析是在比控制周期T1(第一周期)长的每个应用执行周期(第二周期)执行。也就是说,第三任务20包含如下处理,即,在比控制周期T1(第一周期)长的每个应用执行周期(第二周期),对以解释型语言记述的应用程序的至少一部分进行语法分析而依次生成内部命令。
第四任务22包含控制装置100所提供的任意处理。第五任务24包含控制装置100与外部装置之间的数据通讯等处理(以下,也称为“系统服务(systemservice)”)。这样,第四任务22及第五任务24包含与第二任务18及第三任务20不同的处理。
针对第一任务~第五任务,分别设定优先级,并依照各所设定的优先级来分配处理器资源。作为这样分配处理器资源的典型例,第三任务20、第四任务22、及第五任务24在未执行高优先任务的期间执行。在以下的说明中,作为与第一任务10及第二任务18(高优先任务)的对比,也将第三任务20、第四任务22、及第五任务24称为“低优先任务”。
图1(A)中表示对第四任务22设定比第三任务20高的优先级的例子。图1(B)中表示将第三任务20的优先级设定得高于图1(A)的情况下的优先级时的处理例。
在图1(A)所示的例子中,在每个控制周期T1反复执行第一任务10及第二任务18。在各控制周期T1中,在未执行第一任务10及第二任务18的期间,根据优先级来执行第三任务~第五任务。
针对第四任务22,在每个控制周期T1分配有处理器资源。另一方面,针对第三任务20,只在未执行第一任务10、第二任务18、第四任务22中的任一任务的期间分配有处理器资源,所以第三任务20的处理完成一次需要相当于三次控制周期T1的时间。也就是说,在第三任务20被触发后至完成所指定的处理为止,需要控制周期T1的3倍的时间。
在图1(B)所示的例子中,在未执行第一任务10及第二任务18中的任一任务的期间,对第三任务20优先分配处理器资源。其结果,与图1(A)的情况相比,会将更多的处理器资源分配给第三任务20,能够从第三任务20被触发后以控制周期T1的2倍的时间完成指定的处理。也就是说,能够在更短时间内从应用程序的处理对象的代码生成内部命令。
在图1(B)中,与图1(A)的情况相比,也能够分配更多的处理器资源,在所述情况下,能够通过一次处理执行来生成更多的内部命令。
在本实施方式的控制装置100中,第三任务20对应用程序进行语法分析而生成内部命令,第二任务18将在第三任务20中生成的内部命令依次使用(也就是说,在每个控制周期T1“消费”)于控制指令的运算。这样,在通过第三任务20所进行的内部命令的生成与通过第二任务18所进行的内部命令的使用之间产生竞争。
如图1(B)所示,当对第三任务20分配有充足的处理器资源时,能够在通过第二任务18所进行的内部命令的使用之前,提前生成某种程度的量的内部命令。另一方面,如图1(A)所示,当无法对第三任务20分配充足的处理器资源时,也会产生如下情况,即,通过第二任务18所进行的内部命令的使用占优,等待通过第三任务20所进行的内部命令的生成。
因此,在本实施方式中,提前算出应用程序的语法分析所需的负载的程度,基于所算出的负载的程度来算出应当对第三任务20设定的优先级。更具体来说,在所述图1(A)及图1(B)中,提前推断是应当设定图1(A)所示的优先级,还是应当设定图1(B)所示的优先级。
图2是表示本实施方式中,优先级的算出处理的应用例的示意图。参照图2,应用程序32包含一个或多个命令。执行负载推断处理50,所述负载推断处理50推断在对应用程序32的语法分析处理会产生何种程度的负载处理。基于通过负载推断处理50输出的负载的程度,执行算出优先级的优先级算出处理60。当通过这些处理而在控制装置100执行对象的应用程序32时,算出应当对如下任务设定的优先级,所述任务包含对应用程序32进行语法分析而生成内部命令的处理。
这样,负载推断处理50算出应用程序32中所包含的命令的语法分析所需的负载的程度。然后,优先级算出处理60基于所算出的负载的程度,算出应当对图1(A)、图1(B)所示的第三任务20(第二任务)设定的优先级。已算出的优先级可向用户提示,也可自动地设定为对象任务的优先级。
负载推断处理50及优先级算出处理60的功能可安装在控制装置100本身,但也可安装在连接于控制装置100的支持装置。或者,也可安装在完全独立于控制装置100的信息处理装置。
在本实施方式中,能够推断应用程序32中所包含的命令的语法分析所需的负载的程度,且根据所述推断出的负载的程度而提前决定对如下任务设定的适当的优先级,所述任务是对应用程序32进行语法分析。
由于能提前决定适当的优先级,所以能够防止因优先级过低造成对应用程序32进行语法分析而生成内部命令的处理不及时等事态,且能够防止因优先级过高造成无法对其它任务分配充足的处理器资源,从而无法获得必需的处理速度等事态。
另外,由于能够提前决定适当的优先级,所以无需试错性地设定各任务的优先级,能够使执行多种程序的控制装置100的调整作业效率化。也就是说,能够削减用于调整由控制装置100执行的各任务的优先级的步骤数等。
以下,作为本发明的更具体的应用例,对本实施方式的控制装置100及支持装置的更详细的构成及处理进行说明。
<B.控制系统的整体构成例>
首先,对包含本实施方式的控制装置100的控制系统1的整体构成例进行说明。图3是表示本实施方式的控制系统1的整体构成例的示意图。图3中表示以本实施方式的控制装置100为中心的控制系统1。
参照图3,控制装置100相当于对各种设备或装置等控制对象进行控制的工业用控制器。控制装置100是执行如下所述的控制运算的一种计算机,典型来说,也可具体化为PLC(可编程控制器)。控制装置100也可经由现场网络2而与各种现场机器500连接。控制装置100经由现场网络2等而在与一个或多个现场机器500之间交换数据。一般来说,“现场网络”也被称为“现场总线”,但为简化说明,在以下的说明中,统称为“现场网络”。也就是说,本说明书的“现场网络”为除包含狭义的“现场网络”以外还可以包含“现场总线”的概念。
现场网络2优选采用数据的到达时间得到保证的进行固定周期通讯的总线或网络。作为进行这种固定周期通讯的总线或网络,已知有EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等。
在现场网络2能够连接任意的现场机器500。现场机器500包含对制造装置或生产线等(以下,也称为“现场”)施加某些物理作用的致动器、及在与现场之间交换信息的输入输出装置等。
经由现场网络2在控制装置100与现场机器500之间交换数据,这些交换的数据以数百微秒(μsec,microsecond)级~数十微秒(milliseeond)级的极短的周期更新。这种数据的交换包含:将在现场机器500中所收集或生成的数据(以下,也称为“输入数据”)发送给控制装置100的处理;及从控制装置100发送对现场机器500的控制指令等数据(以下,也称为“输出数据”)的处理。这种交换的数据的更新处理相当于所述“输入输出更新处理”。
在图3所示的构成例中,现场机器500包含远程I/O(Input/Output,输入/输出)装置510、机器人520及机器人控制器522、CNC工具机530、伺服驱动器(servodriver)538及伺服申动机532。
伺服电动机532驱动输送机(conveyor)534,将工件(work)W搬送至配置在CNC工具机530的前方的工作台(worktable)536。机器人520将工作台536上的处理前的工件W配置在CNC工具机530内,且将CNC工具机530中的处理完毕工件W取出并配置在工作台536上。
作为现场机器500,并不限定于所述这些,也可采用收集输入数据的任意器件(例如视觉传感器等)、以及施加依照输出数据的某些作用的任意器件(例如,反相器(inverter)装置等)等。
远程I/O装置510典型来说包含经由现场网络2进行通讯的通讯耦合器(coupler)、及用于进行输入数据的获取及输出数据的输出的输入输出部(以下,也称为“I/O单元”)。
在远程I/O装置510,连接有收集输入继电器(input relay)或各种传感器(例如,模拟传感器、温度传感器、振动传感器等)等的输入数据的装置,及输出继电器、接触器(contactor)、伺服驱动器、及其它任意致动器等对现场施加某些作用的装置。
机器人控制器522依照来自控制装置100的控制指令(位置指令或速度指令等)进行轨迹计算及各轴的角度计算等,并且依照计算结果对构成机器人520的伺服电动机等进行驱动。
CNC工具机530通过依照指定位置或速度等的程序来控制加工中心(machiningcenter)等,而对任意的对象物进行加工。CNC工具机530典型来说包含车床(lathe)加工、铣床加工(milling machine)、放电加工等的加工装置。
伺服驱动器538依照来自控制装置100的控制指令(例如,位置指令或速度指令等)来驱动伺服电动机532。
控制装置100也可经由高级网络6来与其它装置连接。对于高级网络6,也可采用作为通常的网络协议(Network Protocol)的以太网(Ethernet)(注册商标)或EtherNet/IP(注册商标)。更具体来说,高级网络6也可连接有一个或多个服务器装置300及一个或多个显示装置400。
作为服务器装置300,假定可以是数据库系统(database system)、制造执行系统(MES:Manufacturing Execution System)等。制造执行系统是获取来自控制对象的制造装置或设备的信息而对生产整体进行监视及管理的系统,也能够处理订单信息、品质信息、出货信息等,并不限定于此,也可将提供信息系统服务的装置连接于高级网络6。作为信息系统服务,假定获取来自控制对象的制造装置或设备的信息而进行宏观或微观分析等的处理。例如,假定抽取来自控制对象的制造装置或设备的信息中所包含的某些特征性倾向的数据挖掘(Datamining)、或用于进行机械学习的机械学习工具等,所述机械学习是基于来自控制对象的设备或机械的信息而进行。
显示装置400接受来自用户的操作,对控制装置100输出与用户操作对应的命令等,并且将控制装置100中的运算结果等以图形(graphical)形式显示。
在控制装置100可以连接支持装置200。支持装置200是支持用于控制装置100对控制对象进行控制所需准备的装置。具体来说,支持装置200提供利用控制装置100执行的程序的开发环境(程序制作编辑工具、剖析器(parser)、编译器(compiler)等)、用于设定控制装置100及连接于控制装置100的各种器件的参数(配置(configuration))的设定环境、将所生成的用户程序输出给控制装置100的功能、联机对控制装置100上所执行的用户程序等进行修正-变更的功能等。本实施方式的支持装置200也能够提供所述图2所示的优先级的算出处理的功能。关于优先级的算出处理将在下文进行详细叙述。
<C.控制装置的硬件构成例>
接着,对本实施方式的控制装置100的硬件构成例进行说明。图4是表示本实施方式的控制装置100的硬件构成例的框图。
参照图4,控制装置100是被称为中央处理器(Central Processing Unit,CPU)单元的运算处理部,包含处理器102、芯片组(Chipset)104、主存储器(mainmemory)106、存储体(storage)108、高级网络控制器110、通用串行总线(Universal Serial Bus,USB)控制器112、存储卡接口114、内部总线控制器120、及现场网络控制器130。
处理器102包含CPU(Central Processing Unit)、微处理单元(Micro ProcessingUnit,MPU)、及图形处理单元(Graphics Processing Unit,GPU)等。作为处理器102,可采用具有多个核心(core)的构成,也可配置多个处理器102。也就是说,控制装置100具有一个或多个处理器102、和/或具有一个或多个核心的处理器102。芯片组104通过控制处理器102及周边组件(element)来实现作为控制装置100整体的处理。主存储器106包含动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static RandomAccess Memory,SRAM)等易失性存储装置等。存储体108例如包含硬盘驱动器(Hard DiskDrive,HDD)或固态驱动器(Solid State Drive,SSD)等非易失性存储装置等。
处理器102读出存储体108中所存储的各种程序,在主存储器106中展开并执行,由此实现与控制对象对应的控制、及如下所述的各种处理。存储体108中除存储着用于实现基本功能的系统程序34以外,还存储着根据控制对象的制造装置或设备来制作的用户程序30及应用程序32。
高级网络控制器110经由高级网络6而控制与服务器装置300或显示装置400(参照图4)等之间的数据的交换。USB控制器112经由USB连接而控制与支持装置200之间的数据的交换。
存储卡接口114是能够装卸存储卡116地构成,能够对存储卡116写入数据,且从存储卡116读出各种数据(用户程序或追踪数据(tracedata)等)。
内部总线控制器120对与安装在控制装置100的I/O单元122之间的数据的交换进行控制。现场网络控制器130对经由现场网络2的与现场器件之间的数据的交换进行控制。
图4中表示通过处理器102执行程序而提供必需的功能的构成例,但也可使用专用的硬件电路(例如特定用途集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等)安装这些提供的功能的一部分或全部。或者,也可使用依照通用的体系结构(architecture)的硬件(例如,以通用个人计算机为基础的工业用个人计算机)来实现控制装置100的主要部分。在所述情况下,也可使用虚拟化技术并列地执行用途不同的多个作业系统(Operating System,OS),并且在各OS上执行必需的应用。
在图4所示的控制系统1中,控制装置100、支持装置200及显示装置400分别作为不同个体构成,也可采用比如将这些功能的全部或一部分汇集到单一装置的构成。
<D.控制装置的功能构成例>
接着,对本实施方式的控制装置100的功能构成例进行说明。图5是表示本实施方式的控制装置100的功能构成例的框图。
图5中表示控制装置100对控制应用1及控制应用2进行控制的构成例。典型来说,控制应用1及控制应用2各自包含继电器或接触器等I/O器件及伺服电动机等各种致动器。除控制应用1及控制应用2以外,关于其它I/O器件及各种传感器,也是经由现场网络2与控制装置100连接。
控制装置100从经由高级网络6而连接的服务器装置300等接收生产开始/结束等指示。服务器装置300也有时将配方(recipe)信息38(生产品种或适于生产的参数等信息)发送至控制装置100。控制装置100也可与未图示的其它控制装置100网络连接。
参照图5,控制装置100包含PLC处理引擎150、应用解析部160、应用调停部162、控制指令运算部164、共有存储器170、共有存储器控制部172、显示功能部174、现场网络接口176、及高级网络接口178。
PLC处理引擎150对用户程序30的执行及控制装置100整体的处理进行管理。更具体来说,PLC处理引擎150包含顺序程序执行部152及调度器154。
顺序程序执行部152在每个控制周期T1执行(扫描)用户程序30并输出控制指令。
调度器154对在控制装置100中执行的处理的顺序进行调停的部件,具体来说,基于预先设定的优先级来对一个或多个任务分配处理器资源。调度器154具有任务设定信息156,所述任务设定信息156包含各任务中所包含的处理及对各任务设定的优先级的信息。任务设定信息156典型来说经由支持装置200而设定或更新。
应用解析部160对应用程序32的至少一部分进行语法分析而生成内部命令40。有时也对应用解析部160提供不同种类的应用程序32。应用解析部160可执行预先存储的应用程序32,也可执行从服务器装置300适当发送的应用程序32。
控制指令运算部164依照用户程序30中所包含的运动命令,在每个控制周期T1对控制指令进行运算。另外,控制指令运算部164依照由应用解析部160依次生成的内部命令40,在每个控制周期T1对控制指令进行运算。
顺序程序执行部152及控制指令运算部164在每个控制周期T1执行处理(高优先任务)。另一方面,通过应用解析部160所进行的对应用程序32的处理,将在作为控制周期T1的整数倍的每个应用执行周期(第二周期)执行(低优先任务)。
当在应用解析部160中对多个应用程序32进行处理时,应用调停部162对其处理顺序等进行调停。
共有存储器170保持在PLC处理引擎150、应用解析部160、及控制指令运算部164之间共有的数据。共有的数据也可作为结构体变量来存储。例如,通过应用解析部160而依次生成的内部命令40被依次写入到共有存储器170的结构体变量。
共有存储器控制部172进行对共有存储器170的数据读写的排他控制、及对应于来自外部的要求的向共有存储器170的存取等。例如,共有存储器控制部172将共有存储器170上的数据提供给现场网络接口176,由此向经由现场网络2连接的任意的现场机器500发送。
显示功能部174将共有存储器170中所存储的数据及应用解析部160的处理结果等输出给用户等。
现场网络接口176作为与经由现场网络2连接的现场机器500之间交换数据的媒介。
高级网络接口178作为与经由高级网络6连接的装置之间交换数据的媒介。
<E.内部命令的生成处理例>
接着,说明控制装置100的应用解析部160对应用程序32进行语法分析而生成内部命令40的处理例。
在本实施方式的控制装置100中,应用解析部160对应用程序32中所记述的一个或多个命令进行语法分析,并基于所述语法分析的内容,生成用于在每个控制周期算出指令值的内部命令40。所生成的内部命令40在共有存储器170中依序排队。
内部命令40也可使用能够将与时间相关的变量作为输入而算出指令值的函数。也就是说,内部命令40也可为控制指令运算部164在每个控制周期输出指令值的函数。更具体来说,内部命令40也可为对时间与指令值的关系进行规定的函数。作为用于规定内部命令40的与时间相关的变量,可使用时刻、自某个基准时间点的经过时间、及控制周期的累积循环数等。
通过使用这种函数,控制指令运算部164能够依序参照所生成的内部命令40,在各控制周期输出指令值。
图6(A)、图6(B)是用来说明本实施方式的控制装置100的内部命令40的生成处理的一例的示意图。图6(A)中表示从时刻t0至时刻t1为止的期间中生成内部命令40的处理顺序,图6(B)中表示从时刻t1至时刻t2为止的期间中生成内部命令40的处理顺序。
参照图6(A),应用解析部160依次对应用程序32进行解析并依序决定目标轨迹。应用解析部160针对依序决定的目标轨迹,依序算出预先确定的每个期间的通过点。各个通过点是基于目标轨迹上的移动距离及目标轨迹上的移动速度而算出。
在图6(A)所示的例子中,除算出时刻t0的初始位置即通过点P0(t0)以外,还算出时刻t1的通过点P1(t1)、时刻t2的通过点P2(t2)、及时刻t3的通过点P3(t3)。
应用解析部160基于通过点P0(t0)、P1(t1)、P2(t2)及P3(t3)的信息,算出从通过点P0(t0)至通过点P1(t1)为止的移动路径44。应用解析部160根据所算出的移动路径44而生成函数Fx1(t)。此外,图6(A)中只表示函数Fx1(t),但实际上生成必须同时控制的电动机的数量的内部命令40。
移动路径44的算出也可仅使用通过点P0(t0)及通过点P1(t1)的信息。但为算出更平滑且准确的移动路径44,也可反映继通过点P1(t1)之后的一个或多个通过点的信息。也就是说,能够通过利用“预读”动作生成内部命令40来提高控制精度。
参照图6(B),关于从时刻t1至时刻t2为止的期间,应用解析部160进一步对应用程序32进行解析而决定更前方的目标轨迹。应用解析部160对所决定的更前方的目标轨迹算出新的通过点。也就是说,应用解析部160新算出通过点P4(t4)。
应用解析部160基于通过点P1(t1)、P2(t2)、P3(t3)、P4(t4)的信息,算出从通过点P1(t1)至通过点P2(t2)为止的移动路径44。应用解析部160根据所算出的移动路径44而生成函数Fx2(t)。此外,图6(B)中仅表示函数Fx2(t),但实际上生成必须同时控制的电动机的数量的内部命令40。
如图6(A)、图6(B)所示,在“预读”动作中,应用解析部160基于目标轨迹上的继相邻的通过点42之后的多个通过点42的信息,生成与目标轨迹上的所述相邻的通过点42间对应的内部命令40。
通过反复执行如上所述的处理顺序,依序生成用于实现目标轨迹的内部命令。这样,对应用程序32进行语法分析的任务包含依次算出目标轨迹上的通过点的处理、及基于包含所述算出的多个通过点的移动路径来生成内部命令的处理。
<F.支持装置的硬件构成例>
接着,对本实施方式的支持装置200的硬件构成例进行说明。图7是表示本实施方式的支持装置200的硬件构成例的框图。
参照图7,支持装置200典型来说是通过在具有通用体系结构的个人计算机上执行支持程序218来实现。更具体来说,参照图7,支持装置200包含处理器202、显示器(display)204、主存储器206、存储体208、USB控制器212、及输入装置214。这些元件(component)是经由内部总线210而连接。
处理器202包含CPU、MPU、GPU等,通过读出各种程序,在主存储器206中展开并执行而实现如下所述的各种功能,所述各种程序包含存储体208中所存储的操作系统OS(Operation System)216及支持程序218。主存储器206包含动态随机存取存储器DRAM或静态随机存取存储器SRAM等易失性存储装置等。存储体208例如包含HDD或SSD等非易失性存储装置等。
显示器204是显示处理器202等的运算结果的器件,例如包含液晶显示器(LiquidCrystal Display,LCD)等。
USB控制器212经由USB连接而在与控制装置100之间交换数据。
输入装置214是受理用户的操作的器件,例如包含键盘(keyboard)或存储器等。
如以下所作说明那样,本实施方式的支持装置200提前算出应用程序32的语法分析所需的负载的程度,并基于所算出的负载的程度来算出应当对第三任务20设定的优先级。
<G.支持装置的功能构成例>
接着,对本实施方式的支持装置200的功能构成例进行说明。图8是表示本实施方式的支持装置200的功能构成例的框图。图8所示的各模块典型来说是通过支持装置200的处理器202执行支持程序218来实现。
参照图8,支持装置200包含语法分析模块52及运算负载算出模块54作为与负载推断处理50相关的模块。支持装置200还包含优先级算出模块62作为与优先级算出处理60相关的模块。支持装置200还包含对话模块66及设定模块68。
语法分析模块52对应用程序32进行语法分析,输出应用程序32中所包含的一个或多个命令。运算负载算出模块54参照运算负载系数表56,获取关于从语法分析模块52输出的各命令的运算负载系数。运算负载系数表56相当于针对每个命令规定运算负载系数的运算负载系数信息。运算负载算出模块54通过参照运算负载系数表56来算出负载的程度即运算负载值。关于运算负载系数表56的数据结构的一例将在下文进行叙述。
语法分析模块52在算出运算负载值时,参照内部命令生成设定信息58。内部命令生成设定信息58包含依照应用程序32生成内部命令40时的参数。
作为生成内部命令40时的参数的一例,可列举:(1)对应用程序进行语法分析的第三任务20(参照图1(A)、图1(B))的执行周期即应用执行周期的长度;(2)用于内部命令40的生成的通过点的数量(参照图6(A)、图6(B));(3)所算出的通过点的间隔(图6(A)、图6(B)所示的从时刻t0至时刻t1为止的期间的长度)。
所述(1)所示的执行周期越短,运算负载越增大,(2)所示的通过点的数量越多,运算负载越增大,(3)所示的通过点的间隔越短,运算负载越增大。因此,运算负载算出模块54是通过对运算负载系数表56乘以取决于所述(1)~(3)所示的参数的权重,来算出运算负载值。这些参数的一部分或全部也有在应用程序32的执行中动态地变化的情况。因此,也有如下情况:应用于应用程序32中所包含的命令群的某一部分的参数与应用于其他部分的参数不同。
另一方面,也可无需反映所述(1)~(3)所示的所有参数,而仅反映一部分参数。这样,运算负载算出模块54反映所述(1)~(3)所示的参数的至少一个而算出运算负载值(负载的程度)。
运算负载算出模块54输出所算出的运算负载值。运算负载值可为通过应用程序32整体的语法分析而依次算出的值的平均值、最大值、最小值、中间值等统计数据,也可为关于整体或一部分区间的累计值。或者,在每个命令处理所需的时间也有可能不同,所以也可使用将对各命令算出的运算负载值以各命令的语法分析所需的时间标准化所得的值。
运算负载值可为无因次的值,也可为占用处理器的时间,且也可为占用处理器的时间比率。
优先级算出模块62是基于由运算负载算出模块54算出的运算负载值,算出与对应的应用程序32的语法分析有关的任务的优先级。更具体来说,优先级算出模块62参照任务设定信息64,算出用于确保处理器资源的优先级,所述处理器资源为用于满足算出的运算负载值所必需的。
任务设定信息64包含当前设定的各任务中所登录的处理、及对各任务设定的优先级等。任务设定信息64也可包含在控制装置100中各任务需要何种程度的运算时间的统计信息。
优先级算出模块62所算出的优先级表示在当前设定的任务之间的相对性的排名。优先级算出模块62也可考虑控制装置100中能够利用的处理器资源中由其它任务使用的处理器资源等,算出适当的优先级。
由优先级算出模块62所算出的优先级被输出给对话模块66及设定模块68。对话模块66对用户提示优先级算出模块62所算出的优先级,并且受理来自用户的指示。
也就是说,对话模块66向用户提示应当对任务设定的优先级,所述任务是对应用程序32进行语法分析。更具体来说,对话模块66在支持装置200的显示器204等显示所算出的优先级。除显示所算出的优先级以外,也可一并显示用于优先级的算出的信息及任意的负载信息。
用户对支持装置200的输入装置214等进行操作,输入对所提示的优先级的许可、或者变更所提示的优先级的指示等。对话模块66将来自用户的指示输出给设定模块68。
设定模块68响应于用户输入而反映对任务的优先级的设定,所述任务是对应用程序32进行语法分析。更具体来说,设定模块68基于来自优先级算出模块62的优先级及来自对话模块66的用户指示,对任务设定信息64设定对象任务的优先级。
通过如上所述的处理,完成对任务的优先级的设定,所述任务用于对对象的应用程序32进行语法分析。更新后的任务设定信息64能够通过任意方法提供给控制装置100。
<H.运算负载算出模块及优先级算出模块>
接着,对图8所示的运算负载算出模块54及优先级算出模块62的更详细的处理内容进行说明。图9是表示本实施方式的支持装置200的运算负载算出模块54的功能构成例的框图。
参照图9,运算负载算出模块54包含运算负载系数参照模块541、系数算出模块542、544、546、系数乘法模块543、545、547、及统计处理模块548。
运算负载系数参照模块541参照运算负载系数表56,获取与所输入的命令的种类对应的运算负载系数。在运算负载系数表56中,针对每个命令规定有运算负载系数。
运算负载系数表56中所规定的运算负载系数可针对每个命令(例如,以G语言或M语言记述)来规定,另外,也可针对算术运算符(Operator)或逻辑运算符来规定。进而,也可针对多个命令的组合来规定运算负载系数。规定运算负载系数的单位能够根据语言来任意地设定。
另外,运算负载系数表56可在利用控制装置100所执行的程序群(也称为“项目(project)”)之间共通化,也可根据执行程序群的控制装置100的性能等来个别地制作。
系数算出模块542输出与应用执行周期(内部命令生成设定信息58中所包含的)的输入对应的校正系数α。系数乘法模块543对来自运算负载系数参照模块541的运算负载系数乘以校正系数α,并输出结果。
系数算出模块544输出与用于内部命令40的生成的通过点的数量(内部命令生成设定信息58中所包含的)的输入对应的校正系数β。系数乘法模块545对来自系数乘法模块543的输出结果乘以校正系数β,并输出结果。
系数算出模块546输出与内部命令40的生成中所算出的通过点的间隔(内部命令生成设定信息58中所包含的)的输入对应的校正系数γ。系数乘法模块547对来自系数乘法模块545的输出结果乘以校正系数γ,并输出结果。
统计处理模块548对针对应用程序32中所包含的每个命令算出的校正后的运算负载系数进行统计处理,由此输出运算负载值。更具体来说,统计处理模块548算出关于针对每个命令算出的校正后的运算负载系数的平均值、最大值、最小值、中间值等。
通过如上所述的功能构成来输出运算负载值。
接着,优先级算出模块62考虑控制装置100中能够利用的处理器资源中由其它任务使用的处理器资源等,算出适当的优先级。更具体来说,优先级算出模块62推断其它任务的执行所需的处理器资源的大小,并基于所述推断出的处理器资源来算出优先级。
或者,优先级算出模块62也可基于所算出的运算负载值的大小,依照预先确定的规则来算出优先级。
图10是用于决定本实施方式的支持装置200的优先级算出模块62所参照的优先级的表格的一例。参照图10,在优先级表格621中,预先规定与运算负载值的范围对应的优先级,优先级算出模块62能够唯一决定与由运算负载算出模块54所算出的运算负载值对应的优先级。
此外,关于优先级的算出方法,并不限定于如上所述的方法,可采用任意方法。
<I.用户接口画面例>
接着,对由优先级算出模块62及对话模块66所提供的用户接口画面的一例进行说明。
图11是表示本实施方式的支持装置200所提供的用户接口画面的一例的示意图。参照图11,用户接口画面600表示针对应用程序32中所包含的各命令所算出的运算负载值的变化。趋势图(Trendgraph)602表示记述有命令的每个区块号(No.)的运算负载值。用户能够通过参照趋势图602,一眼掌握在应用程序32的哪一区块中运算负载相对较高。
用户接口画面600包含:显示窗604,表示应用执行周期的长度;显示窗606,表示用于内部命令40的生成的通过点的数量;以及显示窗608,表示在生成内部命令40时算出的通过点的间隔。
用户也能够自如地变更显示窗604、显示窗606、显示窗608的设定值。也可响应于变更任一设定值而再次算出运算负载值。
图12是表示本实施方式的支持装置200提供的用户接口画面的另一例的示意图。参照图12,用户接口画面610表示由控制装置100执行的各任务使用的处理器资源的大小。柱状图(bargraph)612表示每个任务的处理器时间的长度。各任务中显示有任务属性信息624,所述任务属性信息624表示任务的编号及所设定的优先级等。
柱状图612中,关于评价对象的任务,基于所算出的运算负载值的变化而表示处理器时间的平均值614,除此以外表示最小值616及最大值618。
用户能够通过参照柱状图612,一眼掌握控制装置100中所执行的多个任务中的哪一个任务的运算负载相对较高。
用户接口画面610包含:显示窗620,表示由优先级算出模块62算出的推荐的优先级;以及显示窗622,表示能够在规定的应用执行周期内完成对象的应用程序32的语法分析处理的概率(以下,也称为“执行周期内处理完成概率”)。
执行周期内处理完成概率表示能够在预先规定的应用执行周期内完成对在每个开始时间点开始的应用程序32的语法分析的处理的可能性,且是基于针对对象的应用程序32所算出的运算负载值的大小及不均等而算出。执行周期内处理完成概率也可统计性地算出。用户能够通过参照执行周期内处理完成概率的值,一眼掌握对应用程序32的解析处理设定的优先级具有何种程度的可靠性。
用户也能够自如地变更显示在显示窗620的优先级。也可响应于变更优先级而再次算出执行周期内处理完成概率。
关于用户接口画面610,也可包含:显示窗604,表示应用执行周期的长度;显示窗606,表示用于内部命令40的生成的通过点的数量;以及显示窗608,表示在生成内部命令40时算出的通过点的间隔。
图13(A)、图13(B)是表示本实施方式的支持装置200提供的用户接口画面的又一例的示意图。图13(A)、图13(B)所示的用户接口画面630提供用于供用户调整各种参数的接口。
参照图13(A),更具体来说,用户接口画面630包含:显示窗632,表示优先级;显示窗634,表示应用执行周期的长度;显示窗636,表示用于内部命令40的生成的通过点的数量;以及显示窗638,表示生成内部命令40时算出的通过点的间隔。
显示窗640中显示与分别设定于显示窗632、显示窗634、显示窗636、显示窗638的值对应的执行周期内处理完成概率的值。
用户能够任意地变更分别设定于显示窗632、显示窗634、显示窗636、显示窗638的值。
参照图13(B),例如当变更显示在显示窗632的优先级的值时,依照变更后的优先级再次算出执行周期内处理完成概率,且在显示窗640显示更新后的执行周期内处理完成概率的值。
另外,通过变更显示在显示窗634、显示窗636、显示窗638的任意的值,能够再次算出关于对象的应用程序32的运算负载值,并且能够基于更新后的运算负载值,再次算出执行周期内处理完成概率。
用户在图13(A)、图13(B)所示的用户接口画面630上,将任意的参数变更为任意的值,并确认此时的执行周期内处理完成概率的值,由此能够容易地知晓用于生成任一优先级及内部命令的参数是否为最佳。
<J.处理顺序>
接着,对本实施方式的优先级的算出处理的处理顺序的一例进行说明。
图14是表示本实施方式的优先级的算出处理的处理顺序的流程图。图14所示的各步骤典型来说是通过支持装置200的处理器202执行支持程序218来实现。
参照图14,支持装置200读取成为优先级的算出对象的应用程序32(步骤S100)。另外,支持装置200参照内部命令生成设定信息58,获取与内部命令的生成有关的设定值(步骤S102)。与内部命令的生成有关的设定值包含应用执行周期的长度、用于内部命令40的生成的通过点的数量、及所算出的通过点的间隔等。
支持装置200对所读取的应用程序32进行语法分析,并抽取所述应用程序32中所包含的命令(步骤S104),参照运算负载系数表56,获取与所抽取的命令对应的运算负载系数(步骤S106)。进而,支持装置200对所获取的运算负载系数乘以校正系数而算出运算负载值(步骤s108),所述校正系数与在步骤S102中获取的和内部命令的生成有关的设定值对应。已算出的运算负载值被依次存储。
然后,支持装置200判断对象的应用程序32中所包含的所有命令的抽取是否完成(步骤S110)。如果对象的应用程序32中所包含的命令的抽取未完成(步骤S110中为否(NO)),就反复进行步骤S104以后的处理。
如果对象的应用程序32中所包含的所有命令的抽取完成(步骤S110中为是(YES)),支持装置200就基于步骤S108中所算出的运算负载值、及对任务设定信息64设定的其它任务的信息,算出关于对象的应用程序32的优先级(步骤S112)。接下来,支持装置200算出与已算出的优先级对应的执行周期内处理完成概率(步骤S114)。
然后,支持装置200对用户等提示所算出的优先级、所算出的执行周期内处理完成概率、及与当前的内部命令的生成有关的设定值(步骤s116),并受理来自用户的操作。
当从用户受理与内部命令的生成有关的设定值的变更指示时(步骤S118中为是),反复进行步骤S104以后的处理。由此,再次算出优先级及执行周期内处理完成概率。
另外,当从用户受理优先级的变更指示时(步骤S120中为是),反复进行步骤S114以后的处理。由此,再次算出执行周期内处理完成概率。
另外,当从用户受理优先级的许可指示时(步骤S122中为是),支持装置200设定当前的优先级作为与对象的应用程序32的语法分析有关的任务的优先级(步骤S124)。更具体来说,所设定的优先级被登录于内部命令生成设定信息58。接下来,处理结束。
通过如上所述的处理顺序,能够对任意的应用程序32设定适当的优先级。
<K.运算负载系数表的学习处理>
接着,对基于实际的负载信息学习运算负载系数表56的处理的一例进行说明。
如上所述,在本实施方式的优先级的算出处理中,参照运算负载系数表56算出应用程序32的运算负载值。一般来说,运算负载系数表56中所规定的运算负载系数的值为理论值,实际的运算负载系数的值也存在取决于程序的执行环境等而变化的情况。
因此,也可通过基于实际的负载信息学习运算负载系数表56,来提高运算负载系数表56中所规定的运算负载系数的值的精度。
图15是用于说明本实施方式的优先级的算出处理的运算负载系数表56的学习处理的示意图。参照图15,例如参照运算负载系数表56,从多个应用程序32_1、32_2、……、32_N分别算出运算负载值1、2、……、N。
另一方面,测定实际负载值1、2、……、N,所述实际负载值1、2、……、N表示在控制装置100中执行多个应用程序32_1、32_2、……、32_N的各者时的实际的运算负载的程度。实际负载值1、2、……、N例如表示语法分析处理所需的处理器时间或根据处理器时间算出的负载的程度。
也可基于将运算负载值1、2、……、N与实际负载值1、2、……、N分别加以比较所获得的比较结果1、2、……、N,对运算负载系数表56实施修正(学习)。在所述学习中,以比较结果1、2、……、N(也就是说誤差)成为零的方式,调整运算负载系数表56中所记述的运算负载系数的值。
这样,支持装置200也可具有学习功能,所述学习功能是指获取控制装置100中的对应用程序32进行语法分析的任务的执行状况,并且基于所获取的执行状况来更新运算负载系数表56(运算负载系数信息)。
通过反复调整这种运算负载系数表56中所记述的运算负载系数的值,能够提高运算负载系数表56的精度。
此外,为方便说明,图15中表示并列地处理多个应用程序32_1、32_2、……、32_N的例子,但并不限定于此,也可对一个应用程序32实施多次学习处理。
进而,也可基于来自多个控制装置100的信息而学习运算负载系数表56。在所述情况下,也可将在多个控制装置100的每一个中所获取的比较结果汇集到服务器等,并且在服务器上,调整运算负载系数表56中所记述的运算负载系数的值。
这样,通过利用来自多个控制装置100的信息,能够提高运算负载系数表56的精度,并且能够获得泛化的运算负载系数。
<L.使用模拟器的优先级的算出>
在所述说明中,关于对应用程序32进行语法分析而算出运算负载的方法进行了例示,但除这种利用语法分析的方法以外或者代替所述方法,也可使用模拟器推断出实际的负载信息(实际负载信息),并且算出优先级。
图16是用于说明使用本实施方式的模拟器的优先级的算出处理的示意图。参照图16,支持装置200具有PLC模拟器70。PLC模拟器70是模拟图5所示的控制装置100的功能构成,且是假想地提供与控制装置100所提供的功能实质上相同的功能的软件(software)。也就是说,PLC模拟器70能够执行与控制装置100相同的处理。
如图16所示,与控制装置100中的程序的执行同样地,利用PLC模拟器70来执行用户程序30及应用程序32。将通过利用PLC模拟器70执行这些程序而产生的表示实际的运算负载的程度的实际负载信息从PLC模拟器70输出。
支持装置200具有优先级算出模块62A。优先级算出模块62A具有与所述图8所示的优先级算出模块62相同的功能,基于来自PLC模拟器70的实际负载信息,算出对任务设定的适当的优先级,所述任务是对应用程序32进行语法分析。这样,优先级算出模块62A基于通过在PLC模拟器70中执行多个任务而获取的实际的运算负载的程度,算出应当对任务设定的优先级,所述任务是对应用程序32进行语法分析。
如上所述,通过使用模拟器算出优先级,能够算出反映控制装置100中的更实际的应用程序32的执行状况的优先级。
<M.使用实际装置的优先级的算出>
在所述说明中,对通过使用模拟器推断实际的负载信息(实际负载信息)来算出优先级的方法进行了说明,但也可获取实际上在控制装置100执行程序中产生的实际的负载信息(实际负载信息)而算出优先级。
图17是用于说明使用本实施方式的实际装置的优先级的算出处理的示意图。参照图17,控制装置100执行用户程序30及应用程序32。将通过利用控制装置100执行这些程序而产生的表示实际的运算负载的程度的实际负载信息从控制装置100输出。
支持装置200具有优先级算出模块62B。优先级算出模块62B具有与所述图8所示的优先级算出模块62相同的功能,基于来自控制装置100的实际负载信息,算出对任务设定的适当的优先级,所述任务是对应用程序32进行语法分析。这样,优先级算出模块62B基于通过在控制装置100中执行多个任务执行而获取的实际的运算负载的程度,而算出应当对任务设定的优先级,所述任务是对应用程序32进行语法分析。
如上所述,基于通过实际上在控制装置100中执行程序而获得的实际负载信息来算出优先级,由此能够算出反映应用程序32的实际的执行状况的优先级。
<N.附注>
如上所述的本实施方式包含如下技术思想。
[构成1]
一种支持装置,其是连接于具有一个或多个处理器的控制装置(100)的支持装置(200),所述控制装置构成为基于对各任务设定的优先级来处理多个任务,
所述多个任务包含:
第一任务(10、18),包含依照内部命令在每个第一周期输出控制指令的处理;
第二任务(20),包含在比所述第一周期长的每个第二周期,对以解释型语言记述的应用程序的至少一部分进行语法分析而依次生成所述内部命令的处理;以及
第三任务(22、24),包含与所述第一任务及所述第二任务不同的处理;且
所述支持装置包括:
负载推断模块(52、54),算出所述应用程序中所包含的命令的语法分析所需的负载的程度;以及
优先级算出模块(62),基于所算出的负载的程度,算出应当对所述第二任务设定的优先级。
[构成2]
如构成1的支持装置,其还包括提示模块(66),所述提示模块(66)向用户提示应当对所述第二任务设定的优先级。
[构成3]
如构成1或2的支持装置,其还包括设定模块(68),所述设定模块(68)响应于用户输入,反映对所述第二任务的优先级的设定。
[构成4]
如构成1至3中任一项的支持装置,其中所述应用程序包含定义目标轨迹的一个或多个命令,
所述第二任务包含:依次算出所述目标轨迹上的通过点的处理;及基于包含所述所算出的多个通过点的移动路径来生成所述内部命令的处理;
所述负载推断模块反映所述第二周期的长度、用于所述内部命令的生成的通过点的数量、及所算出的通过点的间隔中的至少一者,算出所述负载的程度。
[构成5]
如构成1至4中任一项的支持装置,其中所述负载推断模块是通过参照针对每个命令规定运算负载系数的运算负载系数信息(56),来算出所述负载的程度。
[构成6]
如构成5的支持装置,其还包括学习模块,所述学习模块获取所述控制装置的所述第二任务的执行状况,并且基于所获取的执行状况来更新所述运算负载系数信息。
[构成7]
如构成1至6中任一项的支持装置,其还包括:模拟器(70),模拟所述控制装置;以及
第二优先级算出模块(62A),基于通过在所述模拟器中执行所述多个任务而获取的实际的运算负载的程度,算出应当对所述第二任务设定的优先级。
[构成8]
如构成1至7中任一项的支持装置,其还包括第三优先级算出模块(62B),所述第三优先级算出模块(62B)是基于通过在所述控制装置中执行所述多个任务而获取的实际的运算负载的程度,算出应当对所述第二任务设定的优先级。
[构成9]
一种存储在记录媒体的支持程序,用于实现支持装置(200),所述支持装置(200)连接于具有一个或多个处理器(102)的控制装置(100),且所述控制装置构成为基于对各任务设定的优先级来处理多个任务,
所述多个任务包含
第一任务(10、18),包含依照内部命令在每个第一周期输出控制指令的处理;
第二任务(20),包含在比所述第一周期长的每个第二周期,对以解释型语言记述的应用程序的至少一部分进行语法分析而依次生成所述内部命令的处理;以及
第三任务(22、24),包含与所述第一任务及所述第二任务不同的处理;且
所述支持程序使计算机执行如下步骤:
步骤(S104、S106、S108),算出所述应用程序中所包含的命令的语法分析所需的负载的程度;以及
步骤(S112),基于所算出的负载的程度,算出应当对所述第二任务设定的优先级。
<O.优点>
本实施方式的支持装置在共有处理器资源执行多个任务时,能够在考虑到通过对关注的任务设定的处理而实际产生的负载的程度的基础上,提前推断应当对所述任务设定的优先级。通过这种优先级的提前推断,能够省略比如在控制装置中试错性地执行程序来决定优先级的工时。另外,即使是事前缺乏知识的用户,也能够了解应当对任务设定的适当的优先级。
本实施方式的支持装置能够对应用程序进行语法分析而算出与其所包含的各命令对应的负载的程度,所以能够实现更准确的负载的程度的算出、及基于其的优先级的算出。
本实施方式的支持装置能够向用户提示与应用程序的执行有关的负载的程度及所设定的优先级的信息等,所以用户在对任务设定优先级时,能够容易地获取更有用的信息。
应认识到此次公开的实施方式均为例示而非限制性者。本发明的范围并非由所述说明表示,而是由权利要求表示,且意图包含与权利要求均等含义及范围内的所有变更。

Claims (9)

1.一种支持装置,连接于具有一个或多个处理器的控制装置,其特征在于,所述控制装置构成为基于对各任务设定的优先级来处理多个任务,
所述多个任务包含:
第一任务,包含依照内部命令在每个第一周期输出控制指令的处理;
第二任务,包含在比所述第一周期长的每个第二周期,对以解释型语言记述的应用程序的至少一部分进行语法分析而依次生成所述内部命令的处理;以及
第三任务,包含与所述第一任务及所述第二任务不同的处理;
所述支持装置包括:
负载推断模块,算出所述应用程序中所包含的命令的语法分析所需的负载的程度;以及
优先级算出模块,基于所算出的负载的程度,算出应当对所述第二任务设定的优先级。
2.根据权利要求1所述的支持装置,其特征在于,还包括提示模块,所述提示模块向用户提示应当对所述第二任务设定的优先级。
3.根据权利要求1所述的支持装置,其特征在于,还包括设定模块,所述设定模块响应于用户输入,反映对所述第二任务的优先级的设定。
4.根据权利要求1至3中任一项所述的支持装置,其特征在于,所述应用程序包含定义目标轨迹的一个或多个命令,
所述第二任务包含依次算出所述目标轨迹上的通过点的处理、及基于包含所述所算出的多个通过点的移动路径来生成所述内部命令的处理,
所述负载推断模块反映所述第二周期的长度、用于所述内部命令的生成的通过点的数量、及所算出的通过点的间隔中的至少一者,算出所述负载的程度。
5.根据权利要求1至3中任一项所述的支持装置,其特征在于,所述负载推断模块是通过参照针对所述每个命令规定运算负载系数的运算负载系数信息,来算出所述负载的程度。
6.根据权利要求5所述的支持装置,其特征在于,还包括学习模块,所述学习模块获取所述控制装置的所述第二任务的执行状况,并且基于所获取的执行状况来更新所述运算负载系数信息。
7.根据权利要求1至3中任一项所述的支持装置,其特征在于,还包括:模拟器,模拟所述控制装置;以及
第二优先级算出模块,基于通过在所述模拟器中执行所述多个任务而获取的实际的运算负载的程度,算出应当对所述第二任务设定的优先级。
8.根据权利要求1至3中任一项所述的支持装置,其特征在于,还包括第三优先级算出模块,所述第三优先级算出模块是基于通过在所述控制装置中执行所述多个任务而获取的实际的运算负载的程度,算出应当对所述第二任务设定的优先级。
9.一种记录媒体,用于存储一种支持程序,所述支持程序用于实现连接于具有一个或多个处理器的控制装置的支持装置,其特征在于,所述控制装置构成为基于对各任务设定的优先级来处理多个任务,
所述多个任务包含:
第一任务,包含依照内部命令在每个第一周期输出控制指令的处理;
第二任务,包含在比所述第一周期长的每个第二周期,对以解释型语言记述的应用程序的至少一部分进行语法分析而依次生成所述内部命令的处理;以及
第三任务,包含与所述第一任务及所述第二任务不同的处理;且
所述支持程序使计算机执行如下步骤:
算出所述应用程序中所包含的命令的语法分析所需的负载的程度;以及
基于所算出的负载的程度,算出应当对所述第二任务设定的优先级。
CN201810147709.2A 2017-09-26 2018-02-12 支持装置及记录媒体 Pending CN109557889A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-185147 2017-09-26
JP2017185147A JP2019061467A (ja) 2017-09-26 2017-09-26 サポート装置およびサポートプログラム

Publications (1)

Publication Number Publication Date
CN109557889A true CN109557889A (zh) 2019-04-02

Family

ID=61256559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810147709.2A Pending CN109557889A (zh) 2017-09-26 2018-02-12 支持装置及记录媒体

Country Status (4)

Country Link
US (1) US20190095246A1 (zh)
EP (1) EP3460596A1 (zh)
JP (1) JP2019061467A (zh)
CN (1) CN109557889A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7277292B2 (ja) * 2019-07-08 2023-05-18 ファナック株式会社 Plc装置
JP7444566B2 (ja) * 2019-09-12 2024-03-06 ファナック株式会社 サーボ制御装置、サーボ制御システム及びサーボ制御方法
JP6761158B1 (ja) * 2019-12-16 2020-09-23 株式会社安川電機 プログラム作成装置、プログラム作成方法、及びプログラム
JP7375632B2 (ja) 2020-03-13 2023-11-08 オムロン株式会社 制御システムおよびサポート装置
WO2021235324A1 (ja) * 2020-05-18 2021-11-25 ファナック株式会社 ロボット制御装置及びロボットシステム
WO2022264424A1 (ja) * 2021-06-18 2022-12-22 ファナック株式会社 制御装置及び制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403631A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 可编程逻辑控制器的cpu单元、可编程逻辑控制器用系统程序以及存储可编程逻辑控制器用系统程序的记录介质
CN103399798A (zh) * 2013-07-29 2013-11-20 深圳市汇川控制技术有限公司 Plc的多任务控制方法和装置
CN104049577A (zh) * 2013-03-13 2014-09-17 西门子公司 用于运行工业控制系统的方法以及工业控制系统
CN104597832A (zh) * 2014-12-31 2015-05-06 浙江中控研究院有限公司 一种基于amba总线的plc程序调度器ip核
CN205210868U (zh) * 2015-12-07 2016-05-04 武汉海默自控股份有限公司 一种基于多核cpu的多任务分配
US20160357623A1 (en) * 2015-06-04 2016-12-08 Fujitsu Limited Abnormality detection method and information processing apparatus

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA951412A (en) * 1970-08-06 1974-07-16 John E. Stevenson Stored program numerical control system
JP3273600B2 (ja) * 1999-03-10 2002-04-08 セイコーエプソン株式会社 プリンタ、プリンタ制御方法及びプログラムを記録した記憶媒体
JP3386777B2 (ja) 1999-05-11 2003-03-17 ファナック株式会社 数値制御システム
US7072805B2 (en) * 2003-10-17 2006-07-04 International Business Machines Corporation Mechanism for on-line prediction of future performance measurements in a computer system
JP2007140655A (ja) * 2005-11-15 2007-06-07 Yaskawa Electric Corp モーションコントローラ
US20080244592A1 (en) * 2007-03-27 2008-10-02 Kabushiki Kaisha Toshiba Multitask processing device and method
JP6465620B2 (ja) 2014-10-31 2019-02-06 ヤマハ発動機株式会社 制御システムおよび制御方法
JP6333796B2 (ja) * 2015-11-25 2018-05-30 ファナック株式会社 複数のcpuコアで最適な負荷配分を行う数値制御装置
US10120363B2 (en) * 2016-02-29 2018-11-06 Fanuc Corporation Numerical controller for machine tool
JP7035858B2 (ja) * 2018-07-03 2022-03-15 富士通株式会社 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403631A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 可编程逻辑控制器的cpu单元、可编程逻辑控制器用系统程序以及存储可编程逻辑控制器用系统程序的记录介质
CN104049577A (zh) * 2013-03-13 2014-09-17 西门子公司 用于运行工业控制系统的方法以及工业控制系统
CN103399798A (zh) * 2013-07-29 2013-11-20 深圳市汇川控制技术有限公司 Plc的多任务控制方法和装置
CN104597832A (zh) * 2014-12-31 2015-05-06 浙江中控研究院有限公司 一种基于amba总线的plc程序调度器ip核
US20160357623A1 (en) * 2015-06-04 2016-12-08 Fujitsu Limited Abnormality detection method and information processing apparatus
CN205210868U (zh) * 2015-12-07 2016-05-04 武汉海默自控股份有限公司 一种基于多核cpu的多任务分配

Also Published As

Publication number Publication date
EP3460596A1 (en) 2019-03-27
US20190095246A1 (en) 2019-03-28
JP2019061467A (ja) 2019-04-18

Similar Documents

Publication Publication Date Title
CN109557889A (zh) 支持装置及记录媒体
CN109388107A (zh) 控制装置
CN109557890A (zh) 控制装置
CN109507980A (zh) 控制装置及控制方法
CN109582397A (zh) 控制系统以及控制装置
CN103477290A (zh) 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质
JP6950385B2 (ja) 制御装置および制御方法
CN109581976A (zh) 控制装置
EP3460602B1 (en) Control apparatus and control method
CN110402430A (zh) 控制装置、控制方法以及控制程序
CN108572619A (zh) 控制装置
EP3916493B1 (de) Prognose eines systemzustands eines technischen systems
Johnstone et al. Enabling industrial scale simulation/emulation models
EP3457239B1 (en) Control device and control method
US11269313B2 (en) Controller and control system that stores data in current control cycle for output in next control cycle
Neugebauer et al. Virtual-reality-based simulation of NC programs for milling machines
US11907735B2 (en) Control device and method for deployment of software
Antkowiak et al. Cyber-physical production systems: a teaching concept in engineering education
Priggemeyer et al. Simulation-based control of reconfigurable robotic workcells: interactive planning and execution of processes in cyber-physical systems
EP0364138A2 (en) Architecture of an integrated system for the control of an industrial manufacturing works
CN114585979A (zh) 控制装置
US11287802B2 (en) Simulation method for simulating a real control for an industrial process, a system, or a machine, and simulation system for carrying out such a simulation method
Schleipen et al. Production monitoring and control systems within the digital factory
Lind Open Real-Time Control and Emulation of Robots and Production Systems
JPH06259437A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190402