CN112540578A - 工业控制系统超融合架构 - Google Patents
工业控制系统超融合架构 Download PDFInfo
- Publication number
- CN112540578A CN112540578A CN202011010381.3A CN202011010381A CN112540578A CN 112540578 A CN112540578 A CN 112540578A CN 202011010381 A CN202011010381 A CN 202011010381A CN 112540578 A CN112540578 A CN 112540578A
- Authority
- CN
- China
- Prior art keywords
- dcs
- software
- server
- virtual
- environment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 309
- 230000008569 process Effects 0.000 claims abstract description 284
- 238000004886 process control Methods 0.000 claims abstract description 85
- 238000004519 manufacturing process Methods 0.000 claims abstract description 41
- 238000004891 communication Methods 0.000 claims description 76
- 230000006870 function Effects 0.000 claims description 44
- 230000008859 change Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000006855 networking Effects 0.000 claims description 10
- 239000004744 fabric Substances 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 15
- 230000000737 periodic effect Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000005055 memory storage Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000012369 In process control Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000010965 in-process control Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003863 physical function Effects 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage 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
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010949 in-process test method Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004989 laser desorption mass spectroscopy Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 238000001824 photoionisation detection Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/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/41885—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 modeling, simulation of the manufacturing 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
- 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
- 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
- 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/048—Monitoring; Safety
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24058—Remote testing, monitoring independent from normal control by pc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25232—DCS, distributed control system, decentralised control unit
-
- 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/31018—Virtual factory, modules in network, can be selected and combined at will
-
- 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/31088—Network communication between supervisor and cell, machine group
-
- 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/32—Operator till task planning
- G05B2219/32345—Of interconnection of cells, subsystems, distributed simulation
-
- 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/33273—DCS distributed, decentralised controlsystem, multiprocessor
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
公开了一种超融合工业过程控制架构,用于使用软件定义的分布式控制系统(DCS)环境在物理过程环境内控制工业过程。可以通过在服务器组上虚拟化DCS架构的硬件部件来实现软件定义的DCS环境,以使软件定义的过程控制器和后端DCS应用都能够在服务器组内运行。这种软件定义的DCS网络架构通过在服务器组内的公共环境内实现控制部件和更高级别的部件来降低了过程控制系统的硬件要求并降低了配置复杂性。
Description
技术领域
本专利申请总体上涉及工业和过程控制系统,并且更具体地,涉及使用软件定义的架构来提供运行时过程控制的工业控制系统。
背景技术
过程或工业控制系统(像在化学、石油或其他工业过程工厂中用来从材料生产物理产品的那些过程或工业控制系统)通常包括一个或多个过程控制器,该过程控制器经由模拟、数字或组合的模拟/数字总线或者经由无线通信链路或网络通信地耦合到一个或多个现场设备。现场设备(其可以是例如阀、阀定位器、开关、以及变送器(例如,温度、压力、液位和流率传感器))位于过程环境内,并且通常执行物理或过程控制功能,例如,打开或关闭阀、测量过程参数等以控制在过程工厂或系统内执行的一个或多个过程。智能现场设备(诸如,符合熟知的Fieldbus协议的现场设备)还可以执行控制计算、警报功能、以及通常在控制器内实现的其他控制功能。过程控制器(其可以以分布式方式位于工厂环境中)接收指示由现场设备进行的过程测量的信号和/或与现场设备有关的其他信息,并且执行控制器应用,该控制器应用例如运行不同的控制模块,不同的控制模块进行过程控制决策、基于接收到的信息生成控制信号、并且与现场设备(诸如,无线和Fieldbus现场设备)中执行的控制模块或块进行协调。控制器中的控制模块通过通信线路或链路向现场设备发送控制信号,由此控制过程工厂或系统的至少一部分的操作。
来自现场设备和控制器的信息通常通过数据通道从控制器提供给一个或多个其他硬件设备,例如,操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库、或通常放置在控制室中或者远离较恶劣的工厂环境的其他位置的其他集中式管理计算设备。这些硬件设备中的每个通常跨过程工厂或者跨过程工厂的一部分集中。这些硬件设备执行应用,该应用例如可以使工程师能够配置过程的一部分或者使操作员能够执行与控制过程和/或操作过程工厂(诸如,改变过程控制例程的设置,修改控制器内控制模块或现场设备的操作、查看过程的当前状态、查看由现场设备和控制器生成的警报、为了培训人员或测试过程控制软件的目的模拟过程的操作、保持和更新配置数据库等)相关的功能。由硬件设备、控制器和现场设备使用的数据高速通道可以包括有线通信路径、无线通信路径、或有线和无线通信路径的组合。
作为示例,由艾默生过程管理公司(Emerson Process Management)出售的DeltaVTM控制系统包括储存在位于过程工厂内的不同位置的不同设备内并由这些不同设备执行的多个应用。驻留在一个或多个工作站或计算设备中的配置应用使用户能够创建或改变过程控制模块,并且能够经由数据高速通道将这些过程控制模块下载到专用分布式控制器。通常,这些控制模块由通信互连的功能块构成,这些功能块是面向对象编程协议中的对象,所述对象基于对其的输入来执行控制方案内的功能,并向控制方案内的其他功能块提供输出。配置应用还可以允许配置设计者创建或改变由查看应用用来向操作员显示数据的操作员界面,并且使操作员能够改变过程控制例程内的设置,诸如设定点。每个专用控制器,以及在某些情况下,一个或多个现场设备储存并执行相应的控制器应用,该控制器应用运行分配和下载到其的控制模块以实现实际的过程控制功能。可以在一个或多个操作员工作站(或在与操作员工作站和数据高速通道通信连接的一个或多个远程计算设备上)执行的查看应用经由数据高速通道从控制器应用接收数据,并且使用用户界面将该数据显示给过程控制系统设计者、操作员、或用户,并且可以提供诸如操作员视图、工程师视图、技术人员视图等之类的多个不同视图中的任何一个。数据历史库应用通常储存在数据历史库设备中并由其执行,数据历史库设备收集并储存跨数据高速通道提供的数据中的一些或全部,而配置数据库应用可以在附接到数据高速通道的另外计算机中运行,以储存当前过程控制例程配置和与其相关联的数据。或者,配置数据库可以位于与配置应用相同的工作站中。
当前已知的过程控制工厂和过程控制系统的架构受到有限的控制器和设备存储器、通信带宽以及控制器和设备处理器能力的强烈影响。例如,在当前已知的过程控制系统架构中,通常最小化或至少小心地管理控制器中动态和静态非易失性存储器的使用。结果,在系统配置(例如,先验)期间,用户或配置工程师通常必须选择要在控制器中存档或保存的数据、将被保存的频率以及是否使用压缩,并且相应地为控制器配置了此有限的数据规则集。因此,在故障排除和过程分析中可能有用的数据通常不会被存档,并且如果收集了数据,则可能由于数据压缩而丢失了有用的信息。
另外,为了使当前已知的过程控制系统中的控制器存储器使用最小化,将要存档或保存的所选数据(如控制器的配置所指示的)报告给工作站或计算设备,以便存储在适当的数据历史库或数据仓库处。用于报告数据的当前技术较差地利用通信资源,并导致过多的控制器负载。另外,由于在历史库或仓库处通信和采样中的时间延迟,数据收集和时间加戳通常与实际过程不同步。
类似地,在批次过程控制系统中,为了最小化控制器存储器使用,批次配方和控制器配置的快照通常保持存储在集中式管理计算设备或位置处(例如,在数据仓库或历史库处),并且仅在需要时被传送到控制器。这样的策略在控制器中以及工作站或集中式管理计算设备与控制器之间的通信中引入了显著的突发负载。
此外,诸如过程控制系统之类的工业控制系统的当前架构很大程度上是由硬件驱动的,因为诸如控制功能、输入/输出(I/O)功能、用户界面功能等各种功能在特定的硬件中执行并绑定到该特定的硬件(例如,用户工作站或接口设备、过程控制器、安全系统控制器、专用I/O设备、编组的I/O设备、现场设备、安全逻辑解算器等)并始终保持存储在该特定硬件中。例如,在当前的过程控制系统中,控制器与I/O设备(例如,单个I/O设备或编组的I/O设备组)之间的互连是基于特定的硬件来配置的,因此物理I/O关系是紧密绑定的,通常是一对一的方式(例如,I/O设备到控制器、另一个I/O设备到另一个控制器等等)。这种架构设计限制了控制系统的回弹性、可靠性、可用性、响应性和弹性,因为这些系统难以快速更改或重新配置,并且与用于实现专有控制软件的专有硬件紧密联系在一起,需要逐个设备进行硬件冗余,这可能会导致实施成本高昂,并且在不添加需要以特定方式配置的其他硬件的情况下,不易于扩展或不能够升级(例如,由于诸如物理过程控制器的各个设备的尺寸限制、或I/O设备的特定特性和能力)。
此外,当前的控制系统架构将在线过程控制应用和其他相关应用分离为通过过程工厂通信网络进行通信的多个功能特定的设备。因此,过程控制系统需要附加的硬件设备,这些硬件设备必须单独配置以与它们交互的其他设备进行通信。例如,替换或重新配置过程工厂内的现场设备可能需要重新配置与该现场设备进行交互的多个控制器,以及对与此现场设备相关联的数据进行监视的多个工作站和更高级别的应用。
发明内容
本文描述了用于工业过程控制的超融合分布式控制系统(DCS)架构,其在组合的软件定义的DCS环境中实现软件定义的过程控制器和相关应用。软件定义的DCS环境可以在标准硬件部件上操作的软件定义的虚拟网络内虚拟化DCS架构的硬件部件,从而允许将这些部件作为软件部件进行管理。这样的软件定义的DCS环境可以在诸如私有托管的云计算系统之类的服务器组内实现,这减少了系统的硬件要求和建立系统所需的配置。本文描述了用于在物理过程环境内控制工业过程的系统、方法以及存储用于在物理过程环境内控制工业过程的可执行指令的计算机可读介质。这样的系统、方法和指令可以包括服务器组或由服务器组实现,所述服务器组被配置为实现软件定义的DCS环境,所述软件定义的DCS环境包括:一个或多个软件定义的过程控制器,其被配置为通过与物理过程环境内的多个现场设备进行通信来实时地控制工业过程的至少部分;以及一个或多个DCS应用,其被配置为与软件定义的过程控制器进行交互。
所述服务器组包括一起操作以实现软件定义的DCS环境的多个服务器设备。在一些实施例中,所述服务器组经由一个或多个输入/输出(I/O)连接通信地连接到所述多个现场设备,所述I/O连接被配置为使用工业过程控制通信协议通过过程控制网络来传送过程数据。在另外的实施例中,所述软件定义的DCS环境还包括一个或多个虚拟联网部件,其被配置为复制以下物理网络部件中的一个或多个:网络交换机、路由器或防火墙。
在一些实施例中,所述DCS应用中的至少一个DCS应用被配置为调整所述软件定义的过程控制器的操作。在另外的实施例中,所述DCS应用可以在所述软件定义的DCS环境内提供各种功能。所述DCS应用可以包括虚拟架构配置应用,所述虚拟架构配置应用具有用户界面,所述用户界面被配置为使用户能够通过指定虚拟DCS网络架构内的多个虚拟节点以及所述虚拟节点之间的连接来定义所述虚拟DCS网络架构。这样的虚拟节点可以包括所述多个现场设备的虚拟表示。附加地或替代地,所述DCS应用还可以包括数据历史库应用,其被配置为在所述工业过程的操作期间自动地在所述软件定义的DCS环境内存储过程数据。在另外的实施例中,所述DCS应用可以包括以下功能中的一个或多个:操作员界面、工程工作站、资产管理系统、制造执行系统或高级过程控制系统。在另外的实施例中,所述DCS应用可以包括网络网关以与外部数据网络通信。
在另外的实施例中,所述服务器组可以被配置为使用所述多个服务器设备来提供负载平衡或冗余。在这样的实施例中,所述一个或多个软件定义的过程控制器包括在所述服务器组的不同服务器设备上同时运行的虚拟DCS控制器的多个实例。所述服务器组因此可以被配置为基于所述服务器组中的所述多个服务器设备的状态在所述虚拟DCS控制器的所述多个实例之间执行自动负载平衡。在另外的实施例中,所述DCS应用可以包括被配置为基于所述服务器组的资源使用情况和所述多个服务器设备的资源可用性来预测所述服务器组的服务器设备的最佳数量的应用。
根据本文描述的用于在物理过程环境内控制工业过程的系统、方法以及存储用于在物理过程环境内控制工业过程的可执行指令的计算机可读介质的方面,用于在物理过程环境内控制工业过程的技术可以包括:(i)将所述物理过程环境内的多个现场设备连接到包括多个服务器设备的服务器组,所述服务器组被配置为通过一个或多个I/O连接来实现软件定义的DCS环境;(ii)由在所述服务器组上的所述软件定义的DCS环境中运行的一个或多个软件定义的过程控制器通过与所述物理过程环境内的所述多个现场设备进行通信来实时地控制所述工业过程的至少部分;(iii)由在所述服务器组上的所述软件定义的DCS环境中运行并且被配置为与所述软件定义的过程控制器进行交互的一个或多个DCS应用调整所述一个或多个软件定义的过程控制器的操作。
所述服务器组可以经由所述一个或多个I/O连接从所述多个现场设备接收过程数据,并且经由所述一个或多个I/O连接向所述一个或多个现场设备发送过程控制信号以控制所述工业过程的所述部分。在一些实施例中,所述DCS应用可以基于所述一个或多个I/O连接处的数据业务来检测与所述多个现场设备中的现场设备相关联的过程数据的类型,并基于所述过程数据的类型来确定对所述一个或多个软件定义的过程控制器的操作的调整。在另外的实施例中,DCS应用可以通过检测所述服务器组的所述多个服务器设备中的一个服务器设备的状态的变化并且基于所述状态的所述变化调整所述多个服务器设备之间的负载分布来提供负载平衡。在一些这样的实施例中,还可以通过在所述服务器组的不同服务器设备上同时实现虚拟DCS控制器的多个实例来提供所述软件定义的过程控制器的冗余,以使得在所述服务器设备中的一个服务器设备的控制失效的情况下可以在这些实例之间转移控制。
在一些实施例中,所述DCS应用可以包括虚拟架构配置应用,所述虚拟架构配置应用为用户生成用户界面,所述用户界面包括用于在所述软件定义的DCS环境内配置虚拟部件的多个选项,以及从所述用户接收用户输入,以通过指定虚拟DCS网络架构内的多个虚拟节点以及所述虚拟节点之间的连接来定义虚拟DCS网络架构。这样的虚拟节点可以包括所述多个现场设备的一个或多个虚拟表示。在另外的实施例中,所述DCS应用可以包括数据历史库,其在所述工业过程的操作期间自动地在所述软件定义的DCS环境内监视过程数据,并将所述过程数据自动地存储在与所述服务器组相关联的数据储存器中。
附图说明
图1例示了示例性物理过程工厂环境的框图,其中分布式控制系统(DCS)控制工业或过程工厂中的过程的至少一部分。
图2A和图2B例示了图1的示例性过程工厂的框图,其中在服务器组上运行的软件定义的DCS环境控制过程工厂的至少一部分。
图3例示了实现软件定义的DCS环境的示例性冗余服务器组(例如图2A和2B所示的服务器组)的框图。
图4例示了示例性软件定义的DCS架构配置和控制方法的流程图。
具体实施方式
本文所描述的超融合工业过程控制系统架构提供了用于控制物理过程工厂内的工业过程的软件定义的分布式控制系统(DCS)架构。这样的软件定义的DCS架构通过以允许将组件定义、管理和控制为软件组件的方式在过程控制系统内汇集资源来提供独立于硬件且可扩展的控制网络。例如,软件定义的DCS架构使得能够在同一硬件(例如形成私有云计算网络的服务器组)上实现软件定义的过程控制器和后端DCS应用。在软件定义的DCS环境中,控制器和高级应用的这种结合具有许多优点。例如,此架构允许使用标准服务器硬件而不是系统特定硬件用于过程控制器,从而通过在服务器组中添加或删除服务器来实现过程控制系统中的可伸缩性。此外,在服务器组中实现多个DCS过程控制器的虚拟表示(连同其他DCS应用)消除了对每个控制器和其他后端系统的单独硬件的需求。此外,服务器组内软件定义的过程控制器和DCS应用的软件定义组合消除了将过程数据路由到多个控制器的需要,从而降低了控制系统的复杂性并减少了配置或更新系统架构所需的工作量。通过将软件定义的过程控制器实现为服务器组中的虚拟DCS控制器,还可以改善负载平衡和故障转移功能,以便可以以资源高效的方式在服务器组的各个服务器中实现冗余的虚拟DCS控制器。这些优点仅是示例性的,并且基于以下公开内容,本文描述的软件定义的DCS架构的其他优点对于本领域技术人员将是显而易见的。
物理过程工厂和过程控制系统
图1是示例性物理过程工厂100环境的框图,其中分布式控制系统(DCS)控制工业或过程工厂中的过程的至少一部分。物理过程工厂100的DCS系统控制工业过程(或在某些实施例中,结合虚拟工厂环境来操作以控制工业过程),其中该工业过程可以说具有表征过程状态的一个或多个“过程输出”(例如,罐液位、流速、材料温度等)和一个或多个“过程输入”(例如,各种环境条件和致动器的状态,对其进行操作可能会导致过程输出改变)。物理过程工厂100包括现场环境102和后端环境105,它们各自通过过程控制主干网或数据高速通道108通信连接到彼此,该过程控制主干网或数据高速通道可以包括一个或多个有线和/或无线通信链路和/或网络,并且可以使用任何期望或合适的通信协议(例如,以太网协议、IP协议或其他分组协议)来实现。
在高层,现场环境102包括物理部件(例如,过程控制设备、网络、网络元件等),这些物理部件被安装并互连以结合地操作来在运行时期间控制工业过程。总的来说,这些物理部件位于、设置在、或以其他方式包括在物理过程工厂100的现场环境102中,使用设置在其中的物理部件接收和处理原材料,从而生成一种或多种物理产品(例如,纸张、成品油、药品等)。相比之下,物理过程工厂100的后端环境105包括各种物理部件(例如计算设备、操作员工作站、数据库或资料库(data bank)等),这些物理部件被屏蔽和/或保护免受现场环境102的恶劣条件和材料的影响。在一些配置中,物理过程工厂100的后端环境105中包括的各种计算设备、数据库以及其他部件和装备可以物理地位于不同的物理位置,其中一些对于物理过程工厂100可以是本地的,其中一些可以是远程的。
物理过程工厂100的现场环境102
如图1所示,现场环境102包括一个或多个过程控制器110,其通信连接到数据高速通道108。每个过程控制器110可以连接到一个或多个中间节点(诸如I/O设备112、115(例如,I/O卡、I/O设备、I/O系统等)),其促进控制器110与现场设备之间的通信。一般而言,在过程控制工业中,有时在许多相关但不同的上下文中使用术语“I/O”。该术语通常是指将现场设备通信地耦合到I/O卡或控制器的逻辑链路或通信通道(例如,“I/O通道”),但可以在提及许多其他概念(诸如用于通过I/O通道(例如,“I/O设备”或“I/O卡”)以及与I/O设备关联的连接器或终端(例如,“I/O连接器”)向现场设备发送信号或从现场设备接收信号的物理设备)时使用。I/O设备和I/O卡112、115可以是独立的、单个的物理设备,每个物理设备连接到相应的控制器以及一个或多个相应的现场设备,如图所示。在某些布置中(图1中未示出),I/O设备、卡、连接器和其他与I/O相关的部件(诸如接线盒、模块、处理器等)包括在I/O电子编组系统中,其能够实现在各种类型的多个控制器与多个现场设备之间的灵活的I/O传输,如美国专利号7,684,875、8,332,567、8,762,618、8,977,851、9,083,548、9,411,769、9,495,313和9,946,240中所描述的,这些美国专利号的全部内容通过引用明确地并入本文。因此,为了使讨论清楚并且如本文所使用的,术语“I/O设备”通常包括物理I/O设备、卡、电子编组系统、及它们的部件,通过其实现I/O通道从而通信地耦合现场设备和控制器。另外,术语“I/O连接”通常是指物理I/O设备和连接各种部件以在这些部件之间传递I/O数据的其他物理部件。
在过程控制产业中,术语“I/O”通常可用于指代在I/O通道上传输的信号(例如,“I/O信号”)、由信号表示的变量或命令(例如,“I/O参数”)或信号所携带的变量或命令的值(例如,“I/O参数值”或“I/O数据有效负载”)。因此,为了使讨论清楚并且如本文所使用的,I/O信号、I/O参数和I/O参数值在本文中被统称为“I/O数据”或“过程I/O数据”。
在本文中在没有限定词的情况下引用术语“I/O”的程度下,句子的上下文应明确讨论这些概念中的哪一个。此外,应当理解,“I/O通道”表示特定类型的“通信通道”或“通道”。换而言之,除非句子的上下文另有说明,否则在没有限定词“I/O”的情况下本描述中对术语“通道”或术语“通信通道”的引用在某些实施方式中可以指代可能是I/O通道的通信链路,但在某些实施方式中也可以指代除I/O通道以外的通信链路。
使用过程I/O数据,物理过程工厂100的每个过程控制器110实施由一个或多个控制例程(例如,一个或多个部件行为模块)定义的控制策略,该控制例程可以存储在控制器110的存储器中。当控制器的处理器执行一个或多个控制例程时,控制器通过有线或无线过程控制通信链路或网络将控制信号(即“控制输出”)发送到一个或多个现场设备,以控制工厂100中的过程的操作。控制器可以基于以下各项生成控制信号:(i)一个或多个接收到的信号,其可以被称为“控制输入”(例如,一个或多个接收到的信号,该信号表示由现场设备获得的测量结果,以及(ii)一个或多个控制例程的逻辑,该逻辑可由一个或多个软件元素(例如功能块)定义。通常,控制器基于反馈(即,受控变量的测量结果)和过程输出的期望值(即,设定值)来操纵过程输入(其可以称为“受操纵变量”)以更改特定过程输出(其可以称为“受控变量”或简称为“过程变量”)。
通常,至少一个现场设备执行物理功能(例如,打开或关闭阀、升高或降低温度、进行测量、感测条件等),以控制在物理过程工厂100中实现的过程的操作。某些类型的现场设备通过使用I/O设备来与控制器进行通信。过程控制器、现场设备和I/O设备可以是有线或无线的,并且物理过程工厂100中可以包括有线和无线的过程控制器、现场设备、I/O设备的任何数量和组合。
例如,图1例示了过程控制器110,其经由输入/输出(I/O)设备112和115通信连接到有线现场设备125-132,并且经由无线网关168和数据高速通道108通信连接到无线现场设备140-146。在一些配置中(未示出),控制器110可以使用除数据高速通道108以外的一个或多个通信网络通信地连接到无线网关168,例如通过使用任何数量的其他有线或无线通信链路,其支持一种或多种通信协议,例如,Wi-Fi或其他符合IEEE 802.11的无线局域网协议、移动通信协议(例如,WiMAX、LTE或其他ITU-R兼容协议)、Profibus、Fieldbus等。
例如,控制器110可以是例如由艾默生过程管理公司出售的DeltaVTM控制器,其可以操作以使用现场设备125-132和140-146中的至少一些现场设备来实现批次工业过程或连续工业过程。在一实施例中,除了通信地连接到过程控制数据高速通道108之外,控制器110还使用例如标准4-20mA设备、I/O设备112、115、和/或任何智能通信协议(例如Fieldbus协议、协议、协议等)相关联的任何期望的硬件和软件来通信地连接到现场设备125-132和140-146中的至少一些现场设备。如图所示,控制器110、现场设备125-132和I/O设备112、115是有线设备,现场设备140-146是无线现场设备。当然,有线现场设备125-132和无线现场设备140-146可以符合任何其他期望的标准或协议,诸如任何有线或无线协议,包括将来开发的任何标准或协议。
过程控制器110包括处理器120,其实现或监督一个或多个过程控制例程118(例如,执行存储在控制器110的存储器122中的过程控制例程118的计算机可读指令)。处理器120被配置为与现场设备125-132和140-146通信以及与通信地连接到控制器110的其他节点通信。应当注意,本文描述的任何控制例程或模块可以使其部分由不同的控制器、处理器或其他设备实现或执行(如果需要的话)。同样,将在物理过程工厂100内实现的本文所述的控制例程或模块118可以采用任何形式,包括软件、固件、硬件等。控制例程可以以任何期望的软件格式来实现,例如使用面向对象编程、梯形逻辑、顺序功能图、功能框图、或使用任何其他软件编程语言或设计范例。控制例程118可以存储在任何期望类型的存储器122(诸如随机存取存储器(RAM)或只读存储器(ROM))中。同样,控制例程118可以被硬编码到例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或任何其他硬件或固件元件中。因此,控制器110可以被配置为以任何期望的方式实现控制策略或控制例程。
控制器110使用通常被所称为的功能块来实现控制策略,其中每个功能块是整体控制例程的对象或其他部分(例如,子例程),并结合其他功能块(通过称为链路的通信)来操作以在过程控制系统内实现过程控制回路。基于控制的功能块通常执行以下各项之一:(i)输入功能,例如与变送器、传感器或其他过程参数测量设备相关联的功能(有时称为“输入块”);(ii)控制功能,例如与执行PID、模糊逻辑等的控制程序相关联的功能(有时称为“控制块”);或(iii)输出功能,其控制某些设备(例如阀)的操作以在物理过程工厂100内执行某些物理功能(有时称为“输出块”)。当然,存在混合的和其他类型的功能块。
功能块可以存储在控制器110中并由控制器110执行,这通常是这些功能块用于标准4-20mA设备或某些类型的智能现场设备(例如设备)或与之相关联的情况,或者功能块可以存储在现场设备自身中并由现场设备自身实现,这可以是例如Fieldbus设备的情况。一个或多个控制例程118可以实现一个或多个控制回路,其通过执行一个或多个功能块来执行。在某种意义上,控制例程118可以被视为控制器110的部件行为模块。
有线现场设备125-132可以是任何类型的设备(诸如传感器、阀、变送器、定位器等),而I/O设备112和115可以是符合任何所需的通信或控制器协议的任何类型的过程控制I/O设备。例如,I/O设备112、115可以被包括在I/O电子编组系统中。例如,现场设备125-128可以是通过模拟线路或组合的模拟和数字线路与I/O设备112通信的标准4-20mA设备或设备,而现场设备129-132可以是智能设备(诸如Fieldbus设备),其使用Fieldbus通信协议通过数字总线与I/O设备115通信。然而,在一些实施例中,有线现场设备125、126和128-131中的至少一些有线现场设备和/或I/O设备112、115中的至少一些I/O设备附加地或替代地使用过程控制数据高速通道108和/或通过使用其他合适的工业过程控制通信协议(例如Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART等)来与控制器110通信。在一些布置中(图3中未示出),现场设备125-132中的至少一些现场设备可以经由电子I/O编组系统而不是经由单个的I/O设备112、115与控制器110通信。
无线现场设备140-146使用诸如协议的无线协议经由无线过程控制通信网络165进行通信。这样的无线现场设备140-146可以直接与无线网络165的一个或多个其他设备或节点通信,该其他设备或节点也被配置为进行无线通信(例如,使用无线协议或另一无线协议)。为了与未配置为进行无线通信的一个或多个其他节点进行通信,无线现场设备140-146可以利用连接到过程控制数据高速通道108或另一过程控制通信网络的无线网关168。无线网关168提供对无线通信网络165的各种无线设备140-158的访问。特别地,无线网关168提供无线设备140-158、有线设备125-132和/或物理过程工厂100的其他节点或设备之间的通信耦合。例如,无线网关168可以通过使用过程控制数据高速通道108和/或通过使用物理过程工厂100的一个或多个其他通信网络来提供通信耦合。
与有线现场设备125-132相似,无线网络165的无线现场设备140-146执行物理过程工厂100内的物理控制功能,例如打开或关闭阀,或进行过程参数的测量。然而,无线现场设备140-146被配置为使用网络165的无线协议进行通信。这样,无线现场设备140-146、无线网关168和无线网络165的其他无线节点152-158是无线通信分组的生产者和消费者。
在物理过程工厂100的某些配置中,无线网络165包括非无线设备。例如,在图1中,现场设备148是传统的4-20mA设备,而现场设备150是有线设备。为了在网络165内通信,现场设备148和150经由无线适配器152a、152b连接到无线通信网络165。无线适配器152a、152b支持无线协议(诸如WirelessHART),并且还可以支持一种或多种其他通信协议,诸如Fieldbus、PROFIBUS、DeviceNet等。另外,在一些配置中,无线网络165包括一个或多个网络接入点155a、155b,其可以是与无线网关168进行有线通信的单独的物理设备,或者可以与无线网关168一起作为整体设备提供。无线网络165还可以包括一个或多个路由器58,以在无线通信网络165内将分组从一个无线设备转发到另一无线设备。因此,无线设备140-146和152-158通过无线通信网络165的无线链路160和/或经由过程控制数据高速通道108彼此通信并且与无线网关168通信。
注意,尽管图1仅例示了单个控制器110,以及包括在示例性物理过程工厂100中的有限数量的现场设备125-132和140-146、无线网关168、无线适配器152、接入点155、路由器158和无线过程控制通信网络165,这仅是说明性和非限制性的实施例。物理过程工厂100中可以包括任何数量的控制器110,并且任何控制器110可以与任何数量的有线或无线设备和网络125-132、140-146、168、152、155、158和165通信以控制物理过程工厂100中的过程。
物理过程工厂100的后端环境105
如上所述,后端环境105可以包括各种部件(诸如计算设备、操作员工作站、数据库或资料库等),其通常被屏蔽和/或保护免受现场环境102的恶劣条件和材料的影响。例如,后端环境105可以包括以下的任何一个或多个,每个可以通信地连接到数据高速通道108:(i)一个或多个操作员工作站170a和/或其他本地或远程用户接口设备170b;(ii)一个或多个配置应用172a和/或配置数据库172b;(iii)一个或多个其他类型的应用175a和/或数据库175b,其可以包括例如工具、诊断、资产管理系统、模拟器和/或其他类型的应用;(iv)一个或多个其他无线接入点178,其使用各种无线协议与关联于工厂100的其他设备(例如,用户接口设备170b或其他设备)进行通信;(v)一个或多个通向其他工厂的工厂网关系统180;(vi)通向物理过程工厂100的即刻(immediate)操作技术层外部的系统或其他网络185的一个或多个边缘网关系统182(例如,企业的IT网络/系统和/或外部数据网络/系统,其可以在云计算和/或其他合适平台上实现);和/或(vii)通过硬件和软件特别配置为支持过程工厂100的其他物理部件。
操作员可以使用操作员工作站170a和其他用户接口设备170b来查看和监视物理过程工厂100的运行时操作,以及采取任何诊断、纠正、维护和/或可能需要的其他措施。至少一些操作员工作站170a可以位于工厂100内或附近的各种受保护区域,并且在某些情况下,至少一些用户接口设备170b可以位于远程,但仍与工厂100进行通信连接。操作员工作站170a和用户接口设备170b可以是配置为实现操作员界面程序或应用的有线或无线计算设备,以使操作员能够监视和控制物理过程工厂100的操作。
配置应用172a和配置数据库172b可以用于配置物理过程工厂100的控制和/或通信的某些方面,例如通过控制模块/例程、用户界面、数据监视/分析的初始配置和重新配置。例如,配置应用172a的各个实例可以在一个或多个计算设备(未示出)上执行,以使用户能够创建或改变过程控制模块,并且经由数据高速通道108将这些模块下载到控制器110,以创建或更改操作员界面,操作员可以通过该操作员界面查看过程控制例程中的数据并更改数据设置,以创建或更改可以下载到现场环境102中各种物理部件中的数据监视/分析例程和功能等。配置数据库172b存储所创建的(例如,配置的)模块、操作员界面、数据监视/分析等等。通常,配置应用172a和配置数据库172b是集中的,并且对于物理过程工厂100的DCS环境(例如,艾默生过程管理公司出售的DeltaVTM控制系统)具有统一的逻辑外观,尽管可以在DCS环境中同时执行配置应用172a的多个实例,并且可以跨多个物理数据存储设备实现配置数据库172b。因此,配置应用172a和配置数据库172b(包括它们的用户界面)包括用于各种类型的模块(例如,控制模块、显示或操作员界面模块和/或分析模块)的配置或开发系统172。通常,但并非必须如此,配置系统172的用户界面与操作员工作站/用户接口设备170不同,因为配置和开发工程师使用配置系统172的用户界面,而不管物理过程工厂100是否在生产模式下操作,而操作员工作站/用户接口设备170在物理过程工厂100的运行时操作期间由操作员使用。
关于现场环境102的物理部件的调试,配置数据库172b可以存储数据和其他信息,这些数据和其他信息具体地标识和/或寻址在过程工厂底层或现场环境102上计划或希望实现的各种物理设备或部件及它们的互连。可以将该调试数据中的一些提供给现场环境102中的部件,以用于其中的设备和回路的调试,并且该数据中的某些数据可以在后端环境105中使用,例如,用于设计、开发和准备控制模块、操作员界面模块和/或数据分析模块,这些模块将在物理过程工厂100的实时操作期间结合现场环境102来操作。在示例中,批准的控制模块从配置数据库172b下载到过程控制器110,以便在实时操作期间执行时,过程控制器110根据其常驻控制模块进行操作,以向/从其回路中的其他部件(以及在某些情况下,向/从其他过程控制器)发送和接收各种信号,从而控制物理过程工厂100中的过程的至少一部分。
配置数据库172b可以在现场环境102中存储部件的多个逻辑标识符,从而使得控制器110和其他设备能够通过逻辑标识符来引用部件和与部件相关联的信号。例如,对于给定的现场设备,配置数据库172b可以存储将逻辑标识符映射或绑定到特定的硬件地址或I/O通道的信息。硬件地址可以标识特定控制器、连接至特定控制器的特定I/O设备和/或用于将特定I/O设备连接至现场设备的I/O通道的特定地址。在某些情况下,该映射或绑定可以存储在控制器110、用户接口设备170b、操作员工作站170a或任何其他期望的设备(例如,需要解析逻辑标识符的任何设备)处。在逻辑标识符已被绑定到硬件地址或I/O通道后,该标识符被认为是“已分配的”。在某些情况下,物理过程工厂100包括“未分配的”逻辑标识符,其是软件元素(例如,控制例程和/或功能块)引用但没有绑定的标识符。即,当工厂100和配置数据库172b不具有已经绑定到标签的硬件地址或I/O通道时,逻辑标识符被认为是“未分配的”。因此,当控制例程引用未分配的逻辑标识符时,将不会读取物理过程工厂100中的信号所携带的值,并且将不会通过信号将命令发送到物理过程工厂100中的现场设备。
这样的逻辑标识符的示例包括设备标签(DT)和设备信号标签(DST),每个设备标签表示特定的仪器、控制器、阀或其他物理现场设备,每个设备信号标签表示由特定设备接收或生成的特定信号,并且通常对应于由现场设备使用的特定参数。对于某些设备,DST包含设备的DT和由该设备接收或生成的特定信号的标识符(例如,控制模块引用的特定参数的标识符)的组合。对于某些设备(例如传统或哑式设备),DT表示物理设备和由该设备生成的信号两者。一般而言,物理过程工厂100在现场环境102和后端环境105中都使用设备的逻辑标识符来唯一地标识该设备。DT和DST可以称为“标签”、“系统标签”或“系统标识符”。
在某些情况下,智能现场设备129-132还可以存储对于智能现场设备129-132唯一的逻辑标识符。这些逻辑标识符可以与工厂100用于标识现场设备129-132的系统标签不同,并且可以称为“源标识符”或“源标签”。源标签可以或可以不存储在配置数据库172b中,这取决于实现方式。配置数据库172b可以存储数据和其他信息,这些数据和其他信息具体地标识和/或寻址计划或期望在虚拟DCS环境中实现的各种虚拟设备或部件(例如,各种虚拟节点),如下所述。与物理设备和部件相似,配置数据库172b可以存储虚拟DCS环境的部件的相应逻辑标识符,从而使其他设备和/或部件(无论是物理的还是虚拟的)能够引用虚拟部件。例如,类似于现场环境102内的物理节点,可以通过它们各自的设备标签(DT)、设备信号标签(DST)、源标签和/或其他类型的唯一标识符在后端环境105中操作的DCS环境内唯一地标识各种虚拟节点。本公开内容的其他部分更详细地讨论对虚拟设备和部件的配置和标识。
其他应用175a和数据库175b可以包括用于监视或分析物理过程工厂100的操作的方面的应用的实例,诸如诊断应用/数据库、数据历史库应用/数据库、系统级健康监视应用/数据库、本地和/或远程用户接口等。一般而言,其他应用175a和数据库175b可以包括在物理过程工厂100的操作技术层执行的一个或多个应用及其关联的数据库。附加地或替代地,其他应用175a和数据库175b可以包括在与过程工厂100相关联的IT层执行的一个或多个应用,诸如库存管理应用、人员管理应用、供应链管理应用、其他类型的企业相关应用、天气/环境应用等、及它们的关联的数据库。例如,其他应用175a和数据库175b可以包括物联网(IoT)和/或工业物联网(IIoT)应用、及它们的关联的数据库。仍然附加地或替代地,其他应用175a和数据库175b可以包括在物理过程工厂100和/或其企业外部和/或从物理过程工厂100和/或其企业远程执行的一个或多个应用,诸如模拟应用、分析应用等、及它们的关联的数据库。其他应用175a和数据库175b可以包括第三方应用和/或可以包括由与物理过程工厂100相关联的企业提供的应用。可以通过边缘网关系统182和/或某种其他类型的安全性和/或防火墙系统访问其他应用175a和数据库175b中的至少一些。
一个或多个接入点178使后端环境105中(有时现场环境102中)的设备能够使用有线或无线通信协议(诸如Wi-Fi或其他符合IEEE 802.11的无线局域网协议、移动通信协议(例如WiMAX(全球微波访问互操作性)、LTE(长期演进)或其他ITU-R(国际电信联盟无线电通信部门)兼容协议)、短波无线电通信(例如近场通信(NFC)和蓝牙)、或其他无线通信协议)来与其他设备通信。通常,这样的接入点178允许手持式或其他便携式计算设备(例如,用户接口设备170b)通过与无线网络165不同并且支持与无线网络165不同的无线协议的相应无线过程控制通信网络进行通信。例如,无线或便携式用户接口设备170b可以是物理过程工厂100中的操作员使用的移动工作站或诊断测试装备(例如,操作员工作站170a之一的实例)。在某些场景下,除了便携式计算设备之外,一个或多个过程控制设备(例如,控制器110、现场设备125-132或无线设备168、140-158)也使用接入点174支持的无线协议进行通信。
网关节点或系统180和182可以与即刻物理过程工厂100外部的系统对接。通常,此类系统是物理过程工厂100生成或由其操作的信息的客户或供应商。例如,物理过程工厂100可以包括工厂网关节点180,以将即刻物理过程工厂100与另一过程工厂通信地连接。附加地或替代地,物理过程工厂100可以包括边缘网关节点或系统182,以将物理过程工厂100与外部公共或私有系统(例如实验室系统(例如,实验室信息管理系统或LIMS)、操作员巡回数据库、数据整合和查看系统、数据分析系统、材料处理系统、资产管理系统、维护管理系统、产品库存控制系统、生产调度系统、天气数据系统、运输处理系统、包装系统、互联网、IOT应用、IIOT应用或其他外部系统)通信连接。
一般而言,边缘网关系统182允许在物理过程工厂100和其他网络185之间安全地传递通信。在示例性架构中,边缘网关系统182包括面向内部或面向工厂的引擎(其可以称为“现场网关”)和面向外部或朝向外部的引擎(其可以称为“边缘网关”),其中面向工厂的引擎和面向外部的引擎配合以安全地将过程工厂数据(例如,由操作技术层生成的数据)传递到作为工厂数据的消费者的外部网络和/或应用(例如,IT层和/或外部网络和/或系统)。在许多实施例中的一个实施例中,面向工厂的引擎收集由过程工厂100的各个部件生成的数据,并且例如经由第一发布集合,跨一个或多个安全通信链路将所收集的数据安全地传输到面向外部的引擎。面向外部的引擎已订阅了由面向工厂的引擎生成的各种发布,并从中获得所收集的工厂数据。转而,面向外部的引擎例如经由第二发布集合将所获得的工厂数据安全地传输至网络185内的一个或多个外部客户端应用。可以根据需要分别配置面向工厂的引擎和/或面向外部的引擎处的发布和订阅。但是,通常,在面向工厂的引擎和面向外部的引擎之间使用的发布/订阅、加密和/或其他安全数据传递机制不同于在面向外部的引擎与外部应用之间使用的发布/订阅、加密和/或其他安全数据传递机制。在一些实施例中,为了附加的安全性,边缘网关系统182包括单向数据二极管,该单向数据二极管设置在面向工厂的引擎与面向外部的引擎之间,以防止数据从外部网络185流入到过程工厂100中。边缘网关系统的示例可以在美国专利公开号No.2018/0115516、2018/0115528、2018/0115517和2018/0113442中找到,其全部公开内容通过引用合并于此。当然,物理过程工厂100可以附加地或替代地利用其他边缘网关系统。
用于物理过程工厂的软件定义的DCS环境
图2A和图2B例示了图1的示例性物理过程工厂100的框图,其中在服务器组210上运行的软件定义的DCS环境200控制过程工厂的至少一部分。在软件定义的DCS环境200的两个例示的实施例中,物理过程工厂100的控制器110被实现为后端环境105中的服务器组210中的软件定义的过程控制器(虚拟DCS控制器212)。除了虚拟DCS控制器212,服务器组210还实现各种DCS应用221-225和229,以提供过程以及虚拟DCS控制器212的更高级别的功能、配置、监视和分析。服务器组210还包括用于与虚拟DCS控制器212以及DCS应用221-225和229有关的过程数据的一个或多个数据库或数据储存器。尽管示例性软件定义的DCS环境200被例示为实现多个虚拟DCS控制器212,但这应该理解为软件定义的基础设施的实现的示例,其中将硬件和软件资源汇集在软件定义的环境内,以促进基于策略的基础设施供应。
服务器组210中的过程的软件定义的DCS控制提供了多个优点,包括通过实现负载平衡和防止部件故障来提高系统的鲁棒性(robustness),通过利用相同的硬件对控制器进行组合来减少设备要求,以及通过减少网络复杂性来减少配置工作量。图2A例示了软件定义的DCS环境200的实施例,其中I/O连接240由现场环境102中的部件处理,而图2B例示了软件定义的DCS环境200的实施例,其中I/O连接240由后端环境105中的服务器组210处理。其他实施例可以包括现场环境102和后端环境105中的I/O连接240的组合(例如,智能现场设备能够通过数据通信网络与服务器组210进行直接通信,而传统现场设备可能需要I/O设备在现场设备所使用的工业过程控制通信协议与服务器所使用的通用IT通信协议之间进行转换。
如以上参考图1所描述的,现场环境102中的多个现场设备125-132、140-150基于来自DCS控制器的控制信号来控制工业过程的至少一部分。在软件定义的DCS环境200中,此类控制信号由服务器组210内的一个或多个服务器实现的虚拟DCS控制器212生成。虚拟DCS控制器212以与(物理)控制器110基本相同的方式操作,以实现过程控制逻辑,该过程控制逻辑被配置为实时监视和控制过程。然而,虚拟DCS控制器212被实现为服务器组210中而不是在现场环境102中的专用硬件控制器110中的计算机可执行指令。例如,虚拟DCS控制器212可以是在由在服务器组210上运行的一个或多个管理程序(hypervisor)实现的实时操作环境中进行操作的控制程序的虚拟实例,以模拟每个虚拟DCS控制器212的本地操作环境。软件定义的DCS环境200中的每个虚拟DCS控制器212使用一个或多个功能块来实现过程控制回路,以经由现场设备125-132、140-150监视和控制过程。因此,虚拟DCS控制器212被整合在服务器组210内,以便从一个位置控制过程(或其部分),从而增强控制模块之间的通信。在一些实施例中,类似于在物理DCS网络中使用多个物理控制器,可以实现多个虚拟DCS控制器212以控制过程的不同部分。如下面进一步讨论的,可以通过在服务器组210的不同服务器中实现每个虚拟DCS控制器212的多个实例来实现负载平衡和冗余。
除了虚拟DCS控制器212,在一些实施例中,可以在软件定义的DCS环境200中虚拟化其他网络部件,以产生由在服务器组210上运行的软件定义的虚拟网络。这种虚拟网络包括与物理过程工厂100中的物理节点相关联的多个虚拟节点。这种虚拟节点可以包括表示现场环境102的通信网络中存在的各种硬件部件的虚拟部件,例如联网交换机、路由器、防火墙和其他网络设备。如上所述,这些虚拟节点可以包括联网部件(例如无线网关168、无线适配器152、接入点155或路由器158)。在另外的实施例中,虚拟网络可以包括用于控制和与现场设备125-132、140-150进行通信的现场设备的虚拟表示。现场设备的虚拟表示可以使用设备功能块、阴影功能块或DCS环境中使用的其他此类技术在虚拟DCS控制器212中实现。因此,在这样的实施例中,软件定义的DCS环境200包括现场环境中的过程控制系统的物理部件(例如,现场设备和必要的联网部件)的虚拟表示以及替代物理控制器的虚拟DCS控制器212。
为了维持与现场设备125-132、140-150的通信连接,软件定义的DCS环境200可以包括或连接到I/O连接240,I/O连接240被配置为在服务器组210与现场环境102的通信网络的物理部件之间提供通信链路。I/O连接240包括将服务器组210直接或间接连接到现场设备125-132、140-150的物理联网部件。这样的部件可以包括端口、交换机或路由器。I/O连接240在虚拟DCS控制器212与现场设备125-132、140-150之间传递过程数据。因此,I/O连接240从现场设备125-132、140-150接收过程数据,并将这种过程数据发送到虚拟DCS控制器212,并且I/O连接240还从虚拟DCS控制器212接收过程控制信号并将这样的过程控制信号发送到现场设备125-132、140-150。
在一些实施例中,I/O连接240可以包括被配置为将现场环境102内的物理节点与软件定义的DCS环境200内的虚拟节点进行映射的I/O服务器,从而使虚拟DCS控制器212能够与由I/O服务器维持的虚拟节点进行通信,而无需现场环境102中的物理网络的详细知识。例如,I/O服务器可以通过发布/订阅映射来将与现场设备125-132、140-150相关联的物理节点和与对应的虚拟现场设备相关联的虚拟节点进行映射,以提供服务器组210与现场环境102的部件(例如,现场设备125-132、140-150)之间的实时数据通信。通过将所有通信路由到服务器组210,I/O连接240将硬件和软件通信配置解耦,从而使服务器组210中的所有虚拟DCS控制器212能够访问任何过程数据,而无需为每个控制器到每个数据源配置单独的硬件连接。
在另外的实施例中,I/O连接240还可以在虚拟DCS控制器212所使用的服务器通信协议与现场设备125-132、140-150所使用的工业过程控制通信协议之间转换过程数据(包括过程控制信号)。例如,服务器组210可以被配置为使用通用IT通信协议(例如,以太网协议、IP协议或另一分组协议)来传送数据,而现场设备125-132、140-150可以被配置为使用工业过程控制通信协议(例如Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART等)进行通信。
尽管在图2A中例示为与服务器组210分开,但是I/O连接240可以替代地如图2B所示并入服务器组210中。同样,I/O连接240可以仅将服务器组210与现场设备的子集(例如,如图2A所示的现场设备125-132)连接,或者可以将服务器组210与现场环境102中的所有现场设备(例如,如图2B所示的现场设备125-132和140-150)相连接。如图2A所示,其他联网部件(例如无线网关168)可以将一些现场设备(例如现场设备140-150)直接连接到服务器组210,例如通过直接物理连接或通过后端环境105中的局域网(未示出)。例如,在后端环境105中的服务器室内,无线网关168可以通过有线通信电缆物理连接到包括服务器组210的一个或多个服务器机架。
除了虚拟DCS控制器212,软件定义的DCS环境200还包括在服务器组210的服务器上运行的一个或多个DCS应用221-225、229。这些DCS应用221-225、229被配置为与虚拟DCS控制器212进行交互以配置、监视、控制和/或分析物理过程工厂100内的过程的操作。DCS应用以类似于在传统DCS配置(例如,图1中所示)中的后端环境105的各种应用和网关的方式进行操作,以从虚拟DCS控制器212获得数据并在控制物理过程中调整虚拟DCS控制器212的操作。然而,在服务器组210内实现DCS应用221-225、229连同虚拟DCS控制器212,简化了配置和通信。在一些实施例中,除了虚拟DCS控制器212在其中操作的实时环境之外,软件定义的DCS环境200可以实现一个或多个操作系统,DCS应用221-225、229中的一个或多个DCS应用在其中本地操作。
DCS应用221-225、229可以包括用于实现控制、配置、通信或分析功能的多个应用。一个或多个用户接口设备170b(例如,工作站、台式计算机或移动计算设备)可被一个或多个操作员用来与软件定义的DCS环境200的DCS应用221-225、229进行交互。例如,操作员可以使用台式计算机或智能手机与DCS应用221-225、229进行交互,以获得关于过程的信息、调整虚拟DCS控制器212的操作、或分析物理过程工厂100的过程或状况。
边缘网关应用221可以被配置为提供与其他网络185的通信,类似于图1中的边缘网关系统182。这样的其他网络可以包括远离过程工厂的外部网络。类似于操作员工作站170a,操作员接口应用222可以被配置为向操作员提供操作员界面或工作站界面,以使操作员能够监视和控制过程的运行时操作。例如,操作员可以使用用户接口设备170b来访问在服务器组210上运行的操作员界面应用222,以采取任何诊断、纠正、维护和/或操作物理过程工厂100可能需要的其他动作。这样的动作可以包括设置或调整虚拟DCS控制器212所使用的操作参数、控制设定点或控制方案。因为虚拟DCS控制器212都在软件定义的DCS环境200和服务器组210内操作,所以操作员界面应用222可以被配置为将全局改变应用于所有虚拟DCS控制器212或软件定义的DCS网络架构的其他部件。例如,操作员界面应用222可以被配置为应用系统范围的锁定,以防止将控制模块下载到虚拟DCS控制器212(例如,以防止在过程运行时意外或未经授权的改变)。资产管理应用223可以被配置为提供关于物理过程工厂100内的资产的信息以及关于资产的利用的信息。
数据历史库应用224可以被配置为在过程的操作期间在软件定义的DCS环境200内存储过程数据,以供后续在过程分析或控制中使用。通过在服务器组210中实现数据历史库应用224以及虚拟DCS控制器212,可以存储与原本可能相比更详细的过程数据。由于由虚拟DCS控制器212使用并由虚拟DCS控制器212生成的所有过程数据在服务器组210处可用,因此不需要服务器组210之外的其他通信来使数据历史化。因此,数据历史库应用224可以被配置为在过程操作期间自动存储高保真数据。这样的过程数据可以存储在服务器组210的数据库或数据储存器(datastore)230中,数据库或数据储存器230还可以存储由虚拟DCS控制器212或DCS应用221-225、229使用的配置或其他数据。
虚拟架构配置应用225可以被配置为通过指定软件定义的DCS网络架构内的多个软件定义的虚拟节点以及这些节点之间的连接来定义软件定义的DCS网络架构(例如,虚拟DCS网络架构),类似于配置应用172a对物理过程工厂100的网络架构的定义。例如,虚拟DCS网络架构中的虚拟节点可以用于表示现场环境102的部件的物理网络架构,以便使虚拟DCS控制器212能够控制过程。因此,虚拟节点可以包括多个现场设备的虚拟表示。为了对软件定义的DCS网络架构进行定义,虚拟架构配置应用225可以提供被配置为使操作员能够定义虚拟节点的用户界面。在一些实施例中,虚拟架构配置应用225可以配置I/O连接240以促进服务器组210与现场设备125-132、140-150之间的通信。在另外的实施例中,关于通过I/O连接240从现场环境102的部件接收的过程数据的类型的信息可以被提供给虚拟架构配置应用225,以便基于接收到的过程数据的类型来自动确定软件定义的DCS网络架构的部分或全部。无论定义还是确定,软件定义的DCS网络架构可以作为配置数据存储在一个或多个数据库或数据储存器230中,类似于配置数据库172b。
在一些实施例中,可以在服务器组210上的软件定义的DCS环境200内实现其他DCS应用229,以提供附加的或替代的功能。这种其他DCS应用229可以包括人机界面应用、工程工作站应用、制造执行系统应用、高级过程控制系统应用、网络通信应用、安全性应用、或用于执行与物理过程工厂100的过程有关的过程控制、监视、测试、维护、优化或分析的其他应用。作为示例,其他DCS应用229可以包括仿真器应用,该仿真器应用被配置为通过在软件定义的DCS环境200内仿真这种第三方软件应用的本地操作环境来在服务器组210中运行第三方软件应用。因此,可以将传统或其他软件应用集成到软件定义的DCS环境中,就像它们在物理过程工厂100中的单独计算设备中运行一样。作为另一示例,其他DCS应用229可以包括实时过程模型应用,该过程模型应用被配置为在过程操作期间优化、调节或以其他方式调整虚拟控制器212的过程控制回路(例如,通过执行自适应过程控制以基于可变工厂参数选择或调整过程模型)。作为附加示例,其他DCS应用229可以包括安全策略管理器应用,该安全策略管理器应用被配置为针对软件定义的DCS环境200的各种部件(例如,操作环境(例如,管理程序环境或软件容器)、虚拟节点(例如,现场设备、路由器或交换机)、软件定义的过程控制器(例如,虚拟DCS控制器212、控制模块、功能块)、或其他DCS应用)来设置软件定义的安全许可或策略。作为又一个示例,其他DCS应用229可以包括网络架构配置应用,该网络架构配置应用被配置为自动检测现场环境102内的物理联网部件(例如,交换机或路由器),并且配置这样的物理联网部件以用于在现场环境102中的通信网络内的通信。在一些这样的实施例中,网络架构配置应用还可以配置I/O连接240,以用于现场环境102与服务器组210之间的通信。
在一些实施例中,服务器组210可以通信地耦合到与物理过程工厂100或与其他过程工厂或与其他系统相关联的一个或多个附加服务器组210。在一些这样的实施例中,其他服务器组210可以被配置为操作物理过程工厂100的部分。类似地,在另外的实施例中,服务器组210的虚拟DCS控制器212可以仅控制物理过程工厂100的一部分,其中,一个或多个物理控制器110通信连接到服务器组210,以便在混合控制架构中控制物理过程工厂100的其他部分。在一些这样的混合控制架构中,物理控制器110仍然可以被表示为软件定义的DCS环境200内的节点,以便实现这样的控制器110与软件定义的DCS架构中的其他部件之间的独立于硬件的交互。
用于软件定义的DCS环境的服务器组
图3例示了实现软件定义的DCS环境200的示例性冗余服务器组300(例如图2A和图2B所示的服务器组210)的框图。如上所述,由服务器组210实现的软件定义的DCS环境200可以包括多个虚拟DCS控制器212(或其他软件定义的过程控制器)和多个DCS应用221-225、229。为了实现这些软件部件,服务器组210可以包括由控制管理器352控制的多个服务器350a-n,如图3中的冗余服务器组300所示。通过在多个服务器350a-n中实现虚拟DCS控制器212和DCS应用221-225、229,如果服务器350a-n中的任何一个发生故障,则冗余服务器组300便于实现服务器350a-n之间的负载的有效平衡和鲁棒的故障转移能力。因此,每个虚拟DCS控制器212的多个实例可以在不同的服务器350a-n上同时运行,虚拟DCS控制器212的实例可以包括控制模块314a-n和由控制管理器352协调的冗余模块318a-n。基于服务器350a-n的状态(例如,可用性),控制管理器352可以通过在服务器350a-n之间分配模块来在服务器350a-n之间执行自动负载平衡。
在一些实施例中,服务器350a-n和控制管理器352可各自包括连接在一个或多个服务器机架中的一个或多个刀片(blade),以形成冗余服务器组300。刀片350a-n、352中的每个刀片可以是薄的电子电路板,其具有一个或多个处理器以及存储器。刀片350a-n、352中的每个刀片内的处理器可以包括多核硬件,诸如多核处理器或另一类型的并行处理器。另外,刀片350a-n、352中的每个刀片内的存储器可以包括高密度存储器储存技术,例如,固态驱动存储器、半导体存储器、光学存储器、分子存储器、生物存储器或任何其他合适的高密度存储器技术。在一些实施例中,存储器储存(memory storage)还可以包括闪存。存储器储存(以及在某些情况下,闪存)可以被配置为临时存储或高速缓存由相应刀片350a-n、352生成、在其处接收或由其观察到的数据。
在任何情况下,每个服务器350a-n包括与现场设备125-132、140-150的子集相对应的控制例程或模块,以控制物理过程工厂100中的过程的至少一部分。尽管冗余服务器组300中的多个服务器350a-n可以向现场设备125-132、140-150的相同子集提供控制信号,但是多个服务器350a-n可以不在相同的时间间隔内向相同的现场设备和/或为相同参数提供控制信号。例如,第一服务器350a和第二服务器350b可以不在相同的时间间隔内向相同的阀提供指示该阀打开或关闭的控制信号。在一些实施例中,控制管理器352将控制模块分配给服务器350a-n,使得多个服务器350a-n不能在相同时间间隔内向相同的现场设备和/或为相同参数提供控制信号。附加地或替代地,冗余服务器组300中的控制监视模块可以监视来自服务器350a-n的控制输出,以确定是否任何两个控制输出在相同的时间间隔内去往相同的现场设备和/或用于相同参数。当发生这种情况时,控制监控模块可以覆盖(override)控制信号,以确保仅将控制信号之一提供给现场设备。控制监控模块还可以向服务器350a-n之一或向控制管理器352提供请求,以在该时间间隔期间停止向现场设备提供控制信号。然而,多个服务器350a-n可以在相同时间间隔内接收来自相同现场设备的输出,例如来自相同阀的阀开度百分比。
在一些实施例中,对于由服务器350a-n执行的每个控制例程或模块,服务器350a-n之一可以包括冗余模块。冗余模块可以使执行冗余模块的服务器350b与执行控制模块的服务器350a保持同步,以使得如果当前正在执行控制模块的服务器350a发生故障,则执行冗余模块的服务器350b可用于接管并执行控制模块。为了与执行控制模块的服务器350a保持同步,冗余模块可以使执行冗余模块的服务器350b接收由执行控制模块的服务器350a接收并提供的相同的输入、输出、设定点等。执行控制模块的服务器350a可以是与执行冗余模块的服务器350b不同的服务器或刀片。类似于控制模块,冗余模块可以是软件、固件、硬件等。冗余模块可以以任何期望的软件格式实现,例如使用面向对象的编程、梯形逻辑、顺序功能图、功能框图或使用任何其他软件编程语言或设计范例。
此外在一些实施例中,每个服务器350a-n包括DCS应用模块316a-n,以实现上述的DCS应用221-225、229。类似于控制模块314a-n,DCS应用模块316a-n可以是软件、固件、硬件等。DCS应用模块316a-n可以以任何期望的软件格式来实现,例如使用面向对象的编程、梯形逻辑、顺序功能图、功能框图、或使用任何其他软件编程语言或设计范例。
除了服务器350a-n之外,冗余服务器组300还包括控制管理器352,该控制管理器352向服务器350a-n分配控制模块、冗余模块、DCS应用模块和任何其他合适的操作。在一些实施例中,控制管理器352以硬件实现,并且是刀片服务器内的刀片之一。在其他实施例中,控制管理器352是可以在冗余服务器组300中的刀片350a-n、352中的任何一个刀片中实现的软件应用。冗余服务器组300可以包括在单个刀片上实现的单个控制管理器352,该单个控制管理器352管理对多个刀片服务器内的控制器中的每个控制器的控制。在其他实施例中,控制管理器352可以跨多个刀片来实现。在其他实施例中,冗余服务器组300可以包括一个或多个机架服务器,每个机架服务器具有多个安装插槽,使得刀片350a-n、352对应于机架服务器中的托架(bay)350a-n、352。
在其他实施例中,冗余服务器组300包括云计算环境中的云服务器,雾计算环境中的雾服务器,其中雾计算环境例如由操作物理过程工厂100的组织托管,或者这些的任何合适的组合。例如,尽管云计算环境可以包括控制整个美国甚至整个世界的过程工厂中的过程的服务器,但是雾计算环境可以包括控制特定城市或城镇中的物理过程工厂100中的过程的服务器。
控制管理器352与冗余服务器组300中的多个服务器350a-n通信。服务器350a-n和控制管理器352中的每个可以是物理机(例如,硬件)或虚拟机(例如,软件)。以这种方式,单个刀片可以托管多个客户(guest)虚拟机或服务器。在任何情况下,控制管理器352包括控制执行器354、负载平衡器302、影子数据库304、冗余管理器306和控制模块308。每个服务器1-N(附图标记350a-n)包括诸如多核处理器或另一类型的并行处理器之类的处理器310a-n和可以是高密度存储器的存储器312a-n。存储器312a-n中的每个存储器可以存储分配给相应服务器350a-n的各个例程,包括控制模块314a-n、DCS应用模块316a-n和冗余模块318a-n。
除了存储和执行例程以控制和监视物理过程工厂100内的操作之外,服务器350a-n还可以向控制管理器352提供可用性或状态的指示。在一些实施例中,服务器350a-350n中的每个服务器基于服务器350a-n处的负载、服务器350a-n处的可用存储量以及用于在特定时间间隔从服务器350a-n传输数据的带宽,向控制管理器352提供针对特定时间间隔的可用性度量。在其他实施例中,服务器350a-n中的每个服务器提供对服务器350a-n处的负载、服务器350a-n处的可用存储量以及用于在特定时间间隔从服务器350a-n传输数据的带宽的指示。然后,控制管理器352基于该信息为每个服务器350a-n确定针对特定时间间隔的可用性度量。服务器350a-n处的负载可以指示由服务器350a-n执行的处理量以及服务器350a-n的处理能力(例如,单核、双核、四核等)。可用性度量还可基于服务器未能提供指示或响应控制管理器352来说明发生故障的或以其他方式不可用的服务器。
控制管理器352处的控制执行器354可以接收要由冗余服务器组300中的服务器350a-n执行的操作。在一些实施例中,冗余管理器306为通过控制管理器352获得的每个控制模块308生成冗余模块。冗余模块可以使执行冗余模块的服务器350a-n接收由执行控制模块而不执行包括在控制模块的控制回路或功能的服务器350a-n接收并提供的相同输入、输出、设定点等。在一些实施例中,控制执行器354将所获得的控制模块308中的每个提供给冗余管理器306,以使冗余管理器生成对应的冗余模块。
此外在一些实施例中,控制执行器354向控制模块、冗余模块和DCS应用模块中的每个分配优先级级别,并按优先级的顺序对模块进行排名。可以基于预定的优先级规则集来自动分配优先级级别(例如,冗余模块具有与对应的控制模块相同的优先级级别,控制模块具有比DCS应用模块更高的优先级级别等)。附加地或替代地,用户可以为每个模块分配优先级级别。例如,当配置工程师通过配置应用生成控制模块时,配置工程师还可以为控制模块分配优先级级别。
控制执行器354可以与负载平衡器302通信以确定在特定时间间隔期间哪个服务器350a-n应该执行哪个控制模块308、冗余模块和DCS应用模块。在一些实施例中,负载平衡器302接收每个服务器350a-n的可用性度量以及将在特定时间间隔内执行的控制模块、冗余模块和DCS应用模块的列表,该列表可以包括这些模块中的每个模块的优先级级别。然后,负载平衡器302在冗余服务器组300中分配服务器350a-n以执行这些模块中的每个模块。在一些场景下,取决于服务器350a-n的并行处理能力和存储器密度,单个服务器350a-n可以在相同时间间隔内执行多个模块。在另一个示例性场景下,负载平衡器302标识两个不同的服务器350a-n以执行控制模块和冗余模块,使得执行冗余模块的服务器350a-n可以在控制器处发生故障的情况下接管执行控制模块的服务器350a-n。
在一些实施例中,负载均衡器302标识每个模块的特性,例如每个模块是周期性地执行还是基于事件的发生(事件驱动)、每个模块的执行时间或任何其他合适的特性。然后,负载平衡器302基于服务器350a-n的可用性度量以及模块的优先级级别和特性来标识服务器350a-n以执行模块。更具体地,负载均衡器302使用负载均衡算法来分配服务器350a-n以执行模块。
例如,负载平衡器302可根据服务器350a-n各自的可用性度量对每个服务器350a-n进行排名,其中具有最高可用性度量的服务器350a-n具有最大的可用性量并被排名最高。负载平衡器302还可基于每个模块的优先级级别和特性的组合来对每个模块进行排名。在一些实施例中,将周期性模块排名在事件驱动模块之上,然后基于优先级级别对每个周期性模块进行分类,并且基于优先级级别对每个事件驱动模块进行分类。高优先级类别中的每个周期性模块可以排名在中等优先级类别中的每个周期性模块之上,以此类推。可以基于执行时间对相同优先级类别中的周期性或事件驱动模块进行进一步排名。更具体地,当存在三个优先级类别(高、中等和低)以及周期性模块和事件驱动模块时,高优先级周期性模块可以被排名第一,其中该类别中的每个模块按照执行时间的顺序进一步排名,接着是中等优先级周期性模块,接着是低优先级周期性模块,接着是高优先级事件驱动模块等。
因此,负载平衡器302可以对服务器350a-n进行排名,并且可以对模块进行排名。尽管在以上示例中按照可用性度量的顺序对服务器350a-n进行排名,并且按照优先级级别的顺序和模块特性对模块进行排名,但是可以以任何合适的方式对服务器350a-n和模块进行排名。
然后,负载平衡器302可使用反向循环机制(reversing round-robin mechanism)来首先将排名最高的模块(例如,具有最长执行时间的高优先级周期性模块)分配给最高排名的服务器350a-n(例如,具有最高的可用性度量的控制器)。可以将排名第二高的模块分配给排名第二高的服务器350a-n,并且算法可以以这种方式继续进行,直到排名最低的服务器350a-n被分配了模块。如果有更多模块要分配,则负载均衡器302继续以相反的顺序分配模块。例如,负载平衡器302还将下一模块分配给排名最低的服务器350a-n,然后将排名在下一模块之下的模块分配给排名第二低的服务器350a-n,并以升序继续进行,直到排名最高的服务器350a-n被分配了两个模块。然后,负载平衡器302再次颠倒顺序以降序分配模块,并以反向循环方式继续进行,直到将每个模块分配给服务器350a-n。
尽管负载平衡器302可以对服务器350a-n和模块进行排名,并使用反向循环机制将模块分配给服务器350a-n,但是负载平衡器302可以以任何合适的方式将模块分配给服务器350a-n,以在冗余服务器组300中的服务器350a-n之间分布模块。在其他实施例中,模块都可以在服务器350a-n之间相等或至少类似地分布,而不管优先级级别或特性如何。在其他实施例中,负载平衡器302将模块分配给相同的服务器350a,直到服务器350a处的处理达到容量为止。然后,负载平衡器302将模块分配给另一个服务器350b,直到另一个服务器350b处的处理达到容量为止,并且负载平衡器302可以以这种方式继续分配模块。
在任何情况下,控制执行器354然后将分配的模块提供给对应的服务器350a-n,以便每个服务器350a-n可以执行分配的模块。在一些实施例中,控制执行器354分析分配并且可以调整分配中的一些分配以确保多个服务器350a-n没有在相同的时间间隔内向相同的现场设备和/或为相同参数提供控制信号。
在示例性场景下,在第一时间间隔期间,可以向服务器350a分配第一模块集合。控制执行器354可以在第一时间间隔期间将控制模块314a、DCS应用模块316a和冗余模块318a下载到服务器350a。然后在第二时间间隔期间,可以向服务器350a分配与第一模块集合不同的第二模块集合。控制执行器354可以在第二时间间隔期间将新的控制模块314a、DCS应用模块316a和冗余模块318a下载到服务器350a。
在另一个示例性场景下,在特定时间间隔期间,控制管理器352将第一控制模块分配给第一服务器350a,其中第一控制模块对应于现场设备125-132、140-150的第一子集。控制管理器352将第二控制模块分配给第二服务器350b,其中第二控制模块对应于现场设备125-132、140-150的第二子集。然后,在相同的时间间隔内,第一服务器350a执行第一控制模块,并且第二服务器350b执行第二控制模块。在稍后的时间间隔期间,第一服务器350a不再被分配第一控制模块,并且第二服务器350b被分配第一控制模块和第二控制模块两者。例如,在稍后的时间间隔期间,第一服务器350a可能已经发生故障或可能没有处理资源来执行第一控制模块。然后,第二服务器350b在稍后的时间间隔期间分别针对现场设备125-132、140-150的第一子集和第二子集执行第一控制模块和第二控制模块。
在一些实施例中,周期性模块在多个时间间隔内保持分配给相同的服务器350a-n,而事件驱动模块可以基于在特定时间间隔处服务器350a-350b的可用性度量针对每个时间间隔被重新分配给服务器350a-n。在其他实施例中,控制模块、DCS应用模块和冗余模块中的每个在执行之前(例如,当模块被生成时)被下载到每个服务器350a-n,并被存储在其相应的存储器212a-n中。当控制执行器354选择服务器350a来执行特定模块时,控制管理器352向所选择的服务器350a提供对该特定模块的指示,并且所选择的服务器350a从存储器312a中获取该特定模块并通过处理器310a执行该特定模块。
在一些实施例中,控制管理器352包括影子数据库304,其存储用于控制模块、冗余模块和DCS应用模块的输入数据。例如,当配置或生成模块时,可以从用户接口设备170b获得用于模块的输入数据。当服务器350a-n执行控制模块314a-n和DCS应用模块316a-n时,也可以从服务器350a-n获得输入数据。可以在影子数据库304中从服务器350a-n接收来自控制模块314a-n和DCS应用模块316a-n的输出,并将其存储为在后续时间期间执行的控制模块、冗余模块和DCS应用模块的输入数据。
在一些实施例中,控制管理器352可以进一步提供关于服务器350a-n的状态或可用性的可用性信息。这样的信息可以包括冗余服务器组300的总负载或可用性度量、各个服务器350a-n的可用性度量、各个服务器350a-n的操作状态(例如,可操作或不可操作)、或其他类似度量。在一些实施例中,控制管理器352可以进一步提供关于冗余服务器组300内的资源使用情况的使用信息,这种信息指示在服务器器350a-n中执行控制模块、冗余模块和DCS应用模块所需或期望的处理资源。根据可用性信息和使用信息,控制管理器352可以进一步计算或预测用于冗余服务器组300的最佳资源分配,例如要在冗余服务器组300内连接的服务器350a-n的数量或类型。可以将这种计算或预测呈现给操作员,以实现对冗余服务器组300的硬件配置的调整(例如,添加或替换服务器)。在一些实施例中,这种计算或预测可以由诸如资产管理应用223或其他DCS应用229之类的DCS应用执行。
软件定义的DCS环境的配置和操作
图4例示了用于由软件定义的DCS环境200的软件定义的过程控制器控制的物理过程工厂100的示例性软件定义的DCS配置和控制方法400的流程图。虚拟DCS配置和控制方法400可以被执行来设置、操作、监视和调整过程控制系统,以使用诸如上述的软件定义的DCS环境200来操作物理过程工厂100内的过程。在一些实施例中,软件定义的DCS配置和控制方法400的一些方面可以手动执行或可以自动化。替代实施例可以包括附加的、更少的或替代的方面。
软件定义的DCS配置和控制方法400开始于通过I/O连接240将现场设备125-132、140-150中的至少一些连接到服务器组210(框402)。这可以包括在工厂内进行物理安装期间或将现场设备添加到现有过程控制网络时,物理地连接现场设备125-132、140-150。在一些实施例中,可以通过在工厂内安装之后经由I/O连接240建立软件定义的通信连接来连接现场设备125-132、140-150,例如通过在I/O服务器中建立发布/订阅连接。在一些实施例中,并非所有现场设备125-132、140-150可能都需要连接到服务器组210以控制过程,并且某些现场设备140-150可以在一些实施例中替代地通过无线网关168直接连接到服务器组210。
一旦将相关现场设备125-132、140-150连接到服务器组210,就配置软件定义的DCS网络架构以将现场环境102的过程控制网络表示为软件定义的DCS环境200内的节点和连接的软件定义的网络(框404)。为了配置软件定义的DCS网络架构,虚拟架构配置应用225可以生成用户界面并将其呈现给用户(例如,配置过程控制系统的工程师),该用户界面可以包括多个选项,用于配置软件定义的DCS网络内的部件和连接。因此,可以通过用户界面向用户呈现用于添加、移除、编辑、连接和指定软件定义的部件的参数的选项。在从用户接收到用户输入后,虚拟架构配置应用225可以通过基于用户输入指定软件定义的DCS网络内的节点和连接来定义软件定义的DCS网络架构。附加地或替代地,虚拟架构配置应用225可以基于从现场环境102的部件(例如,现场设备123-132、140-150)接收的关于过程数据的类型的信息,由虚拟架构配置应用225自动确定软件定义的DCS网络架构的部分或全部。基于来自I/O连接240处的现场设备123-132、140-150的数据业务来确定关于过程数据的类型的信息。在一些这样的实施例中,从现场环境102中的这些部件接收的关于过程数据的类型的信息可以由虚拟架构配置应用225从I/O连接240(例如,从I/O服务器)获得。在另外的这样的实施例中,可以经由虚拟架构配置应用225的用户界面将所确定的过程数据的类型呈现给操作员以进行确认或调整。然后,将软件定义的DCS网络架构存储在服务器组210的数据库或数据储存器230中,以供软件定义的过程控制器和DCS应用(例如,虚拟DCS控制器212和DCS应用221-225、229)使用。
在一些实施例中,软件定义的DCS网络架构使用软件定义的DCS环境为各个部件提供多个服务类别,以便确保适当地处理资源需求。例如,实时过程(例如,控制模块的过程控制)被分配了高优先级类别,以确保赋予对时间敏感的过程控制例程的优先级高于DCS应用的分析过程。在另外的实施例中,可以使用多种类别的实时过程来给关键过程或安全必要过程赋予更高的优先级。类似地,类别可以基于或用于区分软件定义的DCS环境200内的过程的带宽需求。
然后,服务器组210准备执行过程控制。在物理过程工厂100的操作期间,软件定义的过程控制器(例如,虚拟DCS控制器212)从现场设备125-132、140-150接收过程数据(框406)并实现过程控制逻辑以实时地控制过程(框408)。过程数据可以由现场设备125-132、140-150中的一个或多个现场设备生成并经由I/O连接240从其接收。然后,这些过程数据的至少一部分被软件定义的过程控制器用来生成过程控制信号以控制物理过程工厂100中的过程。然后,将这些过程控制信号发送到现场设备125-132、140-150中的一个或多个现场设备,以实施控制动作来控制过程(例如,调整阀位置或控制加热元件)。可以经由I/O连接240将过程控制信号发送到相关的现场设备125-132、140-150。
此外在过程的操作期间,服务器组210实现DCS应用221-225、229中的一个或多个应用,以与软件定义的过程控制器进行交互(框410)。DCS应用221-225、229可以在服务器组210中运行。在一些实施例中,操作员界面应用222可以操作用于调整软件定义的过程控制器中的一个或多个的操作,例如通过调整设定点或调节由软件定义的过程控制器使用的控制模块,来改善过程控制。这样的调整可以由DCS应用221-225、229自动进行,或者可以响应于用户输入而进行。当然,DCS应用221-225、229的任何组合可以在过程在物理过程工厂100中运行时或者在实现过程之前、之后或之间的另一时间来实现。作为示例,数据历史库应用224可以在过程正在进行的同时操作,以在软件定义的DCS环境200内监视过程数据,并将这样的过程数据存储在数据库或数据储存器230中以供后续分析。这样的监视可以包括选择可用的过程数据的子集(例如,通过对过程数据进行采样或选择从现场环境102接收或由虚拟DCS控制器212生成的相关数据),或者数据历史库应用224可以被配置为在物理过程工厂100的操作期间自动监视和存储所有可用的过程数据。
在一些实施例中,如上所述,服务器组210还可以在过程的操作期间在服务器组210中的服务器或其他服务器设备之间执行负载平衡(框412)。为了执行这种负载平衡,服务器组210可以在服务器组210内的不同服务器上同时实现每个软件定义的过程控制器(或其控制模块)的多个实例。在检测到服务器之一的状态的改变(例如,服务器故障、服务器的增加、服务器处的负载跳跃、或服务器处的负载下降)时,服务器组210基于检测到的变化来调整服务器组210中的多个服务器之间的负载分布,以维持软件定义的过程控制器对过程的有效控制。对负载分布的这种调整可以包括例如将过程的一部分的控制从在第一服务器上操作的虚拟DCS控制器212的实例转移到在第二服务器上操作的虚拟DCS控制器212的另一实例。在一些这样的实施例中,虚拟DCS控制器212的新实例也可以在服务器组210的第三服务器上启动以维持冗余,从而防止第二服务器的后续故障。
在另外的实施例中,服务器组210可以接收对现场环境102的网络架构的修改的指示(框414),并且修改软件定义的DCS网络架构以反映这种修改(框416)。类似于软件定义的DCS网络架构的初始配置,可以经由虚拟架构配置应用225从操作员接收对网络架构的修改的指示,或者可以基于检测到在I/O连接240处接收为数据业务的过程数据的类型的变化来自动生成修改的指示。例如,用户可以通过用户输入来指示用新的现场设备替换现场设备125-132、140-150中的一个或多个现场设备,或者可以基于从新的现场设备接收到的数据业务的变化来检测这种替换。响应于对现场环境102中的物理网络架构的修改的这种指示,虚拟架构配置应用225调整软件定义的DCS网络架构以表示修改后的物理网络架构。这样的调整可以包括在软件定义的DCS网络架构内添加、移除或修改节点或连接。然后,将对软件定义的DCS网络架构的这种修改存储在服务器组210的数据库或数据储存器230中,以供软件定义的过程控制器和DCS应用使用。在一些实施例中,也可以基于对软件定义的DCS网络架构的调整来确定对一个或多个软件定义的过程控制器的调整。例如,可以基于改变可用于过程控制的过程数据的现场环境102内的现场设备的添加、替换或移除来调整软件定义的过程控制器内的控制回路。
软件定义的DCS配置和控制方法400可以继续执行如上所述的过程控制,直到确定物理过程工厂100内的受控过程不再进行中为止(框418)。当过程终止时,软件定义的DCS配置和控制方法400也可以结束。
其他注意事项
以下附加注意事项适用于前述讨论。在整个说明书中,描述为由任何设备或例程执行的动作通常是指处理器根据机器可读指令来操纵或转换数据的动作或过程。机器可读指令可以被存储在通信地耦合到处理器的存储设备上并从其获取。即,本文描述的方法可以由存储在计算机可读介质(即,存储设备)上的机器可执行指令集来体现。当指令由对应设备(例如,服务器、操作员工作站、控制器、控制管理器、用户计算设备等)的一个或多个处理器执行时,使处理器执行该方法。在本文中将指令、例程、模块、过程、服务、程序和/或应用称为存储或保存在计算机可读存储器或计算机可读介质上的情况下,词语“存储的”和“保存的”不包括瞬时信号。
此外,尽管术语“操作员”、“人员”、“人”、“用户”、“技术人员”、“工程师”和其他术语用于描述在过程工厂环境中可以使用本文描述的系统、装置和方法或与之交互的人员,但是这些术语并不意图在进行限制。在说明书中使用特定术语的情况下,使用该术语部分是由于工厂人员从事的传统活动,但不意图限制可能从事该特定活动的人员。
另外,在整个说明书中,除非由说明书的上下文明确或隐含地限制,否则多个实例可以实现描述为单个实例的部件、操作或结构。尽管将一种或多种方法的单个操作示出并描述为单独的操作,但是可以同时执行一个或多个单独操作,并且不需要按照所示顺序执行操作。在示例性配置中呈现为单独的部件的结构和功能可以实现为组合的结构或部件。类似地,呈现为单个的部件的结构和功能可以实现为单独的部件。这些和其他变型、修改、添加和改进落入本文主题的范围内。
除非另有明确说明,否则本文中的讨论使用诸如“处理”、“计算”、“计算”、“确定”、“标识”、“呈现”、“使呈现”、“使显示”、“显示”之类的词语”可以指操纵(或转换)表示为一个或多个存储器中的物理(例如,电子、磁、生物或光学)数量的数据的机器(例如,计算机)的动作或过程(例如,易失性存储器、非易失性存储器或它们的组合)、寄存器或接收、存储、传输或显示信息的其他机器部件。
当以软件实现时,本文描述的任何应用、控制器、服务或引擎可以存储在任何有形的、非暂时性的计算机可读存储器中(例如在计算机或处理器等的RAM或ROM等中的磁盘、激光盘、固态存储设备、分子存储器存储设备或其他存储介质上)。尽管本文公开的示例性系统被公开为包括在硬件上执行的软件和/或固件以及其他部件,但是应当注意,这样的系统仅仅是说明性的并且不应被认为是限制性的。例如,可以预期的是,这些硬件、软件和固件部件中的任何一个或全部可以仅以硬件、仅以软件或以硬件和软件的任何组合来体现。因此,本领域普通技术人员将容易理解,所提供的示例不是实现这种系统的唯一方法。
因此,尽管已经参考特定示例描述了本发明,这些特定示例仅用于说明而不是限制本发明,但是对于本领域的普通技术人员而言显而易见的是,可以在不脱离本发明的精神和范围的情况下对所公开的实施例进行改变、添加或删除。
还应理解,除非在本专利中使用句子“如本文所用的,在此明确定义‘______’是指……”或类似的句子,否则无意限制该术语的含义,无论是明示或暗示的含义,均超出其普通含义或平常含义,并且不应基于在本专利的任何部分中的任何陈述将这种术语解释为限制范围(权利要求的语言除外)。在某种程度上,在本专利开始的权利要求中记载的任何术语在本专利中以与单一含义一致的方式被提及,这样做仅仅是为了清楚起见,以免使读者感到困惑,并且并不意图将这种权利要求术语通过暗示或其他方式限于该单一含义。最后,除非通过引用词语“单元”和没有任何结构的功能来定义权利要求要素,否则并不意图基于根据35U.S.C.第112(f)条的申请解释任何权利要求要素的范围。
此外,尽管前述文本阐述了许多不同实施例的详细描述,但是应该理解,专利的范围由在该专利开始阐述的权利要求的文字来定义。详细描述将仅被解释为示例性的,并且不描述每个可能的实施例,因为描述每个可能的实施例将是不切实际的,即使不是不可能的。可以使用当前技术或在本专利申请日之后开发的技术来实现许多替代实施例,这仍将落入权利要求的范围内。
Claims (24)
1.一种用于在物理过程环境内控制工业过程的过程控制系统,包括:
包括多个服务器设备的服务器组,所述服务器组被配置为通过由所述服务器设备中的每个服务器设备的一个或多个处理器执行计算机可读指令来实现软件定义的分布式控制系统(DCS)环境,所述软件定义的DCS环境包括:
一个或多个软件定义的过程控制器,其被配置为通过与所述物理过程环境内的多个现场设备进行通信来实时地控制所述工业过程的至少部分;以及
一个或多个DCS应用,其被配置为与所述软件定义的过程控制器进行交互,其中,所述DCS应用中的至少一个DCS应用被配置为调整所述软件定义的过程控制器的操作。
2.根据权利要求1所述的过程控制系统,其中,所述服务器组经由一个或多个输入/输出(I/O)连接通信地连接到所述多个现场设备,所述I/O连接被配置为使用工业过程控制通信协议通过过程控制网络传送过程数据。
3.根据权利要求1所述的过程控制系统,其中,所述软件定义的DCS环境还包括一个或多个虚拟联网部件,所述虚拟联网部件被配置为复制以下物理网络部件中的一个或多个:网络交换机、路由器或防火墙。
4.根据权利要求1所述的过程控制系统,其中,所述一个或多个DCS应用包括虚拟架构配置应用,所述虚拟架构配置应用具有用户界面,所述用户界面被配置为使用户能够通过指定虚拟DCS网络架构内的多个虚拟节点以及所述虚拟节点之间的连接来定义所述虚拟DCS网络架构,这样的虚拟节点包括所述多个现场设备的虚拟表示。
5.根据权利要求1所述的过程控制系统,其中,所述一个或多个DCS应用包括数据历史库应用,所述数据历史库应用被配置为在所述工业过程的操作期间自动地在所述软件定义的DCS环境内存储过程数据。
6.根据权利要求1所述的过程控制系统,其中,所述一个或多个DCS应用包括以下功能中的一个或多个:操作员界面、工程工作站或资产管理系统。
7.根据权利要求1所述的过程控制系统,其中,所述一个或多个DCS应用包括以下功能中的一个或多个:制造执行系统或高级过程控制系统。
8.根据权利要求1所述的过程控制系统,其中,所述一个或多个DCS应用包括用于与外部数据网络进行通信的网络网关。
9.根据权利要求1所述的过程控制系统,其中,所述一个或多个软件定义的过程控制器包括在所述服务器组的不同服务器设备上同时运行的虚拟DCS控制器的多个实例。
10.根据权利要求9所述的过程控制系统,其中,所述服务器组被配置为基于所述服务器组中的所述多个服务器设备的状态在所述虚拟DCS控制器的所述多个实例之间执行自动负载平衡。
11.根据权利要求1所述的过程控制系统,其中,所述一个或多个DCS应用包括被配置为基于所述服务器组的资源使用情况和所述多个服务器设备的资源可用性来预测所述服务器组的服务器设备的最佳数量的应用。
12.一种非暂时性计算机可读介质,其存储用于在物理过程环境内控制工业过程的可执行指令,所述指令在由服务器组中的多个服务器设备的处理器执行时,使所述服务器组实现软件定义的分布式控制系统(DCS)环境,所述软件定义的DCS环境包括:
一个或多个软件定义的过程控制器,其被配置为通过与所述物理过程环境内的多个现场设备进行通信来实时地控制所述工业过程的至少部分;以及
一个或多个DCS应用,其被配置为与所述软件定义的过程控制器进行交互,其中,所述DCS应用中的至少一个DCS应用被配置为调整所述软件定义的过程控制器的操作。
13.根据权利要求12所述的非暂时性计算机可读介质,其中,所述软件定义的DCS环境还包括一个或多个虚拟联网部件,所述一个或多个虚拟联网部件被配置为复制以下物理网络部件中的一个或多个:网络交换机、路由器或防火墙。
14.根据权利要求12所述的非暂时性计算机可读介质,其中,所述一个或多个DCS应用包括虚拟架构配置应用,所述虚拟架构配置应用具有用户界面,所述用户界面被配置为使用户能够通过指定虚拟DCS网络架构内的多个虚拟节点以及所述虚拟节点之间的连接来定义所述虚拟DCS网络架构,这样的虚拟节点包括所述多个现场设备的虚拟表示。
15.根据权利要求12所述的非暂时性计算机可读介质,其中,所述一个或多个DCS应用包括数据历史库应用,所述数据历史库应用被配置为在所述工业过程的操作期间自动地在所述软件定义的DCS环境内存储过程数据。
16.根据权利要求12所述的非暂时性计算机可读介质,其中,所述可执行指令使所述服务器组的所述多个服务器设备将一个或多个虚拟DCS控制器中的每个虚拟DCS控制器的多个实例实现为所述一个或多个软件定义的过程控制器,所述多个实例在所述服务器组的不同服务器设备上同时运行。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述可执行指令使所述服务器组基于所述服务器组中的所述多个服务器设备的状态在所述虚拟DCS控制器的所述多个实例之间执行自动负载平衡。
18.一种用于在物理过程环境内控制工业过程的方法,包括:
经由一个或多个输入/输出(I/O)连接,将所述物理过程环境内的多个现场设备连接到包括多个服务器设备的服务器组,所述服务器组被配置为实现软件定义的分布式控制系统(DCS)环境;
由在所述服务器组上的所述软件定义的DCS环境中运行的一个或多个软件定义的过程控制器通过与所述物理过程环境内的所述多个现场设备进行通信来实时地控制所述工业过程的至少部分;以及
由在所述服务器组上的所述软件定义的DCS环境中运行并被配置为与所述软件定义的过程控制器进行交互的一个或多个DCS应用调整所述一个或多个软件定义的过程控制器的操作。
19.根据权利要求18所述的方法,还包括:
在所述服务器组处经由所述一个或多个I/O连接从所述多个现场设备接收过程数据;以及
经由所述一个或多个I/O连接从所述服务器组向所述多个现场设备发送过程控制信号,以控制所述工业过程的所述部分。
20.根据权利要求18所述的方法,其中,所述一个或多个DCS应用包括虚拟架构配置应用,并且还包括:
由所述虚拟架构配置应用为用户生成用户界面,所述用户界面包括用于在所述软件定义的DCS环境内配置虚拟部件的多个选项;以及
在所述一个或多个DCS应用处接收来自所述用户的用户输入,以通过指定虚拟DCS网络架构内的多个虚拟节点以及所述虚拟节点之间的连接来定义所述虚拟DCS网络架构。
21.根据权利要求20所述的方法,其中,所述虚拟节点包括所述多个现场设备的一个或多个虚拟表示。
22.根据权利要求18所述的方法,还包括:
由在所述服务器组上的所述软件定义的DCS环境中运行的数据历史库应用在所述工业过程的操作期间自动地在所述软件定义的DCS环境内监视过程数据;以及
在与所述服务器组相关联的数据储存器中自动地存储由所述数据历史库应用监视的所述过程数据。
23.根据权利要求18所述的方法,还包括:
由所述一个或多个DCS应用基于所述一个或多个I/O连接处的数据业务来检测与所述多个现场设备中的现场设备相关联的过程数据的类型;以及
由所述一个或多个DCS应用基于所述过程数据的类型来确定对所述一个或多个软件定义的过程控制器的操作的调整。
24.根据权利要求18所述的方法,其中,所述一个或多个软件定义的过程控制器包括在所述服务器组的不同服务器设备上同时运行的一个或多个虚拟DCS控制器中的每个虚拟DCS控制器的多个实例,并且所述方法还包括:
由所述一个或多个DCS应用检测所述服务器组的所述多个服务器设备中的一个服务器设备的状态的变化;以及
由所述一个或多个DCS应用基于所述状态的所述变化来调整所述多个服务器设备之间的负载分配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/579,320 US11846934B2 (en) | 2019-09-23 | 2019-09-23 | Industrial control system hyperconverged architecture |
US16/579,320 | 2019-09-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112540578A true CN112540578A (zh) | 2021-03-23 |
Family
ID=72841304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011010381.3A Pending CN112540578A (zh) | 2019-09-23 | 2020-09-23 | 工业控制系统超融合架构 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11846934B2 (zh) |
JP (1) | JP2021057033A (zh) |
CN (1) | CN112540578A (zh) |
DE (1) | DE102020124789A1 (zh) |
GB (1) | GB2589710B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113917897A (zh) * | 2021-09-26 | 2022-01-11 | 西门子电站自动化有限公司 | 用于对电厂进行操作和监视的装置及其实施方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461605B2 (en) * | 2019-03-29 | 2022-10-04 | Siemens Industry, Inc. | System and method for configuring and managing field devices of a building |
EP3872583B1 (de) * | 2020-02-26 | 2023-07-19 | Siemens Aktiengesellschaft | Redundant ausgelegtes automatisierungssystem |
JP7264098B2 (ja) * | 2020-03-26 | 2023-04-25 | 横河電機株式会社 | 制御システム |
US20220397891A1 (en) * | 2021-06-11 | 2022-12-15 | Honeywell International Inc. | Coordinating a single program running on multiple host controllers |
US20220404807A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Systems and Methods for Associating Modules in a Software Defined Control System for Industrial Process Plants |
US20220404786A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Systems and Methods for Dynamically Maintained Redundancy and Load Balancing in Software Defined Control Systems for Industrial Process Plants |
US11789428B2 (en) * | 2021-06-16 | 2023-10-17 | Fisher-Rosemount Systems, Inc. | I/O server services for selecting and utilizing active controller outputs from containerized controller services in a process control environment |
US20220404787A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Systems and methods for hierarchical organization of software defined process control systems for industrial process plants |
US20220404804A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Security Services in a Software Defined Control System |
US11726933B2 (en) * | 2021-06-16 | 2023-08-15 | Fisher-Rosemount Systems, Inc. | I/O server services configured to facilitate control in a process control environment by containerized controller services |
US20220404789A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Utilizing quality-of-service metrics to facilitate transitions between i/o channels for i/o server services |
US20220405130A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Systems and Methods for Dynamically Maintained Redundancy and Load Balancing in Software Defined Control Systems for Industrial Process Plants |
US20220404811A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Systems and Methods for Dynamically Maintained Redundancy and Load Balancing in Software Defined Control Systems for Industrial Process Plants |
US20220404808A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc | Systems and methods for associating modules in a software defined control system for industrial process plants |
US11960588B2 (en) | 2021-06-16 | 2024-04-16 | Fisher-Rosemount Systems, Inc | Security services in a software defined control system |
CN113923071B (zh) * | 2021-07-28 | 2022-09-27 | 北京大学 | 基于tsn的hart总线交换机电路 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000036479A1 (en) | 1998-12-16 | 2000-06-22 | Speedfam-Ipec Corporation | An equipment virtual controller |
US7643891B2 (en) | 2004-01-30 | 2010-01-05 | Siemens Industry, Inc. | Virtual field controller |
US20070019641A1 (en) * | 2005-07-22 | 2007-01-25 | Rockwell Automation Technologies, Inc. | Execution of industrial automation applications on communication infrastructure devices |
US8296434B1 (en) * | 2009-05-28 | 2012-10-23 | Amazon Technologies, Inc. | Providing dynamically scaling computing load balancing |
US20120095808A1 (en) * | 2010-10-15 | 2012-04-19 | Invensys Systems Inc. | System and Method for Process Predictive Simulation |
US20120306620A1 (en) * | 2011-05-31 | 2012-12-06 | General Electric Company | Systems and methods for alert visualization |
US10678225B2 (en) * | 2013-03-04 | 2020-06-09 | Fisher-Rosemount Systems, Inc. | Data analytic services for distributed industrial performance monitoring |
US10649449B2 (en) * | 2013-03-04 | 2020-05-12 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics |
EP2778816B1 (en) * | 2013-03-12 | 2015-10-07 | ABB Technology AG | System and method for testing a distributed control system of an industrial plant |
JP6437535B2 (ja) | 2013-09-27 | 2018-12-12 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | 仮想化分散制御システムの自動化コミッショニングシステム及び方法、有形のコンピュータ可読ストレージ媒体 |
US10003525B2 (en) | 2014-11-14 | 2018-06-19 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to provide redundancy in a process control system |
US9785412B1 (en) * | 2015-02-27 | 2017-10-10 | Glue Networks, Inc. | Methods and systems for object-oriented modeling of networks |
US10372112B2 (en) | 2016-06-14 | 2019-08-06 | Honeywell International Inc. | System and method for legacy level 1 controller virtualization |
US10809702B2 (en) * | 2016-10-17 | 2020-10-20 | Fisher-Rosemount Systems, Inc. | Mobile devices for remote access of process control data |
US20190325093A1 (en) * | 2018-04-23 | 2019-10-24 | Honeywell International Inc. | Visual debugging, simulation, and validation of hybrid control system configuration with rewind, play back, and play forward capability |
-
2019
- 2019-09-23 US US16/579,320 patent/US11846934B2/en active Active
-
2020
- 2020-09-08 GB GB2014107.3A patent/GB2589710B/en active Active
- 2020-09-11 JP JP2020152665A patent/JP2021057033A/ja active Pending
- 2020-09-23 DE DE102020124789.3A patent/DE102020124789A1/de active Pending
- 2020-09-23 CN CN202011010381.3A patent/CN112540578A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113917897A (zh) * | 2021-09-26 | 2022-01-11 | 西门子电站自动化有限公司 | 用于对电厂进行操作和监视的装置及其实施方法 |
CN113917897B (zh) * | 2021-09-26 | 2024-04-02 | 西门子能源自动化(南京)有限公司 | 用于对电厂进行操作和监视的装置及其实施方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102020124789A1 (de) | 2021-03-25 |
GB202014107D0 (en) | 2020-10-21 |
US20210089015A1 (en) | 2021-03-25 |
US11846934B2 (en) | 2023-12-19 |
JP2021057033A (ja) | 2021-04-08 |
GB2589710A (en) | 2021-06-09 |
GB2589710B (en) | 2023-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11846934B2 (en) | Industrial control system hyperconverged architecture | |
CN109426227B (zh) | 高性能控制服务器系统 | |
JP7483511B2 (ja) | プロセス制御システム内でリアルタイム制御を実行する仮想ノードの自動負荷分散および性能平準化 | |
US11726463B2 (en) | Industrial control system architecture for real-time simulation and process control | |
US11231701B2 (en) | Publish/subscribe protocol for real-time process control | |
US11747798B2 (en) | Virtualized real-time I/O in process control systems | |
US20240184279A1 (en) | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems |
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 |