CN109426227B - 高性能控制服务器*** - Google Patents
高性能控制服务器*** Download PDFInfo
- Publication number
- CN109426227B CN109426227B CN201810952172.7A CN201810952172A CN109426227B CN 109426227 B CN109426227 B CN 109426227B CN 201810952172 A CN201810952172 A CN 201810952172A CN 109426227 B CN109426227 B CN 109426227B
- Authority
- CN
- China
- Prior art keywords
- controller
- controllers
- control
- module
- field devices
- 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 claims abstract description 179
- 230000008569 process Effects 0.000 claims abstract description 133
- 238000004886 process control Methods 0.000 claims abstract description 114
- 230000015654 memory Effects 0.000 claims description 52
- 230000003863 physical function Effects 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 36
- 230000006870 function Effects 0.000 description 31
- 238000007726 management method Methods 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000010923 batch production Methods 0.000 description 2
- 238000010924 continuous production Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000010511 looping mechanism Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000009711 regulatory function Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual 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/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
-
- 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]
-
- 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
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/31457—Factory remote control, monitoring through internet
-
- 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/33—Director till display
- G05B2219/33334—Load balancing, distribution between processors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
用于使用集中式或分布式控制器场控制过程控制***内的过程工厂或若干过程工厂的操作的技术允许过程控制***中的增加的灵活性。控制器场中的控制器中的任一个可以用于执行与一个或若干过程工厂中的现场设备中的任一个相对应的模块。可以在分布负载的控制器之间分配控制模块或其它操作,使得一个控制器不执行若干操作而其它控制器不活动。另外,控制器场可以位于温度受控室或位于远离过程工厂的场外区域中。在一些场景中,负载均衡技术被执行以在控制器之间均等地或至少类似地为模块分布负载。
Description
技术领域
本公开内容总体上涉及过程工厂和过程控制***,并且更具体而言,涉及控制跨一个或若干过程工厂分布的若干现场设备的集中式或分布式控制器场(farm)。
背景技术
分布式过程控制***(如在化学、石油、工业或其它过程工厂中用于制造、提炼、转化、生成或生产物理材料或产品的那些分布式过程控制***)通常包括一个或多个过程控制器,该一个或多个过程控制器经由模拟、数字或组合模拟/数字总线、或经由无线通信链路或网络通信地耦合到一个或多个现场设备。可以是例如阀、阀***、开关和变送器(例如,温度、压力、液位和流量传感器)的现场设备位于过程环境内并且通常执行诸如打开或关闭阀、测量诸如温度或压力之类的过程和/或环境参数等等的物理或过程控制功能,以控制在过程工厂或***内执行的一个或多个过程。智能现场设备(诸如符合公知的Fieldbus协议的现场设备)也可以执行控制计算、报警功能以及通常在控制器内实现的其它控制功能。通常还位于工厂环境内的过程控制器接收指示由现场设备获得的过程测量结果的信号和/或与现场设备有关的其它信息,并执行运行例如不同控制模块的控制器应用,这些不同的控制模块做出过程控制决策、基于接收到的信息生成控制信号,并与现场设备(诸如和/>Fieldbus现场设备)中正在执行的控制模块或块配合。控制器中的控制模块通过通信线路或链路向现场设备发送控制信号,从而控制过程工厂或***的至少一部分的操作,例如,控制在工厂或***内运行或执行的一个或多个工业过程中的至少一部分。例如,控制器和现场设备控制由过程工厂或***正在控制的过程中的至少一部分,通常还定位于工厂环境内的I/O设备通常设置在控制器与一个或多个现场设备之间,并且在它们之间(例如,通过将电信号转换为数字值,反之亦然)实现通信。
来自现场设备和控制器的信息通常通过通信网络可用于一个或多个其它硬件设备,诸如操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库、或通常放置在控制室或者远离较严酷的工厂环境的其它位置中的其它集中式管理计算设备。这些硬件设备中的每一个通常都跨过程工厂或者跨过程工厂的一部分而被集中。这些硬件设备运行应用,该应用例如可以使操作员能够执行与控制过程和/或操作过程工厂(诸如,改变过程控制例程的设置、修改控制器内的控制模块或现场设备的操作、查看过程的当前状态、查看由现场设备和控制器生成的警报、为了培训人员或测试过程控制软件的目的模拟过程的操作、保持和更新配置数据库等)相关的功能。由硬件设备、控制器、和现场设备使用的通信网络可以包括有线通信路径、无线通信路径、或有线和无线通信路径的组合。
作为示例,由艾默生过程管理公司出售的DeltaVTM控制***包括存储在位于过程工厂内的不同位置的不同设备内并由这些不同设备执行的多个应用。驻留在一个或多个工作站或计算设备中的配置应用使用户能够创建或改变过程控制模块,并且经由通信网络将这些过程控制模块下载到专用分布式控制器。通常,这些控制模块由通信互连的功能块构成,其是在该控制方案内基于到其上的输入执行功能和在该控制方案内提供输出至其它功能块的面向对象编程协议中的对象。配置应用还可以允许配置设计者创建或改变由查看应用使用的操作员界面来向操作员显示数据,并且使操作员能够改变过程控制例程内的设置(诸如设定点)。每一个专用控制器(以及在某些情况下,一个或多个现场设备)都存储并执行相应的控制器应用,该控制器应用运行分配并下载到其中的控制模块以实现实际的过程控制功能。可以在一个或多个操作员工作站上(或在与操作员工作站和通信网络通信连接的一个或多个远程计算设备上)执行的查看应用经由通信网络接收来自控制器应用的数据,并且使用操作员界面向过程控制***设计者、操作员、或用户显示该数据,并且可以提供诸如操作员视图、工程师视图、技术人员视图等的多个不同视图中的任何一个。数据历史库应用通常存储在数据历史库设备中并由数据历史库设备执行,该数据历史库设备收集并存储跨通信网络提供的数据中的一些或全部数据而配置数据库应用可以在附接到通信网络的另一个计算机中运行,以存储当前过程控制例程配置和与其相关联的数据。替代地,配置数据库可以位于与配置应用相同的工作站中。
当前已知的过程控制工厂和过程控制***的架构受到有限的控制器和设备存储器、通信带宽以及控制器和设备处理器能力的强烈影响。例如,在当前已知的过程控制***架构中,控制器中动态和静态非易失性存储器的使用通常被最小化,或者至少被仔细管理。因此,在***配置期间(例如,先验的),用户通常必须选择哪些数据要在控制器中归档或保存、将保存它的频率,以及是否使用压缩,以及因此,控制器被配置有该数据规则的有限集合。因此,在故障排除和过程分析中可能有用的数据通常不会被归档,并且如果该数据被收集,则有用信息可能由于数据压缩而丢失。
另外,为了最小化当前已知的过程控制***中的控制器存储器使用,将要被归档或保存的所选数据(如控制器的配置所指示)报告给工作站或计算设备以便存储在适当的数据历史库或数据仓(silo)。用于报告数据的当前技术较差地利用通信资源并引起过多的控制器负载。另外,由于历史库或仓处的通信和采样的时间延迟,数据收集和时间戳通常与实际过程不同步。
此外,如上所述,过程控制模块由专用分布式控制器执行,其中每一个控制器都通信地耦合到若干邻近的现场设备。每一个控制器限于执行用于邻近的现场设备的控制模块,并且一个控制器不能控制通信地耦合到过程工厂的不同部分内的另一个控制器的现场设备。控制器的分布式架构可能导致过程工厂中的低效率,因为一些控制器可能需要执行若干操作或任务而其它控制器不活动或未充分利用。
发明内容
一个或若干过程工厂内的过程控制***包括集中式或分布式控制器场,其具有类似于服务器场的若干控制器。控制器场可以包括刀片式服务器或机架服务器,其中控制器场中的控制器中的每一个都被配置为控制过程工厂或若干过程工厂中的现场设备中的每一个以控制过程工厂的操作。以这种方式,控制器不限于控制在过程工厂的特定部分中彼此接近的预定数量的现场设备。控制器场内的单个控制器可以同时控制过程工厂的若干部分中或不同过程工厂中的现场设备。另外,同一控制器可以在第一时间间隔期间控制一个现场设备集合,并且在第二时间间隔期间控制过程工厂的另一部分中的另一个现场设备集合。这允许过程控制***中的增加的灵活性,使得控制器场中的任何控制器可用于执行控制模块或与一个或若干过程工厂中的现场设备中的任一个相对应的其它操作。可以在控制器之间分配控制模块或其它操作,使得一个控制器不执行若干操作而其它控制器不活动。在一些场景中,集中式或分布式控制器场位于温度受控室或远离过程工厂的场外位置中的区域。
控制器场还可以包括控制管理器,其将控制模块和其它操作分配给控制器。控制管理器可以是包括在控制器场内的控制器中的一个控制器中的应用,或者可以包括在另一个计算设备内。例如,控制管理器可以接收经由配置应用生成的控制模块,并将控制模块分配给控制器场内的控制器。可以基于可用性为控制器分配控制模块。例如,控制管理器还可以从控制器场中的控制器中的每一个控制其中接收负载、带宽、可用存储器等的指示,并且可以基于相应的可用性量将控制模块和其它操作分配给控制器。
附图说明
图1A描绘了过程控制***的框图,该过程控制***包括通信地耦合到过程控制***内的一个或多个过程工厂中的现场设备的集中式或分布式控制器场;
图1B示出了可以与图1A的过程控制***通信的集中式或分布式控制器场的示例性架构;
图2示出了图1B的集中式或分布式控制器场中的示例性控制管理器计算设备和若干控制器的框图;以及
图3是表示用于负载均衡过程控制***中的控制器的示例性方法的流程图。
具体实施方式
图1A是在过程工厂10中操作的示例性过程控制***100的框图。过程控制***100可以包括直接或间接地在各种其它设备之间提供连接的网络主干105。在各种实施例中,耦合到网络主干105的设备包括接入点72、(例如,经由内联网或公司广域网)到其它过程工厂的网关75、到外部***(例如,到互联网)的网关78、UI设备112、控制器场160内的控制器150a-n、分布式控制器11、输入/输出(I/O)卡26和28、有线现场设备15-22、无线网关35以及无线通信网络70的组合。通信网络70可以包括无线设备40-58,其包括无线现场设备40-46、无线适配器52a和52b、接入点55a和55b、以及路由器58。无线适配器52a和52b可以分别连接到非无线现场设备48和50。分布式控制器11可以包括处理器30、存储器32和一个或多个控制例程38。另外,如下面更详细描述的,控制器场160内的控制器150a-n中的每一个都可以包括一个或多个处理器、存储器以及一个或多个控制例程。虽然图1A仅描绘了连接到网络主干105的设备中的一些中的单个设备,但是应当理解的是,设备中的每一个都可以在网络主干105上具有多个实例,并且实际上,过程工厂10可以包括多个网络主干105。另外,尽管图1A描绘了单个过程工厂10,但是过程控制***100可以包括若干过程工厂10,其具有由控制器场160内的控制器150a-n控制的现场设备。此外,尽管控制器场160可以位于过程工厂10内,但是控制器场160还可以位于温度受控室或区域154的场外,以防止控制器150a-n过热。在其它实施例中,控制器场160是位于若干温度受控室或区域154a-c中的分布式控制器场160a-160c,其中分布式控制器场160a-c被划分成控制器150a-c、150d-f和150g-i的子集。例如,温度受控室或区域154a-c中的每一个都可以与不同的过程工厂10相关联。在另一个示例中,温度受控室或区域154a-c位于不同的场外地点(例如,不同的城市、州、国家等)。
UI设备112可以经由网络主干105通信地连接到控制器场160、专用控制器11和无线网关35。控制器场160和专用控制器11可以经由输入/输出(I/O)卡26和28通信地连接到有线现场设备15-22,并且可以经由网络主干105和无线网关35通信地连接到无线现场设备40-46。专用控制器11可以操作以使用现场设备15-22和40-46中的至少一些实现批处理或者连续处理。可以作为示例是由艾默生过程管理公司出售的DeltaVTM控制器的专用控制器11通信地连接到过程控制网络主干105。
控制器场160还可以使用控制器150a-n中的至少一个以及现场设备15-22和40-46中的一些现场设备来操作以实现批处理或连续处理。在一些实施例中,控制器场160通信地连接到过程控制网络主干105。专用控制器11和控制器场160还可以使用与例如标准4-20mA设备、I/O卡26、28(或电连接到I/O卡26、28的电子编组部件)相关联的任何期望的硬件和软件,和/或任何智能通信协议(诸如Fieldbus协议、HART协议、Wireless协议等)通信地连接到现场设备15-22和40-46。在图1A所示出的实施例中,专用控制器11、现场设备15-22和I/O卡26、28是有线设备,并且控制器场160和现场设备40-46是无线设备。尽管专用控制器11可以通信地连接到现场设备15-22和40-46的预定集合,但是控制器场中的控制器150a-n中的每一个都通信地连接到过程工厂10中的现场设备15-22和40中的每一个以及过程控制***100内的其它过程工厂中的现场设备。
在UI设备112的操作中,在一些实施例中,UI设备112可以执行用户界面(“UI”),允许UI设备112经由输入接口(interface)接受输入并在显示器处提供输出。UI设备112可以从控制器场160接收数据(例如,过程相关数据,诸如过程参数、日志数据、传感器数据和/或可以被捕获和存储的任何其它数据)。UI设备112可以经由主干105从过程控制***100中的其它节点(诸如分布式控制器11和无线网关35)接收UI数据(可以包括显示数据和过程参数数据)。基于在UI设备112处接收的UI数据,UI设备112提供表示与过程控制***100相关联的过程的各方面的输出(即,可视表示或图形),允许用户监测过程。用户还可以通过在UI设备112处提供输入来影响对过程的控制。为了说明,UI设备112可以提供表示例如罐填充过程的图形。在这种场景中,用户可以读取罐液位测量结果并确定需要填充该罐。用户可以与在UI设备112处显示的入口阀图形进行交互并输入使得入口阀打开的命令。
在操作中,用户可以与UI设备112交互以监测或控制过程控制***100中的一个或多个设备,诸如现场设备15-22和40-46中的任何一个。用户可以与UI设备112交互,例如,以修改或改变与存储在控制器场160或分布式控制器11中的控制例程相关联的参数。分布式控制器11的处理器30实现或监督一个或多个过程控制例程(存储在存储器32中),其可以包括控制循环。处理器30可以与现场设备15-22和40-46以及与通信地连接到主干105的其它节点进行通信。类似地,可以选择控制器场160的控制器150a-n内的处理器来实现或监督一个或多个过程控制例程(存储在存储器中),其可以包括控制循环。所选择的处理器可以与现场设备15-22和40-46以及与通信连接到主干105的其它节点进行通信。应当注意的是,如果需要,本文所描述的任何控制例程或模块(包括质量预测和故障检测模块或功能块)可以具有由不同的控制器或其它设备实现或执行的部分。同样地,本文描述的将在过程控制***100内实现的控制例程或模块可以采用任何形式,包括软件、固件、硬件等。控制例程可以以任何期望的软件格式实现,诸如使用面向对象编程、梯形逻辑、顺序功能图、功能块图,或使用任何其它软件编程语言或设计范例。具体地,控制例程可以由用户通过UI设备112实现。控制例程可以存储在任何期望类型的存储器(诸如随机存取存储器(RAM)或只读存储器(ROM))中。同样地,控制例程可以被硬编码到例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或任何其它硬件或固件元件中。因此,控制器场160或分布式控制器11可以(在某些实施例中由使用UI设备112的用户)配置为以任何期望的方式实现控制策略或控制例程。
在UI设备112的一些实施例中,用户可以与UI设备112交互以使用通常被称为功能块的部件来在控制器场160或分布式控制器11处执行控制策略,其中每一个功能块都是整个控制例程的对象或其它部分(例如,子例程),并且结合其它功能块(经由称为链路的通信)操作以实现过程控制***100内的过程控制循环。基于控制的功能块通常执行诸如与变送器、传感器或其它过程参数测量设备相关联的输入功能、诸如与执行PID、模糊逻辑等控制的控制例程相关联的控制功能、或控制某个设备(诸如阀)的操作的输出功能中的一个,以在过程控制***内执行某个物理功能。当然,存在混合和其它类型的功能块。功能块可以具有在UI设备112处提供的图形表示,允许用户容易地修改功能块的类型、功能块之间的连接以及与在过程控制***中实现的功能块中的每一个相关联的输入/输出。功能块可以存储在控制器场160或分布式控制器11中并由控制器场160或分布式控制器11执行,这通常是当这些功能块用于标准4-20mA设备和某些类型的智能现场设备(诸如HART设备)时或与上述设备相关联的情况,或者该功能块可以存储在现场设备自身中并由该现场设备自身实现,这可能是与Fieldbus设备有关的情况。控制器场160或分布式控制器11可以包括可以实现一个或多个控制循环的一个或多个控制例程38。每一个控制循环通常都被称为控制模块,并且可以通过执行功能块中的一个或多个来进行。
仍然参考图1A,无线现场设备40-46使用诸如无线HART协议之类的无线协议在无线网络70中进行通信。在某些实施例中,UI设备112可能能够使用无线网络70与无线现场设备40-46通信。这种无线现场设备40-46可以直接与过程控制***100的一个或多个其它节点进行通信,该一个或多个其它节点还被配置为(例如,使用无线协议)进行无线通信。为了与未被配置为进行无线通信的一个或多个其它节点进行通信,无线现场设备40-46可以利用连接到主干105的无线网关35。当然,现场设备15-22和40-46可以符合任何其它期望的标准或协议,诸如任何有线或无线协议,包括将来开发的任何标准或协议。
无线网关35是可以提供对无线通信网络70的各种无线设备40-58的访问的提供方设备的示例。具体地,无线网关35提供无线设备40-58与过程控制***100的其它节点(包括图1A的控制器场160和分布式控制器11)之间的通信耦合。在一些情况下,无线网关35通过路由、缓冲和定时服务提供到有线和无线协议栈的较低层(例如,地址转换、路由、分组分段、优先级等)的通信耦合,同时隧穿(tunneling)有线和无线协议栈的一个共享层或多个共享层。在其它情况下,无线网关35可以在不共享任何协议层的有线和无线协议之间转化命令。除了协议和命令转换之外,无线网关35还可以提供由在无线网络70中实现的无线协议相关联的调度方案的时隙和超帧(在时间上等间隔的通信时隙集合)所使用的同步时钟。此外,无线网关35可以为无线网络70提供网络管理和监管功能,诸如资源管理、性能调整、网络故障缓解、监测流量、安全性等。
类似于有线现场设备15-22,无线网络70的无线现场设备40-46可以执行在过程工厂10内的物理控制功能,例如打开或关闭阀或者进行过程参数的测量。然而,无线现场设备40-46被配置为使用网络70的无线协议进行通信。这样,无线现场设备40-46、无线网关和无线网络70的其它无线节点52-58是无线通信分组的生产者和消费者。
在一些场景中,无线网络70可以包括非无线设备。例如,图1A的现场设备48可以是传统的4-20mA设备,并且现场设备50可以是传统的有线HART设备。为了在网络70内通信,现场设备48和50可以经由无线适配器(WA)52a或52b连接到无线通信网络70。另外,无线适配器52a、52b可以支持其它通信协议,诸如Fieldbus、PROFIBUS、DeviceNet等。此外,无线网络70可以包括一个或多个网络接入点55a、55b,其可以是与无线网关35进行有线通信的单独的物理设备,或者可以提供有无线网关35作为集成设备。无线网络70还可以包括一个或多个路由器58,该一个或多个路由器58用于将分组从一个无线设备转发到无线通信网络30内的另一个无线设备。无线设备40-46和52-58可以彼此通信并且通过无线通信网络70的无线链路60与无线网关35通信。
相应地,图1A包括提供方设备的若干示例,其主要用于向过程控制***的各种网络提供网络路由功能和监管。例如,无线网关35、接入点55a、55b和路由器58包括用于在无线通信网络70中路由无线分组的功能。无线网关35执行无线网络70的流量管理和监管功能,以及将流量路由到与无线网络70通信连接的有线网络并从该有线网络路由出流量。无线网络70可以利用特别支持过程控制消息和功能的无线过程控制协议,诸如无线HART。
在某些实施例中,过程控制***100可以包括连接到网络主干105的其它节点,其使用其它无线协议进行通信。例如,过程控制***100可以包括一个或多个无线接入点72,其利用其它无线协议,诸如WiFi或符合IEEE 802.11的其它无线局域网协议、移动通信协议(诸如WiMAX(全球微波接入互操作性)、LTE(长期演进)或其它ITU-R(国际电信联盟无线电通信部门)兼容协议)、短波无线电通信(诸如近场通信(NFC)和蓝牙)、或其它无线通信协议。通常,这种无线接入点72允许手持式或其它便携式计算设备通过与无线网络70不同并且支持与无线网络70不同的无线协议的相应无线网络进行通信。在一些实施例中,UI设备112使用无线接入点72在过程控制***100内进行通信。
另外地或替代地,提供方设备可以包括作为即时过程控制***100外部的***的一个或多个网关75、78。在这种实施例中,UI设备112可以用于控制、监测所述外部***或以其它方式与所述外部***通信。通常,这种***是由过程控制***100生成或在该过程控制***100上操作的信息的客户或供应商。例如,工厂网关节点75可以将即时过程工厂10(具有其自身的相应的过程控制数据网络主干105)与具有其自身的相应网络主干的另一个过程工厂通信地进行连接。在实施例中,单个网络主干105可以服务于多个过程工厂或过程控制环境。
在另一个示例中,工厂网关节点75可以将即时过程工厂通信地连接到不包括过程控制主干105的传统或现有技术过程工厂。在该示例中,工厂网关节点75可以在工厂10的过程控制大数据主干105使用的协议与传统***使用的不同协议(例如,以太网、Profibus、Fieldbus、DeviceNet等)之间转换或转化消息。在这种示例中,UI设备112可以用于控制、监测所述传统或现有技术过程工厂中的***或网络或以其它方式与所述传统或现有技术过程工厂中的***或网络进行通信。
虽然图1A示出了具有有限数量的现场设备15-22和40-46的单个分布式控制器11,但这仅是说明性并且非限制性实施例。任何数量的分布式控制器11可以包括在过程控制***100的提供方设备中,并且分布式控制器11中的任一个都可以与任何数量的有线或无线现场设备15-22、40-46通信以控制过程工厂10中的过程。此外,过程工厂10还可以包括任何数量的无线网关35、路由器58、接入点55、无线过程控制通信网络70、接入点72和/或网关75、78。虽然图1A示出了具有特定数量的控制器150a-n的控制器场160,但是任何数量的控制器150a-n可以包括在控制器场160中,该控制器场160包括数十个控制器、数百个控制器、数千个控制器等。
如本文所使用的,“分布式”控制器可以通信地连接到过程工厂10中的现场设备15-22、40-46的子集,以控制过程工厂的至少一部分的操作。分布式控制器可以定位到由分布式控制器控制的相应现场设备15-22、40-46附近(例如,在与现场设备15-22、40-46相同的过程工厂10的区域内)。
此外,如本文所使用的,“控制器场”或“集中式或分布式控制器场”可以包括若干控制器,每一个控制器都通信地连接到过程工厂10中的现场设备15-22、40-46和/或过程控制***100内的其它过程工厂中的现场设备中的现场设备中的每一个现场设备。集中式或分布式控制器场可以远离由集中式或分布式控制器场控制的相应现场设备15-22、40-46而定位(例如,在与现场设备15-22不同的过程工厂10的区域,诸如温度受控区域或过程工厂10的场外)。控制器中的每一个都可以被配置为针对过程工厂10中的现场设备15-22、40-46和/或过程控制***100内的其它过程工厂中的现场设备中的每一个现场设备执行控制模块。例如,控制器中的每一个都可以被配置为针对相同的现场设备或现场设备的子集执行相同的控制模块。可以选择控制器场内的控制器中的一个控制器来通过在特定时间间隔向现场设备15-22、40-46的子集提供控制信号来执行控制模块。稍后可以选择该控制器来通过在另一个时间间隔向现场设备15-22、40-46的另一个子集提供控制信号来执行另一个控制模块。在一些场景中,控制器位于集中式控制器场中并且位于同一区域内(例如,温度受控的房间)。在其它场景中,控制器位于分布式控制器场中并且位于若干区域(例如,若干温度受控室)中。
过程控制***100可以包括分布式控制器和控制器场,其中分布式控制器和控制器场内的控制器提供不同类型的控制。例如,分布式控制器可以执行控制模块,而控制器场内的控制器提供监督控制(例如,改变设定点,执行大数据模块以进行分析等)。在另一个示例中,如果存在与控制有关的问题,则分布式控制器执行控制模块并向控制器场提供警告或其它信号。然后,控制器场内的控制器可以代替分布式控制器执行控制模块。
现在转到图1B,控制器场160可以包括一个或若干个刀片式服务器,每一个刀片式服务器都具有包括控制器150a-n和控制管理器152的若干刀片150a-n、152。刀片150a-n、152中的每一个都可以是具有类似于分布式控制器11的一个或多个处理器和存储器的薄电子电路板。刀片150a-n、152中的每一个内的处理器可以包括多核硬件,诸如多核处理器或另一个类型的并行处理器。另外,刀片150a-n、152的每一个内的存储器都可以包括高密度存储器存储技术,例如,固态驱动存储器、半导体存储器、光学存储器、分子存储器、生物存储器或任何其它适合的高密度存储器技术。在一些实施例中,存储器储存(memorystorage)还可以包括闪存。存储器储存(以及在一些情况下,闪存)可以被配置为临时存储或缓存由相应刀片150a-n、152生成的、在该刀片150a-n、152处接收的或以其它方式由该刀片150a-n、152观察到的数据。
在本文中也称为“控制器”(例如,控制器1、控制器2、......控制器N)的刀片150a-n通信地连接到过程工厂10中的现场设备15-22、40-46和/或过程控制***100内的其它过程工厂中的现场设备中的每一个。在一些实施例中,刀片150a-n经由电子编组部件(例如,由艾默生过程管理公司提供的CHARacterization模块或CHARM)通信地连接到现场设备15-22、40-46中的每一个。电子编组部件可以包括在电子编组块或装置(诸如支持一个或多个CHARM I/O卡和单独可配置的通道(CHARM)的CHARM载体)中。在一些实施例中,刀片150a-n经由网络主干105、无线网关35或任何其它适合的通信网络与CHARM I/O卡无线通信。然后,CHARM I/O卡与通信连接(例如,以有线或无线方式)到现场设备15-22、40-46的CHARM进行通信。
在任何情况下,每一个控制器150a-n都包括对应于现场设备15-22、40-46的子集以控制该过程的至少一部分的控制例程或模块。尽管控制器场160内的若干控制器150a-n可以向现场设备15-22、40-46的相同子集提供控制信号,但是多个控制器150a-n可以不在同一时间间隔内向同一现场设备提供控制信号和/或提供相同参数。例如,第一控制器150a和第二控制器150b可以不在同一时间间隔内向同一阀提供指示阀打开或关闭的控制信号。在一些实施例中,控制管理器152将控制模块分配给控制器150a-n,使得多个控制器150a-n不能在同一时间间隔内向同一现场设备提供控制信号和/或提供相同参数。另外地或替代地,控制器场160内的控制监视器模块可以监测来自控制器150a-n的控制输出,以确定任何两个控制输出是否在同一时间间隔内去向(going to)同一现场设备和/或是否用于同一参数。当这发生时,控制监视器模块可以覆盖控制信号以确保仅将控制信号中的一个信号提供给现场设备。控制监视器模块还可以向控制器150a-n中的一个或控制管理器152提供请求,以在该时间间隔期间停止向现场设备提供控制信号。然而,多个控制器150a-n可以在同一时间间隔内接收来自同一现场设备的输出,诸如来自同一阀的阀打开百分比。
在一些实施例中,针对由控制器150a-n执行的控制例程或模块中的每一个,控制器150a-n中的一个可以包括冗余模块。冗余模块可以使执行冗余模块的控制器150b与执行控制模块的控制器150a保持同步,以便如果当前执行控制模块的控制器150a失效,则执行冗余模块的控制器150b可用于接管并执行控制模块。为了与执行控制模块的控制器150a保持同步,冗余模块可以使得执行冗余模块的控制器150b接收由执行控制模块的控制器150a接收和提供的相同输入、输出、设定点等。执行控制模块的控制器150a可以是与执行冗余模块的控制器或刀片150b不同的控制器或刀片。类似于控制模块,冗余模块可以是软件、固件、硬件等。冗余模块可以以任何期望的软件格式(诸如使用面向对象的编程、梯形逻辑、顺序功能图、功能框图或使用任何其它软件编程语言或设计范例)实现。
此外在一些实施例中,每一个控制器150a-n都包括大数据模块,该大数据模块对应于现场设备15-22、40-46的子集,以收集并存储来自过程工厂10的过程控制数据,包括传感器数据、控制参数、与数据相关联的时间戳或过程工厂中可用的任何其它类型的数据。这可以包括测量数据、配置数据、批量数据、事件数据和/或连续数据,诸如在过程工厂10中控制过程时生成的实时过程数据,其对应于配置、批量配方、设定点、输出、速率、控制动作、诊断、警报、事件和/或它们的变化。
大数据模块还可以分析所收集的过程控制数据以开发和/或使用模型、识别数据趋势和/或相关性、警告工厂人员实际或预测的问题或异常情况和/或可能正在影响或将很快影响过程工厂10的次优状况等。在一些实施例中,大数据模块执行这些功能而无需被专门编程以将数据或趋势的特定集合与特定问题或条件相关联,相反,识别在先前条件(可能是积极/期望条件或消极/不良条件)的时间时或前后已经出现当前趋势或数据并发。根据对趋势或数据并发的先前出现的识别,大数据模块可以预测条件(“预诊断”)。大数据模块还可以根据所收集的过程控制数据确定哪个过程变量、传感器读数等在检测、预测、预防和/或校正过程工厂10中的异常情况中是最重要的。例如,大数据模块可以确定由一系列先前数据点指示的趋势指示预测的异常情况、预测的维护问题、预测的故障等。
类似于控制模块,大数据模块可以是软件、固件、硬件等。大数据模块可以以任何期望的软件格式(诸如使用面向对象的编程、梯形逻辑、顺序功能图表、功能框图、或使用任何其它软件编程语言或设计范例)来实现。
除了控制器150a-n之外,控制器场160还包括控制管理器152,其将控制模块、冗余模块、大数据模块和任何其它适合的操作分配给控制器150a-n。在一些实施例中,控制管理器152以硬件实现,并且是刀片式服务器内的刀片中的一个刀片。在其它实施例中,控制管理器152是可以在控制器场160中的刀片150a-n、152中的任一个中实现的软件应用,并且控制器150a还可以包括除了控制模块、冗余模块、大数据模块等之外的控制管理器应用。然而,在整个说明书中,控制管理器152在本文中可以称为控制器场160内的硬件设备,诸如刀片服务器的刀片。控制器场160可以包括在单个刀片上实现的单个控制管理器152,其管理对控制器场160中的若干刀片服务器内的控制器中的每一个的控制。在其它实施例中,控制管理器152跨若干刀片实现。在其它实施例中,控制器场160包括一个或若干机架服务器,每一个机架服务器都具有称为机架(bays)150a-n、152的若干安装槽。
在其它实施例中,控制器场160包括云计算环境中的云服务器、雾计算环境中的雾服务器或者它们的任何适合的组合,其中雾计算环境例如由操作过程控制***100内的(多个)过程工厂10的组织进行托管。例如,尽管云计算环境可以包括控制整个美国甚至全世界的过程工厂10中的过程的控制器,但是雾计算环境可以包括控制由特定的城市或城镇中的特定组织或过程工厂10拥有和操作的过程工厂10中的过程的控制器。
在任何情况下,控制管理器152可以从在一个或若干UI设备112处生成的配置应用中获得控制模块、冗余模块、大数据模块等。在一些实施例中,控制管理器152在获得对应的控制模块时自动生成冗余模块。现在参考图2,控制管理器152与控制器场160中的多个控制器150a-n通信。控制器150a-n和控制管理器152中的每一个都可以是物理机器(例如,硬件)或虚拟机(例如,软件)。以这种方式,控制器场160的刀片可以托管若干客户虚拟机或控制器。在任何情况下,控制管理器152包括控制执行件(control executive)200、负载均衡器202、影子数据库204、冗余管理器206、控制模块208和大数据模块(未示出)。控制器1-N(参考标号150a-n)中的每一个都包括处理器210a-n(诸如多核处理器或其它类型的并行处理器)以及存储器212a-n,其可以是高密度存储器。存储器212a-n中的每一个都可以存储分配给相应控制器150a-n的各种例程(包括控制模块214a-n、大数据模块216a-n和冗余模块218a-n)。
除了存储和执行例程以控制和监测过程工厂10内的操作之外,控制器150a-n还可以向控制管理器152提供可用性的指示。在一些实施例中,控制器150a-n中的每一个都基于控制器150a-n处的负载、控制器150a-n处的存储器的可用量(available amount ofmemory)以及用于在特定时间间隔从控制器150a-n传送数据的带宽向控制管理器152提供在特定时间间隔内的可用性度量(availability metric)。在其它实施例中,控制器150a-n中的每一个都提供对控制器150a-n处的负载、控制器150a-n处的存储器的可用量、以及用于在特定时间间隔内从控制器150a-n传送数据的带宽的指示。然后,控制管理器152基于该信息确定针对每一个控制器150a-n在特定时间间隔内的可用性度量。控制器150a-n处的负载可以指示由控制器150a-n正在执行的处理的量以及控制器150a-n的处理能力(例如,单核、双核、四核等)。
控制管理器152处的控制执行件200可以从在一个或若干UI设备112处生成的配置应用或从过程控制***100内的其它应用或设备中接收由控制器场160中的控制器150a-n执行的操作(诸如控制模块208、冗余模块、大数据模块等)。在一些实施例中,冗余管理器206生成用于由控制管理器152获得的每一个控制模块208的冗余模块。冗余模块可以使得执行冗余模块的控制器150a-n在无需执行包括在控制模块中的控制循环或功能的情况下接收由执行控制模块的控制器150a-n正在接收并提供的相同输入、输出、设定点等。在一些实施例中,控制执行件200将所获得的控制模块208中的每一个提供给冗余管理器206,以便冗余管理器生成对应的冗余模块。
还在一些实施例中,控制执行件200为控制模块208、冗余模块和大数据模块中的每一个分配优先级级别,并按照优先级顺序对模块进行排序。可以基于预定的优先级规则集合自动分配优先级级别(例如,冗余模块具有与对应的控制模块相同的优先级级别,控制模块具有比大数据模块更高的优先级级别等)。另外地或替代地,用户可以为模块中的每一个分配优先级级别。例如,当配置工程师经由配置应用生成控制模块时,配置工程师还可以为控制模块分配优先级级别。
控制执行件200可以与负载均衡器202通信以确定哪个控制器150a-n应该在特定时间间隔期间执行哪个控制模块208、冗余模块和大数据模块。在一些实施例中,负载均衡器202接收控制器场160中的控制器150a-n中的每一个的可用性度量以及将在特定时间间隔(例如,30分钟、一小时、两天、一天等)内执行的控制模块、冗余模块和大数据模块的列表,其可以包括针对模块中的每一个的相应优先级级别。然后,负载均衡器202分配控制器场160中的控制器150a-n以执行模块中的每一个。在一些场景中,单个控制器150a-n可以取决于控制器150a-n的并行处理能力和存储密度而在同一时间间隔内执行若干模块。在另一个示例性场景中,负载均衡器202识别两个不同的控制器150a-n以执行控制模块和冗余模块,使得在控制器处发生故障的情况下执行冗余模块的控制器150a-n可以接管执行控制模块的控制器150a-n。
在一些实施例中,负载均衡器202识别模块中的每一个的特征,诸如每一个模块是周期性地执行还是基于事件的发生(事件驱动),每一个模块的执行时间或任何其它适合的特性。然后,负载均衡器202识别控制器150a-n以基于控制器150a-n的可用性度量以及模块的优先级级别和特性来执行模块。更具体地,负载均衡器202使用负载均衡算法来分配控制器150a-n以执行模块。
例如,负载均衡器202可以根据控制器150a-n各自的可用性度量对控制器150a-n中的每一个进行排序,其中具有最高可用性度量的控制器150a-n具有最大可用性量并且等级最高。负载均衡器202还可以基于每一个模块的优先级级别和特性的组合对模块中的每一个进行排序。在一些实施例中,周期性模块的等级高于事件驱动模块,然后基于优先级级别对周期性模块中的每一个进行分类,并且基于优先级级别对事件驱动模块中的每一个进行分类。高优先级类别中的周期性模块中的每一个的等级都可以高于中等优先级类别中的周期性模块中的每一个,等等。可以基于执行时间进一步对同一优先级类别中的周期性或事件驱动模块进行排序。更具体地,当存在三个优先级类别(高、中和低)以及周期性和事件驱动模块时,高优先级周期性模块的等级可以为第一位,其中该类别中的每一个模块按照执行时间的顺序进一步排序,其次是中优先级周期模块,然后是低优先级周期模块,接着是高优先级事件驱动模块等。
因此,负载均衡器202可以对控制器150a-n进行排序,并且可以对模块进行排序。尽管控制器150a-n按照可用性度量的顺序在上面的示例中进行排序,并且模块按照优先级级别和模块特性的顺序进行排序,但是控制器150a-n和模块可以以任何适合的方式进行排序。
然后,负载均衡器202可以使用反转循环机制来首先将最高等级的模块(例如,具有最长执行时间的高优先级周期模块)分配给最高等级的控制器150a-n(例如,具有最高可用性度量的控制器)。第二最高等级的模块可以被分配给第二最高等级的控制器150a-n,并且算法可以按照这种方式继续,直到为最低等级控制器150a-n分配模块。如果存在更多要分配的模块,则负载均衡器202继续以相反顺序分配模块。例如,负载均衡器202还将下一个模块分配给最低等级的控制器150a-n,并且然后将等级低于下一个模块的模块分配给第二最低等级的控制器150a-n,并按递增顺序继续直到为最高等级的控制器150a-n分配了两个模块。然后,负载均衡器202再次反转顺序以按递减顺序分配模块,并以反转循环方式继续直到模块中的每一个都被分配给控制器150a-n。
尽管负载均衡器202可以对控制器150a-n和模块进行排序并使用反向循环机制来将模块分配给控制器150a-n,但是负载均衡器202可以以任何适合的方式将模块分配给控制器150a-n,以在控制器场160中的控制器150a-n之间分布模块。在其它实施例中,模块在控制器150a-n中均等地或至少类似地进行分布,而不论优先级级别或特性如何。在其它实施例中,负载均衡器202将模块分配给同一控制器150a,直到控制器150a处的处理达到容量。然后,负载均衡器202将模块分配给另一个控制器150b,直到另一个控制器150b处的处理达到容量,并且负载均衡器202可以继续以这种方式分配模块。
在任何情况下,控制执行件200然后将所分配的模块提供给对应的控制器150a-n,使得每一个控制器150a-n都可以执行所分配的模块。在一些实施例中,控制执行件200分析任务并且可以调整任务中的一些以确保多个控制器150a-n不在同一时间间隔内向同一现场设备提供控制信号和/或提供同一参数。
在示例性场景中,在第一时间间隔期间可以向控制器150a分配第一模块集合,其包括控制模块、大数据模块和冗余模块。控制执行件200可以在第一时间间隔期间将控制模块214a、大数据模块216a和冗余模块218a下载到控制器150a。然后,在第二时间间隔期间可以向控制器150a分配与第一模块集合不同的第二模块集合。控制执行件200可以在第二时间间隔期间将控制模块214a、大数据模块216a和冗余模块218a下载到控制器150a。
在另一个示例性场景中,在特定时间间隔期间控制管理器152将第一控制模块分配给第一控制器150a,其中第一控制模块对应于现场设备15-22、40-46的第一子集。控制管理器152将第二控制模块分配给第二控制器150b,其中第二控制模块对应于现场设备15-22、40-46的第二子集。现场设备15-22、40-46的第一和第二子集可以位于同一过程工厂10的不同区域中或不同的过程工厂10中。然后,第一控制器150a执行第一控制模块并且第二控制器150b在同一时间间隔内执行第二控制模块。在稍后的时间间隔期间,不再为第一控制器150a分配第一控制模块,并且为第二控制器150b分配第一和第二控制模块两者。例如,第一控制器150a可以不具有在稍后的时间间隔期间执行第一控制模块的处理资源。然后,第二控制器150b在稍后的时间间隔期间分别为现场设备15-22、40-46的第一和第二子集执行第一和第二控制模块。
在一些实施例中,周期性模块保持在若干时间间隔内分配给同一控制器150a-n,而事件驱动模块基于特定的时间间隔的控制器150a-n的可用性度量在每一个时间间隔内被重新分配给控制器150a-n。在其它实施例中,控制模块208、大数据模块和冗余模块中的每一个在执行之前(例如,当生成模块时)被下载到控制器150a-n中的每一个并且存储在它们相应的存储器212a-n中。当控制执行件200选择控制器150a以执行特定模块时,控制管理器152向所选择的控制器150a提供特定模块的指示,并且所选择的控制器150a从存储器212a取回特定模块并执行该特定模块。
在一些实施例中,控制管理器152包括影子数据库204,其存储用于控制模块208、冗余模块和大数据模块的输入数据。例如,当经由配置应用生成模块时,可以从UI设备112中获得模块的输入数据。当控制器150a-n执行控制模块214a-n和大数据模块216a-n时,也可以从控制器150a-n获得输入数据。来自控制模块214a-n和大数据模块216a-n的输出可以在影子数据库204处从控制器150a-n中接收并且存储为用于在随后执行时间间隔期间执行的控制模块208、冗余模块以及大数据模块的输入数据。
图3描绘了表示用于在过程控制***100中的控制器之间负载均衡的示例性方法300的流程图。方法300可以在控制器场160内的控制管理器152上或在控制器场160内或与控制器场160通信的任何其它计算设备、刀片服务器等上执行。在一些实施例中,该方法可以在存储在非暂时性计算机可读存储器上的指令集合中实现并且能够由控制管理器152的一个或多个处理器执行。
在框302处,获得控制模块、冗余模块和大数据模块。例如,可以经由配置应用从UI设备112中获得模块。在一些实施例中,获得控制模块并且为每一个控制模块自动生成冗余模块,使得执行冗余模块的控制器接收由执行控制模块的控制器正在接收和提供的相同输入、输出、设定点等。
然后,将优先级级别分配给控制模块、冗余模块和大数据模块中的每一个(框304)。优先级级别可以是数字优先级级别(例如,1、2、3)、可以是来自类别集合(例如,高、中、低)的类别,或者可以是任何适合的优先级指示。在一些实施例中,优先级级别由用户进行分配,例如,在经由配置应用创建模块时。在其它实施例中,基于预定的优先级规则集合自动分配优先级级别(例如,冗余模块具有与对应的控制模块相同的优先级级别,控制模块具有比大数据模块更高的优先级级别等等)。
然后在框306处,对控制模块、冗余模块和大数据模块中的每一个进行排序。在一些实施例中,模块按照优先级级别的顺序排序。还可以根据模块特性对模块进行排序,诸如每一个模块都是周期性地执行的还是基于事件的发生(事件驱动)、每一个模块的执行时间或任何其它适合的特性。例如,周期性模块的等级可以高于事件驱动模块,并且周期性模块还可以根据优先级级别进行排序。还可以根据优先级级别对事件驱动模块进行进一步排序。然后,可以根据执行时间对具有最高优先级级别的周期模块中的每一个进行排序,其中具有最高优先级级别和最长执行时间的周期模块的等级最高。在其它实施例中,可以使用优先级级别和模块特性的任何适合组合或以任何适合的方式对模块进行排序。
在特定时间间隔内,从控制器场160中的控制器150a-n中的每一个获得可用性的指示(框308)。例如,每一个控制器150a-n都可以在特定时间间隔内基于控制器150a-n处的负载、控制器150a-n处的存储器的可用量以及用于在特定时间间隔从控制器150a传送数据的带宽来生成的特定时间间隔内的可用性度量。然后,控制器150a-n可以向控制管理器152提供相应的可用性度量。在另一个示例中,每一个控制器150a-n都可以提供控制器150a-n处的负载的指示、控制器150a处的存储器的可用量以及用于在特定时间间隔从控制器150a-n传送数据的带宽。然后控制管理器152基于该信息确定针对每一个控制器150a-n的特定时间间隔内的可用性度量。
在一些实施例中,控制管理器152基于特定时间间隔内的可用性度量对控制器150a-n中的每一个进行排序。例如,具有最高可用性度量并因此具有最大可用性量的控制器150a-n的等级最高。然后,控制器150a-n按照可用性的降序进行排序。
在框310处,将控制模块、冗余模块和大数据模块分配给控制器150a-n。为了平衡控制器场160内的控制器150a-n之间的负载,控制管理器152可以跨控制器150a-n中的每一个分布控制模块、冗余模块和大数据模块。在一些实施例中,控制管理器152使用负载均衡算法将模块分配给控制器150a-n。例如,负载均衡算法可以是反向循环机制,其中控制管理器152将最高等级的模块分配给最高等级的控制器150a-n,然后将第二最高等级的模块分配给第二最高等级的控制器150a-n并且按照降序继续,直到为每一个控制器150a-n都分配了模块。然后,控制管理器152按升序为控制器150a-n分配剩余的控制模块,直到每一个控制器150a-n都被分配了两个模块。控制管理器152交替为控制器150a-n分配模块的顺序,直到分配了模块中的每一个。
在另一个示例中,控制管理器152将最高等级的模块分配给最高等级的控制器150a-n,然后将第二最高等级的模块分配给第二最高等级的控制器150a-n,并按照降序继续,直到每一个控制器150a都被分配了模块。然后,控制管理器152将下一个等级的模块分配给最高等级的控制器150a-n,并且再次按照控制器150a-n的降序继续,并重复该过程,直到分配了模块中的每一个。
在又一个示例中,控制管理器152随机选择为控制器150a-n分配模块的顺序,然后根据随机选择的顺序将模块分配给控制器150a-n。在另一个示例中,控制管理器152按照降序将模块分配给最高等级的控制器150a-n,直到最高等级的控制器150a-n达到满容量。然后,控制管理器152按照降序将下一个等级的模块分配给第二最高等级的控制器150a-n,直到第二最高等级的控制器150a-n达到满容量,并按照这种方式继续,直到已经分配了模块中的每一个。尽管这些仅仅是可以将模块分配给控制器150a-n的几个示例,但是可以以任何适合的方式分配模块。
在框312处,将分配的模块下载到相应的控制器150a-n,以便在特定时间间隔期间执行。每一个控制器150a-n通过提供控制信号并以其它方式与每一个分配的模块相关联的现场设备15-22、40-46进行通信来执行其分配的模块。
本公开内容中所描述的技术的实施例可以单独或组合地包括任何数量的以下方面:
1、一种过程控制***,包括:多个现场设备,所述多个现场设备中的每一个现场设备都被配置为执行物理功能以控制所述过程控制***中的过程的至少一部分;以及多个控制器,所述多个控制器处于控制器场中并且所述多个控制器中的每一个控制器都通信地耦合到所述多个现场设备中的每一个现场设备,并且所述多个控制器中的每一个控制器都被配置为执行与所述多个现场设备相对应的相同控制模块,以通过将控制信号传送到与所述物理功能相对应的所述多个现场设备来控制所述过程,其中,所述多个控制器中的一个控制器被选择为在特定时间间隔内执行所述控制模块。
2、根据方面1所述的过程控制***,其中,所述控制器场位于温度受控区域中。
3、根据前述方面中任一方面所述的过程控制***,其中,所述多个现场设备是第一多个现场设备,并且所述过程控制***还包括第二多个现场设备,并且其中,所述多个控制中的每一个都被配置为执行与所述第一多个现场设备相对应的第一控制模块以及与所述第二多个现场设备相对应的第二控制模块,其中,在所述特定时间间隔中第一控制器被选择为执行所述第一控制模块并且第二控制器被选择为执行所述第二控制模块。
4、根据前述方面中任一方面所述的过程控制***,其中,所述第一多个现场设备和所述第二多个现场设备位于同一过程工厂内
5、根据前述方面中任一方面所述的过程控制***,其中,所述第一多个现场设备和所述第二多个现场设备位于不同的过程工厂内。
6、根据前述方面中任一方面所述的过程控制***,其中,在另一个时间间隔中,所述第一控制器不执行所述第一控制模块并且第二控制器执行所述第一控制模块和所述第二控制模块。
7、根据前述方面中任一方面的过程控制***,其中,所述第二控制器执行与所述第一控制模块相对应的冗余模块。
8、根据前述方面中任一个所述的过程控制***,其中,所述控制器场中的所述多个控制器中的每一个控制器都经由通信地耦合到相应的现场设备的输入/输出(I/O)设备与所述多个现场设备中的每一个现场设备进行通信。
9、根据前述方面中任一方面所述的过程控制***,其中,所选择的控制器还被配置为获得并存储与所述过程相对应的数据,所述数据包括以下中的至少一个:配置数据、连续数据以及与所述过程相对应的事件数据。
10、根据前述方面中任一方面所述的过程控制***,还包括:通信地耦合到所述多个控制器的计算设备,所述计算设备被配置为针对所述多个控制器中的每一个控制器分配所述控制模块以便在特定时间间隔执行。
11、根据前述方面中任一方面所述的过程控制***,其中,所述计算设备从所述多个控制器中的每一个控制器获得负载、带宽和可用存储器的指示,并且根据每一个控制器的负载、带宽或可用存储器中的至少一个将控制模块、冗余模块和大数据模块分配给所述多个控制器。
12、根据前述方面中任一方面的过程控制***,其中,所述计算设备是所述控制器场内的所述多个控制器中的一个控制器。
13、根据前述方面中任一方面所述的过程控制***,其中,所述计算设备获得将由所述多个控制器执行的多个控制模块,并根据所分配的优先级级别对所述多个控制模块进行排序。
14、根据前述方面中任一方面所述的过程控制***,其中,所述计算设备按照所述多个控制模块中的每一个控制模块的相应等级的顺序将控制模块分配给所述多个控制器,其中,首先对最高等级的控制模块进行分配。
15、一种用于经由控制器场控制过程控制***内的一个或多个过程工厂中的多个现场设备的方法,所述方法包括:通过控制器场中的多个控制器将控制信号传送到多个现场设备,每一个现场设备都被配置为执行物理功能以控制所述过程控制***中的过程的至少一部分,其中,所述多个控制器中的每一个控制器都被配置为执行与所述多个现场设备相对应的相同控制模块以控制所述过程;选择所述多个控制器中的一个控制器以在特定时间间隔内执行所述控制模块;以及在所述特定时间间隔期间,由所选择的控制器根据所述控制模块将控制信号传送到多个现场设备。
16、根据方面15所述的方法,其中,所述控制器场位于温度受控区域中。
17、根据方面15或方面16中任一方面所述的方法,其中,所述多个现场设备是第一多个现场设备,其中,所述多个控制器中的每一个都被配置为执行与所述第一多个现场设备相对应的第一控制模块以及与第二多个现场设备相对应的第二控制模块,并且还包括:选择第一控制器以在所述特定时间间隔中执行所述第一控制模块;在特定时间间隔期间,由所述第一控制器根据所述第一控制模块将控制信号传送到所述第一多个现场设备;选择第二控制器以在所述特定时间间隔中执行所述第二控制模块;以及在所述特定时间间隔期间,由所述第二控制器根据所述第二控制模块将控制信号传送到所述第二多个现场设备。
18、根据方面15-17中任一方面所述的方法,其中,所述第一多个现场设备和所述第二多个现场设备位于同一过程工厂内。
19、根据方面15-18中任一方面的方法,其中,所述第一多个现场设备和所述第二多个现场设备位于不同的过程工厂内。
20、根据方面15-19中任一方面所述的方法,其中,在另一个时间间隔中,所述第一控制器不执行所述第一控制模块,并且还包括:在所述另一个时间间隔期间,由所述第二控制器根据所述第一控制模块将控制信号传送到所述第一多个现场设备。
21、根据方面15-20中任一方面的方法,还包括:由所述第二控制器执行与所述第一控制模块相对应的冗余模块。
22、根据方面15-21中任一方面所述的方法,还包括:由所选择的控制器获取并存储与所述过程相对应的数据,所述数据包括以下中的至少一项:配置数据、连续数据以及与所述过程相对应的事件数据。
23、根据方面15-22中任一方面的方法,其中,通信地耦合到所述多个控制器的计算设备选择控制器,以在特定时间间隔执行控制模块。
24、根据方面15-23中任一方面所述的方法,还包括:由所述计算设备从所述多个控制器中的每一个控制器获得对负载、带宽和可用存储器的指示;并且根据每一个控制器的负载、带宽或可用存储器中的至少一个,将控制模块、冗余模块和大数据模块分配给所述多个控制器。
25、根据方面15-24中任一方面的方法,其中,所述计算设备是所述控制器场内的所述多个控制器中的一个控制器。
26、一种用于负载均衡过程控制***中的控制模块的方法,所述方法包括:经由提供给现场设备的控制信号获得控制所述过程控制***中的过程的多个控制模块,所述现场设备被配置为执行所述过程控制***内的物理功能;从通信地耦合到所述现场设备的控制器场中的多个控制器中的每一个控制器获得可用性度量;以及将所述多个控制模块中的每一个控制模块分配给所述多个控制器中的一个控制器,以在特定时间间隔基于所述可用性度量执行相应的控制模块。
27、根据方面26所述的方法,其中,获得所述多个控制器中的一个控制器的可用性度量包括:基于对所述控制器的负载、带宽和可用存储器的指示来识别所述可用性度量。
28、根据方面26或方面27中任一方面所述的方法,还包括:将一个或多个冗余模块和一个或多个大数据模块中的每一个分配给多个控制器中的一个控制器,以在特定时间间隔基于所述可用性度量来执行相应的冗余模块或大数据模块。
29、根据方面26-28中任一方面的方法,还包括:将优先级级别分配给所述冗余模块和大数据模块中的每一个;以及根据所分配的优先级级别对所述控制模块、冗余模块和大数据模块进行排序。
30、根据方面26-29中任一方面所述的方法,其中,将所述控制模块、冗余模块和大数据模块按照相应排序的顺序分配给所述多个控制器,其中,首先对最高等级的控制模块、冗余模块或大数据模块进行分配。
31、一种过程控制***中的计算设备,包括:一个或多个处理器;以及非暂时性计算机可读介质,所述非暂时性计算机可读介质耦合到所述一个或多个处理器并在其上存储指令,当由所述一个或多个处理器执行所述指令时,使得计算设备执行以下步骤:经由提供给现场设备的控制信号获得控制所述过程控制***中的过程的多个控制模块,所述现场设备被配置为执行所述过程控制***内的物理功能;从通信地耦合到所述多个现场设备的控制器场中的多个控制器中的每一个控制器中获得可用性度量;以及将所述多个控制模块中的每一个控制模块分配给所述多个控制器中的一个控制器,以在特定时间间隔基于所述可用性度量来执行相应的控制模块。
32、根据方面31所述的计算设备,其中,为了获得所述多个控制器中的每一个控制器的所述可用性度量,所述指令使所述计算设备基于所述控制器的负载、带宽和可用存储器的指示来识别所述可用性度量。
33、根据方面31或方面32中任一方面所述的计算设备,其中,所述指令还使所述计算设备执行以下步骤:将一个或多个冗余模块和一个或多个大数据模块中的每一个分配给所述多个控制器中的一个控制器,以在所述特定时间间隔中基于所述可用性度量来执行相应的冗余模块或大数据模块。
34、根据方面31-33中任一方面所述的计算设备,其中,所述指令还使得所述计算设备执行以下步骤:将优先级级别分配给控制模块、冗余模块和大数据模块中的每一个;以及根据所分配的优先级级别对所述控制模块、冗余模块和大数据模块进行排序。
35、根据方面31-34中任一方面所述的计算设备,其中,按照相应等级的顺序将所述控制模块、冗余模块和大数据模块分配给所述多个控制器,其中,首先对最高等级的控制模块、冗余模块或大数据模块进行分配。
36、根据方面31-35中任一方面的计算设备,其中,所述计算设备是所述控制器场内的所述多个控制器中的一个控制器。
另外,本公开内容的先前方面仅仅是示例性的,并非旨在限制本公开内容的范围。
以下附加考虑适用于前述讨论。在整个说明书中,被描述为由任何设备或例程执行的动作通常指代根据机器可读指令操纵或变换数据的处理器的动作或过程。机器可读指令可以被存储在通信耦合到处理器的存储器设备上并从其中取回。也就是说,本文所描述的方法可以通过存储在计算机可读介质上(即,在存储器设备上)的机器可执行指令集合来体现。指令在由对应设备(例如,操作员工作站、控制器、控制管理器、UI设备等)的一个或多个处理器执行时使得处理器执行该方法。在本文将指令、例程、模块、过程、服务、程序和/或应用称为存储或保存在计算机可读存储器或计算机可读介质上的情况下,词语“存储”和“保存”旨在排除暂时性信号。
此外,尽管术语“操作员”、“人员”、“人”、“用户”、“技术人员”、“工程师”以及类似的其它术语被用于描述过程工厂环境中可以使用本文描述的***、装置和方法或与其进行交互的人,但这些术语并非旨在限制性的。在描述中使用特定术语的情况下,该术语部分是因为工厂人员参与传统活动而被使用的,但并不旨在限制可能参与该特定活动的人员。
另外,在整个说明书中,多个实例可以实现被描述为单个实例的部件、操作或结构。虽然一个或多个方法的单独操作被示出病描述为单独的操作,但是单个操作中的一个或多个可以同时执行,并且不要求以所示出的顺序执行这些操作。在示例性配置中作为单独部件呈现的结构和功能可以被实现为组合的结构或部件。类似地,呈现为单个部件的结构和功能可以被实现为单独部件。这些和其它变体、修改、添加和改进落入本文主题的范围内。
除非另有特别说明,否则本文中使用诸如“处理”、“计算”、“核算”、“确定”、“识别”、“呈现”、“使得呈现”、“使得显示”、“显示”等词语的讨论可以指代机器(例如,计算机)的动作或过程,该机器操纵或转换表示为一个或多个存储器(例如,易失性存储器、非易失性存储器或它们的组合)、寄存器或接收、存储、传送或显示信息的其它机器部件内的物理(例如,电子、磁、生物或光学)量的数据。
当以软件实现时,本文中所描述的任何应用、服务和引擎可存储在任何有形、非暂时性计算机可读存储器中(诸如磁盘、激光盘、固态存储器装置、分子存储器存储装置或其他存储介质上)或存储在计算机或处理器的RAM或ROM中等。虽然本文所公开的示例性***被公开为包括在硬件上执行的其它部件、软件和/或固件中,但应当注意的是,这种***仅仅是说明性的,不应被认为是限制性的。例如,可以设想,这些硬件、软件和固件部件中的任何一个或全部可以排他地以硬件、排他地以软件或以硬件和软件的任意组合来体现。因此,本领域的普通技术人员将容易理解但是,所提供的示例不是实现这种***的唯一方式。
因此,尽管已经参考旨在仅用于说明而不是限制本发明的特定示例描述了本发明,但对于本领域的普通技术人员来说显而易见的是,可以对所公开的实施例进行改变、添加或删除,而不偏离本发明的精神和范围。
还应当理解的是,除非在本专利中使用句子“如本文中使用的,术语‘______’在此被定义为意指…”或类似句子来明确定义术语,否则无意以明示或暗示的方式将该术语的含义限制为超出其平常或普通的含义,并且该术语不应当基于在本专利的任何部分(除了权利要求书的语言)中作出的任何陈述被解释为在范围中受限。就本专利最后的权利要求书中记载的任何术语在本专利中以与单一含义一致的方式被引用而言,这仅是为了清楚起见而完成的,以便不使读者混淆,并且并不旨在通过暗示或其它方式将这种权利要求术语(claim term)限制为该单一含义。最后,除非权利要求要素(claim element)是通过引用词语“模块”和功能而不叙述任何结构来定义的,否则并不旨在基于35 U.S.C.§112(f)和/或pre-AIA 35 U.S.C.§112(f)第六段的适用来解释任何权利要求要素的范围。
此外,虽然前述文本阐述了许多不同实施例的详细描述,但是应当理解的是,本专利的范围由本专利最后阐述的权利要求书的词语进行限定。详细描述将被解释为仅是示例性的,并没有描述每一个可能的实施例,因为描述每一个可能的实施例即使不是不可能也是不切实际的。可以使用当前技术或在本专利申请日之后开发的技术来实现许多替代实施例,这些将仍然落入权利要求书的范围内。
Claims (34)
1.一种过程控制***,包括:
多个现场设备,所述多个现场设备中的每一个现场设备都被配置为执行物理功能以控制所述过程控制***中的过程的至少一部分;以及
多个控制器,所述多个控制器处于控制器场中并通信地耦合到所述多个现场设备中的每一个现场设备,并且所述多个控制器中的每一个控制器都被配置为执行与所述多个现场设备相对应的控制模块,以通过将控制信号传送到与所述物理功能相对应的所述多个现场设备来控制所述过程的至少一部分,其中,所述多个控制器中的每一个控制器都被选择为在特定时间间隔内执行所述控制模块中的一个或多个控制模块;
其中,从所述多个控制器中的每一个控制器中获得负载、带宽或可用存储器的指示,并且根据每一个控制器的负载、带宽或可用存储器中的至少一个将所述一个或多个控制模块分配给所述多个控制器。
2.根据权利要求1所述的过程控制***,其中,所述控制器场位于温度受控区域中。
3.根据权利要求1所述的过程控制***,其中,所述多个现场设备是第一多个现场设备,并且所述过程控制***还包括第二多个现场设备,并且
其中,在所述特定时间间隔中,第一控制器被选择为执行与所述第一多个现场设备相对应的第一控制模块并且第二控制器被选择为执行与所述第二多个现场设备相对应的第二控制模块。
4.根据权利要求3所述的过程控制***,其中,所述第一多个现场设备和所述第二多个现场设备位于同一过程工厂内。
5.根据权利要求3所述的过程控制***,其中,所述第一多个现场设备和所述第二多个现场设备位于不同的过程工厂内。
6.根据权利要求3所述的过程控制***,其中,在另一个时间间隔中,所述第一控制器不执行所述第一控制模块并且所述第二控制器执行所述第一控制模块和所述第二控制模块。
7.根据权利要求3所述的过程控制***,其中,所述第二控制器执行与所述第一控制模块相对应的冗余模块。
8.根据权利要求1所述的过程控制***,其中,所述控制器场中的所述多个控制器中的每一个控制器都经由通信地耦合到相应的现场设备的输入/输出(I/O)设备与所述多个现场设备中的每一个现场设备进行通信。
9.根据权利要求1所述的过程控制***,其中,所选择的控制器还被配置为获得并存储与所述过程相对应的数据,所述数据包括以下中的至少一项:配置数据、连续数据以及与所述过程相对应的事件数据。
10.根据权利要求1所述的过程控制***,还包括:
计算设备,所述计算设备通信地耦合到所述多个控制器,所述计算设备被配置为针对所述多个控制器中的每一个控制器分配所述一个或多个控制模块以便在特定时间间隔执行。
11.根据权利要求10所述的过程控制***,其中,所述计算设备从所述多个控制器中的每一个控制器中获得负载、带宽和可用存储器的指示,并且根据每一个控制器的负载、带宽或可用存储器中的至少一个将冗余模块和大数据模块分配给所述多个控制器。
12.根据权利要求10所述的过程控制***,其中,所述计算设备是所述控制器场内的所述多个控制器中的一个控制器。
13.根据权利要求10所述的过程控制***,其中,所述计算设备获得由所述多个控制器执行的多个控制模块,并根据所分配的优先级级别对所述多个控制模块进行排序。
14.根据权利要求13所述的过程控制***,其中,所述计算设备按照所述多个控制模块中的每一个控制模块的相应等级的顺序将控制模块分配给所述多个控制器,其中,首先对最高等级的控制模块进行分配。
15.一种用于经由控制器场控制过程控制***内的一个或多个过程工厂中的多个现场设备的方法,所述方法包括:
由控制器场中的多个控制器将控制信号传送到多个现场设备,每一个现场设备都被配置为执行物理功能以控制所述过程控制***中的过程的至少一部分,其中,所述多个控制器中的每一个控制器都被配置为执行与所述多个现场设备相对应的控制模块以控制所述过程的至少一部分;
选择所述多个控制器中的一个控制器以在特定时间间隔内执行所述控制模块中的一个或多个控制模块;
在所述特定时间间隔期间,由所选择的控制器根据所述一个或多个控制模块将控制信号传送到多个现场设备;
从所述多个控制器中的每一个控制器中获得负载、带宽或可用存储器的指示;以及
根据每一个控制器的负载、带宽或可用存储器中的至少一个将所述一个或多个控制模块分配给所述多个控制器。
16.根据权利要求15所述的方法,其中,所述控制器场位于温度受控区域中。
17.根据权利要求15所述的方法,其中,所述多个现场设备是第一多个现场设备,还包括:
选择第一控制器,以在所述特定时间间隔中执行与所述第一多个现场设备相对应的第一控制模块;
在特定时间间隔期间,由所述第一控制器根据所述第一控制模块将控制信号传送到所述第一多个现场设备;
选择第二控制器,以在所述特定时间间隔中执行与第二多个现场设备相对应的第二控制模块;以及
在所述特定时间间隔期间,由所述第二控制器根据所述第二控制模块将控制信号传送到所述第二多个现场设备。
18.根据权利要求17所述的方法,其中,所述第一多个现场设备和所述第二多个现场设备位于同一过程工厂内。
19.根据权利要求17所述的方法,其中,所述第一多个现场设备和所述第二多个现场设备位于不同的过程工厂内。
20.根据权利要求17所述的方法,其中,在另一个时间间隔中,所述第一控制器不执行所述第一控制模块,并且还包括:
在所述另一个时间间隔期间,由所述第二控制器根据所述第一控制模块将控制信号传送到所述第一多个现场设备。
21.根据权利要求17所述的方法,还包括:
由所述第二控制器执行与所述第一控制模块相对应的冗余模块。
22.根据权利要求15所述的方法,还包括:
由所选择的控制器获得并存储与所述过程相对应的数据,所述数据包括以下中的至少一项:配置数据、连续数据以及与所述过程相对应的事件数据。
23.根据权利要求15所述的方法,其中,通信地耦合到所述多个控制器的计算设备选择控制器,以在特定时间间隔执行控制模块。
24.根据权利要求23所述的方法,还包括:
由所述计算设备从所述多个控制器中的每一个控制器中获得对负载、带宽和可用存储器的指示;以及
根据每一个控制器的负载、带宽或可用存储器中的至少一个将冗余模块和大数据模块分配给所述多个控制器。
25.根据权利要求23所述的方法,其中,所述计算设备是所述控制器场内的所述多个控制器中的一个控制器。
26.一种用于负载均衡过程控制***中的控制模块的方法,所述方法包括:
经由提供给现场设备的控制信号获得控制所述过程控制***中的过程的至少一部分的多个控制模块,所述现场设备被配置为执行所述过程控制***内的物理功能;
从通信地耦合到所述现场设备的控制器场中的多个控制器中的每一个控制器中获得可用性度量;以及
将所述多个控制模块中的每一个控制模块分配给所述多个控制器中的一个控制器,以在特定时间间隔基于所述可用性度量来执行相应的控制模块;
其中,获得所述多个控制器中的一个控制器的可用性度量包括:基于对所述控制器的负载、带宽和可用存储器的指示来识别所述可用性度量。
27.根据权利要求26所述的方法,还包括:
将一个或多个冗余模块和一个或多个大数据模块中的每一个分配给所述多个控制器中的一个控制器,以在所述特定时间间隔中基于所述可用性度量来执行相应的冗余模块或大数据模块。
28.根据权利要求27所述的方法,还包括:
将优先级级别分配给所述控制模块、冗余模块和大数据模块中的每一个;以及
根据所分配的优先级级别对所述控制模块、冗余模块和大数据模块进行排序。
29.根据权利要求28所述的方法,其中,将所述控制模块、冗余模块和大数据模块按照相应等级的顺序分配给所述多个控制器,其中,首先对最高等级的控制模块、冗余模块或大数据模块进行分配。
30.一种过程控制***中的计算设备,包括:
一个或多个处理器;以及
非暂时性计算机可读介质,所述非暂时性计算机可读介质耦合到所述一个或多个处理器并在其上存储指令,当由所述一个或多个处理器执行所述指令时,使得计算设备执行以下步骤:
经由提供给现场设备的控制信号获得控制所述过程控制***中的过程的至少一部分的多个控制模块,所述现场设备被配置为执行所述过程控制***内的物理功能;
从通信地耦合到多个所述现场设备的控制器场中的多个控制器中的每一个控制器中获得可用性度量;以及
将所述多个控制模块中的每一个控制模块分配给所述多个控制器中的一个控制器,以在特定时间间隔基于所述可用性度量来执行相应的控制模块;
其中,为了获得所述多个控制器中的每一个控制器的可用性度量,所述指令使得所述计算设备基于所述控制器的负载、带宽以及可用存储器的指示来识别所述可用性度量。
31.根据权利要求30所述的计算设备,其中,所述指令还使得所述计算设备执行以下步骤:
将一个或多个冗余模块和一个或多个大数据模块中的每一个分配给所述多个控制器中的一个控制器,以在所述特定时间间隔中基于所述可用性度量来执行相应的冗余模块或大数据模块。
32.根据权利要求31所述的计算设备,其中,所述指令还使得所述计算设备执行以下步骤:
将优先级级别分配给控制模块、冗余模块和大数据模块中的每一个;以及
根据所分配的优先级级别对所述控制模块、冗余模块和大数据模块进行排序。
33.根据权利要求32所述的计算设备,其中,按照相应等级的顺序将所述控制模块、冗余模块和大数据模块分配给所述多个控制器,其中,首先对最高等级的控制模块、冗余模块或大数据模块进行分配。
34.根据权利要求30所述的计算设备,其中,所述计算设备是所述控制器场内的所述多个控制器中的一个控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/682,090 | 2017-08-21 | ||
US15/682,090 US10620613B2 (en) | 2017-08-21 | 2017-08-21 | High performance control server system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426227A CN109426227A (zh) | 2019-03-05 |
CN109426227B true CN109426227B (zh) | 2023-09-29 |
Family
ID=63518540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810952172.7A Active CN109426227B (zh) | 2017-08-21 | 2018-08-21 | 高性能控制服务器*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US10620613B2 (zh) |
JP (1) | JP7321684B2 (zh) |
CN (1) | CN109426227B (zh) |
DE (1) | DE102018120345A1 (zh) |
GB (1) | GB2566603B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12032362B2 (en) | 2018-09-27 | 2024-07-09 | Rockwell Automation Technologies, Inc. | Multi-user collaboration across domains for industrial automation design |
US10761514B2 (en) * | 2018-09-27 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Intelligent binding and selection of hardware via automation control objects |
US11567486B2 (en) | 2018-09-27 | 2023-01-31 | Rockwell Automation Technologies, Inc. | Automated industrial process testing via cross-domain object types |
US11079743B2 (en) | 2018-09-27 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Project autonomy in industrial automation design environments |
US20200319623A1 (en) * | 2019-04-07 | 2020-10-08 | Honeywell International | Control hive architecture engineering efficiency for an industrial automation system |
JP7226103B2 (ja) * | 2019-05-29 | 2023-02-21 | オムロン株式会社 | 制御システム、サポート装置およびサポートプログラム |
US11550311B2 (en) | 2019-06-10 | 2023-01-10 | Fisher-Rosemount Systems, Inc. | Centralized virtualization management node in process control systems |
GB2621485A (en) | 2019-06-10 | 2024-02-14 | Fisher Rosemount Systems Inc | Ease of node switchovers in process control systems |
US11249464B2 (en) | 2019-06-10 | 2022-02-15 | Fisher-Rosemount Systems, Inc. | Industrial control system architecture for real-time simulation and process control |
US11231701B2 (en) | 2019-06-10 | 2022-01-25 | Fisher-Rosemount Systems, Inc. | Publish/subscribe protocol for real-time process control |
GB2589663B (en) | 2019-06-10 | 2024-04-10 | Fisher Rosemount Systems Inc | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems |
GB2626649A (en) | 2019-06-10 | 2024-07-31 | Fisher Rosemount Systems Inc | Virtualized real-time I/O in process control systems |
DE102019217427A1 (de) * | 2019-11-12 | 2021-05-12 | Kuka Deutschland Gmbh | Steuern und/oder Überwachen einer Maschinenanordnung |
US11662715B2 (en) * | 2020-02-13 | 2023-05-30 | Honeywell International Inc. | Multi-synch of a primary automation device with multiple secondaries |
US11762742B2 (en) | 2020-03-31 | 2023-09-19 | Honeywell International Inc. | Process control system with different hardware architecture controller backup |
US11989084B2 (en) * | 2020-09-23 | 2024-05-21 | Honeywell International Inc. | Self-healing process control system |
US11874938B2 (en) | 2020-11-03 | 2024-01-16 | Honeywell International Inc. | Admittance mechanism |
US11876608B2 (en) * | 2021-02-22 | 2024-01-16 | Hitachi, Ltd | Redundant control system |
US20220386088A1 (en) * | 2021-05-28 | 2022-12-01 | Phillips 66 Company | Industrial wireless systems with channel selection |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6011901A (ja) * | 1983-06-30 | 1985-01-22 | Toshiba Corp | 分散形制御装置のバツクアツプ装置 |
CN101196740A (zh) * | 2006-10-02 | 2008-06-11 | 费舍-柔斯芒特***股份有限公司 | 集成于过程控制网络的分析服务器 |
US8230426B2 (en) * | 2004-10-06 | 2012-07-24 | Digipede Technologies, Llc | Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics |
US8296602B2 (en) * | 2005-06-28 | 2012-10-23 | Renesas Electronics Corporation | Processor and method of controlling execution of processes |
CN105519050A (zh) * | 2015-02-12 | 2016-04-20 | 富士电机株式会社 | 控制***以及中继装置 |
CN105612467A (zh) * | 2013-10-07 | 2016-05-25 | 恩德莱斯和豪瑟尔两合公司 | 用于灵活地操作自动化工厂的*** |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06250869A (ja) | 1993-03-01 | 1994-09-09 | Hitachi Ltd | 分散制御システム |
US6098116A (en) | 1996-04-12 | 2000-08-01 | Fisher-Rosemont Systems, Inc. | Process control system including a method and apparatus for automatically sensing the connection of devices to a network |
US6032208A (en) | 1996-04-12 | 2000-02-29 | Fisher-Rosemount Systems, Inc. | Process control system for versatile control of multiple process devices of various device types |
US7684876B2 (en) | 2007-02-27 | 2010-03-23 | Rockwell Automation Technologies, Inc. | Dynamic load balancing using virtual controller instances |
US20090076628A1 (en) | 2007-09-18 | 2009-03-19 | David Mark Smith | Methods and apparatus to upgrade and provide control redundancy in process plants |
EP2466406B1 (de) | 2010-12-15 | 2016-03-02 | Siemens Aktiengesellschaft | Verfahren zur automatischen Erzeugung von Dynamic Frame Packgruppen |
US9307048B2 (en) * | 2010-12-28 | 2016-04-05 | Microsoft Technology Licensing, Llc | System and method for proactive task scheduling of a copy of outlier task in a computing environment |
US8645454B2 (en) * | 2010-12-28 | 2014-02-04 | Canon Kabushiki Kaisha | Task allocation multiple nodes in a distributed computing system |
US8832563B2 (en) | 2011-07-27 | 2014-09-09 | General Electric Company | Automatic detection of designated controller in a distributed control system using a web client |
US8688831B2 (en) * | 2012-01-17 | 2014-04-01 | International Business Machines Corporation | Managing workload distribution among a plurality of compute nodes |
JP5752087B2 (ja) | 2012-05-24 | 2015-07-22 | 三菱電機株式会社 | 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット |
WO2015169352A1 (en) | 2014-05-07 | 2015-11-12 | Abb Technology Ltd | Flexible controller utilization in a process control system |
US9705737B2 (en) * | 2014-07-21 | 2017-07-11 | Cisco Technology, Inc. | Deterministic control loop scheduling |
US10165043B2 (en) * | 2015-10-01 | 2018-12-25 | Schneider Electric Systems Usa, Inc. | Multi-core device with separate redundancy schemes in a process control system |
-
2017
- 2017-08-21 US US15/682,090 patent/US10620613B2/en active Active
-
2018
- 2018-08-02 GB GB1812584.9A patent/GB2566603B/en active Active
- 2018-08-21 JP JP2018154400A patent/JP7321684B2/ja active Active
- 2018-08-21 DE DE102018120345.4A patent/DE102018120345A1/de active Pending
- 2018-08-21 CN CN201810952172.7A patent/CN109426227B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6011901A (ja) * | 1983-06-30 | 1985-01-22 | Toshiba Corp | 分散形制御装置のバツクアツプ装置 |
US8230426B2 (en) * | 2004-10-06 | 2012-07-24 | Digipede Technologies, Llc | Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics |
US8296602B2 (en) * | 2005-06-28 | 2012-10-23 | Renesas Electronics Corporation | Processor and method of controlling execution of processes |
CN101196740A (zh) * | 2006-10-02 | 2008-06-11 | 费舍-柔斯芒特***股份有限公司 | 集成于过程控制网络的分析服务器 |
CN105612467A (zh) * | 2013-10-07 | 2016-05-25 | 恩德莱斯和豪瑟尔两合公司 | 用于灵活地操作自动化工厂的*** |
CN105519050A (zh) * | 2015-02-12 | 2016-04-20 | 富士电机株式会社 | 控制***以及中继装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2566603A (en) | 2019-03-20 |
US20190056719A1 (en) | 2019-02-21 |
DE102018120345A1 (de) | 2019-02-21 |
GB2566603B (en) | 2022-06-22 |
CN109426227A (zh) | 2019-03-05 |
JP7321684B2 (ja) | 2023-08-07 |
US10620613B2 (en) | 2020-04-14 |
JP2019036313A (ja) | 2019-03-07 |
GB201812584D0 (en) | 2018-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426227B (zh) | 高性能控制服务器*** | |
US11846934B2 (en) | Industrial control system hyperconverged architecture | |
JP7086905B2 (ja) | プロセス制御システムにおけるビッグデータ | |
JP6978461B2 (ja) | コンピュータで実装される方法 | |
US20230297408A1 (en) | Modular process control system | |
JP6707331B2 (ja) | 地域的ビッグデータノード、プロセスプラントの動作を向上する方法、プロセスプラント内で地域的ビッグデータをサポートするためのシステム | |
CN108696387B (zh) | 用于过程控制***中的无线网状网络的预测性连通性诊断 | |
EP3037901B1 (en) | Cloud-based emulation and modeling for automation systems | |
CN109698857B (zh) | 用于自适应工业物联网(iiot)的***和方法 | |
JP6549351B2 (ja) | プロセス制御システム内におけるデータの収集およびビッグデータ機械への配信 | |
JP2020074640A (ja) | プロセス制御システム内でのアナリティクスのためのストリーミングデータ | |
CN110582732A (zh) | 开放式架构工业控制*** | |
CN114253569A (zh) | 使用容器编排***来更新操作技术设备 | |
WO2016057365A1 (en) | Data pipeline for process control system anaytics | |
CN114296405A (zh) | 使用容器编排***和操作技术设备实现无服务器功能 | |
US10866918B2 (en) | Systems and methods for automatically mapping between operation technology data and information technology data | |
EP3722897A1 (en) | Control hive architecture engineering efficiency for an industrial automation system | |
CN110647114A (zh) | 用于配置对多变量现场设备信号的访问的方法和装置 |
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 |