CN110168455A - 多计算核设备上的技术过程的控制 - Google Patents
多计算核设备上的技术过程的控制 Download PDFInfo
- Publication number
- CN110168455A CN110168455A CN201780083460.7A CN201780083460A CN110168455A CN 110168455 A CN110168455 A CN 110168455A CN 201780083460 A CN201780083460 A CN 201780083460A CN 110168455 A CN110168455 A CN 110168455A
- Authority
- CN
- China
- Prior art keywords
- core
- calculating
- module
- controller
- calculating core
- 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
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/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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Multi Processors (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及为了控制包括用于多个可独立控制的模块的控制任务的技术过程,每个模块被分配给具有多个计算核的控制器上的计算核C1,C2,C3。技术过程通过至少一个通信连接与控制器连接,以便交换数据。在第一时间段Z1中,控制器经由至少一个I/O单元为分别关联的计算核提供模块的读入输入数据。随后,借助于控制器执行分配了模块的计算核的同步。在第二时间段Z2中,计算核然后处理分配给相应计算核的模块的输入数据,以便生成模块的输出数据,其中每个计算核用信号通知处理结束。一旦所有计算核都信号通知处理结束,则通过控制器在第三时间段Z3中提供模块的输出数据,以便通过I/O单元提供给在通信连接上的模块。
Description
本专利申请要求德国专利申请DE 10 2017 100 655.9的优先权,其公开内容通过引用结合于此。
本发明涉及一种用于在具有多个计算核的控制器上控制技术过程的方法,该技术过程包括多个可独立控制的模块的控制任务,其中该技术过程包括至少一个与控制器的通信连接,用于交换数据。本发明还涉及用于该技术过程的相应控制器和具有这种控制器的驱动系统。
技术过程的控制通常通过存储器可编程控制器SPS来实现。在这种情况下,通常采用计算设备来执行具有单个控制任务的控制程序,控制程序询问技术过程的状态,以便然后根据确定的状态来控制技术过程。在这种情况下,控制程序的各个控制任务通常在固定的时间范围内以循环方式执行。然而,复杂的技术过程可以包括多个可独立控制的模块,并且对计算设备的性能提出了很高的要求。
在某种程度上,可以通过更高时钟的计算设备来满足对控制器的增加的需求。由于物理条件的原因,这种性能提高可能无法随意延续。另一种可能性是使用包括并行工作的多个计算核的计算设备。通过至不同计算核的分配来分配控制任务增加了在固定时间段内可用的计算时间。此外,可以将各个控制任务划分为独立的子任务,并在不同计算核上并行执行。
然而,并行化的控制程序迄今为止几乎没有用于工业自动化。控制程序主要设计用于在计算核上执行,而不是针对并行处理。如果自动化系统使用多计算核设备,并行处理通常仅限于将单个的控制任务指配给可用的计算核。例如由DE 10 2006 052 757 B4已知了用于带有多个计算核的技术过程的控制器,其中技术过程的控制任务被相应指配给计算核。
然而,如果单个控制任务所需的计算时间超过确定的循环时间,则所述并行化概念达到其极限。在这种情况下,可以通过在控制任务本身内将计算分布到现有计算核来实现计算时间的减少。但是,通常,这种并行化需要费事地对控制任务的实现进行重新设计。
本发明的目的是在具有多个计算核的控制器上实现一种技术过程,该技术过程包括用于多个可独立控制的模块的控制任务,使得能够实现整个处理时间减少并且循环时间更短,而不需要费事的重新设计。
该目的通过根据权利要求1的用于控制技术过程的方法、根据权利要求9的控制器和根据权利要求16的驱动系统来解决。在从属权利要求中说明了其他有利实施例。
为了控制包括用于多个可独立控制的模块的控制任务的技术过程,这些模块分别与包括多个计算核的控制器上的计算核相关联。技术过程至少通过一个用于交换数据的通信连接与控制器连接。在控制循环中,控制器在第一时间段中通过控制器的至少一个I/O单元将读入的模块的输入数据提供给相应关联的计算核。随后,控制器同步化模块关联的这些计算核。然后,这些计算核在第二时间段中处理与相应计算核相关联的模块的输入数据,以便生成模块的输出数据,其中每个计算核用信号通知处理结束。当所有计算核都已用信号通知处理结束时,模块的输出数据由控制器在第三时间段提供,以便于是通过通信连接上的I/O单元发送到模块。
具有可变数量的可独立控制的模块的技术过程的控制任务的并行化规定:在配置阶段期间将用于控制模块的计算单独分布到可用计算核。然后,用户只需要决定“应当在多少个以及哪些计算核上并行执行控制任务”。灵活的分布能够实现在复杂的技术过程中明显减少控制器的总计算时间。
提供输入数据、处理输入数据以产生输出数据、以及提供输出数据的过程中的至少一个过程可以被划分为至少两个段,其分别与处理过程——在下面称为任务——相关联,其中在两个段之间执行同步。通过这样的流程,在提供输入数据或输出数据时以及在完成控制例程时可以进一步提高并行化,因此可以附加地缩短控制循环的总计算时间。
模块的输入数据被提供给相关联的存储区域中的相应相关联的计算核。然后,计算核可以完成给它们各自分配的任务或例程,而不会相互阻碍或阻塞。然而,许多计算核也可以共享存储区域。原则上可以将模块的输入数据提供给共同存储区域中的计算核。这保证了控制器中的快速数据交换。
在初始化阶段,计算核检测可独立控制的模块,其中根据至少一个预定标准将检测到的模块分别与计算核关联。通过该方法,实现了灵活的并行化概念,其可以快速地适应技术过程的需求。
具有特殊安全要求的可独立控制的模块被分布到不同计算核,从而可以容易地遵守为技术过程规定的安全标准。
技术过程具有与控制器连接的用于交换数据的多个通信连接,其中控制器包括多个I/O单元,其分别被设计为经由相关联的通信连接与技术过程来交换数据。然后将计算核与每个I/O单元关联,计算核被配置为:为相应关联的I/O单元提供输入和输出数据。借助于该方法,实际计算的上游和/或下游的过程可以在控制循环中并行化,这能够实现非常短的循环时间。
该技术过程包括可独立控制的模块的运动控制,其中控制器配置成执行可独立控制的模块的运动控制。
一种驱动系统,包括多个电动机模块,这些电动机模块分别包括移动路径和沿移动路径布置的多个可独立通电的驱动线圈。驱动系统的驱动元件是可独立控制的模块,这些驱动元件分别包括磁性机构,以便由驱动线圈来移动。在此,来自多个电动机模块中的一些电动机模块用作所述多个电动机模块的馈电模块,其中馈电模块分别通过通信连接连接到控制器。
控制器的I/O单元设计成通过多个通信路径与馈电模块交换数据。
在下文中,将参考附图更详细地解释本发明。
图1示意性地示出了用于在具有三个计算核的控制器上执行技术过程的多个可独立控制的模块的控制任务的本发明控制循环,其中该控制器包括用于与技术过程交换数据的一个通信连接。
图2示意性地示出了图1的本发明控制循环,其中控制器包括用于与技术过程交换数据的两个通信连接。
图3示意性地示出了图1的本发明控制循环,其中控制器包括用于与技术过程交换数据的三个通信连接。
图4示意性地示出了图1的本发明控制循环,其中控制器包括用于与技术过程交换数据的三个通信连接,并且设置有多个同步单元。
图5示出了具有本发明控制概念的八个可独立控制的驱动元件的运动控制,其中控制任务由具有I/O单元和三个计算核的控制器执行。
图6示出了在线性输送系统中具有本发明控制概念的运动控制,该线性输送系统包括十个电动机模块和四个传输元件,其中两个电动机模块是馈电模块,并且控制任务由具有I/O单元和三个计算核的控制器执行。
图7示出了在六轴机器人系统中具有本发明的控制概念的运动控制,其中控制任务在具有两个I/O单元和三个计算核的控制器上执行。
在工业自动化中,使用越来越复杂和智能的制造平台,其需要不断增加的计算能力,因此需要使用功能强大的控制器。技术过程的控制任务、特别是控制大量可独立控制的模块的运动控制的控制任务通常以非常短的循环时间为特征,必须以高度精确的方式经历所述循环时间,以便能够遵循所需的实时条件。在这种情况下,经常需要在技术过程和控制器之间交换大量的输入和输出数据。在运动控制的框架内,还必须执行通常非常费计算时间的功能、例如控制算法、设定值生成或坐标变换。
通过其中同时使用多个计算核的控制器可以特别地实现高计算性能。在下文中,描述了用于并行化具有可变数量的可独立控制的模块的技术过程的控制任务的概念,其中要在控制任务的框架内执行的计算被分布到控制器的可用计算核。该概念允许并行化控制任务,从而不需要为了各个计算核上的分布式执行而进行控制任务的特定编程。用户仅仅必须在配置和初始化阶段决定:控制任务应当被分布到多少个或哪些计算核,即应当如何进行可独立控制的模块和计算核之间的关联。对多个可独立控制的模块的控制任务的灵活分布能够实现缩短控制的计算时间并因此缩短控制任务的循环时间。
用于并行化技术过程的多个可独立控制的模块的控制任务的概念规定:这些模块分别与包括多个计算核的控制器上的计算核关联。在此,具有多个可独立控制的模块的技术过程经由至少一个用于交换数据的通信连接而连接到控制器。控制循环细分为三个时间段。在控制循环的第一时间段中,通过控制器的至少一个I/O单元读入的模块输入数据由控制器提供给计算核,所述控制器连接到通信连接。第一时间段以向所有计算核提供输入数据结束。
在所有输入数据可用之后,控制循环的第二时间段开始于同时使能模块的输入数据与其关联的计算核。被使能的计算核例如可以是所有计算核或所有计算核的子集。在第二时间段中,计算核然后处理与相应计算核关联的模块的输入数据,以便生成模块的输出数据,其中每个计算核用信号通知处理结束。一旦所有计算核都用信号通知处理结束,则控制循环的第二个时间段就结束。
在控制循环的随后的第三时间段中,模块的输出数据由控制器提供,以便通过控制器的I/O单元输出到通信连接上并发送到模块。然后控制循环结束。
在图1中示出了用于控制涉及多个可独立控制的模块的技术过程的原理性流程,其中这些模块未在此描述。在下文中,本发明示例性地描述了用于三十个数量的可独立控制的模块。控制器包括三个计算核C1,C2,C3,每个计算核执行控制例程。术语“控制例程”理解为借助至少一种算法将输入数据处理/计算为输出数据。
用于30个模块的控制例程100,110,120在配置时被分布到三个计算核C1,C2,C3,其中在所示的实施方式中实施均等分配,即每个计算核C1,C2,C3负责10个模块。因此,前10个模块的10个控制例程100与第一计算核C1关联。第二10个模块的十个控制例程110与第二计算核C2关联,并且最后10个模块的十个控制例程120与第三计算核C3关联。为了便于控制任务的用户将可独立控制的模块与计算核C1,C2,C3相关联,计算核C1可以在初始化阶段检测技术过程的可独立控制的模块的数量和功能特征。
然而,并非必须将可独立控制的模块的控制例程100,110,120均等分布到计算核C1,C2,C3,特别是在例如技术过程的可独立控制的模块与各种功能关联时,使得控制例程100,110,120所需的计算能力大小不同。在那种情况下,可以将模块的控制例程100,110,120与计算核C1,C2,C3关联,使得分配给各个计算核C1,C2,C3的计算负载基本相同,于是计算核C1,C2,C3的计算时间基本上相等。
原则上可以根据任何预定标准将模块的控制例程100,110,120与各个计算核C1,C2,C3相关联。如已经描述的,关联标准可以是:实现计算核C1,C2,C3的均匀的负荷,以便基本上实现所有计算核C1,C2,C3的相同时长的计算时间,从而最小化控制任务的总体计算时间。如果技术过程的各个模块必须满足特定需求,则在将可独立控制的模块的控制例程100,110,120关联至计算核C1,C2,C3时的另一标准可以是:将特定模块的控制例程100,110,120分布到不同计算核C1,C2,C3。
如果为技术过程提供具有特定安全要求的模块,这可能是特别有利的。技术过程的安全标准可以是例如通过将具有特定安全要求的模块的控制例程100,110,120与不同计算核C1,C2,C3关联来得到保证。此外,可以在多个计算核C1,C2,C3上并行地执行必须满足特定安全要求的模块的控制例程100,110,120,以便发现控制中的错误并于是避免这些错误。
在图1所示的过程中,控制循环150的第一时间段Z1和第三时间段Z3、也即经由I/O单元读取模块的输入数据130以及为相应地关联的计算核C1,C2,C3提供输入数据130或者在所有计算核C1,C2,C3都已经发信号通知控制例程100,110,120的处理结束之后提供所述模块的输出数据140、以及经由I/O单元输出输出数据140由计算核、在图1所示示图中由第一计算核C1来执行。借助该策略存在如下可能性:可以最佳地利用控制的硬件。于是不必提供执行控制循环150的第一时间段Z1或第三时间段Z3的附加单元。
在控制循环150的第一时间段Z1和第二时间段Z2与控制循环150的第二时间段Z2和第三时间段Z3之间,分别执行同步Sync1,Sync2,如图1所示。同步Sync1,Sync2在此可以在包含在控制器的监控单元中的独立同步单元上来进行。然而,同步Sync1,Sync2也可以由一个计算核C1,C2,C3或者所有计算核C1,C2,C3共同作为控制任务的程序部分而执行。
在初始化阶段期间,同步单元检测参与该过程或者说可用的所有计算核C1,C2,C3的数量。作为替代方案,该数量也可以由控制器或其他单元通知给同步单元。
为了同步Sync1,Sync2,各个计算核C1,C2,C3登录到同步单元。这在相应的计算核C1,C2,C3已经完成分配给它的任务之后或者当没有任务被分配给相应的计算核C1,C2,C3时直接进行。然后由同步单元方面确定:在初始化阶段确定的数量的计算核C1,C2,C3是否登录。如果不是,则进行登录的计算核C1,C2,C3被置入等待模式。一旦最后的计算核C1,C2,C3登录到同步单元并且因此已达到确定数量的计算核C1,C2,C3,则所有迄今被置于等待模式的计算核C1,C2,C3又置入激活模式。然后,计算核C1,C2,C3开始下一个分配的任务。
在控制循环150的第一时间段Z1和第二时间段Z2之间的第一同步步骤Sync1中,以第二计算核C2和第三计算核C3直接登录同步单元的方式执行图1的过程。由初始化阶段已知了“三个计算核C1,C2,C3参与该过程”的同步单元然后确定“当前仅登录了两个计算核C2,C3”并因此将两个计算核C2,C3置于等待模式。一旦第一计算核C1提供了模块的输入数据130并且因此完成其相关任务,第一计算核C1也登录到同步单元。同步单元现在确定“所有计算核C1,C2,C3都已登录”已经将第二和第三计算核C2,C3又置于到激活模式。然后,三个激活的计算核C1,C2,C3可以在第二时间段Z2中处理其各自分配的任务。
在控制循环150的第二时间段Z2和第三时间段Z3之间的第二同步步骤Sync2中,然后以这样的方式执行图1的过程,即各个计算核C1,C2,C3分别在处理完其相应分配的任务后直接登录同步单元。同步单元确定“参与该过程的所有三个计算核C1,C2,C3当前是否都已登录”,其中同步单元从初始化阶段知道“三个计算核C1,C2,C3参与该过程”。只要尚未达到三个登录的计算核C1,C2,C3的数量,同步单元就将进行登录的计算核C1,C2,C3置于等待模式。一旦三个计算核C1,C2,C3中的最后一个已经完成处理其分配的控制例程,该计算核C1,C2,C3就也登录到同步单元。同步单元现在确定“所有计算核C1,C2,C3都登录了”并且将其他两个计算核C1,C2,C3又置于激活模式中。
模块的输入数据130在控制器中的与各自计算核C1,C2,C3相关联的存储区域中被提供给相应相关联的计算核C1,C2,C3。然后,计算核C1,C2,C3可以特别是在第二时间段Z2中处理它们各自分配的任务或例程,而不会彼此阻塞或减慢。还可以设计控制器的存储器,使得多个计算核C1,C2,C3共享存储区。如果计算核C1,C2,C3访问共同的输入数据130,则这是特别有利的。
在图1中所示的过程中,通过控制器的I/O单元读取模块的输入数据130,并且在与各自计算核C1,C2,C3关联的存储区域中通过第一计算核C1提供输入数据130,第一计算核C1为此被置于激活模式中。
在图1所示的过程中,又由第一计算核C1提供模块的输出数据140并经由控制器的I/O单元输出输出数据140。为此目的,将第一计算核C1置于激活模式,以便准备计算核C1,C2,C3在关联的存储区域中提供的输出数据140。在所述提供的范畴内,第一计算核C1于是还可以对模块的输出数据140进行后处理,例如,缩放或简单的坐标转换。
图2示出了图1的过程的可能的变换。在图2的过程期间,在控制器和技术过程之间设置两个通信连接用于交换数据,其中每个通信连接经由独立的I/O单元连接到控制器。如图2所示,然后将计算核与每个I/O单元关联,第一计算核C1与第一I/O单元关联,第二个计算核C2与第二个I/O单元关联,它们在控制循环150的第一时间段Z1或第三时间段Z3中为相应关联的I/O单元提供输入数据130,135和输出数据140,145。特别有利的策略是:在控制任务的框架内给出输入数据130,135或输出数据140,145的高数据负载。通过由两个计算核C1,C2并行提供输入数据130,135和/或输出数据140,145,可以缩短提供时间,因此可以最小化控制循环150的总时间。
图3示出了该过程的另一种变型,其中在控制和技术过程之间设置三个通信连接,每个通信连接在控制器中具有其自己的I/O单元。然后将计算核C1,C2,C3与每个I/O单元关联,第一计算核C1关联到第一I/O单元,第二计算核C2关联到第二I/O单元以及第三计算核C3关联到第三个I/O单元。通过该策略,可以进一步增加提供输入数据130,135,138或输出数据140,145,148的并行化,因此进一步减少了控制循环150的总计算时间。
图4示出了该过程的另一种可能的变化,其中,类似于图3,在控制器和技术过程之间设置三个通信连接。每个通信连接在控制器中又拥有自己的I/O单元,计算核C1,C2,C3被关联到I/O单元——第一计算核C1关联到第一I/O单元,第二计算核C2关联到第二I/O单元以及第三计算核C3关联到第三I/O单元。
与前面描述的过程不同,在图4的过程中,控制器具有三个同步单元,它们彼此独立地负责不同的同步Sync1,Sync2,SyncA,SyncB,Syncα。三个同步单元可以被实施为一个或多个独立组件,例如,实施为监控单元的一部分。然而,也可以由计算核C1,C2,C3之一或者所有计算核C1,C2,C3共同地作为控制任务的程序组成部分来执行同步。
如已经结合图1至图3的过程所描述的,第一同步单元控制第一时间段Z1和第二时间段Z2之间的两个同步Sync1,Sync2、或者在第二时间段Z2和第三个时间段Z3之间的两个同步。
控制任务的三个时间段Z1,Z2,Z3却可以被划分为另外的子时间段,其分别与用于计算核C1,C2,C3的任务相关联,而它们必须附加地被同步。图4中的过程针对三个时间段Z1,Z2,Z3中的每一个而具有用于这三个计算核中的相应两个的两个这样的子时间段。然而,可以仅在控制任务的单个时间段Z1,Z2,Z3中以及针对在控制器中的计算核C1,C2,C3的任何数量来设置子时间段。此外,子时间段的数量当然也可以根据要执行的任务而变化。
在第一时间段Z1中,在由控制器提供用于相应相关联的计算核的模块的输入数据时,例如可以要求要预处理输入数据。在图4所示的过程中,这对于第一和第二I/O单元的输入数据130,135是必需的。为此,第一时间段Z1被划分成两个子时间段Z1-1,Z1-2。前两个I/O单元的输入数据130,135由第一计算核C1以第一任务处理,或者由第二计算核C2以第二任务处理。在完成各自的任务后,第一计算核C1和第二计算核C2登录到第二同步单元,第二同步单元与第一同步单元类似地设计,其在第一时间段Z1和第二时间段Z2之间、或者在第二时间段Z2和第三时间段Z3之间执行两个同步Sync1,Sync2。首先登录到第二同步单元的计算核被置入等待模式,直到另一个计算核也登录。
第二同步单元知道两个计算核C1,C2参与预处理。与第一同步单元类似,这可以通过第二同步单元在初始化阶段中检测参与该过程的计算核C1,C2来执行。或者,也可以通过控制器或另一个单元(例如,第一同步单元)将该数字通知给同步单元。
当参与任务的两个计算核C1,C2登录到了第二同步单元时,第二同步单元因此识别到预处理过程结束。于是,第二同步单元在第一时间段Z1的第一子时间段Z1-1和第二子时间段Z1-2之间执行同步SyncA。然后,计算核C1在第一时间段Z1的第二子时间段Z1-2中的另一任务中合并输入数据130,135,然后提供合并的输入数据作为新的输入数据131以供进一步处理。
因为在第一时间段Z1的第二子时间段Z1-2中没有为第二计算核C2设置任务,所以第二计算核C2直接登录到第一同步单元并且由第一同步单元置入等待模式。第一同步单元由初始化阶段已知:在第一时间段Z1中,三个计算核C1,C2,C3参与该过程。当第一计算核C1在第一时间段Z1的第二子时间段Z1-2中完成另外的任务之后、以及第三计算核C3在时间段Z1完成该任务即提供第三输入数据138之后登录到第一同步单元,第一同步单元于是执行已经结合图1至图3的过程描述过的第一同步Sync1。
类似于划分第一时间段Z1,在图4的过程中,第二时间段Z2被分成两个子时间段Z2-1,Z2-2。于是,类似于第一和第二同步单元的所述工作方式,负责在第二时间段Z2的第一子时间段Z2-1和第二子时间段Z2-2之间的同步Syncα的第三同步单元执行在第二时间段Z2的第一子时间段Z2-1和第二子时间段Z2-2之间的同步。
第一计算核C1基于第一控制例程100在第二时间段Z2中处理分配给第一计算核C1以及第二计算核C2的输入数据131,并在完成该任务之后登录到第一同步单位。相反,第二计算核C2在第二时间段Z2中以分配的输入数据131执行两个控制例程。在第二控制例程110的基础上,第二计算核C2首先在第二时间段Z2的第一子时间段Z2-1中处理输入数据131,并在完成该任务后登录到第三同步单元。
同样,在第二时间段Z2中将两个控制例程与第三计算核C3关联,用于处理分配给第三计算核C3的输入数据138。在第二时间段Z2的第一子时间段Z2-1中,第三计算核C3利用分配的输入数据138处理第三控制例程120,然后,如第二计算核C2那样登录到第三同步单元。
由初始化阶段,第三同步单元已知:在控制任务的第二时间段Z2的第一子时间段Z2-1中,两个计算核C2,C3参与该过程。第三同步单元将首先完成其任务的计算核置于等待模式。一旦参与该过程的两个计算核C2,C3现在都登录到第三同步单元了,则第三同步单元执行同步Syncα,以便从第一子时间段Z2-1过渡到第二子时间段时间段Z2-2。
在第二时间段Z2的第二子时间段Z2-2中,第二计算核C2和第三计算核C3各自执行另一控制例程111,121。在完成控制例程111,121之后,第二计算核C2或第三计算核C3分别直接登录到第一同步单元。
由初始化阶段,第一同步单元知道:在控制任务的第二时间段Z2中,所有三个计算核C1,C2,C3都参与该过程。除非所有三个计算核C1,C2,C3都已登录到第一同步单元,否则第一同步单元将相应的进行登录的计算核置于等待模式。然后,当在第二时间段Z2与第三时间段Z3之间过渡时,由第一同步单元执行第二同步Sync2,倘若所有三个计算核C1,C2,C3都已登录到第一同步单元的话。
类似于第一时间段Z1,第一和第二计算核C1,C2的第三时间段Z3也被分成两个子时间段,第一子时间段Z3-1和第二子时间段Z3-2,其中同步又由第二同步单元执行。
第一计算核C1在第三时间段Z3的第一子时间段Z3-1中提供中间输出数据141。一旦第一计算核C1完成任务,第一计算核C1就立即登录到第二同步单元。在第二同步Sync2之后尚未分配任务的第二计算核C2立即登录到第二同步单元并被置入等待模式。
由初始化阶段,第二同步单元已知:在第三时间段Z3中,第一计算核C1和第二计算核C2参与第二同步单元要监视的过程。在两个计算核C1,C2已登录到第二同步单元之后,第二同步单元执行另一同步SyncB。
在同步SyncB之后,第一计算核C1和第二计算核C2继续处理中间输出数据141,以便提供输出数据140,145。与用于第一和第二计算核C1,C2的第三时间段Z3的两个子时间段Z3-1,Z3-2并行,第三计算核C3在第三时间段Z3中执行输出数据148的提供。
借助于图4中所示的过程,可以进一步提高在第一时间段Z1或第三时间段Z3内在提供输入数据130,135,138或输出数据140,145 148时的并行化以及在第二时间段Z2中进一步提高控制例程的处理,由此可以附加地减少控制循环150的总计算时间。
对于技术过程的多个可独立控制的模块对控制任务或控制例程100,110,120的并行化处理的概念规定了三个时间段Z1,Z2,Z3:第一时间段Z1,用于读入并提供用于相应关联的计算核C1,C2,C3的模块的输入数据130,135,138;第二时间段Z2,用于借助控制例程100,110,120将输入数据处理为输出数据;和第三时间段Z3,用于提供和输出模块的输出数据140,145,148。在所有三个时间段Z1,Z2,Z3中,多个计算核C1,C2,C3可以相应并行地被使用以便进行处理。然而,在这种情况下,并不是必须始终使用所有计算核C1,C2,C3。
原则上,根据预定的技术过程,即根据输入和输出数据130,135,138,140,145,148的数量和可独立控制的模块的数量,可以单独设定在控制循环150的三个时间段Z1,Z2,Z3中的并行化度,即提供输入数据、将输入数据处理为输出数据以及提供输出数据,以便将工作负载优化地分布到计算核C1,C2,C3,从而实现控制循环150的时间的最大缩短。
在使用n个计算核的情况下,可以设想以下变型方案。可以利用1到n个计算核来在第一和第三时间段中提供输入或输出数据。在此,计算核分别与控制器的I/O单元关联。在控制循环的第一和第三时间段中未用于提供输入和输出数据的计算核直接登录到同步单元,该同步单元可以作为控制器中的独立单元存在,但也可以作为程序部分设置在一个或所有计算核上。所有不需要的计算内核都处于等待模式或被置入等待模式。在控制循环的第二时间段中,在其中输入数据借助控制例程被处理为输出数据,并行计算又可以由1到n个计算核执行,而与计算核至技术过程的可独立控制模块如何关联无关。未执行并行计算或已完成其计算的计算核又直接登录到同步单元,该同步单元将这些计算核从激活模式置于等待模式。原则上,当然总是也可以在控制器中设置其他计算核,其不参与控制任务或承担其他控制任务。
并行处理若干可独立控制的模块的技术过程的控制任务的概念特别适用于自动化任务中的运动控制,其中必须以非常精确的方式保持极短的循环时间以便满足实时条件。此外,运动控制通常涉及大量计算,然而,对于可独立控制的模块,通常必须执行相同的控制算法。此外,在运动控制中,通常必须在驱动系统和控制器之间交换大量输入和输出数据。
图5示出了第一种应用情形,在其中并行化的控制概念在具有八个轴1至8的驱动系统的框架内使用。在此,给每个轴1至8关联一个电动机11,如图5中示意性地示出的,电动机11包括驱动轴12、具有线圈组13的驱动器和反馈单元14。通过反馈单元14,输出这些轴的输入数据例如发送器数据,以及接收这些轴的输出数据、例如用于在运行中驱控线圈的电流值。反馈单元14通过通信连接与控制器连接。在此,通信连接被设计为使得每个反馈单元14连接到通信连接15上。
可替选地,可以代替电动机中的反馈单元,设置通信单元,其传送输入数据并将输出数据转发到功率部件,然后功率部件运行线圈。还可以设想的是,功率部件单独布置并且与电动机具有通信连接。
通信线路15连接到接口单元20的端子21。接口单元20将在通信线路15上并行地交换的数据转换为串行运行或传输的数据包。然后通过接口单元20的另一个端子23、在接口单元20和控制器30的I/O单元31之间存在的另一个通信线路22来交换所述数据包。在此,诸如EtherCAT协议之类的网络协议特别适合用于在接口单元20和控制器30的I/O单元31之间的数据通信,其中利用所述网络协议能够实现快速数据交换。
然而,原则上,轴1至8的反馈单元14也可以直接连接到控制器30的I/O单元31,而无需中间接口单元20。或者,也可以规定:使用多个接口单元20,这些接口单元20分别连接到控制器30的I/O单元31。
在图5中所示的第一应用情况中,除了I/O单元31之外,控制器30还包括具有三个计算核33,34,35的处理器39,包括同步单元37的监控单元36,以及存储器38。在此,处理器39与I/O单元31、监控单元36和存储器38通信,以便交换数据。控制器当然可以包括其他未示出的硬件,例如其他处理器、存储器等。
图5中所示的驱动系统的控制器以这样的方式配置,使得控制器30的处理器39中的第一计算核33与前三个轴1,2,3关联;第二计算核34与三个另外的轴4,5,6关联;以及第三计算核35与剩余的两个轴7,8关联。通过第一计算核33实现在存储器38中的输入和输出数据的提供,其中第一计算核访问控制器30的I/O单元31。在控制循环的第一和第二时间段或第二和第三时间段之间的切换由控制器30的监控单元36中的同步单元37触发。
图6示出了另一种应用情况,其中图5所示的具有接口单元20的控制器30用于控制线性输送系统40。线性输送系统40包括多个电动机模块,在图5中所示的方案中,由十个电动机模块401至410组成。电动机模块401至410具有移动路径41和沿着移动路径41布置的预定数量的可独立通电的驱动线圈42。在图6所示的设计中,电动机模块401至410一起形成闭合椭圆形移动路径41,其中八个电动机模块403至410是直线的,两个电动机模块401,402是曲线模块。
在电动机模块401至410的移动路径41上,设置有滑块43形式的输送元件,其构成技术过程的可独立控制的模块。在图6所示的构型中,设置了四个这样的滑块43,44,45,46。原则上可能的是,被独立操控的任何数量的输送元件可以布置在移动路径41上。
每个滑块43至46具有磁性机构,以便借助迁移磁场由电动机模块401至410的驱动线圈42来运动。通过控制所述电动机模块401至410中的驱动线圈42的通电来执行对滑块43至46的控制。作为控制器30的输入数据,电动机模块401至410提供滑块43至46的位置数据,它们借助布置在电动机模块401至410上的位置检测单元检测。
在图6所示的应用情况中,数据交换通过特别标记的电动机模块403,410进行,电动机模块403,410也称为馈电模块。通过馈电模块,连接到馈电模块的另外的电动机模块401,402,404到409于是与控制器30交换数据。电动机模块401到410通过通信线路与馈电模块互连。在图6所示的应用情况中,设置有两个电动机模块403,410作为馈电模块,这些电动机模块分别负责五个另外的电动机模块401,402,404至409的数据交换。然而,原则上,可能的是:每个电动机模块401至410直接经由通信线路15或经由中间连接的接口单元20独立地连接到控制器30。
图6中的线性输送系统40的控制以这样的方式配置:即控制循环的第一或第三时间段,输入和输出数据的提供由一个计算核、即控制器30的访问I/O单元3 1的第一计算核33来执行。然后由处理器39的三个计算核33,34,45并行地执行各个滑块43至46的控制数据的计算,其中两个滑块43,44关联给第一计算核33,另一个滑块45关联给第二计算核34,最后一个滑块46关联给第三计算核35。
并行控制概念对于线性输送系统特别有利,因为必须保持非常短的循环时间并且必须处理大量的输入和输出数据。此外,电动机模块的输入和输出数据可以以简单的方式总是关联给其他电动机模块。如果滑动位置在不同电动机模块之间变换,则需要这种重新关联。在线性运输系统中,如果它们被用在制造的范畴内,则通常要满足关于单个输送元件的操控的高安全性要求。通过对计算的相应配置和划分、或者通过在不同计算核上多次计算用于输送元件的输出数据的可能性,可以以可靠的方式保持这种安全要求。
在图7中示出了用于多轴机器人50的另一个应用情况——在当前情况下是六轴机器人——其中对于六个轴501至506中的每一个,执行位置和速度调节。每个机器人轴501至506包括具有连接的变换器单元52的电动机51,变换器单元52经由机械连接53连接到反馈单元54。反馈单元54和电动机51处的变换器单元52与控制器交换输入和输出数据。在此,单个机器人轴501至506的变换器单元52和反馈单元54经由自己的通信连接22,24分别连接到控制器30,控制器因此包括两个I/O单元31,32,其中第一I/O单元31经由第一通信连接22输入和输出用于变换器单元的输入和输出数据,并且第二I/O单元32经由第二通信连接24输入和输出用于反馈单元的输入和输出数据。
在图7所示的应用情况中,要在控制循环的第一和第三时间段中执行的输入和/或输出数据的提供分开地分别由一个计算核执行,其中具有用于变换器单元的输入和输出数据的第一I/O单元31被关联给第一计算核33,具有用于反馈单元的输入和输出数据的第二I/O单元32被关联给第二计算核34。
基于各个机器人轴501至506的输入数据计算输出数据由所有三个计算核33,34,35并行执行,其中第一计算核33被关联给前两个轴501,502,第二计算核34被关联给另外两个轴503,504,以及第三计算核35被关联给剩余的两个轴505,506。
借助于本发明的并行控制概念,可以利用技术过程的多个可单独控制的模块灵活且可靠地处理控制任务,其中通过对并行化的可变构型可能性可以不仅在提供输入和输出数据、而且在输入数据的基础上计算输出数据时缩短循环时间。
Claims (18)
1.一种用于在控制器上控制技术过程的方法,该技术过程包括用于多个可独立控制的模块的控制任务,所述控制器包括在所述控制任务的框架内使用的n个计算核(C1,C2,C3)以及同步装置(Sync1,Sync2),其中所述技术过程具有至少一个与控制器的通信连接用于数据交换,以及这些模块分别与计算核(C1,C2,C3)相关联,其中在控制循环(150)内执行以下步骤:
在第一时间段(Z1)中通过控制器提供经由所述至少一个通信连接由该控制器所检测的、用于相应关联的计算核的模块的输入数据,其中将1到n个计算核用于提供输入数据,其中所述1至n个计算核中不被用于提供输入数据的计算核登录同步装置并且被置入等待模式,以及其中所述1至n个计算核中被用于提供输入数据的计算核在完成所关联的任务之后登录所述同步装置,其中,只要不是这n个计算核中的每一个计算核都登录到同步装置,相应的计算核就被置入等待模式;
一旦n个计算核登录同步装置,就对这n个计算核进行同步(sync1),其中所有被置入等待模式的计算核又被置入激活模式;
在第二时间段(Z2)中通过相应关联的计算核来处理模块的输入数据,以便生成该模块的输出数据,其中未用于处理模块的输入数据的计算核登录同步装置并被置入等待模式,其中用于处理模块的输入数据的计算核在完成其关联的任务之后登录到同步装置,其中只要不是这n个计算核中的每个计算核都登录到同步装置,相应的计算核就被置于等待模式;
一旦这n个计算核都登录到同步装置,就对这n个计算核进行同步(sync2),其中所有被置入等待模式的计算核又被置入到激活模式;以及
在第三时间段(Z3)中通过控制器提供所述模块的输出数据,以便通过控制器在至少一个通信连接上输出模块的输出数据,其中,使用1至n个计算核来提供输出数据,其中所述1至n个计算核中不用于提供输出数据的计算核登录到同步装置并且被置入等待模式,以及其中被用于提供输出数据的1到n个计算核在完成关联的任务之后登录到同步装置,其中只要不是n个计算核中的每一个计算核都登录到同步装置,相应的计算核就被置入等待模式。
2.根据权利要求1所述的方法,
其中,提供输入数据、将输入数据处理为输出数据以及提供输出数据的步骤中的至少一个步骤被划分为至少两个段,其相应地与至少一个任务关联,其中通过同步装置(SyncA,SyncB,Syncα)将在至少两个段中使用的计算核在这两个段之间进行同步,其中,一旦在至少两个段中使用的计算核登录到所述同步装置,则将所有被置入等待模式中的计算核又置入激活模式。
3.根据权利要求1或2所述的方法,
其中,所述同步装置被构造为一个或多个独立组件,或者作为控制任务的程序部分在一个或多个计算核上执行。
4.根据权利要求1至3中任一项所述的方法,
其中,将模块的输入数据提供给在相关联的存储区域中的相应地关联的计算核,其中优选地多个计算核共享存储区域。
5.根据权利要求1至4中任一项所述的方法,
其中,在初始化阶段,计算核检测该技术过程的可独立控制的模块,并根据至少一个预定标准将检测到的模块相应地与计算核相关联。
6.根据权利要求5所述的方法,
其中将可独立控制的模块以特定安全要求分布到不同计算核。
7.根据权利要求1至6中任一项所述的方法,
其中,所述技术过程具有与所述控制器的多个通信连接用于交换数据,其中,经由各自通信连接而读入的输入数据的提供以及要经由各自通信连接而读出的输出数据的提供通过与该通信连接相关联的计算核来执行。
8.根据权利要求1至7中任一项所述的方法,
其中,所述技术过程包括可独立控制的模块的运动控制。
9.一种用于技术过程的控制器,该技术过程包括用于多个可独立控制的模块的控制任务,所述控制器具有:
在控制任务的框架内使用的n个计算核(33,34,35),其中这些模块分别与一个计算核相关联;
至少一个I/O单元(31,32),被设计用于经由通信连接与技术过程交换数据,以及
同步装置(Sync1,Sync2),
其中,控制器(30)被设计为:如果输入数据是可用的,则在第一时间段(Z1)中将通过I/O模块检测到的模块的输入数据提供给相应相关联的计算核,以及对与模块相关联的计算核进行同步,其中1到n个计算核被使用来提供输入数据,其中1到n个计算核中不用于提供输入数据的计算核登录到同步装置并且被置入等待模式中,以及其中用于提供输入数据的1到n个计算核在执行相关联的任务之后登录到同步装置,其中,只要不是n个计算核中的每一个都登录到同步装置,相应的计算核就被置入等待模式,并且其中为了同步(Sync1)n个计算核,一旦n个计算核登录到同步装置,所有被置入等待模式的计算核又被置入激活模式;
其中,计算核被设计为:在同步之后在第二时间段(Z2)中处理模块的相关联的输入数据,以便生成模块的输出数据,其中每个计算核用信号通知处理结束,其中不用于处理模块的输入数据的计算核登录到同步装置并被置入等待模式,其中用于处理模块的输入数据的计算核在完成相关联的任务后登录同步装置,其中,只要不是n个计算核中的每一个都登录了同步装置,相应的计算核就被置入等待模式,以及
其中,所述控制器被设计为:当所有计算核已经发信号通知处理结束时,在第三时间段(Z3)中提供模块的输出数据,以便经由I/O模块在通信连接上输出输出数据,其中,1到n个计算核被用于提供输出数据,其中1到n个计算核中不用于提供输出数据的计算核登录到同步装置并且被置入等待模式,以及其中被用于提供输出数据的所述1到n个计算核在完成相关联的任务之后登录到同步装置,其中,只要不是n个计算核中的每一个都登录到同步装置,则相应的计算核就被置入等待模式。
10.根据权利要求9所述的控制器,
其中所述控制器(30)被设计为:将提供输入数据、将输入数据处理为输出数据、提供输出数据的这些过程中的至少一个过程划分至少两个段,它们分别与一个任务关联,其中在至少两个段中使用的计算核通过在这两个段之间的同步装置(SyncA,SyncB,Syncα)来执行同步过程,在其中,一旦在至少两个段中使用的计算核登录所述同步装置,则所有被置入等待模式的计算核又被置入到激活模式中。
11.根据权利要求9或10所述的控制器,
其中,所述同步装置被构造为一个或多个独立组件,或者作为控制任务的程序部分在一个或多个计算核上执行。
12.根据权利要求9至11中任一项所述的控制器,
其中所述控制器(30)具有存储器(38),在所述存储器中每个计算核(33,34,35)具有存储区域,在存储区域中,所述模块的输入数据能够为计算核所用,其中多个计算核(33,34,35)优选地共享存储区域。
13.根据权利要求9至12中任一项所述的控制器,
其中,该计算核被设计为:在初始化阶段检测该技术过程的可独立控制的模块,并根据至少一个预定标准将检测到的模块分别与计算核相关联。
14.根据权利要求9至13中任一项所述的控制器,
具有多个I/O单元(31,32),它们分别被设计为通过相关联的通信连接与技术过程交换数据,
其中每个I/O单元被分配一个计算核,该计算核被设计为给相应地相关联的I/O单元提供输入数据和输出数据。
15.根据权利要求9至14中任一项所述的控制器,
其中所述控制器(30)被设计成执行可独立控制的模块的运动控制。
16.一种驱动系统,具有作为可独立控制的模块的多个驱动元件以及如权利要求15所述的控制器。
17.根据权利要求16所述的驱动系统,具有多个电动机模块(401-410),这些电动机模块分别包括移动路径和沿该移动路径布置的多个可独立通电的驱动线圈,其中这些驱动元件分别具有磁性机构,以便由驱动线圈移动,
其中,来自多个电动机模块的多个电动机模块被设计为用于多个电动机模块的馈电模块(403,410),它们分别经由通信线路连接到控制器(30)。
18.根据权利要求17所述的驱动系统,其中,所述控制器的I/O单元被设计为经由多个通信路径来交换数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017100655.9 | 2017-01-13 | ||
DE102017100655.9A DE102017100655A1 (de) | 2017-01-13 | 2017-01-13 | Steuerung eines technischen Prozesses auf einer Mehr-Rechenkern-Anlage |
PCT/EP2017/080165 WO2018130331A1 (de) | 2017-01-13 | 2017-11-23 | Steuerung eines technischen prozesses auf einer mehr-rechenkern-anlage |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110168455A true CN110168455A (zh) | 2019-08-23 |
CN110168455B CN110168455B (zh) | 2022-06-28 |
Family
ID=60421799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780083460.7A Active CN110168455B (zh) | 2017-01-13 | 2017-11-23 | 多计算核设备上的技术过程的控制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11327800B2 (zh) |
EP (1) | EP3548975B1 (zh) |
CN (1) | CN110168455B (zh) |
DE (1) | DE102017100655A1 (zh) |
WO (1) | WO2018130331A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017130552B3 (de) | 2017-12-19 | 2019-03-14 | Beckhoff Automation Gmbh | Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006052757A1 (de) * | 2006-11-08 | 2008-05-15 | Siemens Ag | Automatisierungsgerät mit einer Verarbeitungseinheit und Verwendung einer Verarbeitungseinheit in einem Automatisierungsgerät |
US20090007117A1 (en) * | 2007-06-26 | 2009-01-01 | Samsung Electronics Co., Ltd. | Method and apparatus for performing related tasks on multi-core processor |
DE102009047024A1 (de) * | 2009-11-23 | 2011-05-26 | Beckhoff Automation Gmbh | Parallelisierte Programmsteuerung |
CN102334104A (zh) * | 2011-08-15 | 2012-01-25 | 华为技术有限公司 | 一种基于多核系统的同步处理方法及装置 |
WO2012027907A1 (en) * | 2010-09-03 | 2012-03-08 | Siemens Aktiengesellschaft | Method for parallelizing automatic control programs and compiler |
CN103080921A (zh) * | 2010-08-30 | 2013-05-01 | 富士通株式会社 | 多核处理器系统、同步控制系统、同步控制装置、信息生成方法以及信息生成程序 |
US20160236077A1 (en) * | 2015-02-17 | 2016-08-18 | Technische Universitaet Muenchen | Method and system for automatic distribution and solution of tasks |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887143A (en) | 1995-10-26 | 1999-03-23 | Hitachi, Ltd. | Apparatus and method for synchronizing execution of programs in a distributed real-time computing system |
US10489206B2 (en) * | 2016-12-30 | 2019-11-26 | Texas Instruments Incorporated | Scheduling of concurrent block based data processing tasks on a hardware thread scheduler |
-
2017
- 2017-01-13 DE DE102017100655.9A patent/DE102017100655A1/de not_active Withdrawn
- 2017-11-23 WO PCT/EP2017/080165 patent/WO2018130331A1/de unknown
- 2017-11-23 CN CN201780083460.7A patent/CN110168455B/zh active Active
- 2017-11-23 EP EP17801720.8A patent/EP3548975B1/de active Active
-
2019
- 2019-07-03 US US16/502,300 patent/US11327800B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006052757A1 (de) * | 2006-11-08 | 2008-05-15 | Siemens Ag | Automatisierungsgerät mit einer Verarbeitungseinheit und Verwendung einer Verarbeitungseinheit in einem Automatisierungsgerät |
US20090007117A1 (en) * | 2007-06-26 | 2009-01-01 | Samsung Electronics Co., Ltd. | Method and apparatus for performing related tasks on multi-core processor |
DE102009047024A1 (de) * | 2009-11-23 | 2011-05-26 | Beckhoff Automation Gmbh | Parallelisierte Programmsteuerung |
CN103080921A (zh) * | 2010-08-30 | 2013-05-01 | 富士通株式会社 | 多核处理器系统、同步控制系统、同步控制装置、信息生成方法以及信息生成程序 |
WO2012027907A1 (en) * | 2010-09-03 | 2012-03-08 | Siemens Aktiengesellschaft | Method for parallelizing automatic control programs and compiler |
CN102334104A (zh) * | 2011-08-15 | 2012-01-25 | 华为技术有限公司 | 一种基于多核系统的同步处理方法及装置 |
US20160236077A1 (en) * | 2015-02-17 | 2016-08-18 | Technische Universitaet Muenchen | Method and system for automatic distribution and solution of tasks |
Also Published As
Publication number | Publication date |
---|---|
EP3548975A1 (de) | 2019-10-09 |
DE102017100655A1 (de) | 2018-07-19 |
EP3548975B1 (de) | 2020-04-29 |
US11327800B2 (en) | 2022-05-10 |
CN110168455B (zh) | 2022-06-28 |
US20190324815A1 (en) | 2019-10-24 |
WO2018130331A1 (de) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bai et al. | Optimal one-wafer cyclic scheduling and buffer space configuration for single-arm multicluster tools with linear topology | |
Qiao et al. | Scheduling of dual-arm cluster tools with wafer revisiting and residency time constraints | |
Qiao et al. | Petri net modeling and wafer sojourn time analysis of single-arm cluster tools with residency time constraints and activity time variation | |
Qiao et al. | Real-time scheduling of single-arm cluster tools subject to residency time constraints and bounded activity time variation | |
Wu et al. | A Petri-net-based scheduling strategy for dual-arm cluster tools with wafer revisiting | |
EP3116166B1 (en) | Control system, control device, and control method | |
Wu et al. | Resource-oriented Petri net for deadlock avoidance in flexible assembly systems | |
CN111034128B (zh) | 控制系统以及控制装置 | |
EP3196719B1 (en) | Multi-mover linear motor controller providing shared coodination subsystem | |
Pan et al. | A novel algorithm for wafer sojourn time analysis of single-arm cluster tools with wafer residency time constraints and activity time variation | |
CN108400917A (zh) | 一种面向智能制造的边缘计算网关及系统 | |
Yang et al. | Petri net-based optimal one-wafer cyclic scheduling of hybrid multi-cluster tools in wafer fabrication | |
CN101770215A (zh) | 可编程控制器 | |
US20110029140A1 (en) | Central control and instrumentation system for a technical installation and method for operating a central control and instrumentation system | |
Qiao et al. | How to respond to process module failure in residency time-constrained single-arm cluster tools | |
Singholi et al. | Impact of manufacturing flexibility on FMS performance: a simulation study | |
CN110168455A (zh) | 多计算核设备上的技术过程的控制 | |
CN101794134A (zh) | 具有可编程的矩阵模块的自动化系统 | |
CN104049577B (zh) | 用于运行工业控制系统的方法以及工业控制系统 | |
Azadeh et al. | Solving and optimizing a bi-objective open shop scheduling problem by a modified genetic algorithm | |
EP2831682B1 (en) | A method for engineering a distributed control system and an engineering tool thereof | |
JP5009625B2 (ja) | 連携して動作する異なる機器の作動方法及び装置 | |
US6427221B1 (en) | Self-organizing rolling mill system importing neighbor constraint ranges | |
US20190188045A1 (en) | Method for processing data and programmable logic controller | |
Foumani et al. | Scheduling dual gripper robotic cells with a hub machine |
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 |