多计算核设备上的技术过程的控制的制作方法

文档序号:18516317发布日期:2019-08-24 09:28阅读:154来源:国知局
多计算核设备上的技术过程的控制的制作方法

本发明涉及一种用于在具有多个计算核的控制器上控制技术过程的方法,该技术过程包括多个可独立控制的模块的控制任务,其中该技术过程包括至少一个与控制器的通信连接,用于交换数据。本发明还涉及用于该技术过程的相应控制器和具有这种控制器的驱动系统。

技术过程的控制通常通过存储器可编程控制器sps来实现。在这种情况下,通常采用计算设备来执行具有单个控制任务的控制程序,控制程序询问技术过程的状态,以便然后根据确定的状态来控制技术过程。在这种情况下,控制程序的各个控制任务通常在固定的时间范围内以循环方式执行。然而,复杂的技术过程可以包括多个可独立控制的模块,并且对计算设备的性能提出了很高的要求。

在某种程度上,可以通过更高时钟的计算设备来满足对控制器的增加的需求。由于物理条件的原因,这种性能提高可能无法随意延续。另一种可能性是使用包括并行工作的多个计算核的计算设备。通过至不同计算核的分配来分配控制任务增加了在固定时间段内可用的计算时间。此外,可以将各个控制任务划分为独立的子任务,并在不同计算核上并行执行。

然而,并行化的控制程序迄今为止几乎没有用于工业自动化。控制程序主要设计用于在计算核上执行,而不是针对并行处理。如果自动化系统使用多计算核设备,并行处理通常仅限于将单个的控制任务指配给可用的计算核。例如由de102006052757b4已知了用于带有多个计算核的技术过程的控制器,其中技术过程的控制任务被相应指配给计算核。

然而,如果单个控制任务所需的计算时间超过确定的循环时间,则所述并行化概念达到其极限。在这种情况下,可以通过在控制任务本身内将计算分布到现有计算核来实现计算时间的减少。但是,通常,这种并行化需要费事地对控制任务的实现进行重新设计。

本发明的目的是在具有多个计算核的控制器上实现一种技术过程,该技术过程包括用于多个可独立控制的模块的控制任务,使得能够实现整个处理时间减少并且循环时间更短,而不需要费事的重新设计。

该目的通过根据权利要求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,145148时的并行化以及在第二时间段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单元31的第一计算核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。

借助于本发明的并行控制概念,可以利用技术过程的多个可单独控制的模块灵活且可靠地处理控制任务,其中通过对并行化的可变构型可能性可以不仅在提供输入和输出数据、而且在输入数据的基础上计算输出数据时缩短循环时间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1