CN111052012A - 控制装置以及控制系统 - Google Patents
控制装置以及控制系统 Download PDFInfo
- Publication number
- CN111052012A CN111052012A CN201980004181.6A CN201980004181A CN111052012A CN 111052012 A CN111052012 A CN 111052012A CN 201980004181 A CN201980004181 A CN 201980004181A CN 111052012 A CN111052012 A CN 111052012A
- Authority
- CN
- China
- Prior art keywords
- control
- frame
- output data
- data
- processor
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 136
- 238000012545 processing Methods 0.000 claims abstract description 135
- 238000004891 communication Methods 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims description 86
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 12
- 230000000052 comparative effect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000036461 convulsion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007431 microscopic evaluation Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4155—Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15079—Multitasking, real time multitasking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25213—Synchronisation, address and data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25419—Scheduling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31368—MAP manufacturing automation protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Programmable Controllers (AREA)
Abstract
本公开的一例的控制装置用于对控制对象进行控制,该控制装置具有处理器和通信电路。通信电路进行针对控制对象的输出数据的发送以及来自所述控制对象的输入数据的接收。控制装置构成为:按照预先确定的每个控制周期依次反复进行输出数据的发送、输入数据的接收以及使用输入数据生成输出数据的控制程序的执行,由此对控制对象进行控制。在输出数据的发送处理中,处理器构成为执行以下处理:将通过上次的控制周期中的控制程序的执行而生成的输出数据存储到帧中;以及以使存储有输出数据的帧发送到控制对象的方式对通信电路进行控制。处理器在本次的控制周期内执行要在下次的控制周期内执行的、将输出数据存储到帧中的处理的至少一部分。
Description
技术领域
本公开涉及对控制对象进行控制的控制装置以及具有该控制装置的控制系统。
背景技术
在生产现场,各种各样的FA(Factory Automation:工厂自动化)技术广泛普及。这样的FA系统可以使用PLC(可编程控制器)这样的控制装置。控制装置与1个或多个设备(典型地讲,远程IO(Input/Output:输入/输出)装置、伺服马达驱动器等)之间经由网络交换数据。
在这样的控制装置中,存在想要使输入数据的取得和控制指令的输出高精度地同步这样的要求。为了能够应对这样的要求,经由网络连接的控制装置和设备维持为各自所内置的时钟彼此时刻同步的状态。然后,控制装置和设备分别根据彼此同步后的时钟,调整发送定时和接收定时。
在这样的时刻同步后的结构中,按照每个控制周期执行输入输出处理,该输入输出处理包含:控制装置接收设备装置所收集到的输入数据的处理;以及将由控制装置生成的控制指令发送到设备的处理。例如,日本特开2012-194662号公报(专利文献1)公开如下结构:按照控制周期反复进行控制指令的发送、输入数据的接收、使用输入数据生成控制指令的控制程序(用户程序和动作运算程序)的执行,由此对控制对象进行控制。
现有技术文件
专利文献
专利文献1:日本特开2012-194662号公报
发明内容
发明要解决的课题
在上述的控制装置中,输入输出处理通过由CPU(Central Processing Unit:中央处理单元)等构成的处理器的软件处理来实现。在软件处理中,根据处理器的处理能力等,对某个数据量进行处理所需的处理时间产生偏差。因此,在输入输出处理中的将存储有控制指令的帧发送到设备的处理中,从控制装置向网络发送帧的定时有时产生偏差。
在这样的处理时间的偏差占整个处理时间中的规定比例的情况下,处理时间的偏差也伴随应处理的数据量的增加而增大。因此,在将控制指令发送到设备的处理中,当处理器应处理的数据量增加时,从控制装置向网络发送帧的定时的偏差有可能增加。而且,从控制装置向网络发送帧的定时产生偏差,由此有可能也对网络上的设备接收帧的定时产生影响。由此,有可能使多个设备之间的同步处理的精度下降。
这样,在控制装置中,由于软件处理中的数据处理量对帧的发送定时的偏差精度产生较大影响,因此存在难以保证帧的发送定时的课题。
本公开的目的在于提供用于保证控制装置中的帧的发送定时的新结构。
用于解决课题的手段
本公开的一例的控制装置用于对控制对象进行控制,其中,该控制装置具有处理器和通信电路。通信电路进行针对控制对象的输出数据的发送以及来自所述控制对象的输入数据的接收。控制装置构成为:按照预先确定的每个控制周期依次反复进行输出数据的发送、输入数据的接收以及使用输入数据生成输出数据的控制程序的执行,由此对控制对象进行控制。在输出数据的发送处理中,处理器构成为执行以下处理:将通过上次的控制周期中的控制程序的执行而生成的输出数据存储到帧中;以及以使存储有输出数据的帧发送到控制对象的方式对通信电路进行控制。处理器在本次的控制周期内执行要在下次的控制周期内执行的、将输出数据存储到帧中的处理的至少一部分。
根据本公开,由于以使在本次的控制周期内执行在下次的控制周期内执行的发送处理中包含的软件处理的至少一部分的方式执行发送处理的调度,因此可减少在下次的控制周期内在发送处理中执行的软件处理的数据处理量,可减少软件处理所需的处理时间的偏差。通过减少处理时间的偏差,能够减少发送帧的定时的偏差,因此能够保证帧的发送定时。由此,能够抑制网络上的设备接收帧的定时发生变动,因此能够确保多个设备之间的同步处理的精度。
此外,根据本公开,能够在不改造已有的协议栈和硬件的情况下保证帧的发送定时。
在上述的公开中,处理器在本次的控制周期内执行了控制程序之后,执行将输出数据存储到帧中的处理。当下次的控制周期开始时,处理器进一步执行对通信电路进行控制的处理。
根据该公开,以利用控制程序执行之后的剩余时间来提前地执行可能成为帧的发送定时的偏差的主要原因的、将输出数据存储到帧中的处理的方式,执行发送处理的调度。因此,可减少在下次的控制周期内从控制装置发送帧的定时的偏差,其结果,能够保证帧的发送定时。
在上述的公开中,处理器在本次的控制周期内执行将输出数据存储到帧中的处理的一部分。当下次的控制周期开始时,处理器进一步依次执行将输出数据存储到帧中的处理的剩余部分以及对通信电路进行控制的处理。
根据该公开,由于以在本次的控制周期内执行在下次的控制周期内执行的发送处理中包含的软件处理的一部分的方式执行发送处理的调度,因此可减少在下次的控制周期内在发送处理中执行的软件处理的数据处理量。由此,能够抑制处理器中的处理时间的偏差,因此能够保证帧的发送定时。
在上述的公开中,将输出数据存储到帧中的处理包含:生成帧;以及将输出数据存储到所生成的帧中。控制装置构成为经由上级网络与其他装置之间交换数据。在控制周期内,在控制程序执行之后,通过与其他装置的数据交换对输出数据进行更新的情况下,处理器在本次的控制周期内,在执行了接收输入数据的处理之后并且在控制程序执行之前执行生成帧的处理。当下次的控制周期开始时,处理器还执行存储输出数据的处理。
根据该公开,即使在控制周期内,通过控制装置经由上级网络与其他装置数据交换来对输出数据进行更新的情况下,也能够减少在下次的控制周期中的发送处理中执行的软件处理的数据处理量。由此,能够抑制处理器中的处理时间的偏差,因此能够保证帧的发送定时。
在上述的公开中,将输出数据存储到帧中的处理包含:生成帧;以及将输出数据存储到所生成的帧中。控制装置构成为经由上级网络与其他装置之间交换数据。在控制周期内,在控制程序执行之后,通过与其他装置的数据交换对输出数据进行更新的情况下,处理器在本次的控制周期内,在执行了控制程序之后并且在与其他装置的数据交换执行之前,执行将输出数据存储到帧中的处理。当下次的控制周期开始时,处理器进一步依次执行将更新后的输出数据存储到帧中的处理以及对通信电路进行控制的处理。
根据该公开,即使在控制周期内,通过控制装置经由上级网络与其他装置交换数据而使输出数据更新的情况下,也能够减少在下次的控制周期中的发送处理中执行的软件处理的数据处理量。由此,能够抑制处理器中的处理时间的偏差,因此能够保证帧的发送定时。
本公开的一例的控制系统具有:控制装置;以及1个或多个设备,它们依照来自控制装置的控制指令进行动作。控制装置以及1个或多个设备具有使彼此时刻同步的计时器。控制装置包含:处理器;以及通信电路,其进行针对1个或多个设备的控制指令的发送以及来自1个或多个设备的输入数据的接收,控制装置构成为:按照预先确定的每个控制周期依次反复进行控制指令的发送、输入数据的接收和使用输入数据生成控制指令的控制程序的执行,由此对1个或多个设备进行控制。在控制指令的发送处理中,处理器构成为执行如下处理:将通过上次的控制周期中的控制程序的执行而生成的控制指令存储到帧中;以及以使存储有控制指令的帧发送到控制对象的方式对通信电路进行控制。处理器在本次的控制周期内执行要在下次的控制周期内执行的、将控制指令存储到帧中的处理的至少一部分。
根据本公开,在控制装置中,以在本次的控制周期内执行在下次的控制周期内执行的发送处理中包含的软件处理的至少一部分的方式执行发送处理的调度,因此可减少在下次的控制周期内在发送处理中执行的软件处理的数据处理量,能够减少处理时间的偏差。由此,可保证控制装置中的帧的发送定时,因此能够确保多个设备之间的同步处理的精度。
发明效果
根据本公开的一例,能够提供用于保证控制周期内的帧的发送定时的新结构。
附图说明
图1是示意性地示出本实施方式的控制系统的整体结构例的图。
图2是示出本实施方式的控制装置的硬件结构例的框图。
图3是示出本实施方式的控制装置的软件结构的一例的示意图。
图4是示出比较例的任务的执行时间表的时序图。
图5是示出帧的结构例的图。
图6是示出本实施方式的任务的执行时间表的第1结构例的时序图。
图7是示出本实施方式的任务的执行时间表的第2结构例的时序图。
图8是示出本实施方式的任务的执行时间表的第3结构例的时序图。
具体实施方式
以下,参照附图说明本发明的各实施方式。在以下的说明中,对相同的部件以及结构要素标注相同标号。它们的名称和功能也相同。因此对于它们的详细情况不重复说明。另外,以下所说明的各本实施方式以及各变形例也可以适当选择性地组合。
<A.应用例>
首先,参照图1和图2,对应用本发明的场景的一例进行说明。
图1是示意性地示出本实施方式的控制系统1的整体结构例的图。图1示出以本实施方式的控制装置100为中心的控制系统1。
参照图1,控制装置100相当于对各种设备、装置等控制对象进行控制的产业用控制器。控制装置100为执行如后所述的控制运算的一种计算机,典型地讲,也可以具体化为PLC(可编程控制器)。控制装置100也可以经由现场网络2与各种现场设备500连接。控制装置100经由现场网络2等与1个或多个现场设备500之间交换数据。一般而言,“现场网络”也称作“现场总线”,但是,为了简化说明,在以下的说明中,统称作“现场网络”。即,本说明书的“现场网络”是除了狭义的“现场网络”以外还可以包含“现场总线”的概念。
现场网络2优选采用进行保证数据的到达时间的固定周期通信的总线或网络。作为进行这样的固定周期通信的总线或网络,已知有EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等。
现场网络2能够与任意的现场设备500连接。现场设备500包含对制造装置、生产线等(以下,也统称作“现场”。)施加某些物理上的作用的致动器、以及与现场之间交换信息的输入输出装置等。
在采用EtherCAT(注册商标)作为现场网络2的情况下,与现场网络2连接的节点中的至少1个作为“主机”发挥功能,其他节点作为“从属机”发挥功能。作为“主机”发挥功能的节点对现场网络2中的帧的传送定时等进行管理。
在图1所示的例子中,控制装置100作为“主机”发挥功能,其他的现场设备500作为“从属机”发挥功能。在采用主-从型的结构的现场网络2中,具有使节点之间彼此时刻同步的计时器TMR,根据各节点所具有的计时器TMR表示的时刻(实质上为计数器值)确定帧的传送定时等。
在图1所示的结构中,与现场网络2连接的现场设备500包含远程I/O(Input/Output:输入/输出)装置510、机器人控制器522、526和伺服驱动器540、544。
机器人控制器522、526以及伺服驱动器540、544相当于按照来自控制装置100的控制指令进行动作的1个或多个致动器(设备)。针对伺服驱动器540、544的控制指令是依照在控制装置100中循环执行的序列程序所包含的动作指令来生成的。
另外,图1中示出也将按照来自控制装置100的控制指令进行动作的1个或多个致动器与现场网络2连接的例子,但是不限于此,只要能够接收来自控制装置100的控制指令即可,可以为任意的连接方式。例如,也可以从与现场网络2连接的远程I/O装置510经由信号线施加控制指令。
图2是示出本实施方式的控制装置100的硬件结构例的框图。参照图2,本实施方式的控制装置100为被称作CPU单元的运算处理部,并具有处理器102和现场网络控制器130。
现场网络控制器130对经由现场网络2与现场设备500之间的数据交换进行控制。这样的数据交换包含从控制装置100向现场设备500发送控制指令等数据(以下,也称作“输出数据”。)的处理以及控制装置100接收在现场设备500中收集或生成的数据(以下,也称作“输入数据”。)的处理。现场网络控制器130对应于“通信电路”的一个实施例。
控制装置100构成为:按照预先确定的每个控制周期依次反复进行输出数据的发送、输入数据的接收、以及使用输入数据生成输出数据的控制程序的执行,由此对现场设备500进行控制。
在本说明书中,控制程序包含根据用户的控制目的而生成的用户程序、以及与用户程序协作地实现用户的控制目的的序列程序。序列程序可以包含序列命令和动作命令中的至少1个。序列命令是包含由对输入值、输出值、内部值等进行运算的1个或多个逻辑电路记述的1个或多个命令的用语。动作命令是包含用于将伺服马达等致动器的位置、速度、加速度、加加速度、角度、角速度、角加加速度等数值作为控制指令进行运算的1个或多个命令在内的用语。
在1次的控制周期中,序列程序与用户程序一起执行。典型地讲,通过按照每个控制周期执行序列程序来输出的控制指令包含按照序列命令而确定的数字输出的接通/断开、以及按照动作命令而运算的模拟输出。
在本实施方式的控制装置100中,处理器102构成为在输出数据的发送处理中执行如下处理:(1)将通过上次的控制周期中的控制程序的执行而生成的输出数据(控制指令)存储到帧中;以及(2)以使存储有输出数据的帧发送到现场设备500的方式对现场网络控制器130进行控制。而且,在上述结构中,处理器构成为在本次的控制周期内执行在下次的控制周期内执行的、(1)将输出数据存储到帧中的处理的至少一部分。
输出数据的发送处理中的(1)将输出数据存储到帧中的处理通过处理器102的软件处理来实现,因此,根据处理器102的处理能力等而有时使处理时间产生偏差。因此,将帧从控制装置100发送到现场网络2的定时有时会产生偏差。在处理时间的偏差占整个处理时间中的规定比例的情况下,处理时间的偏差也伴随处理器102应处理的数据量的增加而增大,因此,其结果,帧的发送定时的偏差有可能增加。
这样,当在控制装置100中的帧的发送定时产生偏差时,有可能对现场网络2上的现场设备500接收输出数据的定时产生影响。由此,有可能使多个现场设备500之间的同步处理的精度下降。这样,在控制装置100中,软件处理中的数据处理量会对帧的发送定时的偏差精度产生较大的影响,因此,存在难以保证帧的发送定时的课题。
在本实施方式的控制装置100中,以使在本次的控制周期内执行在下次的控制周期内执行的发送处理中包含的软件处理的至少一部分的方式进行发送处理的调度。由此,在下次的控制周期的开始定时执行的发送处理中,可减少软件处理的数据处理量,因此,能够减少处理时间的偏差。通过以这样的方式减少处理时间的偏差,能够减少帧的发送定时的偏差,其结果,能够保证控制周期内的帧的发送定时。由此,能够保证现场网络2上的现场设备500接收输出数据的定时,因此能够确保多个现场设备500之间的同步处理的精度。
以下,作为本发明的更具体的应用例,对本实施方式的控制系统1的更详细结构以及处理进行说明。
<B.控制系统的整体结构例>
首先,对图1所示的控制系统1的整体结构例更加详细地进行说明。
在图1所示的结构例中,伺服驱动器540、544根据来自控制装置100的控制指令(例如,位置指令或速度指令等),对伺服马达542、546分别进行驱动。
机器人控制器522对机器人520进行驱动,机器人控制器526对机器人524进行驱动。机器人控制器522、526依照来自控制装置100的控制指令(位置指令或速度指令等),进行轨迹计算和各轴的角度计算等,并且根据计算结果对构成机器人520、524的伺服马达等进行驱动。
典型地讲,远程I/O装置510包含:通信耦合器,其经由现场网络2进行通信;以及输入输出部(以下,也称作“I/O单元”。),其用于进行输入数据的取得和输出数据的输出。远程I/O装置510与收集输入中继器、各种传感器(例如,模拟传感器、温度传感器、振动传感器等)等的输入数据的装置、以及输出中继器、接触器、伺服驱动器和其他任意的致动器等对现场施加某些作用的装置连接。
作为现场设备500,不限于这些设备,可以采用收集输入数据的任意的设备(例如,视觉传感器等)、以及依照输出数据施加某种作用的任意的设备(例如,逆变器装置等)等。
经由现场网络2在控制装置100与现场设备500之间交换数据,但是,这些被交换的数据按照几百μsec级~几十msec级的极短周期进行更新。这样的数据交换包含控制装置100接收在现场设备500中收集或生成的数据(输入数据)的处理、以及从控制装置100向现场设备500发送控制指令等数据(输出数据)的处理。这样的被交换的数据的更新处理相当于“输入输出处理”。
控制装置100也可以经由上级网络6与其他装置连接。上级网络6也可以采用作为一般网络协议的以太网(注册商标)、EtherNet/IP(注册商标)。更具体而言,上级网络6也可以与1个或多个服务器装置300、或者1个或多个显示装置400连接。
作为服务器装置300,假想数据库系统、制造执行系统(MES:ManufacturingExecution System)等。制造执行系统为取得来自作为控制对象的制造装置、设备的信息并对生产整体进行监视和管理的制造执行系统,还能够对预约信息、质量信息、出厂信息等进行处理。不限于此,也可以将提供信息系统服务的装置与上级网络6连接。作为信息系统服务,假想取得来自作为控制对象的制造装置、设备的信息并进行宏观或微观的分析等的处理。例如,假想提取来自作为控制对象的制造装置、设备的信息中包含的某些特征性的趋势的数据挖掘以及用于进行基于来自作为控制对象的设备、机械的信息的机械学习的机械学习工具等。
显示装置400接收来自用户的操作,向控制装置100输出与用户操作对应的命令等,并且将控制装置100中的运算结果等以图形方式显示。
并且,控制装置100能够与支持装置200连接。支持装置200是支援为了使控制装置100对控制对象进行控制所需的准备的装置。具体而言,支持装置200提供通过控制装置100执行的程序的开发环境(程序生成编辑工具、分析器、编译器等)、用于设定控制装置100以及与控制装置100连接的各种设备的参数(配置)的设定环境、以及向控制装置100输出所生成的序列程序的功能、在线修正/变更在控制装置100上执行的序列程序等的功能等。
<C.控制装置的硬件结构例>
接着,对本实施方式的控制装置100的硬件结构例进行说明。图2是示出本实施方式的控制装置100的硬件结构例的框图。
参照图2,控制装置100为被称作CPU单元的运算处理部,包含处理器102、芯片组104、主存储器106、存储器108、上级网络控制器110、USB(Universal Serial Bus:通用串行总线)控制器112、存储卡接口114、内部总线控制器120和现场网络控制器130。
处理器102由CPU(Central Processing Unit:中央处理单元)、MPU(MicroProcessing Unit:微处理单元)、GPU(Graphics Processing Unit:图形处理单元)等构成。作为处理器102,可以采用具有多个核的结构,也可以配置多个处理器102。即,控制装置100具有1个或多个处理器102和/或具有1个或多个核的处理器102。芯片组104通过对处理器102和周边元素进行控制,实现作为控制装置100整体的处理。主存储器106由DRAM(DynamicRandom Access Memory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等易失性存储装置等构成。存储器108例如由HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态硬盘)等非易失性存储装置等构成。
处理器102读出存储器108所存储的各种程序,在主存储器106中展开并执行,由此实现与控制对象对应的控制以及如后所述的各种处理。存储器108中除了用于实现基本功能的系统程序34以外,还存储有根据作为控制对象的制造装置、设备而生成的序列程序32、用户程序30和设定信息40。
系统程序34是用于提供作为控制装置100的功能的软件组。具体而言,系统程序34包含调度程序、输入输出处理程序和其他系统程序。
序列程序32是包含在每次执行时对整体进行扫描并在每次执行时能够输出控制指令的程序在内的概念。序列程序32可以包含序列命令和/或动作命令。基本上,序列程序32根据控制对象、应用程序,由用户任意地生成。
用户程序30是根据用户的控制目的而生成的。即,该用户程序30是根据使用控制系统1来进行控制的对象行(进程)等而任意设计的程序。用户程序30与序列程序32协作地实现用户的控制目的。即,用户程序30利用通过序列程序32提供的命令、函数、功能模块等,由此实现所编程的动作。因此,有时将用户程序30以及序列程序32统称作“控制程序”。
设定信息40包含对包含控制装置100在内的控制系统1的结构、设定进行定义的信息。设定信息包含与连接到场网络2的现场设备500相关联的用户程序、设定值的信息以及与连接到上级网络6的装置相关联的用户程序、设定值的信息。
存储器108中还存储有:协议栈36,其由对现场网络2中的通信的顺序及交换进行规定的多个协议的分层构成;以及设备驱动程序38,其对现场网络控制器130进行控制。
上级网络控制器110对经由上级网络6与服务器装置300、显示装置400(参照图1)等之间的数据交换进行控制。USB控制器112对经由USB连接与支持装置200之间的数据交换进行控制。
存储卡接口114构成为能够拆装存储卡116,能够对存储卡116写入数据或从存储卡116读出各种数据(序列程序32、用户程序30等)。
内部总线控制器120对与安装在控制装置100上的I/O单元12之间的数据交换进行控制。具体而言,内部总线控制器120作为向I/O单元12输出的数据(输出数据)的发送缓冲器和从I/O单元12输入的数据(输入数据)的接收缓冲器发挥功能。另外,由处理器102的运算处理而生成的输出数据最初被存储到存储器108中。而且,应传送到特定的I/O单元12的输出数据被从存储器108读出并临时保持到发送缓冲器中。此外,从I/O单元12传送的输入数据在临时保持到接收缓冲器中之后,转移到存储器108。内部总线控制器120还进行与I/O单元12之间的如下处理:对发送缓冲器的输出数据进行发送;以及接收输入数据并存储到接收缓冲器中。典型地讲,内部总线控制器120提供内部总线中的物理层和数据链路层的功能。
现场网络控制器130对经由现场网络2与现场设备500之间的数据交换进行控制。即,现场网络控制器130依照现场网络2的标准对输出数据的发送和输入数据的接收进行控制。具体而言,现场网络控制器130作为输出到现场设备500的数据(输出数据)的发送缓冲器以及从现场设备500输入的数据(输入数据)的接收缓冲器发挥功能。另外,由处理器102的运算处理而生成的输出数据最初被存储到存储器108中。而且,应传送到特定的现场设备500的输出数据被从存储器108读出并临时保持到发送缓冲器中。此外,从现场设备500传送的输入数据在临时保持到接收缓冲器中之后,转移到存储器108。现场网络控制器130还进行与现场设备500之间的如下处理:对发送缓冲器的输出数据进行发送;以及接收输入数据并存储到接收缓冲器中。典型地讲,现场网络控制器130提供现场网络2中的物理层和数据链接层的功能。
另外,图2中示出了通过使处理器102执行程序来提供必要的功能的结构例,但是,也可以使用专用的硬件电路(例如,ASIC或FPGA等)安装它们所提供的功能的一部分或全部。或者,也可以依照通用的体系结构,使用硬件(例如,基于通用个人计算机的产业用个人计算机)实现控制装置100的主要部分。在该情况下,也可以使用虚拟化技术并列地执行用途不同的多个OS(Operating System:操作系统),并且在各OS上执行必要的应用程序。
在图2所示的控制系统1中,控制装置100、支持装置200和显示装置400分别独立地构成,但是,也可以采用如将它们的功能的全部或一部分整合到单一装置中的结构。
<D.控制装置的软件结构例>
接着,对本实施方式的控制装置100的软件结构的一例进行说明。图3是示出本实施方式的控制装置100的软件结构的一例的示意图。
参照图3,在控制装置100的处理器102中执行调度程序170。调度程序170依照预先确定的控制周期,确定多个处理的执行顺序、执行中断等。更具体而言,调度程序170按照预先确定的优先级和控制周期等,对控制程序执行处理173、包含各种处理的周边处理174和输入输出处理177分配处理资源(处理器时间和内存等)。
控制程序执行处理173包含用户程序30和序列程序32(控制程序)的执行涉及的处理。
输入输出处理177是经由现场网络2在控制装置100与现场设备500之间交换的数据的更新处理。输入输出处理包含接收输入数据并传送到控制装置100的处理(以下,也称作“接收处理”。)、以及从控制装置100向现场设备500发送输出数据的处理(以下,也称作“发送处理”。)。这些处理依照协议栈36来执行。
并且,在控制装置100的处理器102上安装有设备驱动程序38,设备驱动程序38对现场网络控制器130等进行控制。
调度程序170进行输入输出处理和控制程序执行处理的调度。作为输入输出处理中的发送处理的调度,准备了后述的三种发送模式(发送模式1、发送模式2、发送模式3)172。这些3种发送模式以1个控制周期内向现场设备500发送帧的发送定时彼此不同的方式构成。这3个发送模式无需全部都安装,也可以仅安装必要的发送模式。也可以除了3个发送模式以外,或者替代3个发送模式,采用除了3个发送模式以外的发送模式。
另外,关于使用上述3个发送模式中的哪个发送模式,在支持装置200中,能够在设定与控制装置100连接的各种设备的参数(配置)时进行设定。
<E.任务的执行时间表>
首先,参照图4,对比较例的任务的执行时间表进行说明。图4是示出比较例的任务的执行时间表的时序图。
参照图4,作为控制装置100执行的任务,设定有输入输出处理(发送处理和接收处理)、依照用户程序30的控制指令的输出处理(用户程序处理)以及依照序列程序32中包含的动作命令的控制指令的输出处理(动作处理)。这些任务按照每个控制周期来执行。
另外,用户程序处理是按照每个控制周期执行用户程序30来运算控制指令的处理。动作处理是依照动作命令,按照每个控制周期运算控制指令的处理。这些控制指令面向机器人控制器522、526和伺服驱动器540、544中的至少一部分。以下,也将用户程序处理和动作处理统一称作控制程序处理。
发送处理是将通过用户程序30和序列程序32的执行而生成的输出数据(控制指令等)经由现场网络控制器130发送到现场网络2上的现场设备500的处理。具体而言,发送处理由(1)帧生成、(2)数据存储、(3)设备驱动、(4)硬件构成。其中的(1)帧生成、(2)数据存储和(3)设备驱动通过处理器102来执行。
(1)帧生成是生成在现场网络2上传送的帧的处理。图5示出帧的结构例。如图5所示,帧800例如包含前置部81、报头部82、数据部83和帧尾部84。
前置部81存储有表示同步信号的前置,该同步信号表示帧的开始。报头部82存储有在现场网络2中作为TALKER的帧的发送源、作为帧的LISTNER的发送目的地和类型。发送源和发送目的地中能够应用各种地址。在采用基于Ethernet的产业用网络的情况下,报头部82由Ethernet报头和作为产业用网络的报头构成。Ethernet报头包含发送源、发送目的地和Ether类型等,作为产业用网络的报头包含数据尺寸和类型等。
数据部83存储有应经由现场网络2传送的数据(输出数据和输入数据)。数据部83中可以存储包含控制系统数据的各种数据。控制系统数据是用于制造装置、设备的控制的数据,包含通过用户程序30和序列程序32的执行而生成的控制指令。在存储有控制系统数据作为数据的帧800中,其发送源表示控制装置100,发送目的地表示任意的现场设备500。
帧尾部84存储有错误检测的FCS(Frame Check Sequence:帧校验序列)。在采用基于Ethernet的产业用网络的情况下,帧尾部84由Ethernet帧尾构成。帧尾部84有时还包含产业用网络的帧尾。
另外,图5的帧的结构仅是一例,不限定于此。此外,在本实施方式中,在现场网络2中传送的数据的形式设为帧,但是不限定于帧。
在(1)帧生成中,处理器102形成图5所示的帧800中的报头部82和帧尾部84。具体而言,处理器102将发送源、发送目的地和类型等存储到报头部82中。处理器102将控制装置100的地址存储到发送源中,并且确定应被发送控制指令的现场设备500,将该现场设备500的地址存储到发送目的地中。处理器102还将FCS存储到帧尾部84中。另外,在采用基于Ethernet的产业用网络的情况下,处理器102形成Ehternet报头和作为产业用网络的报头,并且形成Ethernet帧尾和作为产业用网络的帧尾。
在(2)数据存储中,处理器102将各种数据存储到帧800的数据部83中。处理器102将通过上次的控制周期中的依照用户程序30的控制指令的输出处理(用户程序处理)以及依照序列程序32中包含的动作命令的控制指令的输出处理(动作处理)而生成的控制指令存储到帧的数据部83中。这时,处理器102以能够成批地发送被发送到相同的现场设备500的多个输出数据的方式重新配置输出数据,以使能够汇总朝向同一现场设备500的输出数据组。在以下的说明中,将(1)帧生成和(2)数据存储也统称作“将输出数据存储到帧中的处理”。
在(3)设备驱动中,处理器102对现场网络控制器130进行控制。处理器102将存储有输出数据的帧传送到现场网络控制器130。
在(4)硬件中,现场网络控制器130将所传送的帧经由现场网络2发送到发送目的地(现场设备500)。
接收处理是将从现场网络2上的现场设备500传送的输入数据经由现场网络控制器130发送到处理器102的处理。具体而言,从发送目的地(现场设备500)经由现场网络2发送的输入数据通过现场网络控制器130接收,并存储到内部的接收缓冲器中。该接收缓冲器中存储的输入数据被传送到处理器102。处理器102将传送到的输入数据复制到主存储器中。这时,处理器102将复制到主存储器106中的输入数据重新配置为适于控制程序使用的形式。
在现场网络2采用EtherCAT(注册商标)的情况下,单一的帧中包含向各现场设备500发送的输出数据和来自各现场设备500的输入数据。当从设定于主机的控制装置100发送帧时,所发送的帧经由菊花链连接的各个现场设备500而依次传送。另外,除了控制装置100以外的各个现场设备500被设定为从属机。当帧到达终端的现场设备500时,那么该帧在全双重的通信路径中折回并再次经由作为从属机的各个现场设备500返回控制装置100。在各现场设备500中,使去路的帧以FIFO(First In First Out:先进先出)方式通过并选择性地取入向本从属机发送的输出数据,并且将在本从属机中产生的输入数据写入帧的适当位置。各从属机使回程的帧在不进行输出数据的读出和输入数据的写入的情况下通过。
这样,在采用EtherCAT(注册商标)的情况下,发送和接收单一的帧的情况相当于基于现场网络控制器130的从处理器102向各现场设备500的输出数据的传送和从各现场设备500向处理器102的输入数据的传送。
在使用EtherCAT(注册商标)作为现场网络2的情况下,发送包含输出数据的帧,在该帧经由作为从属机的各个现场设备500返回的情况下,该帧中包含输入数据。因此,关于执行顺序,在发送处理之后执行接收处理。
在执行接收处理之后,处理器102使用输入数据依次执行用户程序处理和序列处理。即,处理器102执行使用输入数据来生成输出数据的控制程序。然后,处理器102根据控制程序的执行结果,在下一控制周期中进行输出数据的发送和输入数据的接收。
这样,控制装置100依次反复进行输出数据的发送(发送处理)、输入数据的接收(接收处理)和使用输入数据生成输出数据的控制程序的执行(控制程序处理),由此对控制对象进行控制。即,处理器102执行存储器108所存储的控制程序(用户程序30和序列程序32),现场网络控制器130根据该执行结果,按照每个控制周期进行输出数据的发送和输入数据的接收。
这里,在图4所示的比较例中,当控制周期开始时,处理器102依次执行(1)帧生成、(2)数据存储、(3)设备驱动来作为发送处理,现场网络控制器130构成(4)硬件,向现场网络2发送帧。其中的(1)帧生成和(2)数据存储(即,将输出数据存储到帧中的处理)通过处理器102的软件处理来执行。因此,存在处理时间的偏差伴随处理器102应处理的数据量的增加而增大的趋势。其结果,将帧从控制装置100发送到现场网络2的定时的偏差伴随数据量的增加而增长。
这样,在比较例中,发送处理中的数据处理量会对将帧从控制装置100发送到现场网络2的定时的偏差精度产生影响,因此,存在难以严格地保证帧的发送定时的课题。当帧的发送定时产生偏差时,有可能对现场网络2上的现场设备500接收帧的定时产生影响,因此,有可能使多个现场设备500之间的同步处理的精度下降。
因此,在本实施方式的控制装置100中,在发送处理中,处理器102在本次的控制周期内执行在下次的控制周期内执行的、将输出数据存储到帧中的处理的至少一部分。即,以使在本次的控制周期内执行在下次的控制周期内执行的发送处理中包含的软件处理的至少一部分的方式,执行发送处理的调度。
由此,在下次的控制周期内,可减少在发送处理中执行的软件处理的数据处理量,因此可减少软件处理所需的处理时间的偏差。通过减少软件处理的处理时间的偏差,能够减少发送帧的定时的偏差。由此,能够保证现场网络2上的现场设备500接收帧的定时,因此能够确保多个现场设备500之间的同步处理的精度。
以下,对本实施方式的发送处理的调度进行说明。图6至图8所示的任务的执行时间表、即处理器资源的分配通过调度程序170(参照图3)来执行。
关于发送处理,调度程序170能够根据由支持装置200设定的与控制装置100连接的各种设备的结构信息(配置),选择性地执行三种发送模式(发送模式1、发送模式2和发送模式3)。
具体而言,发送模式1能够应用于在控制装置100与连接于上级网络6的其他装置(服务器装置300和显示装置400等)之间不进行数据交换的结构。另一方面,发送模式2和发送模式3能够应用于在控制装置100与连接于上级网络6的其他装置之间进行数据交换的结构。
与连接于上级网络6的其他装置之间的数据的交换是使用控制周期内的、控制程序执行之后的剩余时间来执行的。有时通过该数据的交换,对通过控制程序的执行而生成的输出数据进行更新。在该情况下,需要将更新后的输出数据存储到帧中。发送模式2和发送模式3规定了对输出数据进行更新的情况下的发送处理的调度。
另外,调度程序170设为在执行任务的期间内不进行适当选择上述3种发送模式这样的动态调度。这是因为3种发送模式的发送处理所需的时间相互不同,因此,当动态地切换发送模式时,发送处理时间会发生变动,其结果,有可能使现场设备500接收帧的定时发生变动。
(f1.发送模式1)
图6是示出本实施方式的任务的执行时间表的第1结构例的时序图。第1结构例示出选择了发送模式1的情况下的任务的执行时间表。
参照图6,在第1结构例中,构成发送处理的(1)帧生成、(2)数据存储、(3)设备驱动和(4)硬件中的(1)帧生成以及(2)数据存储,在本次的控制周期内的控制程序执行之后执行。而且,当开始下次的控制周期时,执行(3)设备驱动以及(4)硬件。
当对图4所示的比较例和图6的第1结构例进行比较时,在本结构例中,利用控制程序执行之后的剩余时间来提前执行发送处理中的将输出数据存储到帧中的处理。
如上所述,将输出数据存储到帧中的处理,通过处理器102的软件处理来执行,因此,存在处理时间的偏差伴随数据处理量的增加而增大的趋势。因此,如图4的比较例那样,在下次的控制周期开始的定时下执行将输出数据存储到帧中的处理((1)帧生成和(2)数据存储)时,从控制装置100发送帧的定时有可能产生偏差。
与此相对,在第1结构例中,由于在本次的控制周期内提前地执行可能成为发送定时的偏差的主要原因的、将输出数据存储到帧中的处理,因此可减少在下次的控制周期内从控制装置100发送帧的定时的偏差。由此,能够保证帧的发送定时,因此能够确保多个现场设备500之间的同步处理的精度。
(f2.发送模式2)
图7是示出本实施方式的任务的执行时间表的第2结构例的时序图。第2结构例示出选择了发送模式2的情况下的任务的执行时间表。
参照图7,在第2结构例中,构成发送处理的(1)帧生成、(2)数据存储、(3)设备驱动和(4)硬件中的(1)帧生成,在本次的控制周期内,在接收处理执行之后且用户程序执行之前执行。然后,当开始下次的控制周期时,依次执行(2)数据存储、(3)设备驱动和(4)硬件。
在第2结构例中,由于在执行控制程序而生成输出数据之前生成帧,所以在(1)帧生成的阶段中,在帧的数据部中临时存储有虚拟数据(不指定控制的数据)。而且,在存储虚拟数据之后,依次执行用户程序处理和动作处理。
在执行动作处理之后,经由上级网络6在控制装置100与其他装置(服务器装置300和显示装置400等)之间进行数据的交换。有时通过该数据的交换对输出数据进行更新。
在第2结构例中,当开始下次的控制周期时,作为(2)数据存储,处理器102执行将存储在帧中的虚拟数据改写为通过控制程序而生成的输出数据的处理。该输出数据包含通过经由上级网络6与其他装置的通信而更新后的数据。在存储输出数据之后,依次执行(3)设备驱动和(4)硬件。
在第2结构例中,由于提前执行软件处理中的(1)帧生成,因此与图4的比较例相比,可减少在下次的控制周期中的发送处理中执行的软件处理的数据处理量。由于通过减少软件处理的数据处理量,还可减少处理时间的偏差,因此能够减少发送帧的定时的偏差。由此,能够保证现场网络2上的现场设备500接收帧的定时,因此能够确保多个现场设备500之间的同步处理的精度。
(f3.发送模式3)
图8是示出本实施方式的任务的执行时间表的第3结构例的时序图。第3结构例示出选择了发送模式3的情况下的任务的执行时间表。
参照图8,在第3结构例中,构成发送处理的(1)帧生成、(2)数据存储、(3)设备驱动和(4)硬件中的(1)帧生成和(2)数据存储是在本次的控制周期内,在控制程序执行之后执行。但是,在本结构例中,由于在控制程序执行之后,经由上级网络6在控制装置100与其他装置之间进行数据的交换,因此有时对输出数据进行更新。因此,当开始下次的控制周期时,首先执行将更新后的输出数据存储到帧中的处理。在存储输出数据之后,依次执行(3)设备驱动和(4)硬件。
在第3结构例中,由于提前执行软件处理中的(1)帧生成和(2)数据存储,因此与图4的比较例相比,可减少在下次的控制周期中的发送处理中执行的软件处理的数据处理量。通过减少软件处理的数据处理量,还可减少处理时间的偏差,因此能够减少发送帧的定时的偏差。由此,能够保证现场网络2上的现场设备500接收帧的定时,因此能够确保多个现场设备500之间的同步处理的精度。
另外,在第3结构例中,与第2结构例相比,可进一步减少下次的控制周期的开始定时的数据处理量。因此,能够更加严格地保证控制周期内的发送帧的定时。
<H.附记>
如上所述的本实施方式包含如下所述的技术构思。
[结构1]
一种控制装置(1),其用于对控制对象进行控制,其中,该控制装置(1)具有:
处理器(102);以及
通信电路(130),其进行针对所述控制对象的输出数据的发送以及来自所述控制对象的输入数据的接收,
所述控制装置构成为:按照预先确定的每个控制周期依次反复进行所述输出数据的发送、所述输入数据的接收以及使用所述输入数据生成所述输出数据的控制程序的执行,由此对所述控制对象进行控制,
在所述输出数据的发送处理中,所述处理器构成为执行以下处理:
将通过上次的控制周期中的所述控制程序的执行而生成的所述输出数据存储到帧中;以及
以使存储有所述输出数据的所述帧发送到所述控制对象的方式,对所述通信电路进行控制,
所述处理器在本次的控制周期内执行要在下次的控制周期内执行的、将所述输出数据存储到帧中的处理的至少一部分。
[结构2]
根据结构1所述的控制装置,其中,
所述处理器在本次的控制周期内执行了所述控制程序之后,执行将所述输出数据存储到帧中的处理,
当下次的控制周期开始时,所述处理器执行对所述通信电路进行控制的处理。
[结构3]
根据结构1所述的控制装置,其中,
所述处理器在本次的控制周期内,执行将所述输出数据存储到帧中的处理的一部分,
当下次的控制周期开始时,所述处理器依次执行将所述输出数据存储到帧中的处理的剩余部分以及对所述通信电路进行控制的处理。
[结构4]
根据结构3所述的控制装置,其中,
将所述输出数据存储到帧中的处理包含以下处理:
生成所述帧;以及
将所述输出数据存储到所生成的所述帧中,
所述控制装置构成为经由上级网络(6)与其他装置(300、400)之间交换数据,
在控制周期内,在所述控制程序执行之后,通过与所述其他装置的数据交换对所述输出数据进行更新的情况下,
所述处理器在本次的控制周期内,在执行了接收所述输入数据的处理之后并且在所述控制程序执行之前执行生成所述帧的处理,
当下次的控制周期开始时,所述处理器执行存储所述输出数据的处理。
[结构5]
根据结构3所述的控制装置,其中,
将所述输出数据存储到帧中的处理包含以下处理:
生成所述帧;以及
将所述输出数据存储到所生成的所述帧中,
所述控制装置构成为经由上级网络与其他装置之间交换数据,
在控制周期内,在所述控制程序执行之后,通过与所述其他装置的数据交换来对所述输出数据进行更新的情况下,
所述处理器在本次的控制周期内,在执行了所述控制程序之后并且在执行与所述其他装置的数据交换之前,执行将所述输出数据存储到帧中的处理,
当下次的控制周期开始时,所述处理器依次执行将更新后的所述输出数据存储到所述帧中的处理以及对所述通信电路进行控制的处理。
[结构6]
一种控制系统,其具有:
控制装置;以及
1个或多个设备(500),它们依照来自所述控制装置的控制指令进行动作,
所述控制装置以及所述1个或多个设备具有使彼此时刻同步的计时器(TMR),所述控制装置包含:
处理器;以及
通信电路,其进行针对所述1个或多个设备的控制指令的发送以及来自所述1个或多个设备的输入数据的接收,
所述控制装置构成为:按照预先确定的每个控制周期依次反复进行所述控制指令的发送、所述输入数据的接收以及使用所述输入数据生成所述控制指令的控制程序的执行,由此对所述1个或多个设备进行控制,
在所述控制指令的发送处理中,
所述处理器构成为执行以下处理:将通过上次的控制周期中的所述控制程序的执行而生成的所述控制指令存储到帧中;以及
以使存储有所述控制指令的所述帧发送到所述控制对象的方式,对所述通信电路进行控制,
所述处理器在本次的控制周期内执行要在下次的控制周期内执行的、将所述控制指令存储到帧中的处理的至少一部分。
应该认为此次公开的实施方式在所有方面都是例示,而不是限制性内容。本发明的范围不通过上述说明来表示,而通过权利要求书来表示,是指包含与权利要求书同等的意思和范围内的所有变更。
标号说明
1:控制系统;30:用户程序;32:序列程序;34:系统程序;36:协议栈;38:设备驱动程序;40:设定信息;81:前置部;82:报头部;83:数据部;84:帧尾部;100:控制装置;102:处理器;104:芯片组;106:主存储器;108:存储器;110:上级网络控制器;112:USB控制器;114:存储卡接口;116:存储卡;120:内部总线控制器;122:I/O单元;130:现场网络控制器;170:调度程序;172:发送模式;173:控制程序执行处理;174:其他周边处理;177:输入输出处理;200:支持装置;300:服务器装置;400:显示装置;500:现场设备;510:远程I/O装置;520;524:机器人;522、526:机器人控制器;540、544:伺服驱动器;542、546:伺服马达;800:帧。
Claims (6)
1.一种控制装置,其用于对控制对象进行控制,其中,所述控制装置具有:
处理器;以及
通信电路,其进行针对所述控制对象的输出数据的发送以及来自所述控制对象的输入数据的接收,
所述控制装置构成为:按照预先确定的每个控制周期依次反复进行所述输出数据的发送、所述输入数据的接收以及使用所述输入数据生成所述输出数据的控制程序的执行,由此对所述控制对象进行控制,
在所述输出数据的发送处理中,所述处理器构成为执行以下处理:
将通过上次的控制周期中的所述控制程序的执行而生成的所述输出数据存储到帧中;以及
以使存储有所述输出数据的帧发送到所述控制对象的方式,对所述通信电路进行控制,
所述处理器在本次的控制周期内执行要在下次的控制周期内执行的、将所述输出数据存储到帧中的处理的至少一部分。
2.根据权利要求1所述的控制装置,其中,
所述处理器在本次的控制周期内执行了所述控制程序之后,执行将所述输出数据存储到帧中的处理,
当下次的控制周期开始时,所述处理器执行对所述通信电路进行控制的处理。
3.根据权利要求1所述的控制装置,其中,
所述处理器在本次的控制周期内执行将所述输出数据存储到帧中的处理的一部分,
当下次的控制周期开始时,所述处理器依次执行将所述输出数据存储到帧中的处理的剩余部分以及对所述通信电路进行控制的处理。
4.根据权利要求3所述的控制装置,其中,
将所述输出数据存储到帧中的处理包含以下处理:
生成所述帧;以及
将所述输出数据存储到所生成的所述帧中,
所述控制装置构成为经由上级网络与其他装置之间交换数据,
在控制周期内,在所述控制程序执行之后,通过与所述其他装置的数据交换对所述输出数据进行更新的情况下,
所述处理器在本次的控制周期内,在执行了接收所述输入数据的处理之后并且在执行所述控制程序之前,执行生成所述帧的处理,
当下次的控制周期开始时,所述处理器执行存储所述输出数据的处理。
5.根据权利要求3所述的控制装置,其中,
将所述输出数据存储到帧中的处理包含以下处理:
生成所述帧;以及
将所述输出数据存储到所生成的所述帧中,
所述控制装置构成为经由上级网络与其他装置之间交换数据,
在控制周期内,在所述控制程序执行之后,通过与所述其他装置的数据交换对所述输出数据进行更新的情况下,
所述处理器在本次的控制周期内,在执行了所述控制程序之后并且在执行与所述其他装置的数据交换之前,执行将所述输出数据存储到帧中的处理,
当下次的控制周期开始时,所述处理器依次执行将更新后的所述输出数据存储到所述帧中的处理以及对所述通信电路进行控制的处理。
6.一种控制系统,其具有:
控制装置;以及
1个或多个设备,它们依照来自所述控制装置的控制指令进行动作,
所述控制装置以及所述1个或多个设备具有使彼此时刻同步的计时器,
所述控制装置包含:
处理器;以及
通信电路,其进行针对所述1个或多个设备的控制指令的发送以及来自所述1个或多个设备的输入数据的接收,
所述控制装置构成为:按照预先确定的每个控制周期依次反复进行所述控制指令的发送、所述输入数据的接收以及使用所述输入数据生成所述控制指令的控制程序的执行,由此对所述1个或多个设备进行控制,
在所述控制指令的发送处理中,所述处理器构成为执行以下处理:
将通过上次的控制周期中的所述控制程序的执行而生成的所述控制指令存储到帧中;以及
以使存储有所述控制指令的所述帧发送到所述控制对象的方式,对所述通信电路进行控制,
所述处理器在本次的控制周期内执行要在下次的控制周期内执行的、将所述控制指令存储到帧中的处理的至少一部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018042676A JP7020198B2 (ja) | 2018-03-09 | 2018-03-09 | 制御装置および制御システム |
JP2018-042676 | 2018-03-09 | ||
PCT/JP2019/003630 WO2019171845A1 (ja) | 2018-03-09 | 2019-02-01 | 制御装置および制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111052012A true CN111052012A (zh) | 2020-04-21 |
CN111052012B CN111052012B (zh) | 2023-09-08 |
Family
ID=67847227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980004181.6A Active CN111052012B (zh) | 2018-03-09 | 2019-02-01 | 控制装置以及控制系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11269313B2 (zh) |
EP (1) | EP3764175B1 (zh) |
JP (1) | JP7020198B2 (zh) |
CN (1) | CN111052012B (zh) |
WO (1) | WO2019171845A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102132857B1 (ko) * | 2018-05-03 | 2020-07-10 | 엘에스일렉트릭(주) | Plc의 모터 구동 제어 방법 |
EP3882766A1 (de) * | 2020-03-20 | 2021-09-22 | Siemens Aktiengesellschaft | Verfahren und anordnung zum verwalten von automatisierungs-programmen für industrielle automatisierungsplattformen |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038555A (ja) * | 2002-07-03 | 2004-02-05 | Toshiba Corp | プログラマブルコントローラ |
CN103403633A (zh) * | 2011-03-15 | 2013-11-20 | 欧姆龙株式会社 | 可编程控制器的中央处理器单元、可编程控制器用系统程序以及存储了可编程控制器用系统程序的记录介质 |
JP2013242629A (ja) * | 2012-05-18 | 2013-12-05 | Omron Corp | 制御装置、制御方法および命令セット |
CN103543697A (zh) * | 2012-07-16 | 2014-01-29 | 上海宝信软件股份有限公司 | 交通隧道设备集群式智能控制方法 |
CN104135212A (zh) * | 2014-07-21 | 2014-11-05 | 华南理工大学 | 一种柔性化运动控制ip核及实现方法 |
US20150039099A1 (en) * | 2012-03-15 | 2015-02-05 | Omron Corporation | Control device, and control method |
US20150168936A1 (en) * | 2012-08-02 | 2015-06-18 | Siemens Corporation | Pipelining for cyclic control systems |
CN105715569A (zh) * | 2016-03-31 | 2016-06-29 | 海信集团有限公司 | 风扇转速控制方法、装置及投影系统的散热方法 |
JP2016149645A (ja) * | 2015-02-12 | 2016-08-18 | 株式会社神戸製鋼所 | 通信制御システム及び通信制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5372699B2 (ja) * | 2009-10-27 | 2013-12-18 | 日立オートモティブシステムズ株式会社 | 車載ネットワーク装置 |
JP4877423B1 (ja) | 2011-03-15 | 2012-02-15 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
JP5671388B2 (ja) * | 2011-03-24 | 2015-02-18 | 富士通テン株式会社 | 通信システムおよび通信装置 |
EP2816425B1 (en) * | 2012-03-15 | 2020-06-17 | Omron Corporation | Control device, image processing device, control method, computer-readable recording medium, and program |
US10277417B2 (en) | 2014-03-04 | 2019-04-30 | Omron Corporation | Control system, control apparatus and control method with input-only communication frame |
JP6540166B2 (ja) * | 2015-03-31 | 2019-07-10 | オムロン株式会社 | 制御装置 |
JP6731179B2 (ja) | 2016-03-07 | 2020-07-29 | 横河電機株式会社 | 制御演算装置 |
-
2018
- 2018-03-09 JP JP2018042676A patent/JP7020198B2/ja active Active
-
2019
- 2019-02-01 CN CN201980004181.6A patent/CN111052012B/zh active Active
- 2019-02-01 EP EP19763990.9A patent/EP3764175B1/en active Active
- 2019-02-01 US US16/643,830 patent/US11269313B2/en active Active
- 2019-02-01 WO PCT/JP2019/003630 patent/WO2019171845A1/ja active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038555A (ja) * | 2002-07-03 | 2004-02-05 | Toshiba Corp | プログラマブルコントローラ |
CN103403633A (zh) * | 2011-03-15 | 2013-11-20 | 欧姆龙株式会社 | 可编程控制器的中央处理器单元、可编程控制器用系统程序以及存储了可编程控制器用系统程序的记录介质 |
US20140012402A1 (en) * | 2011-03-15 | 2014-01-09 | Omron Corporation | Cpu of plc, system program for plc, and recording medium storing system program for plc |
US20150039099A1 (en) * | 2012-03-15 | 2015-02-05 | Omron Corporation | Control device, and control method |
JP2013242629A (ja) * | 2012-05-18 | 2013-12-05 | Omron Corp | 制御装置、制御方法および命令セット |
CN103543697A (zh) * | 2012-07-16 | 2014-01-29 | 上海宝信软件股份有限公司 | 交通隧道设备集群式智能控制方法 |
US20150168936A1 (en) * | 2012-08-02 | 2015-06-18 | Siemens Corporation | Pipelining for cyclic control systems |
CN104135212A (zh) * | 2014-07-21 | 2014-11-05 | 华南理工大学 | 一种柔性化运动控制ip核及实现方法 |
JP2016149645A (ja) * | 2015-02-12 | 2016-08-18 | 株式会社神戸製鋼所 | 通信制御システム及び通信制御方法 |
CN105715569A (zh) * | 2016-03-31 | 2016-06-29 | 海信集团有限公司 | 风扇转速控制方法、装置及投影系统的散热方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3764175A4 (en) | 2021-11-17 |
JP7020198B2 (ja) | 2022-02-16 |
CN111052012B (zh) | 2023-09-08 |
EP3764175B1 (en) | 2024-04-10 |
US11269313B2 (en) | 2022-03-08 |
EP3764175A1 (en) | 2021-01-13 |
WO2019171845A1 (ja) | 2019-09-12 |
US20210064003A1 (en) | 2021-03-04 |
JP2019159532A (ja) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10761515B2 (en) | Control system for controlling control object and control device for linking control applications in control system | |
US10761884B2 (en) | Control device for operating multiple types of programs in different execution formats | |
CN109581976B (zh) | 控制装置 | |
CN109388107B (zh) | 控制装置 | |
CN109507980B (zh) | 控制装置及控制方法 | |
JP6962099B2 (ja) | 制御システムおよび制御装置 | |
CN110192159B (zh) | 控制装置 | |
US10606246B2 (en) | Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle | |
CN114072737B (zh) | 控制系统、设定装置以及机器可读取存储介质 | |
CN111052012B (zh) | 控制装置以及控制系统 | |
US11855907B2 (en) | Robot control system and control method | |
EP3457239B1 (en) | Control device and control method | |
JP7231073B2 (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 |