CN112578744B - 在工业控制器上调度一或多个控制应用的方法及配置工具 - Google Patents
在工业控制器上调度一或多个控制应用的方法及配置工具 Download PDFInfo
- Publication number
- CN112578744B CN112578744B CN202011018335.8A CN202011018335A CN112578744B CN 112578744 B CN112578744 B CN 112578744B CN 202011018335 A CN202011018335 A CN 202011018335A CN 112578744 B CN112578744 B CN 112578744B
- Authority
- CN
- China
- Prior art keywords
- block
- blocks
- organization
- function
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000008520 organization Effects 0.000 claims abstract description 167
- 238000005070 sampling Methods 0.000 claims abstract description 46
- 230000006870 function Effects 0.000 claims description 106
- 238000003064 k means clustering Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003723 Smelting Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41835—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41845—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/41855—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
-
- 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/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4188—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
Abstract
本公开涉及在工业控制器上调度一或多个控制应用的方法及配置工具。该方法包括:通过基于每个功能块的采样时间对循环控制应用的多个功能块进行聚类来限定多个功能块簇;从多个功能块簇创建多个组织块,每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,该组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值;以及基于采样时间值和下一截止时间值中的至少一个来调度多个组织块以在控制器上执行,其中组织块的采样时间值基于对应的组织块的一个或多个功能块的一个或多个采样时间。
Description
技术领域
本公开涉及一种工业自动化系统中的控制器,并且更具体地涉及在这些控制器上调度控制应用。
背景技术
本公开涉及工业自动化系统中的控制器。控制器通常用于过程工业和工厂来控制各种工业过程。作为过程控制的一部分,控制器用于监测来自过程中的传感器的信号,并且由此控制与该过程相关联的致动器。对此,将一个或多个控制应用安装在控制器上来控制这些工业过程。
在控制器中将控制应用实现为多个功能块(也称为功能或FB)。控制器提供具有预定实时属性和执行语义(称为组织块或OB)的一组任务。将功能块分配给组织块以在控制器上执行。然后,这些组织块由控制器的操作系统根据其执行语义(循环、中断驱动等)来执行。传统地,控制器上的控制应用的调度是在工业自动化系统的设计阶段静态地限定的并且包括一些人为干预。在设计中将功能块手动地分配给合适的PLC任务(即,组织块)。然后,组织块被配置或配备有合适的参数,如频率、优先级等。
大多数控制应用本质上是循环的,即,当控制应用的执行完成时,控制器的操作系统重新开始控制应用。因此,这种循环控制应用的功能块被分配在一个或多个循环组织块中。这些组织块具有所有组织块中的最低的优先级。因此,循环组织块的执行能够被任何其他的组织块或任何其他的事件类的事件中断。如果已经创建若干循环组织块,则严格按照它们的组织块编号的顺序依次调用这些循环组织块,并且每个循环OB有助于控制应用的循环时间。如果循环时间超过“最大循环时间”,则能够限定适当的动作,其通常是PLC上的应用执行的停止。
然而,当在大型项目中需要将大量不同时间需求的功能塞进控制器中时,组织块的顺序执行会快速地达到其实际的限制。违反实时约束,如循环超限,导致PLC中需要单独处理的警报,或者如果未处理,则导致PLC停止。
为了解决这个问题,传统的PLC具有基于优先级的抢占式调度器。高优先级(通常是循环任务)由定时器中断而触发并且导致抢占较低的优先级任务。在工程系统中为PLC静态地分配优先级。然而,这导致低优先级任务或组织块被不适当地调度并且因此不能满足截止时间。
因此,需要允许PLC操作系统基于变化的实时要求和负载模式作出反应并且减小抖动的灵活的调度方法。
发明内容
因此,本公开公开了在控制器上调度一个或多个循环控制应用的方法。每个循环控制应用包括一个或多个功能块。该方法包括:通过基于来自多个功能块的每个功能块的采样时间对循环控制应用的多个功能块进行聚类来限定多个功能块簇;从多个功能块簇创建多个组织块;以及基于来自多个组织块的每个组织块的采样时间值和下一截止时间值中的至少一个来调度多个组织块以在控制器上执行。
每个功能块簇包括具有在范围内的采样时间的一个或多个功能块。每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,该组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值。组织块的采样时间值基于对应的组织块的一个或多个功能块的一个或多个采样时间来确定。基于对应的组织块的一个或多个功能块的一个或多个截止时间值来确定组织块的下一截止时间值。
在实例中,每个组织块记录还包括与对应的组织块相关联的调用时间值和估计执行时间值中的一个或多个。在实施方式中,调度多个组织块包括确定第一组织块,其中第一组织块的下一截止时间值先于每个其他的组织块的下一截止时间值,并且在第一位置调度第一组织块以在控制器上执行。在实例中,通过对多个功能块应用K-均值聚类技术来限定多个功能块簇。这使得能够对功能块进行自动聚类以创建组织块。
在实施方式中,该方法还包括确定多个功能块的第一功能块与第二功能块之间的功能关系,其中,第二功能块的执行取决于第一功能块的执行;并且限定逻辑功能块,其中,逻辑功能块包括第一功能块和第二功能块,其中,逻辑功能块用于调度第一功能块和第二功能块的执行。基于第一功能块的采样时间和第二功能块的采样时间来确定逻辑功能块的采样时间。通过创建逻辑块,保持互连功能块之间的执行顺序。
在实例中,该方法还包括在执行对应的组织块之后更新来自多个组织块的组织块的调用时间值和下一截止时间值。
在另一方面中,本公开描述用于调度控制器上的一个或多个循环控制应用的配置工具。每个循环控制应用包括一个或多个功能块。配置工具包括网络接口,其连接至控制器和包括多个功能块的数据储存库,以及连接至存储一个或多个指令的存储器模块的一个或多个处理器。一个或多个处理器在执行一个或多个指令时被配置为:经由网络接口从数据储存库接收与控制器相关联的多个功能块;通过基于来自多个功能块的每个功能块的采样时间对循环控制应用的多个功能块进行聚类来限定多个功能块簇;从多个功能块簇创建多个组织块,每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,该组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值;并且部署多个组织块以在控制器上执行。
在实例中,确定来自多个功能块的第一功能块与第二功能块之间的功能关系,其中,第二功能块的执行取决于第一功能块的执行;并且限定逻辑功能块,其中,逻辑功能块包括第一功能块和第二功能块,其中,逻辑功能块用于调度第一功能块和第二功能块的执行。参见图1-图6进一步解释这些方面。
附图说明
以下参考附图详细说明,其中:
图1示出实例工业自动化系统,该系统包括控制器和用于在控制器上部署控制应用的配置工具;
图2示出控制器上的控制应用的实例执行顺序;
图3示出用于调度控制器上的一个或多个控制应用的实例方法;
图4示出用于控制器上的组织块的动态调度的实例的表;
图5示出控制器上的两个组织块的实例执行顺序;以及
图6示出用于在控制器上调度一个或多个控制应用的实例配置工具。
具体实施方式
图1示出工业设施中的工业自动化系统100。本文中的工业设施是指可以发生诸如制造、精炼、熔炼、装备组装之类的一个或多个工业过程的任何环境,并且包括过程工厂、炼油厂、汽车工厂等。工业自动化系统100包括多个控制装置,诸如,可编程逻辑控制器(在图中示出为控制器120)、过程控制器、监督控制器、操作员装置等。
控制装置(例如,控制器120)连接至用于监视和控制工业设施中的工业过程的多个现场装置,诸如,致动器(图中未示出)和传感器装置(图中示出为流量计130和压力发送器140)。这些现场装置能够包括流量计、值致动器、温度传感器、压力传感器等。为了能够控制工业设施中的工业过程,将多个控制应用安装在控制器上。控制器上的一个或多个控制应用是循环应用。
本文中的循环应用指只要异常条件不发生就连续地重复其执行的应用。如前所提及,经由多个功能块在控制器中实现控制应用。将这些功能块分配给在控制器中执行的控制器的组织块。这将参见图2进一步解释。
图2示出控制器120上的实例执行顺序。在第一时刻中,启动组织块213的执行。在第二时刻处,中断任务可以暂停组织块213的执行。在第三时刻处,中断任务完成,并且组织块213的执行恢复。在第四时刻处,完成组织块213的执行并且启动组织块233的执行。组织213的执行被调度为在组织块233的执行之后重复。如图2所示,与其他任务经受中断相比,循环组织块的执行通常具有更低的优先级。因此,在组织块的调度期间,必须考虑中断和其他抖动以确保满足截止时间。这由控制器120和配置工具110执行。如图1所示,配置工具110连接至控制器120以用于在工业自动化系统100的设计过程中配置控制器120。配置工具110接收待部署在控制器110上的多个控制应用。每个循环控制应用包括一个或多个功能块。
配置工具110从控制应用的功能块生成多个组织块。然后,配置工具110生成组织块的调度。多个组织块和初始调度被发送到控制器120用于部署。控制器120接收多个组织块,并且根据调度启动组织块的执行。在组织块的执行期间,控制器120更新调度以考虑组织块的中断和执行时间,从而确保满足截止时间约束。这将参见图3进一步讨论。
图3示出用于在控制器120上调度一个或多个循环控制应用的实例方法300。在步骤310处,配置工具110从循环控制应用的多个功能块限定多个功能块簇。本文中的功能块是指将对一个或多个输入变量执行以用于生成一个或多个输出变量的一个或多个处理操作。功能块可以使用功能框图、结构化文本、指令列表、梯形逻辑等来表示。
配置工具110基于功能块的采样时间对多个功能块进行聚类,使得功能块具有在时间范围内的相似采样时间,并且与簇放置在一起。这里的采样时间指执行功能块所需的时间。在实例中,采样时间包括最小采样时间值和最大采样时间值。
在实例中,基于包括采样时间增量(英语:delta)、控制器120中可用的组织块的数量等的一个或多个预先限定的参数由配置工具110实现聚类。
采样时间增量指两个功能块的采样时间之间的差。在实例中,配置工具110应用K-均值聚类技术以用于基于30毫秒的采样时间增量来限定簇。例如,控制应用的多个功能块包括具有80毫秒、85毫秒、150毫秒、155毫秒、160毫秒和300毫秒的采样时间的六个功能块。因此,配置工具110创建三个功能块簇:包括具有采样时间80和85ms的功能块的第一功能块簇、包括具有采样时间150、155和160的功能块的第二功能块簇以及包括具有采样时间300ms的功能块的第三功能块簇。
在另一实例中,控制器120的操作系统(OS)能够容纳自由循环执行的四个组织块。因此,配置工具110包括生成簇的同时,最大四个簇的约束。基于该约束,配置工具110可以从功能块生成四个或更少的簇。
然后,在步骤320处,配置工具110从多个功能块簇创建多个组织块。这里的组织块指在控制器中可用的执行控制元件,可以向该执行控制元件分配一个或多个功能块。组织块限定分配给对应组织块的功能块的执行进入点和执行语义。组织块也可以被称为任务、线程、程序、组织单元。在控制器中,预先限定多个组织类型和多个组织块。例如,基于执行语义,控制器可以具有自由循环组织块、循环中断组织块、时刻(英语:time of day)中断组织块。
每个组织块包括来自至少一个功能块簇的一个或多个功能块以及组织块记录。将与组织块的执行相关联的信息存储在组织块记录中。组织块记录包含关于组织块的元数据。元数据包括优先级类别、事件和类别标识符、采样时间值、与先前调用相关联的调用时间值、与对应组织块相关联的估计执行时间和下一截止时间值。
优先级类别指示由配置工具110基于分配给对应组织块的功能块的优先级来设定的组织块的优先级。组织块的事件和类别标识符由配置工具110设定以指示组织块的执行语义。组织块的采样时间基于分配给对应组织块的每个功能块的采样时间。在实例中,组织块的采样时间是通过将分配给对应的组织块的每个功能块的采样时间或最小采样相加来计算的。先前调用时间是组织块先前由控制器120调用来执行的时刻。估计执行时间值是组织块的实际执行中所需的最大时间。下一截止时间值是组织块必须由控制器120执行的时间。在初始时间(即,在控制器120上的第一控制应用的第一周期开始之前),将第一控制应用的组织块的先前调用时间、估计执行时间和下一截止时间值都设定为零。
在实施方式中,从一个或多个功能块簇的每个簇创建每个组织块。例如,从第一功能块簇创建第一组织块,并且因此,第一组织块包括具有采样时间80和85ms的功能块。类似地,从第二功能块簇创建第二组织块,并且因此,第二组织块包括具有采样时间150、155和160的功能块。类似地,从第三功能块簇创建第三组织块,并且包括具有300ms的采样时间的功能块。
然后在步骤330处,配置工具110与控制器120协调调度控制器120上的组织块的执行。配置工具110基于采样时间或下一截止时间值来调度组织块的执行。
在实例中,在将组织块部署在控制器120上之前,配置工具110顺序地调度组织块的执行。
基于来自配置工具110的调度,控制器120在第一循环中顺序地执行每个组织块。在组织块的执行过程中,控制器120更新每个组织块的组织块记录。然后,在完成组织块的执行的初始或第一循环时,由于组织块是循环的,因此组织块的执行被再次调度。然后,配置工具110或控制器120基于存储在组织块记录中的每个组织块的下一截止时间值来确定用于执行的调度。这里的调度是指短期动态调度,其中,控制器120基于下一截止时间值选择用于执行的组织块。这将参见图4中所示的实例情况进一步解释。
图4示出用于组织块OB1和OB2的动态调度的实例表400。该表格包括指示与组织块的执行相关的时刻的第一列410。第二列420指示组织块OB1的组织块记录。第三列430指示组织块OB2的组织块记录。组织块记录的格式是“采样时间/先前调用时间/估计执行时间/下一截止时间”。
OB1和OB2的初始执行(即,第一循环)顺序地进行。因此,在时间为1ms时,控制器120开始OB1的执行(具有组织块记录80ms抽样时间/0ms调用时间/0ms估计执行时间/0ms下一截止时间)。因此,控制器120通过将组织块记录更新为80/1/0/0来更新OB1的组织块记录的先前调用时间,以反映调用时间1ms。然后,在时刻52ms处,组织块OB1的执行完成。此时,控制器120通过更新估计执行时间和下一截止时间值来更新OB1的组织块记录。控制器120通过确定从调用时间到完成执行时间的时间来计算估计执行时间值。在当前情况下,估计执行时间是51ms,即,52ms(执行完成)-1ms(先前调用时间)。然后,控制器120基于当前执行完成时间、采样时间和估计执行时间来确定下一截止时间值。在当前情况下,下一截止时间值是81ms,即,80ms(采样时间)+51ms(当前执行完成时间)-50ms(估计执行时间)。
然后,控制器120开始OB2的执行。因此,控制器120通过将组织块记录更新为80/52/0/0来更新OB2的组织块记录的先前调用时间,以反映调用时间52ms。然后,在时刻63ms处,组织块OB2的执行完成。此时,控制器120通过更新估计执行时间和下一截止时间值来更新OB2的组织块记录。控制器120通过确定从调用时间到完成执行时间的时间来计算估计执行时间值。在当前情况下,估计执行时间是11ms,即,63ms(执行完成)-52ms(先前调用时间)。然后,控制器120基于当前执行完成时间、采样时间和估计执行时间来确定下一截止时间值。在当前情况下,下一截止时间值是202ms,即,150ms(采样时间)+62ms(当前执行完成时间)-11ms(估计执行时间)。
现在,由于完成了控制应用的一个循环,因此再次重新开始执行。为了选择或调度待执行的组织块,控制器120在所有组织块之中确定具有最早截止时间的组织块。这也被称为最早截止时间优先调度。首先,这里最早截止时间指调度组织块的执行,该组织块具有先于所有其他的组织块的每个其他下一截止时间值的下一截止时间值。在当前情况下,在OB1(具有81ms的下一截止时间)和OB2(具有202ms的下一截止时间)之中,控制器120选择OB1用于执行。然后,控制器120开始OB1的执行。因此,控制器120通过将组织块记录更新为80/63/50/81来更新OB1的组织块记录的先前调用时间,以反映调用时间63ms。然后,在时刻115ms处,组织块OB1的执行完成。此时,控制器120通过更新估计执行时间和下一截止时间值来更新OB1的组织块记录。控制器120通过确定从调用时间到完成执行时间的时间来计算估计执行时间值。在当前情况下,估计执行时间是52ms,即,115ms(执行完成)-63ms(先前调用时间)。然后,控制器120基于当前执行完成时间、采样时间和估计执行时间来确定下一截止时间值。在当前情况下,下一截止时间值是143ms,即,80ms(采样时间)+115ms(当前执行完成时间)-52ms(估计执行时间)。
然后,首先,控制器120再次选择具有最早截止时间的组织块。在当前情况下,在OB1(具有143ms的下一截止时间)和OB2(具有202ms的下一截止时间)之中,控制器120选择OB1用于执行。然后,控制器120开始OB1的执行。因此,控制器120通过将组织块记录更新为80/115/50/81来更新OB1的组织块记录的先前调用时间,以反映调用时间115ms。然后,在时刻167ms处,组织块OB1的执行完成。此时,控制器120通过更新估计执行时间和下一截止时间值来更新OB1的组织块记录。控制器120通过确定从调用时间到完成执行时间的时间来计算估计执行时间值。在当前情况下,估计执行时间是52ms,即,167ms(执行完成)-115ms(先前调用时间)。然后,控制器120基于当前执行完成时间、采样时间和估计执行时间来确定下一截止时间值。在当前情况下,下一截止时间值是195ms,即,80ms(采样时间)+167ms(当前执行完成时间)-52ms(估计执行时间)。
然后,首先,控制器120再次选择具有最早截止时间的组织块。在当前情况下,在OB1(具有195ms的下一截止时间)和OB2(具有202ms的下一截止时间)之中,控制器120选择OB1用于执行。在245ms处,OB1的执行完成。然后,首先,控制器120再次选择具有最早截止时间的组织块。在当前情况下,在OB1(具有245ms的下一截止时间)和OB2(具有202ms的下一截止时间)之中,控制器120选择OB2用于执行。
在图5中还示出组织块的上述实例执行顺序500。如图5所示,第一循环(513和523)包括组织块OB1和OB2的顺序执行。然后,从第二循环向前(533、543、553和563),首先,控制器120依赖于最早截止时间来确定待执行哪个组织块。因此,在第二循环中,先于OB2将OB1执行(563)执行三次(533、543和553)。与顺序执行相比,当前方法允许避免频繁执行开销大的组织块,这些组织块从截止时间的角度来看不具有每个循环被调用的要求。如从实例所见,虽然错过OB2的截止时间,但是由于OB1具有195ms的较早截止时间,因此将优先级给予OB1,并且因此,与顺序执行相比,从截止时间推移的时间减少。
在实例中,配置工具110能够确定来自多个功能块的第一功能块与第二功能块之间的功能关系,使得第二功能块的执行取决于第一功能块的执行。在这种情况下,配置工具110限定逻辑功能块,其中,逻辑功能块包括第一功能块和第二功能块,其中,逻辑功能块用于调度第一功能块和第二功能块的执行。逻辑功能块的采样时间基于第一功能块的采样时间和第二功能块的采样时间。通过创建逻辑功能块,出于创建功能块簇并生成组织块的目的,配置工具110将第一功能块和第二功能块创建为单个功能块。
本公开能够采取计算机程序产品的形式,该计算机程序产品包括可从计算机可用或计算机可读介质访问的程序模块,该计算机可用或计算机可读介质存储由一个或多个计算机、处理单元或指令执行系统使用或与其结合使用的程序代码。
因此,本公开描述包含用于在控制器上调度一个或多个控制应用的指令的非暂时性存储介质640。如图6所示,在实例中,非暂时性存储介质640是配置工具600的一部分。配置工具600包括连接至控制器120和包括多个功能块的数据储存库的网络接口610,以及连接至存储一个或多个指令的非暂时性存储介质或存储器模块的一个或多个处理器。一个或多个处理器在执行一个或多个指令时被配置为:经由网络接口从数据储存库接收与控制器相关联的多个功能块;通过基于来自多个功能块的每个功能块的采样时间对循环控制应用的多个功能块进行聚类来限定多个功能块簇,其中,每个簇包括具有在第一范围内的采样时间的一个或多个功能块;从多个功能块簇创建多个组织块,每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,该组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值;并且部署多个组织块用于在控制器上执行,其中,部署多个组织块包括基于采样时间值和下一截止时间值中的至少一个来执行组织块。配置工具600还包括调度器620,该调度器基于如先前所解释的最早截止时间优先调度技术来确定用于执行的组织块。
虽然本公开将配置工具600描述为独立组件,但是配置工具可以是软件组件并且可以在控制器120内实现。此外,在实施方式中,配置工具600的一个或多个部件(诸如,调度器620)可以在控制器120内实现。
出于说明的目的,计算机可用或计算机可读的非暂时性存储介质能够是能够包含、存储、传送、传播或传输程序以供指令执行系统、设备或装置使用或与其结合使用的任何设备。介质能够是电子、磁性、光学、电磁、红外或半导体系统(或设备或装置)或其本身和传播介质,由于信号载体不包括在物理计算机可读介质的限定中,因此物理计算机可读介质包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘(诸如,光盘只读存储器(CD-ROM)、光盘读/写和DVD)。用于实现本技术的每个方面的处理单元和程序代码两者能够是如本领域技术人员已知的集中式或分布式(或其组合)。
虽然参考很少的工业装置来描述本公开,但是在本发明的背景下可以使用多个工业装置。而且,虽然使用单个控制器装置来解释本公开,但是可以使用多个控制器装置。虽然已经参考某些实施方式详细描述了本公开,但是应当理解,本公开不限于这些实施方式。鉴于本公开,在不脱离如本文所描述的本公开的各种实施方式的范围的情况下,本领域的技术人员会自己进行许多修改和变型。因此,由所附权利要求而不是由前面的说明指定本公开的范围。在权利要求的等同物的意义和范围内的所有改变、修改和变型都被认为是在其范围内。方法权利要求中要求保护的所有有利实施方式也可以应用于系统/设备权利要求。
Claims (11)
1.一种用于在控制器(120)上调度一个或多个循环控制应用的方法(300),其中,每个循环控制应用包括一个或多个功能块,所述方法(300)包括:
a.通过基于来自多个功能块的每个功能块的采样时间对所述循环控制应用的所述多个功能块进行聚类来限定(310)多个功能块簇,其中,每个簇包括具有在范围内的采样时间的一个或多个功能块;
b.从所述多个功能块簇创建(320)多个组织块,每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,所述组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值;以及
c.基于来自所述多个组织块中的每个组织块的采样时间值和下一截止时间值中的至少一个来调度(330)所述多个组织块以在所述控制器(120)上执行;
其中,组织块的采样时间值基于对应的组织块的一个或多个功能块的一个或多个采样时间。
2.根据权利要求1所述的方法(300),其中,基于对应的组织块的一个或多个功能块的一个或多个截止时间值来确定所述组织块的下一截止时间值。
3.根据权利要求1所述的方法(300),其中,所述组织块记录还包括与对应的组织块相关联的调用时间值和估计执行时间值中的一个或多个。
4.根据权利要求1所述的方法(300),其中,调度所述多个组织块包括
a.确定第一组织块,其中,所述第一组织块的下一截止时间值先于每个其他的组织块的下一截止时间值;以及
b.调度所述第一组织块以在所述控制器(120)上执行,其中,所述第一组织块的执行先于来自所述多个组织块的每个其他的组织块的执行。
5.根据权利要求1所述的方法(300),其中,限定多个功能块簇包括对所述多个功能块应用K-均值聚类技术。
6.根据权利要求1所述的方法(300),其中,所述方法还包括:
a.确定来自所述多个功能块的第一功能块与第二功能块之间的功能关系,其中,所述第二功能块的执行取决于所述第一功能块的执行;以及
b.限定逻辑功能块,其中,所述逻辑功能块包括所述第一功能块和所述第二功能块,其中,所述逻辑功能块用于调度所述第一功能块和所述第二功能块的执行;
其中,所述逻辑功能块的采样时间基于所述第一功能块的采样时间和所述第二功能块的采样时间。
7.根据权利要求3所述的方法(300),其中,所述方法还包括在执行对应的组织块之后更新来自所述多个组织块的组织块的调用时间值和下一截止时间值。
8.一种用于在控制器(120)上调度一个或多个循环控制应用的配置工具(600),其中,每个循环控制应用包括一个或多个功能块,所述配置工具包括:
a.网络接口(610),所述网络接口连接至所述控制器(120)和包括多个功能块的数据储存库;
b.一个或多个处理器(630),所述一个或多个处理器连接至存储一个或多个指令的存储器模块,其中,所述一个或多个处理器(630)在执行所述一个或多个指令时被配置为:
i.经由所述网络接口(610)从数据储存库接收与所述控制器相关联的多个功能块;
ii.通过基于来自所述多个功能块的每个功能块的采样时间对所述循环控制应用的多个功能块进行聚类来限定多个功能块簇,其中,每个簇包括具有在对应的范围内的采样时间的一个或多个功能块;
iii.从所述多个功能块簇创建多个组织块,每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,所述组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值;并且
iv.部署所述多个组织块以在所述控制器(120)上执行,
其中,部署所述多个组织块包括基于采样时间值和下一截止时间值中的至少一个来执行组织块;
其中,组织块的采样时间值基于对应的组织块的一个或多个功能块的一个或多个采样时间。
9.根据权利要求8所述的配置工具(600),其中,所述一个或多个处理器(630)还被配置为对所述多个功能块应用K-均值聚类技术以用于限定所述功能块簇。
10.根据权利要求8所述的配置工具(600),其中,所述一个或多个处理器(630)还被配置为:
a.确定来自所述多个功能块的第一功能块与第二功能块之间的功能关系,其中,所述第二功能块的执行取决于所述第一功能块的执行;并且
b.限定逻辑功能块,其中,所述逻辑功能块包括所述第一功能块和所述第二功能块,其中,所述逻辑功能块用于调度所述第一功能块和所述第二功能块的执行;
其中,基于所述第一功能块的采样时间和所述第二功能块的采样时间来确定所述逻辑功能块的采样时间。
11.一种非暂时性存储介质(640),所述非暂时性存储介质中存储有机器可读指令,所述机器可读指令在由处理器(630)执行时使所述处理器(630):
a.通过基于来自多个功能块的每个功能块的采样时间对循环控制应用的所述多个功能块进行聚类来限定多个功能块簇,其中,每个簇包括具有在对应的范围内的采样时间的一个或多个功能块;
b.从所述多个功能块簇创建多个组织块,每个组织块包括来自功能块簇的一个或多个功能块以及组织块记录,所述组织块记录包括与对应的组织块相关联的采样时间值和下一截止时间值;并且
c.基于来自所述多个组织块的每个组织块的采样时间值和下一截止时间值中的至少一个来调度所述多个组织块以在控制器(120)上执行;
其中,组织块的采样时间值基于对应的组织块的一个或多个功能块的一个或多个采样时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19200064.4A EP3798753B1 (en) | 2019-09-27 | 2019-09-27 | Method for scheduling one or more control applications on an industrial controller and a configuration tool therefor |
EP19200064.4 | 2019-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112578744A CN112578744A (zh) | 2021-03-30 |
CN112578744B true CN112578744B (zh) | 2024-03-15 |
Family
ID=68165434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011018335.8A Active CN112578744B (zh) | 2019-09-27 | 2020-09-24 | 在工业控制器上调度一或多个控制应用的方法及配置工具 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11378941B2 (zh) |
EP (1) | EP3798753B1 (zh) |
CN (1) | CN112578744B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006107381A2 (en) * | 2005-04-04 | 2006-10-12 | Atc Technologies, Llc | Radioterminals and associated operating methods that alternate transmission of wireless communications and processing of global positioning system signals |
CN103019163A (zh) * | 2011-04-11 | 2013-04-03 | 洛克威尔自动控制技术股份有限公司 | 具有分布式运动规划的工业控制系统 |
CN107111308A (zh) * | 2015-01-21 | 2017-08-29 | 霍尼韦尔国际公司 | 在工业过程控制和自动化系统中使用功能块进行高级控制的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973356B2 (en) * | 2001-04-23 | 2005-12-06 | Siemens Aktiengesellschaft | Method and assembly for operating and/or observing a device that monitors an industrial controller |
US8005553B2 (en) * | 2006-09-29 | 2011-08-23 | Fisher-Rosemount Systems, Inc. | Automatic configuration of synchronous block execution for control modules run in fieldbus networks |
JP2011159051A (ja) * | 2010-01-29 | 2011-08-18 | Sharp Corp | 電力管理装置、および電力管理方法、ならびに当該電力管理装置を備えた電力管理システム、当該電力管理システムを備えた家屋、電力管理装置のプログラム、およびコンピュータ読み取り可能な記録媒体 |
-
2019
- 2019-09-27 EP EP19200064.4A patent/EP3798753B1/en active Active
-
2020
- 2020-09-24 CN CN202011018335.8A patent/CN112578744B/zh active Active
- 2020-09-25 US US17/032,350 patent/US11378941B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006107381A2 (en) * | 2005-04-04 | 2006-10-12 | Atc Technologies, Llc | Radioterminals and associated operating methods that alternate transmission of wireless communications and processing of global positioning system signals |
CN103019163A (zh) * | 2011-04-11 | 2013-04-03 | 洛克威尔自动控制技术股份有限公司 | 具有分布式运动规划的工业控制系统 |
CN104391485A (zh) * | 2011-04-11 | 2015-03-04 | 洛克威尔自动控制技术股份有限公司 | 具有分布式运动规划的工业控制系统 |
CN107111308A (zh) * | 2015-01-21 | 2017-08-29 | 霍尼韦尔国际公司 | 在工业过程控制和自动化系统中使用功能块进行高级控制的方法和装置 |
Non-Patent Citations (1)
Title |
---|
EPA无线工业控制系统的任务调度算法;王军;陈未如;张文国;;辽宁工程技术大学学报(自然科学版)(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20210096550A1 (en) | 2021-04-01 |
US11378941B2 (en) | 2022-07-05 |
CN112578744A (zh) | 2021-03-30 |
EP3798753B1 (en) | 2023-03-01 |
EP3798753A1 (en) | 2021-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107407918B (zh) | 利用app扩展可编程逻辑控制器 | |
CN103052923B (zh) | 安全控制装置及安全控制方法 | |
US6539268B1 (en) | Universal motion control | |
US20060268967A1 (en) | Supplying instruction to operational stations | |
EP2672341A1 (en) | Safety control device and safety control method | |
CN103052924A (zh) | 安全控制装置及安全控制方法 | |
CN103403628A (zh) | 安全控制装置以及安全控制方法 | |
CN109983411A (zh) | 程序模块的流程控制 | |
US9152454B2 (en) | Method for enabling sequential, non-blocking processing of statements in concurrent tasks in a control device | |
US6594541B1 (en) | Universal motion control | |
CN112578744B (zh) | 在工业控制器上调度一或多个控制应用的方法及配置工具 | |
US7369904B2 (en) | Integration method for automation components | |
US20230359487A1 (en) | Control device, non-transitory computer-readable medium, and control method | |
Hace et al. | Control system for the waterjet cutting machine | |
Albertos et al. | Control kernel: A key concept in embedded control systems | |
Park | Real-time scheduling method for middleware of industrial automation devices | |
US20020082721A1 (en) | Programming of cyclical machines | |
JP2006004067A (ja) | 制御装置及びコンピュータプログラム | |
Mensh et al. | Extended FORTRAN for process control | |
Valente et al. | A methodology for static and dynamic scheduling of automation tasks in reconfigurable production systems | |
Park et al. | Real-time scheduler for Middleware of Industrial Robot | |
EP4296856A1 (en) | Computer system and method for executing an automotive customer function | |
CN111276429B (zh) | 半导体机台控制方法、装置及存储介质 | |
Suh et al. | CNC Architecture Design | |
JPH0845805A (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 |