CN112068499A - 在过程控制系统中运行实时控制的虚拟节点的自动平衡和性能均衡 - Google Patents
在过程控制系统中运行实时控制的虚拟节点的自动平衡和性能均衡 Download PDFInfo
- Publication number
- CN112068499A CN112068499A CN202010525949.9A CN202010525949A CN112068499A CN 112068499 A CN112068499 A CN 112068499A CN 202010525949 A CN202010525949 A CN 202010525949A CN 112068499 A CN112068499 A CN 112068499A
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual nodes
- nodes
- physical
- data
- 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
- 238000004886 process control Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 200
- 238000004519 manufacturing process Methods 0.000 claims abstract description 84
- 238000004891 communication Methods 0.000 claims description 63
- 230000006399 behavior Effects 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 162
- 238000004088 simulation Methods 0.000 abstract description 93
- 238000005094 computer simulation Methods 0.000 abstract description 14
- 238000012546 transfer Methods 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000003993 interaction Effects 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 44
- 230000006870 function Effects 0.000 description 33
- 238000007726 management method Methods 0.000 description 28
- 238000012360 testing method Methods 0.000 description 16
- 230000008093 supporting effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003863 physical function Effects 0.000 description 5
- 235000008694 Humulus lupulus Nutrition 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013070 change management Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 238000004364 calculation method 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
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004989 laser desorption mass spectroscopy Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000003921 oil Substances 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
- 238000013468 resource allocation Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41835—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41845—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/4186—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
- G05B17/00—Systems involving the use of models or simulators of said systems
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13125—Use of virtual, logical connections
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13185—Software function module for 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/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2214—Multicontrollers, multimicrocomputers, multiprocessing
-
- 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/31231—Lan and stations and fieldbus, each station controls own I-O
-
- 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/32301—Simulate production, process stages, determine optimum scheduling rules
-
- 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/32343—Derive control behaviour, decisions from simulation, behaviour modelling
-
- 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/32355—Simulate control process using virtual bus
-
- 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/32359—Modeling, simulating assembly operations
-
- 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/32407—Real time processing of data
-
- 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/33139—Design of industrial communication system with expert 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/33—Director till display
- G05B2219/33149—Publisher subscriber, publisher, master broadcasts data to slaves, subscriber
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40311—Real time simulation
-
- 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]
-
- 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/80—Management or planning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
多用途动态模拟和运行时控制平台包括与物理过程环境耦合的虚拟过程环境,虚拟和物理过程环境的部件/节点协作以动态执行工业过程工厂的运行时过程控制和/或其模拟。虚拟部件可以包括虚拟运行时节点和/或模拟节点。MPDSC包括I/O交换机,其例如通过使用发布/订阅机制在虚拟节点和/或物理节点之间传递I/O数据,从而虚拟化物理I/O过程数据传递。由I/O交换机服务的节点可以包括相应的部件行为模块,这些部件行为模块不知道它们是否在虚拟或物理节点上被利用。模拟可以实时甚至结合工厂的运行时操作进行,和/或模拟可以根据需要进行操作(速度、数值、管理等)。该平台同时支持模拟和运行时操作以及它们之间的交互/交集。
Description
相关申请的交叉引用
本申请要求于2019年6月10日提交的、名称为“Industrial Control SystemArchitecture for Real-Time Simulation and Control”的美国临时专利申请号62/859,508的优先权和申请日的权益,该美国临时申请的全部公开内容在此通过引用明确地并入本文。
技术领域
本专利申请总体上涉及工业和过程控制系统,更具体地,涉及使用虚拟化的部件来提供过程控制和/或运行时实际过程控制的模拟的工业控制系统。
背景技术
过程或工业控制系统(像在化学、石油或其他工业过程工厂中用于从材料生产物理产品的过程或工业控制系统)通常包括一个或多个过程控制器,该过程控制器经由模拟、数字或组合的模拟/数字总线、或者经由无线通信链路或网络通信地耦合到一个或多个现场设备。可以是例如阀、阀定位器、开关、以及变送器(例如,温度、压力、液位和流率传感器)的现场设备位于过程环境内,并且通常执行物理或过程控制功能(例如,打开或关闭阀、测量过程参数等),以控制在过程工厂或系统内执行的一个或多个过程。智能现场设备(诸如,符合熟知的现场总线协议的现场设备)还可以执行控制计算、报警功能、以及通常在控制器内实现的其他控制功能。可以集中地定位但也可以以分布式方式位于工厂环境中的过程控制器接收指示由现场设备进行的过程测量的信号和/或与现场设备有关的其他信息,并且执行控制器应用,该控制器应用例如运行不同的控制模块,不同的控制模块进行过程控制决策、基于接收到的信息生成控制信号、以及与在现场设备(诸如,和现场总线现场设备)中执行的控制模块或块进行协调。控制器中的控制模块通过通信线路或链路向现场设备发送控制信号,从而控制过程工厂或系统的至少一部分的操作。
来自现场设备和控制器的信息通常可通过数据高速通道从控制器提供给一个或多个其他硬件设备,例如,操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库、或其他集中式管理计算设备,其通常放置在控制室中或者其他远离较恶劣的工厂环境的位置。这些硬件设备中的每个通常跨过程工厂或者跨过程工厂的一部分集中。这些硬件设备执行应用,该应用可以例如使工程师能够配置过程的部分,或者使操作员能够执行关于控制过程和/或操作过程工厂的功能,诸如,更改过程控制例程的设置、修改控制器或现场设备内控制模块的操作、查看过程的当前状态、查看由现场设备和控制器生成的警报、出于培训人员或测试过程控制软件的目的模拟过程的操作、保持和更新配置数据库等。由硬件设备、控制器、以及现场设备使用的数据高速通道可以包括有线通信路径、无线通信路径、或有线和无线通信路径的组合。
作为示例,由艾默生过程管理公司出售的DeltaVTM控制系统包括存储在位于过程工厂内的不同位置的不同设备内并由这些不同设备执行的多个应用。驻留在一个或多个工作站或计算设备中的配置应用使用户能够创建或更改过程控制模块,并且经由数据高速通道将这些过程控制模块下载到专用分布式控制器。通常,这些控制模块由通信互连的功能块构成,功能块是面向对象编程协议的对象,这些对象基于对其的输入来执行控制方案内的功能并向控制方案内的其他功能块提供输出。配置应用还可以允许配置设计者创建或更改由查看应用用于向操作员显示数据的操作员界面来向操作员显示数据,并且使操作员能够更改过程控制例程内的设置,诸如设定点。每个专用控制器以及在某些情况下一个或多个现场设备存储并执行相应的控制器应用,该控制器应用运行分配和下载到其的控制模块以实现实际的过程控制功能。可以在一个或多个操作员工作站(或在与操作员工作站和数据高速通道通信连接的一个或多个远程计算设备上)执行的查看应用经由数据高速通道从控制器应用接收数据,并且使用用户界面向过程控制系统设计者、操作员、或用户显示该数据,并且可以提供诸如操作员视图、工程师视图、技术人员视图等之类的多个不同视图中的任何视图。数据历史库应用通常存储在数据历史库设备中并由其执行,数据历史库设备收集并存储跨数据高速通道提供的数据中的一些或全部数据,而配置数据库应用可以在附接到数据高速通道的另一计算机中运行,以存储与其相关联的当前过程控制例程配置和数据。替代地,配置数据库可以与配置应用位于相同的工作站中。
当前已知的过程控制工厂和过程控制系统的架构受到受限的控制器和设备存储器、通信带宽、以及控制器和设备处理器能力的强烈影响。例如,在当前已知的过程控制系统架构中,通常最小化或至少小心地管理控制器中动态和静态非易失性存储器的使用。结果,在系统配置(例如,先验)期间,用户或配置工程师通常必须选择控制器中哪些数据要被存档或保存、将被保存的频率、以及是否使用压缩,并且利用该受限的数据规则集来相应地配置控制器。因此,在故障排除和过程分析中可能有用的数据通常没有被存档,并且如果其被收集,则有用的信息可能会由于数据压缩而丢失。
另外,为了最小化当前已知的过程控制系统中的控制器存储器使用,将要存档或保存的所选数据(如控制器的配置所指示的)被报告给工作站或计算设备,以存储在适当的数据历史库或数据竖井处。用于报告数据的当前技术较差地利用通信资源,并导致过多的控制器负载。另外,由于在历史库或竖井的采样和通信中的时间延迟,因此数据收集和时间加戳通常与实际过程不同步。
类似地,在批次过程控制系统中,为了最小化控制器存储器的使用,批次配方和控制器配置的快照(snapshot)通常保持存储在集中式管理计算设备或位置处(例如,在数据竖井或历史库处),并且仅在需要时被传送到控制器。这种策略在控制器中以及在工作站或集中式管理计算设备与控制器之间的通信中引入了显著的突发负载。
此外,诸如过程控制系统之类的工业控制系统的当前架构很大程度上是由硬件驱动的,因为诸如控制功能、输入/输出(I/O)功能、用户界面功能等各种功能是在特定硬件(例如,用户工作站或接口设备、过程控制器、安全系统控制器、专用I/O设备、编组的I/O设备、现场设备、安全逻辑解算器等)中执行并绑定到特定硬件并且始终保持存储在特定硬件中。例如,在当前的过程控制系统中,控制器与I/O设备(例如,单个I/O设备或编组的I/O设备库)之间的互连是基于特定的硬件来配置的,并且因此,物理的I/O关系是紧密绑定的,最常见的是一对一方式,例如,I/O设备与控制器、另一个I/O设备与另一个控制器等。该架构设计限制了控制系统的恢复性、可靠性、可用性、响应性和灵活性,因为这些系统难以快速更改或重新配置,与用于实现专有控制软件的专有硬件紧密相关,需要在逐个设备基础上的硬件冗余(这可能实现起来很昂贵),并且在不添加需要以特定方式配置的附加硬件的情况下不容易扩展或升级,例如,由于单个设备(例如物理过程控制器)的尺寸限制、I/O设备的特定特性和能力等。
解决这些问题的一些尝试包括对物理控制器进行虚拟化;然而,控制器虚拟化已被限于离线开发和测试系统,并且没有被广泛地使用(如果有的话)于物理工厂和/或生产环境中的运行时过程控制。此外,虚拟化的控制器和物理控制器仍然受到物理I/O设备的限制,诸如性能、带宽、吞吐量等。
发明内容
用于动态模拟和/或运行时生产过程控制的新颖的多用途硬件/软件架构或平台,其使得工业过程工厂的工业或过程控制系统与已知的工业或过程控制系统相比具有更大的恢复性、响应性和灵活性。更具体地,这种新颖的架构或平台在很大程度上将控制系统中使用的硬件与支配硬件行为的软件分离,使系统更易于扩展、重新配置和更改,以及改善了总体系统的可靠性、可用性和性能。为了便于讨论,新颖的多用途动态模拟和运行时控制平台或架构在本文中通过“MPDSC”、“MPDSC平台”、“MPDSC系统或“MPDSC架构”来互换使用。
一般而言,MPDSC包括耦合到物理过程环境的虚拟过程环境,其中虚拟和物理环境的部件协作以执行工业过程工厂的动态模拟和/或运行时(例如,实际或操作的)生产过程控制。对于运行时过程控制,MPDSC平台支持过程控制系统(PCS),该过程控制系统可以包括虚拟部件、物理部件和/或虚拟和物理部件两者,它们可以协作以在工厂的运行时期间监视和控制批次和/或连续工业过程。在某些布置中,MPDSC平台还支持安全仪表系统(SIS),该安全仪表系统可以具有虚拟部件和物理部件两者,虚拟部件和物理部件协作以维护安全操作并在运行时期间提供工厂的故障安全操作。执行运行时、操作的过程控制和/或相关的运行时功能(例如,与设置在过程工厂的物理环境中的一个或多个物理设备或部件结合)的虚拟节点在本文中称为“虚拟运行时节点”。
MPDSC平台可以附加地或替代地支持模拟环境或空间,该模拟环境或空间可以用于控制和/或安全系统和/或部件的测试、检验、验证和/或检查、操作员培训、案例研究、持续的过程改进等。出于模拟目的,MPDSC平台提供了虚拟节点,该虚拟节点模拟可部署在物理过程环境中的一个或多个物理设备、模块或部件。模拟可部署在过程工厂的物理环境中的各种设备、模块和/或部件的虚拟节点在本文中称为“模拟节点”。
MPDSC平台所提供的模拟是“动态的”,因为过程工厂或其部分的模拟可以实时执行,从而镜像了在运行时期间(可能)发生的时序和其他行为,和/或模拟可以被操控为以比实时执行更快或更慢的速度执行,使用不同的值、初始条件、中间条件等。模拟空间提供各种特征,例如,各种模拟场景的保存/恢复能力、针对各种场景的可编辑的初始和/或中间条件、通过各种协议与第三方模拟器的协调、操作员显示视图的测试和检查、对PCS的一个或多个部分的实时模拟、PCS的一个或多个部分的模拟的加快和放慢、包括与实际(例如,非模拟的)虚拟和/或物理部件结合进行操作的模拟部件的模拟、更改管理、以及与工厂配置的同步等。MPDSC平台能够同时支持模拟和运行时操作两者、模拟与运行时操作之间的各种交互和交集(例如,测试升级、补丁、“假设”场景、配置更改、用户输入更改等)。此外,利用MPDSC平台,能够无缝且轻松地实现系统冗余、容错、切换、计划的维护等。
MPDSC架构的关键部件之一在本文中被称为“I/O交换机”或“I/O服务器”,其一般性地从I/O与特定硬件专门且直接相关联抽象出过程工厂的I/O,以及执行与I/O相关的其他功能,以用于模拟和/或运行时过程控制。I/O交换机或I/O服务器是在运行时期间在过程工厂的虚拟节点和/或物理节点之间传递I/O数据的节点。每个节点(无论是虚拟的还是物理的)通常都是在MPDSC系统中通过独特的名称、标签或标识符来标识的过程工厂的部件。例如,节点可以是物理或虚拟控制器、现场设备、安全信息控制器、安全逻辑解算器、I/O卡或设备(例如,无线I/O设备、以太网I/O设备、编组的I/O机柜或其部件等)、操作员工作站、另一种类型的用户接口设备、工具(例如,诊断工具、模拟工具等)、网关、数据存储设备、或其他类型的部件。一般而言,I/O交换机作为虚拟节点和/或物理节点之间的数据代理进行操作,其中I/O交换机在源节点(无论是虚拟的还是物理的)与目标节点(无论是虚拟的还是物理的)之间传递或交换I/O数据(在本文中也可互换地称为“过程I/O数据”或“PIO数据”)。在某种意义上,I/O交换机不是将物理I/O卡紧密地和/或专门耦合到不同的源节点和目标节点以传递过程I/O,而是对MPDSC系统的节点之间过程I/O数据的物理传递机制进行虚拟化,并松开了在用于传递I/O数据目的的硬件部件之间的绑定。此外,I/O交换机被配置为能够足够快地(例如,以足够小的延迟)传递I/O数据,以支持运行时、实际生产过程控制和/或生产过程控制的实时模拟。
一般而言,由I/O交换机或I/O服务器提供服务的虚拟和物理节点/部件包括相应的模块,这些模块支配虚拟和物理节点或部件的行为。此类模块在本文中称为“部件行为模块”或“CBM”,其示例包括控制器中的控制模块、安全逻辑解算器中的安全逻辑、以及其他类型的模块,该其他类型的模块支配在其中存储和执行、并至少部分地对I/O数据进行操作的模块的部件的行为和操作。在MPDSC系统中,对I/O数据的过程相关有效载荷进行操作的CBM不可知或不知道I/O交换机及其在向部件行为模块/从部件行为模块传递I/O数据中的作用。也就是说,CBM不知道它们去往/来自其主机节点的相应的I/O传递机制是物理I/O卡还是I/O交换机。
这样,可以将I/O交换机视为对于MPDSC系统的部件行为模块透明的I/O数据的交换结构、路由器和/或传递机制。为此,I/O交换机经由节点的相应发布/订阅层(在本文中也可互换地称为“Pub/Sub层”)和经由其I/O有效载荷或数据在节点之间传输的虚拟通信网络来在虚拟/物理节点之间传递I/O数据。例如,发送或发布节点可以包括相应的Pub/Sub层,其将由发送节点的部件行为模块生成的数据发布到虚拟通信网络。I/O交换机可以将发布的数据传递或交换到作为数据的接收者或订阅者的节点,并且每个订阅者节点可以经由其相应的Pub/Sub层恢复数据,以供其相应的部件行为模块消费。这样,I/O交换机根据MPDSC系统内节点的定义的关系,按需在发布者节点与订阅者节点之间代理(broker)数据。
如本文所使用的,MPDSC平台或系统的“物理环境”是指其中物理的、有形的部件(例如,现场设备、罐、阀、致动器、加热器、蒸发器、传感器等)用于通过运行时受控过程将物理材料转换为物理产品的生产工厂或环境。因此,“物理环境”在本文中可互换地称为工业过程工厂的“工厂环境”。如上所述,物理或工厂环境包括前端部分,其中设置了MPDSC系统的物理或硬件部件(例如现场设备、传感器、变送器、开关、定位器、罐、加热器等)并对物理材料进行操作以生产物理产品。这样,物理环境的“前端”部分在本文中可互换地称为过程工厂的物理环境的“现场”或“站点”部分。
MPDSC系统的物理或工厂环境还包括后端部分,其中诸如操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库和/或其他集中式(或至少部分集中式)管理计算设备的物理或硬件部件执行应用,以例如配置过程工厂和/或其部件,查看和监视工厂的运行时操作,在工厂的运行时操作期间响应警报或报警,在工厂的运行时操作期间调整参数,生成报告,存储和分析数据等。MPDSC系统的物理环境的后端部分可位于免受恶劣现场环境影响的区域,例如现场、封闭的房间和/或非现场或远离现场环境的位置。
MPDSC系统的虚拟环境使用特别配置和互连的物理或硬件计算设备来实现,以提供支持各种物理过程工厂部件的虚拟化的平台,如将在本公开内容的后续部分中更详细地描述的。一般而言,提供和支持虚拟化平台的物理计算设备可以物理上位于工厂现场(例如,在现场环境的受保护的封闭区域中),可以物理上位于非现场,或者可以物理地且分布式地位于各种现场和非现场位置之间。提供并支持虚拟化平台的物理计算设备可以通过任何数量的物理数据链路和/或通信/数据网络互连。一般而言,物理计算设备、数据链路和通信/数据网络形成计算平台,MPDSC系统的各种逻辑或虚拟部件驻留在该计算平台上,其中各种逻辑或虚拟部件可与物理过程环境的部件结合用于运行时过程控制,和/或用于过程模拟目的。
驻留在MPDSC系统的虚拟环境中的逻辑或虚拟部件可以进行操作以提供对MPDSC系统的一个或多个实际或计划的物理部分的模拟(例如,实时、以更快的速度和/或如果需要,以更慢的速度)。在一些实现方式中,驻留在MPDSC系统的虚拟环境中的逻辑或虚拟部件和驻留在MPDSC系统的物理环境中的物理部件可以协同操作以提供模拟和/或运行时实际生产过程控制。这样,在一些实施例中,MPDSC平台的物理和虚拟环境经由一个或多个通信链路和/或网络通信地连接,其中,通信链路和/或网络可以包括任何数量的有线链路和/或网络、无线链路和/或网络、私有链路和/或网络、公共链路和/或网络。在本公开内容的后续部分中更详细地描述独立的虚拟实时模拟的实施例以及工业控制系统的逻辑/虚拟和物理部件之间的协作及其之间的通信连接的实施例。
此外,MPDSC平台的虚拟和物理环境使用或共享公共(例如,相同的)系统配置数据库,该系统配置数据库在本文中称为“MPDSC系统配置数据库”。这样,通过MPDSC系统配置数据库,可以跨虚拟和物理环境在MPDSC平台内独特地标识各种虚拟和物理部件,并且能够无缝且轻松地完成模拟和运行时操作(例如,测试、切换等)之间的交集。
在实施例中,一种工业过程工厂的系统包括设置在所述工业过程工厂的虚拟环境中的多个虚拟节点。所述多个虚拟节点在所述工业过程工厂的运行时操作期间进行操作,以通过将数据发布到I/O交换机并订阅由所述I/O交换机发布的数据来控制工业过程。所述I/O交换机将所述多个虚拟节点通信地连接到设置在所述工业过程工厂的物理环境中的多个物理节点,所述多个物理节点包括至少一个现场设备。所述多个物理节点在所述工业过程工厂的所述运行时操作期间进行操作,以通过经由所述I/O交换机向所述多个虚拟节点发送数据并且从所述多个虚拟节点接收数据来控制所述工业过程。所述多个虚拟节点虚拟化以下各项中的至少一项:(i)可部署在所述工业过程工厂的所述物理环境中以控制所述工业过程的一个或多个物理部件、或(ii)所述一个或多个物理部件的一个或多个子部件,例如通过利用存储在每个虚拟节点上的相应的一个或多个部件行为模块部件部件部件部件部件。
在实施中,一种在工业过程工厂中方法包括:在所述工业过程工厂的运行时操作期间,检测和/或预测在虚拟化平台处发生的一个或多个状况,在过程控制系统的多个虚拟节点正在操作以例如通过将数据发布到I/O交换机并且订阅由I/O交换机发布的数据来控制工业过程时在所述虚拟化平台上实现所述多个虚拟节点。所述多个虚拟节点设置在所述工业过程工厂的虚拟环境中。包括在所述过程控制系统中并且将所述多个虚拟节点通信地连接到所述过程控制系统的多个物理节点。所述多个物理节点设置在所述工业过程工厂的物理环境中并包括至少一个现场设备。此外,所述多个物理节点在所述工业过程的所述运行时操作期间进行操作,以通过经由所述I/O交换机向所述多个虚拟节点发送数据并且从所述多个虚拟节点接收数据来控制所述工业过程。所述方法另外包括基于检测到的和/或预测的一个或多个状况,平衡与所述多个虚拟节点相对应的负载或性能水平中的至少一个。
附图说明
图1是示例性多用途动态模拟和运行时工业或过程控制(MPDSC)系统的框图,该系统提供过程工厂的动态模拟和/或运行时工业或过程控制。
图2是例示了可以包括在图1的MPDSC系统中的示例性虚拟节点架构的实施例的框图。
图3是图1的MPDSC系统可以支持的物理工厂环境的示例性布置。
图4描绘了多个I/O交换机的示例性布置,其可以至少部分地在图1的MPDSC系统中实现。
图5是例示了示例性虚拟化管理系统的框图,通过该示例性虚拟化管理系统可以配置和管理图1的MPDSC系统的至少部分。
图6是平衡在工业过程工厂的过程控制系统中执行实时控制的虚拟节点的负载和/或性能水平的示例性方法的流程图。
具体实施方式
图1是示例性多用途动态模拟和运行时工业或过程控制(MPDSC)系统或平台10的框图,该系统或平台10提供了工业或过程工厂的动态模拟和/或运行时过程控制。示例性MPDSC平台10使用虚拟化的设备来支持工业过程工厂的过程控制的动态模拟和/或实时过程控制。例如,MPDSC平台10可以在过程工厂的运行时期间将虚拟化的设备用于物理生产目的。如图1所示,MPDSC平台10包括虚拟工厂环境部分12和物理工厂环境部分15;然而,在仅将MPDSC平台10用于实时模拟目的的实施例中,可以省略物理工厂环境部分15。一般而言,虚拟工厂环境部分12和物理工厂环境部分15共同形成工业过程工厂的一个或多个操作技术(OT)层18,其可以将生成的数据提供给与工业过程工厂相关联的一个或多个信息技术(IT)层20和/或IT层外部的网络,例如,供一个或多个应用21a-21n、22a-22m进行企业和/或外部使用。例如,应用21a-21m可以由拥有/操作MPDSC平台10的企业提供并且可以在与企业相关联的IT层中执行,以及应用22a-22m可以是由相应的第三方提供的物联网(IoT)和/或工业物联网(IIoT)应用,其在通过互联网或其他公共网络访问的远程网络中执行。
企业的IT层20可以在任何数量的本地和/或远程设置的计算设备(诸如一个或多个本地和/或远程服务器库、一个或多个计算云等)中实现,并且可以包括由企业的OT层18生成的数据的任何数量的应用或消费者21a-21n。通常(但不是必须),如图1所示,OT层18经由一个或多个公共和/或私有通信网络24和一个或多个边缘网关系统28通信地耦合到IT层20,其中边缘网关系统28提供OT层18/MPDSC平台10与IT层20之间的数据传递的安全性和效率。此外,一个或多个边缘网关系统28可提供MPDSC平台10与外部网络和/或外部应用22之间的数据传递的安全性和效率。
在图1中,MPDSC平台10的虚拟工厂环境12包括一个或多个虚拟节点(VN)30a、30b、30c、...、30p,这些虚拟节点与I/O交换机(本文中可互换地称为“I/O服务器”)25。一般而言,每个虚拟节点30x是模拟或虚拟化可在物理工厂环境15中操作的相应物理部件的行为的虚拟机。换而言之,虚拟工厂环境12内的每个虚拟节点30x处理数据并以与其在物理工厂环境15中的物理对应物将处理数据并表现的那样相同的方式来表现。
具体而言,每个虚拟节点30x包括框架和一个或多个子系统32,该一个或多个子系统32允许VN 30x与虚拟工厂环境12中的其他虚拟节点30x和/或与物理工厂环境15中的一个或多个物理节点(PN)(诸如物理节点40a、40b、40c和边缘网关系统28(其中边缘网关28可以看作是特定类型的PN))通信,每个物理节点都包括相应的框架和相应的一个或多个子系统42x,该一个或多个子系统42x允许与虚拟节点30x通信。另外,MPDSC平台10可以包括任何数量的其他物理节点或部件(例如,PNa-PNk)。
虚拟节点可以虚拟化不同类型的物理节点。一般而言,如本文所使用的,“物理节点”是MPDSC平台10的物理设备或部件,其包括硬件并且向其他设备或部件(无论是虚拟的还是物理的)发送数据和/或该从其他设备或部件接收数据。可以由相应虚拟节点表示的物理节点的类型的示例包括但不限于:各种类型的过程控制控制器;各种类型的本地和/或远程I/O设备或卡(诸如无线I/O卡(WIOC)、以太网I/O卡(EIOC)等)、以及I/O电子编组系统的各种部件(诸如特征化模块(CHARM)、端接块、CHARM I/O卡(CIOC)等);各种类型的安全仪表系统(SIS)节点,诸如安全控制器、安全逻辑解算器、SIS中继器、安全网络桥接器、安全网络网关等;用户接口设备,包括本地和/或远程物理操作员工作站、移动设备和/或其他计算设备,其提供用于运行时操作和/或与MPDSC平台10相关的其他目的的用户接口;提供与MPDSC平台10相关的工具的本地和/或远程物理计算设备,诸如控制配置工具、数据整合和查看工具、数据分析和分析配置工具、显示视图配置工具、诊断工具、资产管理工具、应用站等;在MPDSC平台10内和/或由MPDSC平台10使用的各种类型的网关,诸如无线网关、安全网关、防火墙、边缘网关、现场网关、系统间网关等;以及可以在物理工厂环境15中使用的其他类型的物理节点。
在一些实施例中,单个VN 30x可以表示或虚拟化整个物理节点。在一些实施例中,单个VN 30x可以表示或虚拟化特定物理节点的一个或多个部分。例如,单个VN 30x可以表示或虚拟化在特定PN处执行或驻留在特定PN处的特定模块或模块组,其中这种模块可以包括软件模块或部件、固件模块部件、和/或硬件模块或部件。例如,第一VN可以表示或虚拟化在特定PN上执行的整个应用(例如,可在物理过程控制器上执行的控制模块的全部),第二VN可以表示或虚拟化在特定PN上执行的整个应用的子集(例如,由控制模块使用的特定控制模型、功能或例程),第三VN可以表示或虚拟化与特定PN相关联的协议专用I/O卡或设备的行为,和/或第四VN可以细粒度地将PN子部件表示或虚拟化为特定PN的硬件子部件(例如,端口或其他接口、总线、收发器、芯片、基板等)、或特定PN的固件或软件子部件(例如,模块、例程、功能或行为、特定PN的网络地址,例如MAC(媒体访问控制)地址或其他类型的地址等)。
可以在物理工厂环境15中使用并且可以由MPDSC 10的虚拟节点30x表示和/或虚拟化的物理I/O卡的类型的示例包括但不限于:
离散输出卡,包括高密度、本质安全和冗余的离散输出卡;
离散输入卡,包括高密度、本质安全和冗余的离散输入卡;
模拟输出卡,包括支持HART的模拟输出卡、支持HART的冗余模拟输出卡、支持HART的高密度冗余模拟输出卡、以及快速模拟输出卡;
串行卡,包括冗余、可编程、和冗余可编程串行卡;
用于离散致动器和/或传感器的接口卡、RTD(电阻式温度检测器)卡、热电偶卡、毫伏卡、隔离式温度卡、多功能卡、支持现场总线通信协议的事件序列卡、冗余的支持现场总线的卡、支持Profibus通信协议的卡、冗余的支持Profibus的卡、以及其他类型的物理卡。
如图1所示,VN 30a、30b、30c、…、30p经由相应的发布/订阅层32a、32b、32c、…、32p和35彼此通信并且与I/O交换机25通信,发布/订阅层在本文中可互换地称为“Pub/Sub层”并且在图1中由每个VN 30x和I/O交换机25的相应标记线部分32x、35表示。在其中包括物理节点的MPDSC平台10的实施例中,例如如图1所示,设置在物理工厂环境15中的PN 28、40a、40b、40c中的至少一些可以包括相应的Pub/Sub层38、42a、42b、42c。在某种意义上,Pub/Sub层32x、35(以及在某些布置中,Pub/Sub层38、42x)充当虚拟通信网络45,各种虚拟节点30x和I/O交换机25(以及在某些布置中,物理节点40x)可以经由虚拟通信网络45传送抽象化的I/O数据。在示例性实现方式中,每个Pub/Sub层32x、35、38、42x是到虚拟通信网络45的相应接口。
虚拟通信网络45可以通过一个或多个物理通信和/或数据链路和/或网络来实现,该物理通信和/或数据链路和/或网络可以包括有线和/或无线网络,并且可以使用诸如以太网、光纤、IP、其他类型的其他分组网络等的任何合适技术来实现。数据通过发布和订阅在经由虚拟通信网络45的节点之间进行传送,并且可以在虚拟通信网络45中使用支持发布和订阅的任何或多个合适的通信协议来传递数据。例如,私有分组协议和/或公共或标准化分组协议(例如IPv6、IoT和/或IIoT协议)可以用于发布和订阅I/O数据,该I/O数据在虚拟通信网络45的各个节点30x、28、40x之间传递以及可选地传递到其他应用21x、22x(例如,通过边缘网关系统28)。
例如,虚拟通信网络45的每个节点(例如,虚拟节点30x、I/O交换机25、物理节点28、40x等)可以经由其相应的Pub/Sub层(例如,经由Pub/Sub层32x、35、38、42x等)向虚拟通信网络45发布I/O数据,以及虚拟通信网络45的每个节点(例如,虚拟节点30x、I/O交换机25、物理节点28、40x等)可以经由其相应的Pub/Sub层(例如,经由Pub/Sub层32x、35、38、42x等)订阅并获得被发布到虚拟通信网络45的I/O数据。通常,对各种发布的数据的订阅在I/O交换机25与其他节点30x、28、40x中的每个节点之间具有一一对应的关系。在优选实施例中,虚拟通信网络45的每个节点30x、28、40x仅接受来自I/O交换机25的订阅,而不接受来自其他节点的订阅,并且每个节点30x、28、40x仅订阅由I/O交换机25发布的I/O数据(其中由I/O交换机25发布的I/O数据可以是被转发的由其他节点生成并且I/O交换机25已订阅的数据),而不订阅由其他节点发布的I/O数据。这样,在该优选的一对一实施例中,与允许节点具有与多个其他节点的多个订阅的实施例相比,发布/订阅关系的无向图受到限制,从而降低网络复杂性、简化网络诊断和管理、并降低网络负载/利用率。为了进一步降低网络复杂性、简化网络诊断和管理、并降低网络负载/利用率,附加地或替代地,虚拟通信网络45的每个节点30x、28、40x可以经由发布将仅要由I/O交换机25转发到MPDSC平台10的其他节点的数据发送到I/O交换机25。当然,在某些实施例中,无向图的至少一部分可以以一对多、多对一、和/或多对多关系实现(如果需要)。
一般而言,在MPDSC平台10内,与过程相关的有效载荷数据(例如,如由CBM和/或过程工厂的物理部件生成的)被抽象并发布为I/O数据,并可以根据需要将其传递给虚拟通信网络45的订阅者节点。也就是说,当发布节点确定与过程有关的数据有效载荷需要新的发布事件时,可以传递(例如,经由发布)I/O数据。例如,当传感器生成的数据值更改时,发布节点可以将特定类型的传感器生成的数据作为I/O数据自动发布到虚拟通信网络。可选地,即使当传感器生成的数据值没有更改时,发布节点也可以周期性地(例如,每五秒、十秒、一分钟等)发布传感器生成的数据值作为I/O数据,例如,从而缓解可能出现的丢失消息和其他保真度问题。这样,在某些实施例中,订阅者节点不需要和/或不使用明确的订阅速率。因此,在每个订阅者节点处的处理逻辑(例如,部件行为模块)的执行由通过虚拟通信网络45订阅和接收的传入数据驱动,并因此每个节点和虚拟通信网络25所使用的资源可以被更有效地利用。
在示例性说明性场景中,VN 30a可以在运行时期间生成与过程相关的有效载荷数据(例如“Data1”)的特定集合并将其作为I/O数据发布到VN 30a的Pub/Sub层32a。I/O交换机或服务器25可以具有对包括Data1的I/O数据的订阅,并且可以经由虚拟通信网络45、其相应的Pub/Sub层35以及其相应的订阅来获得与过程有关的有效载荷Data1。转而,I/O交换机或服务器25可以经由其Pub/Sub层35将所获得的与过程相关的有效载荷Data1作为I/O数据发布到虚拟通信网络45,以便由具有对包括Data1的I/O数据的订阅的那些节点接收。例如,VN 30b可以具有对包括Data1的I/O数据的订阅,并且在经由I/O交换机25的Pub/Sub层35将Data1作为I/O数据发布后,VN 30b可以经由虚拟通信网络45、其相应的Pub/Sub层32b及其订阅获得与过程相关的有效载荷Data1。随后,VN 30b可以对所获得的与过程有关的有效载荷Data1值进行操作。
因此,MPDSC平台10对在各种物理部件中使用和固有的多个不同类型的I/O(例如,离散输出、离散输入、模拟输出、模拟输入、串行I/O、Railbus、HART、WirelessHART、现场总线、Profibus、以太网、高级物理层、和/或任何其他类型的I/O)进行抽象化,以便经由I/O交换机25和虚拟通信网络45通过发布和订阅在虚拟节点与物理节点之间进行传递。虚拟通信网络45的每个节点可以对经由其相应的Pub/Sub层以及可选地其他子系统发送和接收的I/O数据执行相应的抽象和去抽象(例如,恢复)。
虚拟节点
为了例示I/O抽象和去抽象,图2例示了虚拟节点30x的两个示例性架构实施例52a、52b。一般而言,虚拟节点30x模拟和/或虚拟化可以在物理工厂环境15内使用和操作的物理节点或物理部件。每个VN 52a、52b包括相应的Pub/Sub层55a、55b,VN55a、55b通过该Pub/Sub层55a、55b与I/O交换机25通信。此外,每个VN 52a、52b包括相应的部件行为模块58a、58b,其在本文中可互换地称为“部件业务逻辑模块”58a、58b或“CBM”58a、58b。一般而言,CBM 58x是其执行例如在应用级别上支配其相应虚拟节点30x的操作行为的模块。例如,虚拟控制器节点的CBM 58x可以是控制模块的特定实例,其中控制模块的其他实例可以下载到设置在物理工厂环境15中的物理控制器中,以便在物理工厂15的运行时期间执行。在另一个示例中,虚拟CIOC节点的CBM 58x可以是远程I/O模块的特定实例,其中远程I/O模块的其他实例可以在物理工厂环境15的运行时期间在其中设置的物理CIOC处执行。
由于CBM 58x可以在物理部件内执行,因此CBM通常固有地熟悉一种或多种对应的固有(native)I/O类型(例如模拟输入/输出、现场总线、Raibus等)。此外,CBM 58x通常不知道它们是否在虚拟工厂环境12的虚拟节点30x上执行,在设置在物理工厂环境15内的物理节点40x上执行,还是在设置在物理工厂环境15内的另一个物理部件(例如节点PNa-PNk)上执行。这样,CBM 58x以相同的方式并使用相同的处理逻辑和I/O类型发送和接收数据,而不管CBM 58x是在虚拟工厂环境12中还是在物理工厂环境15中执行。
在虚拟节点52a的实施例中,抽象了由CBM 58a发送和接收的与过程有关的有效载荷数据,以经由虚拟过程I/O(PIO)子系统60传递到VN 52a或从VN 52a传递。一般而言,虚拟PIO子系统60模拟虚拟节点52a的固有物理PIO传递。也就是说,在虚拟节点52a的运行时期间,虚拟PIO子系统60使用其固有I/O向/从CBM 58a传送I/O过程值和事件,例如,就像I/O过程值和事件源自/正被传递到物理硬件。这样,可以为特定类型的虚拟节点52a定制虚拟PIO子系统60,其中虚拟节点类型由其CBM 58a支配。例如,如果VN 52a表示使用Railbus I/O与其他设备通信的物理控制器,则虚拟PIO子系统60以Railbus I/O卡所使用的形式向/从控制例程CBM 58a提供I/O数据。如果VN 52a表示CIOC,则虚拟PIO子系统60以CHARM所使用的形式向/从远程I/O CBM 58a提供I/O数据。
此外,虚拟PIO子系统60可以代表虚拟节点52a处理数据发布和订阅。也就是说,虚拟PIO子系统60可以将由CBM 58a生成的数据发布到Pub/Sub层55a,并且虚拟PIO子系统60可以通过Pub/Sub层55a订阅由其他节点生成(以及由I/O交换机25转发)的数据。在实施例中,数据的订阅和发布可以基于在MPDSC平台10内独特的标签或其他标识符。标签或其他标识符可以独特地标识例如MPDSC平台10的数据、节点、设备或部件。在实施例中,可以在配置和/或调试期间分配标签和/或标识符。
这样,在虚拟环境12内的每个虚拟节点52a处,虚拟PIO子系统60保持CBM 58a与对应的物理I/O之间的逻辑分离(例如,经由Pub/Sub层55a、虚拟通信网络45、以及其他Pub/Sub层32、35、38、42),类似于在具有机载CBM 58a及其对应的物理I/O的每个物理节点处保持在物理环境15内的逻辑分离(例如,经由物理I/O卡或编组的I/O布置)。一般而言,任何虚拟节点30的虚拟PIO子系统60保持虚拟节点30中包括的任何I/O订阅者(CBM 58a、另一模块、另一类型的I/O消费者等)与其对应的物理I/O之间的逻辑分离。
在图2所示的虚拟节点52b的实施例中,省略或不使用虚拟PIO子系统60。通常,使用VN架构52b的虚拟节点的类型是那些其CBM 58b固有地能够与经由其实现虚拟通信网络45的物理部件和技术进行通信的节点。例如,如果通过以太网上的IP协议来实现虚拟通信网络45,则模拟EIOC的虚拟节点52b包括CBM 58b,该CBM 58b被固有地配置为使用以太网上的IP协议进行通信。因此,EIOC虚拟节点52b可以排除虚拟PIO子系统60(或者可以关闭或忽略虚拟PIO子系统60的操作),并且EIOC虚拟节点52b可以通过仅使用CBM 58b和Pub/Sub层55b来处理去往/来自52b的虚拟节点的数据传递。
物理节点
图3是结合图1的MPDSC平台10可以运转的示例性物理工厂环境100的框图。例如,图1所示的MPDSC平台10的物理环境部分15可以包括物理工厂环境100的至少一部分。
物理工厂100控制工业过程(或者在一些实施例中,与虚拟工厂环境(例如虚拟工厂环境12)结合地操作以控制工业过程),其中工业过程可以说是具有一个或多个表征过程状态的“过程输出”(例如,罐液位、流率、材料温度等)以及一个或多个“过程输入”(例如,各种环境条件和执行器的状态,可能会导致过程输出更改的操控)。图3的物理过程工厂100包括现场环境102和后端环境105,它们中的每一个通过过程控制主干网或数据高速通道108彼此通信连接,该过程控制主干网或数据高速通道可以包括一个或多个有线和/或无线通信链路和/或网络,并且可以使用任何期望的或合适的通信协议(例如以太网协议、IP协议或其他分组协议)来实现。
在高层(并且如图3所示),现场环境102包括物理部件(例如,过程控制设备、网络、网络元件等),其被安装并互连以在运行时期间进行操作来控制工业过程。总的来说,这些物理部件位于、设置在或包括在物理过程工厂100的现场环境102中,其中,使用设置在其中的物理部件接收和处理原材料,从而生成一种或多种物理产品(例如,纸张、精炼油、药品等)。相比之下,物理过程工厂100的后端环境105包括各种物理部件,例如计算设备、操作员工作站、资料库或数据库等,这些部件被屏蔽和/或保护免受现场环境102的恶劣条件和材料的影响。在一些配置中,物理过程工厂100的后端环境105中包括的各种计算设备、数据库以及其他部件和装备可以物理地位于不同的物理位置,其中一些对于物理工厂100而言可以是本地的,其中一些可以是远程的。
如图3所示,现场环境102包括通信连接到数据高速通道108的一个或多个过程控制器110。每个过程控制器110可以连接到一个或多个中间节点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可以是独立的单个物理设备,其中每一个连接到相应的控制器和一个或多个相应的现场设备,如图3所示。在一些布置(图3中未示出)中,I/O电子编组系统中包括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通道5,从而通信地耦合现场设备和控制器。
另外,在过程控制行业中,术语“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通道以外的通信链路。
无论如何,返回图3,物理过程工厂100的每个过程控制器110实现由一个或多个控制例程(例如,一个或多个部件行为模块)定义的控制策略,该控制例程可以存储在控制器110的存储器中。当控制器的处理器执行一个或多个控制例程时,控制器通过有线或无线过程控制通信链路或网络向现场设备发送控制信号(即“控制输出”)到其他现场设备,以控制工厂100中的过程的操作。控制器可以基于以下各项生成控制信号:(i)一个或多个接收到的信号,其可以称为“控制输入”(例如,一个或多个接收到的表示现场设备获得的测量结果的信号),和(ii)一个或多个控制例程的逻辑,其可由一个或多个软件元件(例如,功能块)定义。通常,控制器基于反馈(即受控变量的测量结果)和过程输出的期望值(即设定点)操控过程输入(其可以称为“受操控变量”)以更改特定过程输出(其可以称为“受控变量”或简单地称为“过程变量”)。
通常,至少一个现场设备执行物理功能(例如,打开或关闭阀、增加或降低温度、进行测量、感测条件等),以控制在物理过程工厂100中实现的过程的操作。某些类型的现场设备通过使用I/O设备与控制器进行通信。过程控制器、现场设备和I/O设备可以是有线或无线的,并且过程工厂环境或平台100中可以包括任何数量的有线和无线过程控制器、现场设备和/或I/O设备、及其组合。
工厂100的前端环境102
例如,图3例示了过程控制器110,其经由输入/输出(I/O)设备112和115通信连接到有线现场设备125-132,并经由无线网关168和数据高速通道108通信连接到无线现场设备140-146。在一些配置(未示出)中,控制器110可以使用除主干网108以外的一个或多个通信网络通信地连接到无线网关168,例如通过使用任何数量的其他有线或无线通信链路,其支持一个或多个通信协议(例如Wi-Fi或其他符合IEEE 802.11的无线局域网协议、移动通信协议(例如WiMAX、LTE或其他ITU-R兼容协议)、 Profibus、现场总线等)。
例如,控制器110可以是由艾默生过程管理公司出售的DeltaVTM控制器,该控制器110可以使用现场设备125-132和140-146中的至少一些现场设备来实现批次工业过程或连续工业过程。在实施例中,除了通信地连接到过程控制数据高速通道108之外,控制器110还使用与例如标准的4-20mA设备、I/O设备112、115和/或任何智能通信协议(例如现场总线协议、协议、协议等)相关联的任何期望的硬件和软件通信地连接到现场设备125-132和140-146中的至少一些现场设备。在图3中,控制器110、现场设备125-132和I/O设备112、115是有线设备,并且现场设备140-146是无线现场设备。当然,有线现场设备125-132和无线现场设备140-146可以符合任何其他期望的标准或协议,例如任何有线或无线协议,包括将来开发的任何标准或协议。
图3的过程控制器110包括处理器120,该处理器120实现或监督一个或多个过程控制例程118(例如,存储在控制器110的存储器122中)。处理器120被配置为与现场设备125-132和140-146通信以及与通信地连接到控制器110的其他节点通信。应当注意,如果需要,本文所述的任何控制例程或模块可以使其部分由不同的控制器或其他设备实现或执行。同样地,将在过程控制工厂100内实现的本文所述的控制例程或模块118可以采用任何形式,包括软件、固件、硬件等。控制例程可以以任何期望的软件格式(例如使用面向对象编程、梯形逻辑、顺序功能图、功能框图、或使用任何其他软件编程语言或设计范例)来实现。控制例程118可以存储在任何期望类型的存储器122(例如随机存取存储器(RAM)或只读存储器(ROM))中。同样地,控制例程118可以被硬编码到例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或任何其他硬件或固件元件中。因此,控制器110可以被配置为以任何期望的方式实现控制策略或控制例程。
控制器110使用通常被称为的功能块来实现控制策略,其中每个功能块是整体控制例程的对象或其他部分(例如,子例程),并结合其他功能块(通过称为链路的通信)进行操作以在MPDSC平台10内实现过程控制回路。基于控制的功能块通常执行以下中的一个:(i)输入功能,例如与变送器、传感器或其他过程参数测量设备相关联的输入功能(有时称为“输入块”);(ii)控制功能,例如与执行PID、模糊逻辑等的控制例程相关联的控制功能(有时称为“控制块”);或(iii)输出功能,其控制某些设备(例如阀)的操作以在过程控制工厂100内执行某些物理功能(有时称为“输出块”)。当然,存在混合功能块和其他类型的功能块。
功能块可以存储在控制器110中并由控制器110执行,这通常是这些功能块用于标准4-20mA设备或某些类型的智能现场设备(例如设备)或与之相关联的情况,或者功能块可以存储在现场设备本身中并由现场设备本身实现,这可以是现场总线设备的情况。一个或多个控制例程118可以实现一个或多个控制回路,一个或多个控制回路通过执行一个或多个功能块来执行。在某种意义上,控制例程118可以被视为控制器110的部件行为模块。
有线现场设备125-132可以是任何类型的设备,例如传感器、阀、变送器、定位器等,而I/O设备112和115可以是符合任何期望的通信或控制器协议的任何类型的过程控制I/O设备。例如,I/O设备112、115可以包括在I/O电子编组系统中。在图3中,现场设备125-128是通过模拟线路或组合的模拟和数字线路与I/O设备112通信的标准4-20mA设备或设备,而现场设备129-132是智能设备,诸如现场总线现场设备,其使用现场总线通信协议通过数字总线与I/O设备115通信。然而,在一些实施例中,有线现场设备125、126和128-131中的至少一些有线现场设备和/或I/O设备112、115中的至少一些I/O设备附加地或替代地使用过程控制数据高速通道108和/或通过使用其他合适的控制系统协议(例如Profibus、DeviceNet、FOUNDATION现场总线、ControlNet、Modbus、HART等)与控制器110通信。在一些布置(图3中未示出)中,现场设备125-132中的至少一些现场设备可以经由电子I/O编组系统而不是经由单独的I/O设备112、115与控制器110通信。
在图3中,无线现场设备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包括非无线设备。例如,在图3中,图3的现场设备148是传统的4-20mA设备,并且现场设备150是有线设备。为了在网络165内通信,现场设备148和150经由无线适配器152a、152b连接到无线通信网络165。无线适配器152a、152b支持无线协议(例如WirelessHART),并且还可以支持一个或多个其他通信协议(例如现场总线、PROFIBUS、DeviceNet等)。此外,在一些配置中,无线网络165包括一个或多个网络接入点155a、155b,其可以是与无线网关168进行有线通信的单独的物理设备,或者可以与无线网关168作为整体设备来提供。无线网络165还可包括一个或多个路由器58,用以将分组从无线通信网络165内的一个无线设备转发到另一无线设备。在图3中,无线设备140-146和152-158通过无线通信网络165的无线链路160、和/或经由过程控制数据高速通道108彼此通信并且与无线网关168通信。
工厂100的后端环境105
如所指出的,后端环境105可以包括各种部件(例如计算设备、操作员工作站、资料库或数据库等),这些部件通常被屏蔽和/或保护免受现场环境102的恶劣条件和材料的影响。例如,后端环境105可以包括以下中的任何一项或多项,其中每一项可以通信地连接到数据高速通道108:(i)一个或多个操作员工作站170a和其他本地或远程用户接口设备170b;(ii)一个或多个配置应用172a和配置数据库172b;(iii)一个或多个其他类型的应用175a和/或数据库175b,其可以包括例如工具、诊断(diagnostics)、资产管理系统、模拟器和/或其他类型的应用;(iv)一个或多个其他无线接入点178,其使用各种无线协议与和工厂100相关联的其他设备(例如,用户接口设备170b或其他设备)进行通信;(v)通往其他工厂的一个或多个工厂网关系统180;(vi)通往在物理过程控制平台100(例如,企业的IT网络/系统和/或外部数据网络/系统,其可以在云计算和/或其他合适的平台上实现)的即时的(immediate)OT层外部的系统185的一个或多个边缘网关系统182;和/或(vii)通过硬件和软件特别配置以支持过程工厂100的其他物理部件。
操作员工作站和用户接口设备170a、170b
操作员工作站170a和其他用户接口设备172b可被操作员用于查看和监视物理过程工厂100的运行时操作,以及采取可能需要的任何诊断、纠正、维护和/或其他动作。至少一些操作员工作站172a可以位于工厂100中或附近的各种受保护区域处,并且在某些情况下,至少一些操作员工作站172b可以位于远程,但是仍然与工厂10通信连接。操作员工作站172a、172b可以是有线或无线计算设备。
配置应用172a和配置数据库172b
配置应用172a和配置数据库172b可用于配置工厂100的某些方面,例如控制模块/例程、用户界面、数据监视/分析等。例如,配置应用的各种实例172a可以在一个或多个计算设备(未示出)上执行,以使用户能够创建或更改过程控制模块并经由数据高速通道108将这些模块下载到控制器110,创建或更改经由其操作员能够查看数据和更改过程控制例程内的数据设置的操作员界面,创建或更改可以被下载到现场环境102中的各种物理部件中的数据监视/分析例程和功能等等。配置数据库172b存储已创建的(例如,已配置的)模块、操作员界面、数据监视/分析等。通常,配置应用172a和配置数据数据库172b是集中式的并且具有对于物理过程控制平台100统一的逻辑外观,但是配置应用172a的多个实例可以在物理过程控制平台100内同时执行,并且配置数据库172b可以跨多个物理数据存储设备实现。因此,配置应用172a、配置数据库172b及对其的用户界面(未示出)包括用于各种类型的模块(例如,控制模块、显示或操作员界面模块和/或分析模块)的配置或开发系统172。通常(但不是必须),配置系统172的用户界面与操作员工作站/用户接口设备170不同,因为配置系统172的用户界面由配置和开发工程师使用,而不管工厂100是否在生产模式下运转,而操作员工作站/用户接口设备170由操作员在物理过程工厂100的运行时操作期间使用。
关于MPDSC平台100的物理部件的调试,配置数据库172b可以存储数据和其他信息,这些数据和其他信息专门标识和/或寻址计划或期望在过程工厂底层(floor)或现场环境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),每个设备标签(DT)分别表示特定的仪器、控制器、阀或其他物理现场设备,每个设备信号标签(DST)表示由特定设备接收或生成并且通常对应于现场设备所使用的特定参数的特定信号。对于某些设备,设备信号标签包括设备的设备标签和由该设备接收或生成的特定信号的标识符(例如控制模块引用的特定参数的标识符)的组合。对于某些设备(通常是传统设备或笨(dumb)设备),设备标签表示物理设备和该设备生成的信号两者。一般而言,物理过程工厂100在现场环境102和后端环境105中都使用设备的逻辑标识符来独特地标识该设备。DT和DST可以称为“系统标签”或“系统标识符”。
在某些情况下,智能现场设备129-132还可以存储对于智能现场设备129-132独特的逻辑标识符。这些逻辑标识符可以与工厂100用来标识现场设备129-132的系统标签不同,并且可以称为“源标识符”或“源标签”。源标签可以或可以不存储在配置数据库172b中,这取决于实现方式。
配置数据库172b可以存储数据和其他信息,这些数据和其他信息专门标识和/或寻址计划或期望在虚拟工厂环境12中实现的各种虚拟设备或部件(例如,各种虚拟节点30)。与物理设备和部件类似,配置数据库172可以存储虚拟环境12的部件的相应逻辑标识符,从而使其他设备和/或部件(无论是物理的还是虚拟的)能够引用虚拟部件。例如,类似于物理节点40x,各种虚拟节点30x可以经由它们相应的设备标签(DT)、设备信号标签(DST)、源标签、和/或其他类型的独特标识符在MPDSC平台10内(例如,跨虚拟环境12和物理环境15两者)被独特地标识。本公开内容的其他部分更详细地讨论虚拟设备和部件的配置和标识。
其他应用175a和数据库175b
其他应用175a和数据库175b可以包括特定于过程工厂100的应用的实例,例如诊断应用/数据库、数据历史库应用/数据库、系统级健康监视应用/数据库、本地和/或远程用户接口等。一般而言,其他应用175a和数据库175b可以包括在过程工厂100的OT层处执行的一个或多个应用及其关联的数据库。附加地或替代地,其他应用175a和数据库175b可以包括在与过程工厂100相关联的IT层20处执行的一个或多个应用,例如库存管理应用、人员管理应用、供应链管理应用、其他类型的企业相关的应用、天气/环境应用等,以及其关联的数据库。例如,其他应用175a和数据库175b可以包括应用21a-21n及其相关联的数据库。进一步附加地或替代地,其他应用175a和数据库175b可以包括在过程工厂100和/或其企业外部和/或远离过程工厂100和/或其企业执行的一个或多个应用,例如模拟应用、分析应用、IoT应用、IIoT应用等,以及其关联的数据库。例如,其他应用175a和数据库175b可以包括应用22a-22m及其关联的数据库。其他应用175a和数据库175b可以包括第三方应用和/或可以包括由与过程工厂100相关联的企业提供的应用。可以通过边缘网关系统28和/或某些其他类型的安全和/或防火墙系统访问其他应用175a和数据库175b中的至少一些。
无线接入点178
一个或多个其他无线接入点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
网关节点或系统180和182可以与即时的物理过程控制工厂100外部的系统对接。通常,此类系统是物理过程工厂100生成或操作的信息的客户或供应者。例如,过程控制工厂100可以包括工厂网关节点180,以将即时的物理过程工厂100与另一过程工厂通信地连接。附加地或替代地,过程控制工厂100可以包括边缘网关节点或系统182,以将即时的物理过程工厂100与外部公共或私有系统(例如实验室系统(例如,实验室信息管理系统或LIMS)、操作员巡回数据库、数据整合和查看系统、数据分析系统、材料处理系统、资产管理系统、维护管理系统、产品库存控制系统、生产调度系统、天气数据系统、运输和处理系统、包装系统、互联网、IOT应用、IIOT应用、或其他外部系统)通信地连接。
一般而言,边缘网关系统182允许在过程工厂100与其他网络185之间安全地传递通信。在示例性架构中,边缘网关系统182包括面向内部或面向工厂的引擎(其可以被称为“现场网关”)和面向外部或面向外面的引擎(其可以被称为“边缘网关”),其中面向工厂的引擎和面向外部的引擎协作以安全地将过程工厂数据(例如,由OT层生成的数据)传递到作为工厂数据的消费者的外部网络和/或应用(例如,IT层和/或外部网络和/或系统)。在许多实施例中的一个实施例中,面向工厂的引擎收集由过程工厂100的各个部件生成的数据,并且例如经由第一发布集合将所收集的数据跨一个或多个安全通信链路安全地传送到面向外部的引擎。面向外部的引擎已订阅了面向工厂的引擎生成的各种发布,并从中获得所收集的工厂数据。转而,面向外部的引擎例如经由第二发布集合将所获得的工厂数据安全地传送到网络185内的一个或多个外部客户端应用(例如,应用21a-21n、22a-22m)。可以根据需要分别配置面向工厂的引擎和/或面向外部的引擎处的发布和订阅。通常,尽管如此,在面向工厂的引擎与面向外部的引擎之间使用的发布/订阅、加密和/或其他安全数据传递机制不同于在面向外部的引擎与外部应用之间使用的发布/订阅、加密和/或其他安全数据传递机制。在一些实施例中,为了附加的安全性,边缘网关系统182包括单向数据二极管,该单向数据二极管设置在面向工厂的引擎与面向外部的引擎之间,以防止数据从外部网络185流到过程工厂100中。边缘网关系统的示例可以在美国专利公开号20180115516、20180115528、20180115517以及20180113442中找到,其全部公开内容通过引用并入本文中。当然,过程工厂100可以附加地或替代地使用其他边缘网关系统。
注意,尽管图3仅例示了包括在示例性物理过程工厂100中的单个控制器110、以及有限数量的现场设备125-132和140-146、无线网关168、无线适配器152、接入点155、路由器158和无线过程控制通信网络165,这仅是说明性而非限制性的实施例。可以在过程控制工厂或平台100中包括任何数量的控制器110,并且控制器110中的任何控制器可以与任何数量的有线或无线设备和网络125-132、140-146、168、152、155、158和165通信,以控制工厂100中的过程。
现在关于物理节点共同参考图1至图3,图1中所示的每个物理节点40a-40c和PNa-PNk可以是关于图3的过程控制工厂100所讨论的物理部件或设备中的相应一个。例如,PN40b可以是具有相应的Pub/Sub层42b并且经由I/O卡PNg通信地连接到现场设备PNh的过程控制器。在另一个示例中,PN 40c可以是六个不同的现场设备PNa-PNf通信连接到的CIOC(具有相应的Pub/Sub层42c),或者PN 40c可以是无线接入点178或不具有Pub/Sub层的各种其他物理部件PNa-PNf通信连接到的EIOC(具有相应的Pub/Sub层40c)。在又一示例中,PN40a可以是I/O编组设备或I/O中枢(hub)设备,其经由其Pub/Sub层42a来代表不具有Pub/Sub层的多个其他PN(例如PNi-PNk)传递I/O数据。I/O编组或中枢设备40a可以是独立设备,或者可以包括在设置在物理工厂环境15内的另一个物理部件中,例如在控制器110、I/O设备112、115(例如,CIOC、ECOC、WIOC等)、接入点178、网关180、182中等。此外,在某些实现方式中,边缘网关系统28及其Pub/Sub层38可以是物理节点,其例如以诸如关于图3所讨论的方式通信地连接(未在图1中示出)到物理工厂环境15的各种物理部件(例如,PN 40a-40c和PNa-PNk)。
I/O交换机
如上所述,图1所示的I/O交换机25用作针对虚拟通信网络45的节点之间的过程I/O数据的数据代理、交换结构或路由器。也就是说,交换机25代表发布节点将由发布节点生成的I/O数据转发给已订阅该数据的节点。一般而言,I/O交换机25可以维护(和更新)哪个节点发布了哪些I/O数据、以及哪些节点已经订阅了哪些发布的I/O数据的记录。在实施例中,可以通过跨MPDSC平台10独特的独特标识符、名称或标签、或者通过对其的相应指示,在记录内识别I/O数据。例如,独特标识符可以标识包括在I/O数据中的与过程有关的有效载荷数据和/或其发布节点。在实施例中,在配置和/或调试期间分配独特标识符、名称或标签。I/O交换机25利用所存储的记录来将传入的发布的数据路由到所发布的数据的订阅者。例如,I/O交换机25可以订阅由各种节点28、30x,40x发布的I/O数据,并且在经由其订阅接收到发布的I/O数据之后,I/O交换机25本身可以根据所存储的记录将接收到的I/O数据发布到选定的订阅者节点28、30x,40x。通常(但不是必须的),I/O交换机25不维护、记录或存储由虚拟通信网络45的其他节点发布的任何I/O数据和/或与过程相关的有效载荷数据。
重要的是,I/O交换机25被配置为以最小的延迟切换或转发接收到的过程I/O数据。实际上,在原型(prototype)中,I/O交换机25能够以数百微秒(例如,在500微秒以下,在200微秒以下,以及在100微秒以下,这取决于负载)度量的时间间隔通过I/O交换机25转发接收到的过程I/O数据。
一般而言,I/O交换机25可以经由硬件、固件和/或软件来实现。在示例中,使用一个或多个物理硬件设备来实现I/O交换机25,在该物理硬件设备上安装了专用软件以提供本文描述的I/O交换机25的至少一些功能;也就是说,可以将I/O交换机25实现为器具(appliance)。在另一个示例中,I/O交换机25被实现为可以被安装在计算设备的组或服务器上或由计算设备的组或服务器执行的软件(例如,程序、例程、应用等)以提供本文描述的I/O交换机25的至少一些功能。在又一示例中,I/O交换机25经由虚拟化(例如,作为虚拟机、容器(诸如Docker、LXD等)或另一类型的虚拟化实现方式)来实现。
I/O交换机25的Pub/Sub层35通常在配置和功能上类似于本公开内容中其他地方描述的Pub/Sub层32x、38、42x、55x。然而,I/O交换机25的Pub/Sub层35还被配置为接受和维护针对各种所标识的过程I/O数据的订阅请求。如上所述,订阅在I/O交换机25处记录并由I/O交换机25维护,例如在一个或多个有形的非暂时性存储器中。此外,I/O交换机25的Pub/Sub层35被配置为将发布的过程I/O数据转发到可以包括其他I/O交换机的订阅节点。
为了说明,图4描绘了可以被包括在图1的MPDSC平台10中的多个I/O交换机202、205、208、210的示例性布置200。在示例中,每个I/O交换机202、205、208、210具有与I/O交换机25类似的相应架构,包括相应的Pub/Sub层(如相应的标记线部分所指示的)。还类似于I/O交换机25,每个I/O交换机202、205、208、210经由虚拟通信网络225与相应的VN和/或PN212a-212n、215a-215m、218a-218p和220a-220q的集合相关联并且互连,其中相应的I/O交换机202、205、208、210通过发布和订阅(例如,以上述方式)在该相应的VN和/或PN的集合之间转发过程I/O数据。尽管布置200包括四个I/O交换机202、205、208、210,但是本文关于布置200所讨论的概念可以容易地应用于以网状拓扑结构互连的更多或更少数量的I/O交换机。
在图4中,每个I/O交换机202、205、208、210还能够经由虚拟通信网络225转发过程I/O数据到其他I/O交换机202、205、208、210中的每个I/O交换机。通过互连多个I/O交换机202、205、208、210,能够扩展服务的虚拟节点和/或物理节点的数量,以支持更大的系统10并提供附加的传递带宽。在布置200中,每个I/O交换机202、205、208、210可以代表其相应的VN/PN集合向其他I/O交换机202、205、208、210发布数据。类似地,每个I/O交换机202、205、208、210可以订阅由其他I/O交换机202、205、208、210代表其相应的VN/PN 212a-212n、215a-215m、218a-218p、220a-220q集合的转发的数据。
布置200将I/O交换机202、205、208、210中的每个I/O交换机例示为直接链接到其他I/O交换机202、205、208、210中的每个其他I/O交换机。也就是说,虚拟通信网络225具有完全互连的或网状的拓扑结构。因此,在该布置200的一实现方式中,从发布者节点到订阅者节点的最大传输延迟被约束,因为特定的过程I/O数据有效载荷可以经历的最大跳数为三。在布置200的其他实现方式中,最大跳数可以不同。例如,当使用诸如时间定序(time-sequencing)联网之类的时间定序能力或其他合适的时间定序能力时,可以增加最大跳数,例如用于监视流量。如果需要,可以配置和修改布置200内的最大跳数。
当然,除了或替代用于虚拟通信网络225的网状拓扑结构,其他互连拓扑结构(例如,中枢辐射、星型、环型、树型、混合型等)也是可能的。一般而言,对由特定发布节点(例如节点215a)发布的过程I/O数据的订阅是由其对应的I/O交换机(例如I/O交换机205)进行和管理的。然而,如果I/O交换机205没有请求订阅的特定数据的记录,则I/O交换机205可以将订阅请求转发到其他I/O交换机202、208、210。与发布所请求的数据的节点相对应的特定I/O交换机(例如,与发布节点220q相对应的I/O交换机210)将具有与所请求的数据及其发布节点220q相对应的记录,并将响应与进行请求的节点215a相对应的I/O交换机205,I/O交换机105可以在进行请求的节点215a上创建和存储针对所请求的数据的对应记录。以这种方式,针对所请求的数据的、经由I/O交换机210、205从发布节点220q到订阅节点215a的穿越路线可以被建立。
在实施例中,可以跨多个MPDSC系统10实现布置200。例如,I/O交换机202可以包括在第一MPDSC系统中,并且I/O交换机205可以包括在不同的MPDSC系统中。这样,不同的MPDSC系统可以经由虚拟通信网络225的一个或多个链路发布和/或订阅彼此的过程I/O数据。
实时虚拟控制和关联操作
如上所述,虚拟节点30x可以虚拟化可在物理工厂环境15中操作的各种物理部件的行为。此外,由于MPDSC平台10的特征,虚拟工厂环境12的虚拟化的部件30x可以结合物理工厂环境15的物理部件进行操作,以在运行时期间对工业过程工厂执行实时控制,从而从原材料生成物理产品。同时参考图1、图2和图3以进行说明,过程控制器110可以被虚拟化为具有架构52a的虚拟节点30a。这样,代替物理过程控制器110在运行时期间执行其对应的控制模块或例程118,虚拟节点110/30a包括控制模块或例程118作为其CBM 58a,并在运行时期间执行对应的控制模块或例程118,其可以包括经由I/O交换机25向设置在物理环境15内的各种现场设备发送信号和从设置在物理环境15内的各种现场设备接收信号。
例如,在工业过程工厂100的运行时期间,虚拟控制器110/30a可以通过物理I/O设备115接收由现场设备129生成的数据。在该示例中,物理I/O设备115在图1中由物理节点PNg表示,现场设备129在图1中由物理节点PNh表示,并且物理节点40b是I/O中枢设备。由现场设备PNh生成的数据有效载荷经由I/O设备PNg被传递到作为虚拟通信网络45的节点的I/O中枢设备40b。I/O中枢设备40b可以向I/O交换机25发布数据有效载荷,该数据有效载荷由现场设备PNh生成并由I/O中枢设备40b发布,I/O交换机25具有对该数据有效载荷的订阅。转而,I/O交换机25可以将由现场设备PNh生成的有效载荷数据发布到虚拟控制器110/30a,于是虚拟控制器110/30a的CBM 58a(例如,控制模块/例程118)可以对现场设备PNh生成的有效载荷数据进行操作。CBM 58a可以生成要通过虚拟通信网络45传递到另一个虚拟或物理节点的输出有效载荷数据。
在另一个示例中,在工业过程工厂100的运行时期间,虚拟控制器110/30a可以接收由无线现场设备142a生成的数据。在该示例中,物理无线现场设备142a在图1中由物理节点PNa表示,并且物理无线网关168由PN 40c表示。无线网关PN 40c接收由无线现场设备PNa生成的有效载荷数据。由于PN 40c是虚拟通信网络45的节点,因此PN 40c向I/O交换机25发布I/O交换机25具有订阅的、无线现场设备PNa所生成的有效载荷数据。转而,I/O交换机25可以将由现场设备PNa生成的有效载荷数据发布到虚拟节点30b,其中,虚拟节点30b被配置为诸如I/O设备115之类的I/O设备的表示。虚拟I/O设备30b已订阅由现场设备PNa生成并由I/O交换机25转发的有效载荷数据。这样,虚拟I/O设备30b通过其订阅获得由无线现场设备PNa生成的有效载荷数据,并且将所获得的由现场设备PNa生成的有效载荷数据重新发布到I/O交换机25,以便转发给适当的订阅者。I/O交换机25可以转而将所获得的由虚拟I/O设备30b发布的现场设备PNa的有效载荷数据发布给其相应的订阅者,该订阅者(在该示例中)包括虚拟控制器30a。在虚拟控制器30a处经由对有效载荷数据的订阅而接收到该有效载荷数据之后,虚拟控制器30a的CBM 58a(例如,控制模块/例程118)可以对由无线现场设备PNa生成的有效载荷数据进行操作。CBM 58a可以生成要通过虚拟通信网络45传递到另一个虚拟或物理节点的输出有效载荷数据。
工业过程工厂的物理部件的虚拟化提供了优于完全使用物理部件来实现的工业过程工厂的许多益处。虚拟化的部件允许工业过程工厂灵活地按比例放大和/或缩小部件的大小和数量,其中对硬件占用空间的更改最小,并且降低了安装成本。由于虚拟节点可以表示物理设备的全部或仅其一部分,因此可以轻松地缩放控制,例如,根据需要跨多个虚拟节点。另外,例如,MPDSC平台10通过I/O的抽象提供I/O灵活性,使得控制器对实际配置和下载的I/O模块分配的依赖性较小。也就是说,至少由于I/O交换机25,可以消除物理I/O设备和控制器以及现场设备之间的I/O绑定决定。此外,通过使用虚拟物理部件,可以轻松实现对虚拟化的物理部件的软件升级。更进一步地,通过使用MPDSC平台10,物理部件的行为的模拟和在线测试也容易实现并且相对于当前已知的技术得以改进。
虚拟化管理节点
图5是例示了支持图1的MPDSC系统10的配置、调试、管理和治理的示例性架构的框图。为了清楚起见而非出于限制的目的,本文中同时参考图1-图4来讨论图5。如图5所示,虚拟化管理节点300(在本文中可互换地称为“VMN 300”或“虚拟节点300”)创建、配置和管理MPDSC系统10的虚拟化的部件,例如I/O交换机25、各种虚拟节点30x、虚拟PIO子系统60、发布/订阅层32x、35、38、42x等。VMN300自动执行虚拟部件的创建、配置和管理中的至少一些。附加地或替代地,VMN 300基于手动指令(例如经由VMN 300的用户接口302接收的手动指令)来执行虚拟部件的创建、配置和管理中的至少一些,该用户接口302可以是本地的或远程用户接口。此外,虚拟化管理节点300驱动和/或协调虚拟过程环境12的模拟活动,这可以在模拟期间在有和/或没有在线用户输入的情况下执行,如下面更详细地描述的。
虚拟部件的配置、治理和管理
在实施例中,在虚拟环境12及其部件的配置和/或调试期间,VMN 300访问工厂的系统配置数据库(例如,VMN 300经由数据高速通道108访问工厂100的配置数据库172b),并且基于所获得的配置,VMN 300确定最佳地支持(或期望支持)工厂配置的虚拟节点、虚拟模板和/或子系统、I/O交换机和/或其他虚拟部件的类型和数量。VMN300创建各种类型和数量的虚拟节点30x,并且将I/O交换机25和虚拟节点30x配置为经由虚拟通信网络45(例如,经由相应的发布/订阅层32x以及对于某些VN 30x,经由虚拟PIO子系统60)进行通信。对于某些工厂配置,VMN 300可以创建发布/订阅层42x的实例(以及可选地,虚拟PIO子系统60的实例)并将其分派到物理工厂环境15的各种物理部件40x。这样,VMN 300可以创建、配置和管理虚拟通信网络45的任何数量的节点25、28、30x,40x,其可以包括结合物理工厂的物理部件来操作的虚拟部件,以执行实时控制和/或动态模拟。
虚拟通信网络45及其节点25、28、30x,40x的配置可以存储在系统配置数据库172b中,和/或可以本地存储在虚拟环境配置数据库305中。在一些实现方式中,虚拟工厂环境12的配置的主版本存储在系统配置数据库172b中(连同物理工厂环境15的配置),并且虚拟工厂环境12的主配置的副本本地存储在虚拟环境配置数据库305中。在一些实现方式中,虚拟工厂环境12的配置的主版本存储在虚拟环境配置数据库305中,并且虚拟工厂环境12的主配置的副本存储在系统配置数据库172b中(连同物理工厂环境15的配置)。VMN 300协调对存储在虚拟环境配置数据库305中的数据和存储在系统配置数据库172b中的相关数据的更改管理和同步。
当工厂100在过程工厂100的运行时期间执行操作过程控制时,VMN 300可以关于例如由支持虚拟环境12的物理计算平台(例如,支持虚拟环境12的硬件计算设备的平台)提供的硬件和/或软件资源的资源加载情况、资源可用性、资源带宽、故障发生、以及其他性能问题监视I/O交换机25、虚拟节点30x、虚拟通信网络45和任何关联的节点(例如物理节点40x、28)。基于检测到的状况和/或预测的状况,VMN 300可以在运行时操作期间自动执行缓解动作(例如调整资源分配、激活备用虚拟节点、创建和/或删除虚拟节点等),例如,以用于负载平衡、故障恢复和其他性能目的。作为示例,VMN 300可以分析性能瓶颈并执行自动均衡操作以缓解任何检测到的瓶颈。例如,VMN 300可以响应于虚拟通信网络45上的虚拟网络业务量而在过程数据级别上执行自动均衡,和/或VMN 300可以在物理计算设备级别上执行自动均衡,使得CPU和/或物理网络利用率跨在其上实现虚拟环境12的物理计算设备、物理数据链路和/或物理网络而被平衡。
在管理上,VMN 300可以执行各种虚拟节点、虚拟模板和子系统以及相关联的过程数据的保存、快照、备份、迁移、恢复等,并且VMN 300可以执行整个虚拟环境12本身的保存、快照、备份、迁移、恢复等。在实施例中,由VMN 300执行的每个管理动作可以应用于由对象(subject)虚拟节点模拟的逻辑的全部(例如,由对象虚拟节点的CBM 58的集体集合执行的逻辑的全部)。例如,当创建并保存虚拟控制器的快照时,VMN 300不仅可以保存由虚拟控制器接收、操作、生成、以及指示虚拟控制器的数据及其互连和操作状态,而且VMN 300还可以将与虚拟控制器相结合执行的模块的关联数据作为快照的一部分进行保存,即使此类模块被托管在其他节点上和/或模拟其他物理部件。在另一示例中,当创建并保存虚拟CIOC的快照时,VMN 300可以保存与虚拟CIOC的虚拟机级别相对应的数据,和/或VMN 300可以保存由虚拟CIOC观察到的过程模拟值。
动态模拟
如上所述,MPDSC系统10支持整个过程工厂100和/或其部分的动态模拟。例如,MPDSC系统10提供实时模拟,其中该实时模拟镜像了对应的物理部件和/或物理操作过程的至少部分的运行时时序、值和/或其他行为。如本文所使用的,术语“模拟”和“模拟运行”可互换地使用,并且模拟或模拟运行是有界的。也就是说,每个模拟或模拟运行具有相应的开始和相应的结束,其可以需要来定义,例如基于时间、参数值、状态、用户命令、和/或其他标准。
另外,MPDSC系统10提供对模拟的操控,例如加快或放慢模拟执行的速度、暂停模拟、插入和/或修改各种值、更改初始条件等。可以完全在MPDSC系统10的虚拟环境12中执行模拟,和/或可以使用一个或多个虚拟或模拟部件结合一个或多个物理部件来执行模拟(例如,由虚拟环境12中的虚拟节点模拟的控制器的配置可以与设置在物理环境15中的物理现场设备通信,以测试模拟的控制器行为)。一般而言,MPDSC系统10提供了一种平台,工程师和用户可以通过该平台测试和检查草案控制策略和草案操作员显示、研究过程改进、执行操作员培训、执行案例研究等。VMN300管理、协调和驱动MPDSC系统10所支持的模拟活动。
特别地,VMN 300创建、配置和管理模拟物理工厂100的至少一部分的虚拟节点25、30x和其他虚拟部件28、32、35、38、42x、60。仅用于模拟目的(而不是用于运行时控制目的)的虚拟节点25、30x在本文中可互换地称为“模拟节点”。例如,VMN300可以生成工厂配置数据库172b所描述的整个运行时控制系统的镜像模拟系统,例如通过使用模拟节点,该模拟节点模拟集成的物理硬件部件,诸如控制器110、工作站170a,和/或其他物理设备,以及其对应的网络互连(在某些实现方式中,向下模拟到MAC地址级别)。在另一示例中,VMS 300可以生成一个或多个单独的物理部件的相应模拟,每个物理部件可以以独立模式执行或结合一个或多个其他模拟的、虚拟的和/或物理的部件执行。例如,VMS 300可以在虚拟环境12内生成当前在物理环境15内操作的物理部件的虚拟孪生,例如以测试要被应用于物理部件的新控制配置、升级、补丁等。在另一个示例中,VMS 300可以生成特定物理部件的MAC地址级别行为的模拟。在又一个示例中,VMS 300可以生成单一的(例如,单个)模拟节点,其模拟一组物理设备、部件或节点(诸如控制回路或操作员显示视图)的实时操作行为。
关于配置在过程控制系统100的虚拟环境12和物理环境15内使用的数据值的类型,在实施例中,系统过程数据定义(其可以经由系统配置应用172a和/或经由VMS 300进行配置)定义要模拟在过程工厂100内使用的哪些数据值(和/或其类型),并且VMS 300将相应的数据标签(例如,标识符)分配给要模拟的数据值(和/或其类型)。例如,VMS 300可以自动将数据标签分配给要模拟的至少一些数据值和/或数据类型,和/或VMS 300可以例如经由用户接口302接收要模拟的至少一些数据值和/或数据类型的手动生成的数据标签。模拟的数据值和/或数据类型的已分配的数据标签可以存储在虚拟环境配置数据库305和/或系统配置数据库172b中。
另外,VMN 300驱动和/或协调整个物理工厂100和/或其部分的模拟。为此,虚拟环境12提供模拟器API(应用编程接口)310或其他合适的访问机制,经由模拟器API 310或其他合适的访问机制,诸如用户接口302、IT层应用21x和/或第三方或外部应用22x之类的应用可以与虚拟环境12对接以用于模拟目的。在实施例中,虚拟环境12内的VMN 300或其他计算设备托管模拟器API 310和/或将模拟器API 310暴露给其他应用。
如图5所示,模拟器API 310经由I/O交换机25向/从虚拟环境12和包括在其中的模拟部件传送模拟数据值(在本文中也可互换地称为“模拟数据值”、“模拟的值”和/或“模拟值”)。一般而言,模拟运行时过程数据经由节点的相应的Pub/Sub层在28、30x与模拟器API310之间传递。例如,模拟节点28、30x、310可以经由I/O交换机25将运行时过程数据发布到一个或多个其他模拟节点28、30x、310,并且模拟节点28、30x、310可以订阅由一个或多个其他模拟节点28、30x、310生成并经由I/O交换机25接收的运行时数据。另一方面,在实施例中,不是运行时过程数据的模拟数据值(例如,可配置的以及通常在物理环境15的下载时间期间分配的数据值)可以在变化的基础上在模拟节点28、30x、310之间传递,例如仅在数据的相应值改变时。
模拟器API 310被配置有虚拟环境12内的模拟部件的名称、数据标签、标识符、数据定义、通道数据等(例如,基于存储在虚拟配置数据库305中的数据),并且模拟器API 310还被配置为使用一个或多个工业和/或通用通信/数据协议进行通信,该协议可以是标准化协议,例如OPC、以太网、IPv6等。这样,模拟器API 310用作虚拟环境12内的模拟部件与其他应用302、21x,22x之间的数据传递和传输机制,这些其他应用302、21x,22x是模拟数据的消费者和/或提供者并且使用一个或多个工业和/或通用通信/数据协议。例如,第三方模拟应用可以使用模拟器API 310来注入测试值以供模拟部件使用,更改模拟运行的初始条件等。
附加地或替代地,模拟器API 310处理经由用户接口302和/或由其他应用21x、22x提供的模拟命令。例如,模拟器API 310可以接收模拟命令以加快和/或放慢模块执行的速度(其中至少一些在虚拟环境12中进行模拟)和/或加快和/或放慢I/O处理的速度,并且可以相应地驱动关联的模拟节点30x、28和/或虚拟通信网络45的时序和动作。在另一个示例中,模拟器API 310可以接收模拟命令以在模拟期间注入和/或更改各种数据值。此外,模拟器API 310可以接收管理模拟命令以例如保存快照、获取保存的快照、从保存的数据恢复等,并且可以作为响应执行对应的动作。例如,模拟器API 310可以接收并响应模拟命令以保存、获取、恢复整个过程工厂100的模拟(例如,到/来自虚拟环境配置数据库305和/或到/来自系统配置数据库172b)等以及保存、获取、恢复过程工厂100的一个或多个节点或部件的模拟等。
一般而言,模拟API 310是有状态的。也就是说,当模拟执行时,模拟API 310知道模拟和与其关联的部件(例如,虚拟、物理和/或模拟设备;虚拟、物理和/或模拟模块;其他类型的虚拟、物理和/或模拟部件;通过该模拟来至少部分地模拟的过程;整体模拟的状态;等等)的各种状态,并基于各种状态来响应接收到的命令。例如,响应于保存命令,模拟API310可以将过程数据与指示关联部件的状态的数据一起保存。在另一个示例中,当为了测试目的而模拟在控制器内执行的修改后的控制模块时,模拟API 310可以允许用户更改关联模块的状态以确定修改后的控制模块将如何响应关联模块的不同状态。
图6是在工业过程工厂的过程控制系统中平衡执行实时控制的多个虚拟节点的负载和/或性能水平的示例性方法的流程图。方法400的实施例的至少一部分可以通过图1的多用途动态模拟和运行时工业或过程控制(MPDSC)系统或平台10的一个或多个部分和/或其任何一个多个部件来执行。在实施例中,方法400可以结合以下各项来执行:图2的虚拟节点52a、52b的实施例的一个或多个部分;图3的物理工厂环境100的实施例的一个或多个部分和/或其任何一个或多个部件;图4的I/O交换机的布置200的实施例的一个或多个部分;和/或图5的虚拟化管理节点300的实施例的一个或多个部分。例如,方法400的至少一部分可以由图5的VMN 300执行。出于说明而非限制的目的,本文同时参考图1-5的各部分描述了方法400。此外,在实施例中,除了本文描述的步骤之外,方法400可以包括更多、更少和/或替代步骤。
如图6所示,方法400包括在工业过程工厂的运行时操作期间,检测和/或预测在虚拟化平台上发生的一个或多个状况,在过程控制系统的的多个虚拟节点正在操作以控制工业过程时在该虚拟化平台上实现该多个虚拟节点,例如在通过将数据发布到I/O交换机并订阅由I/O交换机发布的数据来执行实时控制时(框402)。虚拟化平台可以类似于图1的MPDSC 10,或者虚拟化平台可以是在其上实现执行实时控制的虚拟节点的不同平台。在示例性实施例中,在虚拟化平台上实现的虚拟节点类似于图1的虚拟运行时节点30a-30p和/或图2的52a、52b,并且I/O交换机类似于图1的I/O交换机25或一组I/O交换机(例如图4中所示的I/O交换机的布置200)。
多个虚拟节点可以被设置在工业过程工厂的虚拟环境中,并且可以例如经由它们相应的发布/订阅层来发布数据(例如,其他节点和/或设备在实时控制期间使用的I/O数据)。另外,多个虚拟节点可以例如获取虚拟节点分别经由其相应的发布/订阅层已经订阅的发布的数据(例如,多个虚拟节点在实时控制期间利用的I/O数据)。类似地,I/O交换机可以经由其发布/订阅层来发布数据(例如,在实时控制期间使用并且由多个虚拟节点中的一个或多个虚拟节点订阅的I/O数据),以及I/O交换机可以获取已由多个虚拟节点发布的并且I/O交换机已通过其发布/预订层订阅的数据(例如,实时控制期间使用的I/O数据),例如用于转发或传送到其他节点/设备。
I/O交换机被包括在工业过程工厂的过程控制系统中,并且将多个虚拟节点通信地连接到设置在工业过程工厂的物理环境中的多个物理节点。多个物理节点包括至少一个现场设备,并且在一些布置中,可以包括执行物理功能以实现对工业过程的实时控制的多个现场设备。多个物理节点在工业过程工厂的运行时操作期间进行操作,以通过执行它们相应的物理功能并通过经由I/O交换机向多个虚拟节点发送数据并且从多个虚拟节点接收数据来控制工业过程,其中,数据指示或涉及物理节点的相应物理功能。例如,多个物理节点可以类似于图1的物理节点40a-40c和PNa-PNk。多个物理节点可以经由诸如层42a-42c的相应发布/订阅层与I/O交换机通信。这样,操作以控制工业过程的至少一部分的过程控制系统的过程控制回路可以包括至少一个虚拟节点、I/O交换机和经由相应的发布/订阅层向彼此传送I/O数据(以及在某些情况下,其他类型的数据)的至少一个物理节点。
在施例中,虚拟化平台包括一个或多个互连的计算设备,其包括一个或多个处理器和一个或多个有形存储器。一个或多个有形存储器存储特定的计算机可执行指令,该特定的计算机可执行指令在由一个或多个处理器执行时使一个或多个互连的计算设备提供多个虚拟节点,并且在一些实施方式中,提供互连多个虚拟节点的一个或多个网络或链路。虚拟化平台可以被实现为服务器组、云计算网络、分布式计算系统或其他合适的布置。
一般而言,多个虚拟节点中的每个虚拟节点通过利用驻留在每个虚拟节点上的相应的一个或多个部件行为模块(CBM)进行操作以控制工业过程的至少一部分。每个部件行为模块对相应的输入数据(例如,驻留虚拟节点可能已经通过对应的订阅及其相应的发布/订阅层接收到的输入数据)进行操作,以生成输出数据(例如控制信号)。每个虚拟节点可以(例如,经由其相应的发布/订阅层)将生成的输出数据发布到I/O交换机。I/O交换机经由对应的订阅获取发布的输出数据,并且可以将输出数据的内容发布给其一个或多个订户(例如,另一个虚拟节点、物理节点等),以供例如订户和/或与订户有关的设备用于控制工业过程。每个CBM可以虚拟化可部署在工业过程工厂的物理环境中的一个或多个物理部件,和/或可以例如以如上所述的方式虚拟化一个或多个物理部件的一个或多个子部件。。
这样,多个虚拟节点对由I/O交换机发布的各种数据和/或数据类型(例如,用于实现实时控制的I/O数据以及可选的其他数据)的相应订阅、I/O交换机对分别由多个虚拟节点发布的各种数据和/或数据类型的订阅、I/O交换机对各种数据和/或数据类型的发布以及由多个虚拟节点分别发布的多种数据或数据类型的发布可以基于I/O分配。如本文先前所讨论的,I/O分配指示逻辑标识符或标签与I/O数据、I/O数据类型、发送节点和/或接收节点之间的关联。逻辑标识符或标签在I/O交换机内是唯一的,在某些布置中,在虚拟化平台内也是唯一的。逻辑标识符/标签与I/O数据、I/O数据类型、发送节点和/或接收节点的相应关联可以基于存储在工业过程工厂的系统配置数据库(例如配置数据库172b)中的信息来确定(例如,在配置和/或调试期间)。但是,在I/O交换机使用的逻辑标识符/标签与系统配置数据库中使用的逻辑标识符/标签之间不必一一对应。例如,逻辑标识符/标签的语法可以不同(例如,出于性能目的),I/O交换机所使用的逻辑标识符/标签可以被抽象到的对象,I/O交换机所使用的逻辑标识符/标签可以指数据和/或节点的分组、类别和/或相关集合等。一般而言,每个订阅对应于I/O交换机已知的多个I/O分配的相应子集,并且每个发布对应于I/O交换机已知的多个I/O分配的相应子集。
现在回到框402,检测和/或预测在虚拟化平台处发生的一个或多个状况可以包括检测和/或预测虚拟化平台的至少一部分的性能问题,例如硬件、软件、网络和/或链接资源和/或部件的加载、硬件、软件、网络和/或链接资源和/或部件的可用性、硬件、软件、网络和/或链接资源的带宽以及虚拟化平台本身和/或虚拟化平台包括的任何物理和/或逻辑计算平台的其他类型的性能问题。检测和/或预测在虚拟化平台处发生的一个或多个状况可以包括检测已经发生的故障和/或预测在虚拟化平台本身和/或虚拟化平台包括的物理和硬件的任何部件中将发生故障。检测和/或预测在虚拟化平台处发生的一个或多个状况可以包括检测虚拟化平台的某些性能方面或度量已经发生变化和/或预测虚拟化平台的某些性能方面或度量将在虚拟化平台本身中和/或在虚拟化平台包括的物理和/或逻辑计算平台的任何部件中将发生变化。一般而言,检测和/或预测一个或多个状况(框402)可以包括检测和/或预测影响和/或将影响虚拟化平台的操作性能的任何状况。
在框405处,方法400包括基于检测到的和/或预测的一个或多个状况来平衡与多个虚拟节点相对应的负载或性能水平中的至少一个。平衡与多个虚拟节点相对应的负载或性能水平中的至少一个(框405)可以包括执行与多个虚拟节点有关的调整。例如,平衡负载或性能水平中的至少一个可以基于I/O交换机已知的多个I/O分配和/或由哪个虚拟节点处理对I/O分配的改变。例如,在框405处,可以将多个I/O分配中的至少一部分重新分配给不同的节点,从而减轻检测到的和/或预测的状况的影响。附加地或替代地,平衡与多个虚拟节点相对应的负载或性能水平中的至少一个(框405)可以包括修改多个虚拟节点以由此减轻所检测到的和/或所预测的状况的影响。例如,可以从多个虚拟节点中删除一个或多个虚拟节点,可以创建一个或多个附加虚拟节点并将其添加到多个虚拟节点中,可以将不同的虚拟节点从由平台的计算设备的第一子集支持转移到平台的计算设备的另一个子集支持等。
平衡与多个虚拟节点相对应的负载和/或性能水平(框405)可以包括与在其上实现多个虚拟节点的虚拟化平台有关的调整和/或虚拟化平台的各种部件的使用率。例如,可以基于和与虚拟化平台有关的相应性能方面或度量的最大、最小和/或目标阈值相关联的一个或多个边界状况(例如,每个服务器或单个处理器的处理器容量不超过X%,目标最小网络可用性不低于Y%,等等)来平衡负载和/或性能水平(框405)。边界状况可以例如在虚拟化平台的配置和/或调试期间预先确定。各种边界状况可以在工业加工厂的运行时间操作期间被修改或改变,例如,响应于经由用户接口接收到的用户输入而手动地和/或基于检测到的状况而自动地。因此,可以基于改变的边界状况来重新平衡与多个虚拟节点相对应的负载和/或性能水平。
在一些实施例中,平衡与多个虚拟节点相对应的负载或性能水平中的至少一个(框405)包括调整与虚拟化平台和/或其部件相对应的一种或多种类型的负载(或其目标)。例如,软件资源负载、硬件资源负载、存储器资源负载和/或与整个虚拟化平台相对应的和/或与虚拟化平台包括的处理器、有形存储器、计算设备、网络和/或链路中的任何一个或多个相对应的业务负载可以被调整到不同水平和/或目标水平。
在一些实施例中,平衡与多个虚拟节点相对应的负载或性能水平中的至少一个(框405)包括和与虚拟化平台和/或其部件相对应的一种或多种类型的性能度量(或其目标)有关的调整。例如,可以将虚拟化平台中包括的一个或多个处理器、计算设备、网络和/或链路的利用率调整为不同的利用率水平和/或目标利用率水平。
关于方法400,在实施例中,基于检测到的和/或预测的状况(框405)来检测和/或预测一个或多个状况(框402)在没有任何在线用户输入的情况下执行。即,过程控制系统可以在运行时操作期间在没有被任何相关的用户输入触发和/或接收任何相关的用户输入的情况下自动执行方法400。在实施例中,虚拟化管理节点(例如VMN 300)可以执行方法400的一个或多个部分。另外地或替代地,多个虚拟节点中的一个或多个虚拟节点、I/O交换机和/或虚拟化平台的某些其他部件可以执行方法400的一个或多个部分。
因此,鉴于上述内容,用于动态模拟的新颖的多用途平台和运行时控制平台10提供了超过已知过程控制系统的众多益处和优点。例如,由于MPDSC平台10通过虚拟部件支持模拟和运行时控制两者,因此可以在虚拟环境12中通过模拟部件执行对变化的测试(例如,升级、补丁等),并在令人满意的检查后,可以容易地将模拟部件激活为过程工厂100的虚拟部件(例如“加载,评估,运行”,无扰动或热切换等)。这样,可以更轻松地完成模拟部件到运行时部件的切换,并减少了由于升级、补丁和计划的维护而导致的停机时间。此外,还大大减少了用于提供各种部件的虚拟化热备件并在故障或错误情况下使虚拟化热备件在线的资源量。
此外,由MPDS平台10提供运行时虚拟部件允许工厂100内的硬件与软件之间的独立性。例如,在过程控制系统100的运行时期间使用的控制器软件可以在运行时虚拟控制器中进行升级,而无需升级或更改任何物理控制器硬件。类似地,由于硬件/软件的独立性,MPDS平台10允许过程工厂100的硬件独立于软件升级而被升级。
另外,提供运行时虚拟部件及其治理和/或管理(例如,通过MPDSC平台10的VMS300)还允许简单且成本更低的系统可伸缩性,因为可以在虚拟环境12中轻松实现附加的虚拟部件,而无需付费、安装、测试、调试和检查不同的物理硬件部件以及所需的机柜、布线等。实际上,当需要附加的虚拟部件来支持系统100时,可以根据需要创建虚拟部件,直到在其上实现虚拟环境12的物理计算设备和/或硬件的处理和/或存储器限制,之后可以简单地向其添加附加物理计算设备和/或硬件。
由MPDS平台10提供的虚拟环境12使得能够创建各个部件的数字孪生和/或对整个过程工厂100进行虚拟模拟,例如,用于测试、热备件、升级、补丁、计划的维护以及/或其他目的。数字孪生(例如,特定部件和整个过程工厂100的数字孪生)可以利用对它们各自的特定物理部件的更新来以锁步(lock-step)的方式进行更新。也就是说,状态信息可以经由MPDSC平台10从物理节点传递到虚拟节点。实际上,MPDSC平台10提供了对变化和/或不同场景(例如,“假设”场景)的增强的在线测试,并且在某些情况下,结合了过程工厂100的运行时虚拟和/或物理部件。由于通用MPDS平台10(尤其是MPDS平台10的虚拟环境12)被构建并用于模拟和运行时控制目的两者,因此无需任何配置更改即可轻松完成非模拟(off-simulation)。
此外,由于MPDS平台10从I/O与特定硬件的特定直接关联抽象出过程工厂的I/O,所以工厂100中的I/O配置更加灵活,不仅在运行时期间还在升级、维护、故障等期间易于更改和适应。重要的是,I/O设备与其他部件(例如CIOC和控制器)之间的通信连接不再受物理I/O设备上可用的物理端口的限制。当I/O在MPDS平台10内被抽象时,虚拟I/O设备与其他部件之间的任何数量的通信连接在逻辑上都是可能的,直到在其上实现虚拟环境12的物理计算设备和/或硬件的处理和/或存储限制,之后,可以简单地向其添加附加的物理计算设备和/或硬件。类似地,由于MPDS平台10内的I/O的抽象,控制模块和/或其他CBM 58可以被分配给任何虚拟主机设备或部件,而不用担心主机设备或部件的I/O位置和/或加载,这在使用物理主机设备或部件时是必需的。也就是说,如前所述,虚拟部件(无论是用于模拟还是用于运行时控制目的)都可以利用来自物理部件或其他虚拟部件的I/O进行操作。这样,MPDS平台10能够抽象(例如,通过利用I/O交换机25)冗余、重试和当前与当前已知技术内的特定实现相关联的其他机制,从而可以跨多种不同类型的应用、场景和实现利用抽象,例如,针对特定实现和/或应用对各种抽象进行选定的定制和特殊化。因此,MPDS平台10能够以一致且易于扩展的方式支持更多数量和类型的I/O系统(与当前已知的技术相比)。
当以软件实现时,本文描述的任何应用、服务、虚拟设备、垂直机器、虚拟实体等可以存储在任何有形的、非暂时性的计算机可读存储器中,例如在磁盘、激光盘、固态存储器设备、分子存储器存储设备或,其中存储介质上,在计算机或处理器的RAM或ROM中,等等。尽管本文公开的示例性系统被公开为包括除其他部件之外的在硬件上执行的软件和/或固件,应当注意,这样的系统仅是说明性的,不应视为限制性的。例如,可以预期的是,这些硬件、软件和固件部件中的任何一个或全部可以仅以硬件,仅以软件或以硬件和软件的任何组合来体现。因此,尽管本文描述的示例性系统被描述为以在一个或多个计算机设备的处理器上执行的软件来实现,但是本领域普通技术人员将容易理解,所提供的示例不是实现这种系统的唯一方式。
因此,尽管已经参照具体示例描述了本发明,这些具体示例仅用于说明而不是限制本发明,但是对于本领域普通技术人员而言显而易见的是,可以在不脱离本发明的精神和范围的情况下,对所公开的实施例进行更改、添加或删除。
Claims (43)
1.一种工业过程工厂的系统,所述系统包括:
多个虚拟节点,所述多个虚拟节点设置在所述工业过程工厂的虚拟环境中,所述多个虚拟节点在所述工业过程工厂的运行时操作期间进行操作,以通过将数据发布到I/O交换机并订阅由所述I/O交换机发布的数据来控制工业过程,所述I/O交换机将所述多个虚拟节点通信地连接到设置在所述工业过程工厂的物理环境中的多个物理节点,所述多个物理节点包括至少一个现场设备,并且所述多个物理节点在所述工业过程工厂的所述运行时操作期间进行操作,以通过经由所述I/O交换机向所述多个虚拟节点发送数据和从所述多个虚拟节点接收数据来控制所述工业过程;
所述多个虚拟节点虚拟化以下各项中的至少一项:(i)能够部署在所述工业过程工厂的所述物理环境中以控制所述工业过程的一个或多个物理部件,或(ii)所述一个或多个物理部件的一个或多个子部件。
2.根据权利要求1所述的系统,其中,所述多个虚拟节点中的每个虚拟节点包括相应的至少一个部件行为模块,所述相应的至少一个部件行为模块对经由相应的一个或多个订阅从所述I/O交换机接收的第一数据的内容进行操作以生成第二数据,并将所述第二数据发布到所述I/O交换机,以便传递到另一个过程控制部件,从而控制所述工业过程的相应的至少一部分。
3.根据权利要求2所述的系统,其中:
所述多个虚拟节点在虚拟化平台上实现,所述虚拟化平台包括具有一个或多个处理器和一个或多个有形存储器的一个或多个互连的计算设备,所述一个或多个处理器执行存储在所述一个或多个有形存储器上的计算机可执行指令以提供所述多个虚拟节点;
所述多个虚拟节点对由所述I/O交换机发布的数据的多个订阅对应于多个I/O分配的第一部分;并且
所述多个虚拟节点向所述I/O交换机进行的数据的多个发布对应于所述多个I/O分配的第二部分。
4.根据权利要求3所述的系统,其中,所述虚拟化平台的负载是基于所述多个I/O分配来跨所述多个虚拟节点平衡的。
5.根据权利要求4所述的系统,其中,所述虚拟化平台的所述负载还基于配置的边界条件来平衡。
6.根据权利要求4-5中的任一项所述的系统,其中,所述虚拟化平台的所述负载的所述平衡包括将所述多个I/O分配中的至少一部分重新分配给不同的虚拟节点。
7.根据权利要求4-6中的任一项所述的系统,其中,所述虚拟化平台的所述负载的所述平衡包括以下各项中的至少一项:从在所述虚拟化平台上实现的所述多个节点中移除特定虚拟节点,或者创建在所述虚拟化平台上实现的附加虚拟节点。
8.根据权利要求4-7中的任一项所述的系统,其中,所述虚拟化平台的所述负载包括软件资源负载或硬件资源负载中的至少一个。
9.根据权利要求4-8中的任一项所述的系统,其中,所述负载包括存储器资源负载或业务负载中的至少一个。
10.根据权利要求3至9中的任一项所述的系统,其中,与所述多个虚拟节点相对应的性能水平是基于所述多个I/O分配而在所述虚拟化平台处平衡的。
11.根据权利要求10所述的系统,其中,与所述多个虚拟节点相对应的性能水平还基于配置的边界条件来平衡。
12.根据权利要求10-11中的任一项所述的系统,其中,与所述多个虚拟节点相对应的性能水平的所述平衡包括将所述多个I/O分配中的至少一部分重新分配给不同的虚拟节点。
13.根据权利要求10-12中的任一项所述的系统,其中,与所述多个虚拟节点相对应的所述性能水平的所述平衡包括以下各项中的一项:从在所述虚拟化平台上实现的所述多个节点中移除特定虚拟节点,或者创建在所述虚拟化平台上实现的附加虚拟节点。
14.根据权利要求10-13中的任一项所述的系统,其中,与所述多个虚拟节点相对应的性能水平的所述平衡包括平衡在其上实现所述多个虚拟节点的所述虚拟化平台的所述一个或多个处理器的利用率。
15.根据权利要求10-14中的任一项所述的系统,其中,与所述多个虚拟节点相对应的性能水平的所述平衡包括平衡在其上实现所述多个虚拟节点的所述虚拟化平台的所述一个或多个互连的计算设备的利用率。
16.根据权利要求10至15中的任一项所述的系统,其中,与所述多个虚拟节点相对应的性能水平的所述平衡包括平衡对在其上实现所述多个虚拟节点的所述虚拟化平台的所述一个或多个互连的计算设备进行互连的网络或一个或多个链路中的至少一个的利用率。
17.根据权利要求4-16中的任一项所述的系统,其中,所述虚拟化平台的所述负载的所述平衡或与所述多个虚拟节点相对应的所述性能水平的所述平衡中的至少一个被自动地执行,而无需任何在线用户输入。
18.根据权利要求3至17中的任一项所述的系统,还包括虚拟化管理节点,所述虚拟化管理节点在所述虚拟环境中通信地连接到所述多个虚拟节点,并且基于所述虚拟化平台的一个或多个检测到的和/或预测的状况来执行所述虚拟化平台的所述负载的所述平衡或与所述多个虚拟节点相对应的所述性能水平的所述平衡中的至少一个。
19.根据前述权利要求所述的系统,其中,所述虚拟化平台的所述一个或多个检测到的和/或预测的状况包括检测到的第一故障的发生或预测的第二故障的发生中的至少一个。
20.根据权利要求18-19中的任一项所述的系统,其中,在所述虚拟化平台的初始化或调试中的至少一者之后,所述虚拟化管理节点基于所述多个I/O分配来创建所述多个虚拟节点,所述多个I/O分配基于所述工业过程工厂的一个或多个系统配置数据库来确定。
21.根据前述权利要求所述的系统,其中,所述虚拟化管理节点在所述虚拟化平台的初始化或调试中的至少一者之后,进一步基于所述一个或多个系统配置数据库来确定所述多个I/O分配。
22.一种在工业过程工厂处的方法,所述方法包括:
在所述工业过程工厂的运行时操作期间,执行以下步骤:
当过程控制系统的多个虚拟节点进行操作以通过将数据发布到I/O交换机并且订阅由所述I/O交换机发布的数据来控制工业过程时,检测和/或预测在其上实现所述多个虚拟节点的虚拟化平台处发生的一个或多个状况,所述多个虚拟节点设置在所述工业过程工厂的虚拟环境中,所述I/O交换机包括在所述过程控制系统中并且将所述多个虚拟节点通信地连接到所述过程控制系统的多个物理节点,所述多个物理节点设置在所述工业过程工厂的物理环境中并包括至少一个现场设备,并且所述多个物理节点在所述工业过程的所述运行时操作期间进行操作,以通过经由所述I/O交换机向所述多个虚拟节点发送数据并且从所述多个虚拟节点接收数据来控制所述工业过程;并且
基于所检测到的和/或所预测的一个或多个状况,平衡与所述多个虚拟节点相对应的负载或性能水平中的至少一个。
23.根据权利要求22所述的方法,其中,所述多个虚拟节点中的每个虚拟节点包括相应的至少一个部件行为模块,所述相应的至少一个部件行为模块对经由相应的一个或多个订阅对从所述I/O交换机接收的第一数据的内容进行操作以生成第二数据,并将所述第二数据的内容发布到所述I/O交换机,以便传递到另一个过程控制部件,从而控制所述工业过程的相应的至少一部分。
24.根据权利要求22-23中的任一项所述的方法,其中:
所述虚拟化平台包括具有一个或多个处理器和一个或多个有形存储器的一个或多个互连的计算设备,所述一个或多个处理器执行存储在所述一个或多个有形存储器上的计算机可执行指令以提供所述多个虚拟节点;
所述多个虚拟节点对由所述I/O交换机发布的数据的多个订阅对应于多个I/O分配的第一部分;并且
所述多个虚拟节点向所述I/O交换机进行的数据的多个发布对应于所述多个I/O分配的第二部分。
25.根据权利要求24所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的至少一个是基于所述多个I/O分配的。
26.根据权利要求25所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个还基于配置的边界条件。
27.根据权利要求26所述的方法,还包括:
经由用户接口接收对所述配置的边界条件的改变;以及
基于对所述配置的边界条件的所述改变来重新平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个。
28.根据权利要求24-27中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括:将所述多个I/O分配中的至少一部分重新分配给不同的虚拟节点。
29.根据权利要求22-28中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括以下各项中的一项:从在所述虚拟化平台上实现的所述多个节点中移除特定虚拟节点,或创建在所述虚拟化平台上实现的附加虚拟节点。
30.根据权利要求22-29中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括:调整所述虚拟化平台的一个或多个部件的软件资源负载或硬件资源负载中的至少一个。
31.根据权利要求22-30中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括:调整所述虚拟化平台的一个或多个部件的存储器资源负载或业务负载中的至少一个。
32.根据权利要求22-31中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括:调整在其上实现所述多个虚拟节点的所述虚拟化平台的一个或多个处理器的利用率。
33.根据权利要求22-32中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括:调整在其上实现所述多个虚拟节点的所述虚拟化平台的一个或多个互连的计算设备的利用率。
34.根据权利要求22-33中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个包括:调整对在其上实现所述多个虚拟节点的所述虚拟化平台的一个或多个互连的计算设备进行互连的网络或一个或多个链路中的至少一个的利用率。
35.根据权利要求22-34中的任一项所述的方法,其中,平衡与所述多个虚拟节点相对应的所述负载或所述性能水平中的所述至少一个自动地执行,而无需任何在线用户输入。
36.根据权利要求22-35中的任一项所述的方法,其中:
所述过程控制系统还包括虚拟化管理节点,所述虚拟化管理节点在虚拟环境中通信地连接到所述多个虚拟节点;并且
执行以下各项中的至少一项:
检测所述一个或多个状况包括:由所述虚拟化管理节点检测所述一个或多个状况中的至少一个;
预测所述一个或多个状况包括:由所述虚拟化管理节点预测所述一个或多个状况中的至少一个;
平衡与所述多个虚拟节点相对应的所述负载包括:由所述虚拟化管理节点平衡与所述多个虚拟节点相对应的所述负载的至少一部分;或者
平衡与所述多个虚拟节点相对应的所述性能水平包括:由所述虚拟化管理节点平衡与所述多个虚拟节点相对应的所述性能水平的至少一部分。
37.根据权利要求22至36中的任一项所述的方法,其中,执行以下各项中的至少一项:
检测所述一个或多个状况包括:由所述多个虚拟节点中的一个或多个虚拟节点检测所述一个或多个状况中的至少一个;
预测所述一个或多个状况包括:由所述多个虚拟节点中的一个或多个虚拟节点预测所述一个或多个状况中的至少一个;
平衡与所述多个虚拟节点相对应的所述负载包括:由所述多个虚拟节点中的一个或多个虚拟节点平衡与所述多个虚拟节点相对应的所述负载的至少一部分;或者
平衡与所述多个虚拟节点相对应的所述性能水平包括:由所述多个虚拟节点中的一个或多个虚拟节点平衡与所述多个虚拟节点相对应的所述性能水平的至少一部分。
38.根据权利要求22-37中任一项所述的方法,其中,检测和/或预测在所述虚拟化平台处发生的所述一个或多个状况包括:检测故障的发生。
39.根据权利要求22-38中的任一项所述的方法,其中,检测和/或预测在所述虚拟化平台处发生的所述一个或多个状况包括:预测故障的发生。
40.根据权利要求22-39中的任一项所述的方法,其中,检测和/或预测在所述虚拟化平台处发生的所述一个或多个状况包括:检测所述虚拟化平台的性能变化的发生。
41.根据权利要求22至40中的任一项所述的方法,其中,检测和/或预测在所述虚拟化平台处发生的所述一个或多个状况包括:预测所述虚拟化平台的性能变化的发生。
42.根据权利要求22-41中的任一项所述的方法,还包括:在所述虚拟化平台的初始化或调试中的至少一者之后:
由所述过程控制系统基于所述多个I/O分配来创建所述多个虚拟节点;并且
在所述多个虚拟节点之间分派所述多个I/O分配,其中,所述多个I/O分配基于所述工业过程工厂的一个或多个系统配置数据库来确定。
43.前述权利要求中的任一项与前述权利要求中的任何其它项的组合。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962859508P | 2019-06-10 | 2019-06-10 | |
US62/859,508 | 2019-06-10 | ||
US16/874,216 | 2020-05-14 | ||
US16/874,216 US11537112B2 (en) | 2019-06-10 | 2020-05-14 | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112068499A true CN112068499A (zh) | 2020-12-11 |
Family
ID=73650065
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010525949.9A Pending CN112068499A (zh) | 2019-06-10 | 2020-06-10 | 在过程控制系统中运行实时控制的虚拟节点的自动平衡和性能均衡 |
CN202010525419.4A Active CN112068497B (zh) | 2019-06-10 | 2020-06-10 | 切换过程控制系统节点的方法和系统 |
CN202010525418.XA Pending CN112068496A (zh) | 2019-06-10 | 2020-06-10 | 过程控制系统中的集中式虚拟化管理节点 |
CN202010525409.0A Pending CN112068494A (zh) | 2019-06-10 | 2020-06-10 | 过程控制系统中的虚拟化实时i/o |
CN202010525946.5A Active CN112068498B (zh) | 2019-06-10 | 2020-06-10 | 用于实时模拟和过程控制的工业控制系统和方法 |
CN202010525410.3A Active CN112068495B (zh) | 2019-06-10 | 2020-06-10 | 控制工业过程工厂的工业过程的方法和过程控制系统 |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010525419.4A Active CN112068497B (zh) | 2019-06-10 | 2020-06-10 | 切换过程控制系统节点的方法和系统 |
CN202010525418.XA Pending CN112068496A (zh) | 2019-06-10 | 2020-06-10 | 过程控制系统中的集中式虚拟化管理节点 |
CN202010525409.0A Pending CN112068494A (zh) | 2019-06-10 | 2020-06-10 | 过程控制系统中的虚拟化实时i/o |
CN202010525946.5A Active CN112068498B (zh) | 2019-06-10 | 2020-06-10 | 用于实时模拟和过程控制的工业控制系统和方法 |
CN202010525410.3A Active CN112068495B (zh) | 2019-06-10 | 2020-06-10 | 控制工业过程工厂的工业过程的方法和过程控制系统 |
Country Status (5)
Country | Link |
---|---|
US (5) | US11550311B2 (zh) |
JP (5) | JP7453064B2 (zh) |
CN (6) | CN112068499A (zh) |
DE (1) | DE102020115456A1 (zh) |
GB (1) | GB2623201A (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11768877B2 (en) * | 2019-09-20 | 2023-09-26 | Fisher-Rosemount Systems, Inc. | Smart search capabilities in a process control system |
US11768878B2 (en) * | 2019-09-20 | 2023-09-26 | Fisher-Rosemount Systems, Inc. | Search results display in a process control system |
CN112904827B (zh) * | 2021-01-18 | 2022-02-01 | 同济大学 | 一种面向多icu的无人驾驶虚拟仿真测试系统 |
US12001183B2 (en) * | 2021-02-26 | 2024-06-04 | Hewlett Packard Enterprise Development Lp | Scalable microservices-driven industrial IoT controller architecture |
US20220309753A1 (en) * | 2021-03-25 | 2022-09-29 | B/E Aerospace, Inc. | Virtual reality to assign operation sequencing on an assembly line |
CN113296423B (zh) * | 2021-05-22 | 2023-09-08 | 北京德风新征程科技有限公司 | 一种基于工业互联网的实时仿真分析系统 |
US12007747B2 (en) * | 2021-06-16 | 2024-06-11 | Fisher-Rosemount Systems, Inc. | Software defined process control system and methods for industrial process plants |
CN113722883B (zh) * | 2021-07-26 | 2024-05-14 | 国网河北省电力有限公司石家庄供电分公司 | 一种智能变电站二次回路故障定位方法 |
CN113917897B (zh) * | 2021-09-26 | 2024-04-02 | 西门子能源自动化(南京)有限公司 | 用于对电厂进行操作和监视的装置及其实施方法 |
CN114003006A (zh) * | 2021-10-19 | 2022-02-01 | 宝鸡钛业股份有限公司 | 一种采用虚拟化智能算法解决进口控制系统限制权限国产化方法 |
US11971710B2 (en) * | 2021-11-12 | 2024-04-30 | Pani Energy Inc | Digital model based plant operation and optimization |
CN114726807A (zh) * | 2021-11-23 | 2022-07-08 | 苏州汇云鼎技术服务有限公司 | 一种工业用网络数据交换机 |
CN114422873B (zh) * | 2021-12-15 | 2023-12-08 | 浙江中控技术股份有限公司 | 动态接入工业互联网标识解析平台的方法、装置及设备 |
CN114449014B (zh) * | 2021-12-29 | 2024-01-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种用于机载信息管理系统的虚拟化信息处理平台 |
CN115270213B (zh) * | 2022-06-30 | 2024-03-01 | 北京亚控科技发展有限公司 | 一种实体物当前状态的孪生方法、订阅方法及系统 |
CN115083535B (zh) * | 2022-08-23 | 2022-11-08 | 佰墨思(成都)数字技术有限公司 | 生物制药车间组态数字孪生构建方法及系统 |
CN115473802B (zh) * | 2022-09-13 | 2024-02-23 | 重庆紫光华山智安科技有限公司 | 节点管理方法、系统、设备及存储介质 |
WO2024081249A1 (en) * | 2022-10-10 | 2024-04-18 | Schneider Electric Systems Usa, Inc. | Virtual controller deployed on intrinsically safe field device |
US20240232164A9 (en) * | 2022-10-20 | 2024-07-11 | Fisher-Rosemount Systems Inc | Enterprise engineering and configuration framework for advanced process control and monitoring systems |
CN115442154B (zh) * | 2022-10-26 | 2022-12-30 | 北京安帝科技有限公司 | 模块化工控协议包深度解析验证方法与系统 |
JP7513076B2 (ja) | 2022-12-13 | 2024-07-09 | 横河電機株式会社 | サーバ装置、プロセス制御システム、及びプロセス制御方法 |
CN116405393B (zh) * | 2023-06-09 | 2023-09-22 | 广东致盛技术有限公司 | 一种用于数据孪生的边缘智能网关优化方法及装置 |
CN117220935B (zh) * | 2023-09-04 | 2024-02-20 | 河北润博星原科技发展有限公司 | 一种基于移动计算机的网络安全监测系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043860A1 (en) * | 2005-08-15 | 2007-02-22 | Vipul Pabari | Virtual systems management |
CN104142630A (zh) * | 2013-05-09 | 2014-11-12 | 洛克威尔自动控制技术股份有限公司 | 用信息叠加把基于云的数据用于工业自动化环境的虚拟化 |
CN105654227A (zh) * | 2014-11-28 | 2016-06-08 | 西门子公司 | 用于对生产工厂的实体工厂项进行建模的通用工厂模型 |
CN108513655A (zh) * | 2015-10-13 | 2018-09-07 | 施耐德电器工业公司 | 软件定义自动化系统及其架构 |
CN109597374A (zh) * | 2017-10-02 | 2019-04-09 | 费希尔-罗斯蒙特系统公司 | 用于调试的i/o虚拟化 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392165B2 (en) | 2002-10-21 | 2008-06-24 | Fisher-Rosemount Systems, Inc. | Simulation system for multi-node process control systems |
JP3940665B2 (ja) | 2002-11-27 | 2007-07-04 | 株式会社東芝 | ハイブリッドシミュレーション装置およびプログラム |
JP2007536634A (ja) | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
US7797382B2 (en) * | 2005-12-02 | 2010-09-14 | Alcatel Lucent | Virtual private network publish-subscribe multicast service |
US8509926B2 (en) | 2005-12-05 | 2013-08-13 | Fisher-Rosemount Systems, Inc. | Self-diagnostic process control loop for a process plant |
WO2008017001A2 (en) | 2006-08-02 | 2008-02-07 | Moka5, Inc. | Sharing live appliances |
US20090089359A1 (en) * | 2007-09-27 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Subscription and notification in industrial systems |
US8200738B2 (en) * | 2007-09-30 | 2012-06-12 | Oracle America, Inc. | Virtual cluster based upon operating system virtualization |
US8340790B2 (en) | 2009-08-31 | 2012-12-25 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to adjust control loop timing in a process control system |
GB2498659B (en) * | 2010-09-27 | 2015-06-17 | Fisher Rosemount Systems Inc | Methods and apparatus to virtualize a process control system |
US10037443B2 (en) | 2011-03-07 | 2018-07-31 | Rockwell Automation Technologies, Inc. | Industrial simulation using redirected I/O module configurations |
US8756041B2 (en) | 2011-03-07 | 2014-06-17 | Rockwell Automation Technologies, Inc. | Industrial simulation using redirected I/O module configurations |
EP2599995B1 (en) | 2011-11-30 | 2015-10-28 | Siemens Aktiengesellschaft | Wind turbine control system |
US9256222B2 (en) | 2012-07-18 | 2016-02-09 | International Business Machines Corporation | Sensor virtualization through cloud storage and retrieval mechanisms |
US10756543B2 (en) | 2012-09-13 | 2020-08-25 | Stem, Inc. | Method and apparatus for stabalizing power on an electrical grid using networked distributed energy storage systems |
US10678225B2 (en) * | 2013-03-04 | 2020-06-09 | Fisher-Rosemount Systems, Inc. | Data analytic services for distributed industrial performance monitoring |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
WO2015020573A1 (en) | 2013-08-08 | 2015-02-12 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and devices for media processing in distributed cloud |
KR101488193B1 (ko) | 2013-09-04 | 2015-01-30 | 에스케이 텔레콤주식회사 | 상황 인지 기반의 명령 수행 방법 및 장치 |
JP6020476B2 (ja) * | 2014-01-20 | 2016-11-02 | 横河電機株式会社 | プロセス制御装置及びその更新方法 |
US20160048408A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
US9912737B2 (en) | 2014-08-27 | 2018-03-06 | Exxonmobil Research And Engineering Company | Method and system for modular interoperable distributed control |
KR102182512B1 (ko) * | 2014-08-27 | 2020-11-25 | 아씨아 에스피이, 엘엘씨 | 액세스 노드의 가상화 구현을 위한 시스템, 방법 및 장치 |
US9729542B2 (en) | 2014-09-24 | 2017-08-08 | Oracle International Corporation | Compartmentalizing application distribution for disparate electronic devices |
WO2016089342A1 (en) | 2014-12-01 | 2016-06-09 | General Electric Company | Method and system for efficient dynamic alarm construction |
JP6509537B2 (ja) | 2014-12-04 | 2019-05-08 | 三菱日立パワーシステムズ株式会社 | プラントシミュレータ及びプラントシミュレータの演算割り当て方法 |
US10142199B2 (en) | 2014-12-19 | 2018-11-27 | Emerson Process Management Lllp | Automatic process data transmission and monitoring for an industrial process network |
US10623244B2 (en) | 2014-12-19 | 2020-04-14 | Emerson Process Management Lllp | Data transfer on an industrial process network |
US10320958B2 (en) | 2014-12-19 | 2019-06-11 | Emerson Process Management Lllp | Fast data transfer communication protocol for an industrial process network |
US20160182309A1 (en) * | 2014-12-22 | 2016-06-23 | Rockwell Automation Technologies, Inc. | Cloud-based emulation and modeling for automation systems |
SG10201505489QA (en) | 2015-07-14 | 2016-07-28 | Yokogawa Engineering Asia Pte Ltd | Systems and methods for optimizing control systems for a process environment |
US11222551B2 (en) * | 2015-07-23 | 2022-01-11 | Rockwell Automation Technologies, Inc. | Snapshot management architecture for process control operator training system lifecycle |
US10007513B2 (en) * | 2015-08-27 | 2018-06-26 | FogHorn Systems, Inc. | Edge intelligence platform, and internet of things sensor streams system |
US10185311B2 (en) | 2015-10-08 | 2019-01-22 | King Fahd University Of Petroleum And Minerals | Methods and apparatus to design collaborative automation systems based on data distribution service middleware |
US10868754B2 (en) | 2016-01-27 | 2020-12-15 | Nebbiolo Technologies Inc. | High availability input/output management nodes |
WO2017223535A1 (en) | 2016-06-24 | 2017-12-28 | Schneider Electric Systems Usa, Inc. | Methods, systems and apparatus to dynamically facilitate boundaryless, high availability m:n working configuration system management |
EP3267649B1 (en) | 2016-07-08 | 2019-02-13 | Omron Corporation | Method and industrial computing apparatus for performing a secure communication |
EP3273315B1 (de) * | 2016-07-19 | 2023-10-18 | ABB Schweiz AG | Plattform zur weiternutzung bestehender software für die ansteuerung industrieller feldgeräte |
US10382395B2 (en) | 2016-07-25 | 2019-08-13 | Honeywell International Inc. | Industrial process control using IP communications with publisher subscriber pattern |
EP3494687B1 (en) * | 2016-08-03 | 2021-12-15 | Schneider Electric Industries SAS | Industrial software defined networking architecture for deployment in a software defined automation system |
WO2018093351A1 (en) | 2016-11-15 | 2018-05-24 | Intel Corporation | Neworking internet of things (iot) devices |
WO2018092300A1 (ja) | 2016-11-21 | 2018-05-24 | 三菱電機株式会社 | シミュレーション装置、シミュレーションシステム、シミュレーション方法およびシミュレーションプログラム |
CN108123994B (zh) * | 2016-11-28 | 2021-01-29 | 中国科学院沈阳自动化研究所 | 一种面向工业领域的云平台架构 |
US20180314240A1 (en) * | 2017-04-28 | 2018-11-01 | Honeywell International Inc. | Flexible hierarchical model for monitoring distributed industrial control systems |
US11137745B2 (en) | 2017-05-01 | 2021-10-05 | Fisher-Rosemount Systems, Inc. | Open architecture industrial control system |
CN110574342B (zh) | 2017-05-02 | 2021-11-26 | 西门子股份公司 | 运行自动化网络的方法、自动化网络和存储介质 |
CN109213702B (zh) * | 2017-06-30 | 2022-08-30 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
US10620613B2 (en) | 2017-08-21 | 2020-04-14 | Fisher-Rosemount Systems, Inc. | High performance control server system |
US11330087B2 (en) | 2017-11-16 | 2022-05-10 | Intel Corporation | Distributed software-defined industrial systems |
US11423254B2 (en) * | 2019-03-28 | 2022-08-23 | Intel Corporation | Technologies for distributing iterative computations in heterogeneous computing environments |
-
2020
- 2020-05-14 US US16/874,040 patent/US11550311B2/en active Active
- 2020-05-14 US US16/874,297 patent/US11599100B2/en active Active
- 2020-05-14 US US16/874,216 patent/US11537112B2/en active Active
- 2020-05-14 US US16/874,106 patent/US11422543B2/en active Active
- 2020-06-04 JP JP2020097858A patent/JP7453064B2/ja active Active
- 2020-06-04 JP JP2020097855A patent/JP7483511B2/ja active Active
- 2020-06-04 JP JP2020097853A patent/JP7483510B2/ja active Active
- 2020-06-04 JP JP2020097854A patent/JP2020201952A/ja active Pending
- 2020-06-04 JP JP2020097849A patent/JP7429610B2/ja active Active
- 2020-06-05 GB GB2316290.2A patent/GB2623201A/en active Pending
- 2020-06-10 CN CN202010525949.9A patent/CN112068499A/zh active Pending
- 2020-06-10 CN CN202010525419.4A patent/CN112068497B/zh active Active
- 2020-06-10 CN CN202010525418.XA patent/CN112068496A/zh active Pending
- 2020-06-10 CN CN202010525409.0A patent/CN112068494A/zh active Pending
- 2020-06-10 DE DE102020115456.9A patent/DE102020115456A1/de active Pending
- 2020-06-10 CN CN202010525946.5A patent/CN112068498B/zh active Active
- 2020-06-10 CN CN202010525410.3A patent/CN112068495B/zh active Active
-
2022
- 2022-12-12 US US18/079,546 patent/US20230113527A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043860A1 (en) * | 2005-08-15 | 2007-02-22 | Vipul Pabari | Virtual systems management |
CN104142630A (zh) * | 2013-05-09 | 2014-11-12 | 洛克威尔自动控制技术股份有限公司 | 用信息叠加把基于云的数据用于工业自动化环境的虚拟化 |
CN107256007A (zh) * | 2013-05-09 | 2017-10-17 | 洛克威尔自动控制技术股份有限公司 | 用于工业自动化环境的虚拟化的系统和方法 |
CN105654227A (zh) * | 2014-11-28 | 2016-06-08 | 西门子公司 | 用于对生产工厂的实体工厂项进行建模的通用工厂模型 |
CN108513655A (zh) * | 2015-10-13 | 2018-09-07 | 施耐德电器工业公司 | 软件定义自动化系统及其架构 |
CN109597374A (zh) * | 2017-10-02 | 2019-04-09 | 费希尔-罗斯蒙特系统公司 | 用于调试的i/o虚拟化 |
Also Published As
Publication number | Publication date |
---|---|
GB2623201A (en) | 2024-04-10 |
CN112068498B (zh) | 2024-04-05 |
JP7429610B2 (ja) | 2024-02-08 |
US11550311B2 (en) | 2023-01-10 |
US11422543B2 (en) | 2022-08-23 |
CN112068496A (zh) | 2020-12-11 |
JP2020201950A (ja) | 2020-12-17 |
JP7483510B2 (ja) | 2024-05-15 |
JP2020201952A (ja) | 2020-12-17 |
JP2020201949A (ja) | 2020-12-17 |
CN112068495B (zh) | 2024-06-18 |
CN112068494A (zh) | 2020-12-11 |
JP7483511B2 (ja) | 2024-05-15 |
GB202316290D0 (en) | 2023-12-06 |
US20230113527A1 (en) | 2023-04-13 |
JP2020201954A (ja) | 2020-12-17 |
CN112068497A (zh) | 2020-12-11 |
US11537112B2 (en) | 2022-12-27 |
US20200387149A1 (en) | 2020-12-10 |
CN112068497B (zh) | 2024-06-18 |
US20200387144A1 (en) | 2020-12-10 |
US20200387146A1 (en) | 2020-12-10 |
CN112068498A (zh) | 2020-12-11 |
DE102020115456A1 (de) | 2021-01-21 |
JP7453064B2 (ja) | 2024-03-19 |
JP2020201951A (ja) | 2020-12-17 |
CN112068495A (zh) | 2020-12-11 |
US11599100B2 (en) | 2023-03-07 |
US20200387143A1 (en) | 2020-12-10 |
JP2020201953A (ja) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112068497B (zh) | 切换过程控制系统节点的方法和系统 | |
US11726463B2 (en) | Industrial control system architecture for real-time simulation and process control | |
US11747797B2 (en) | Publish/subscribe protocol for real-time process control | |
US11747798B2 (en) | Virtualized real-time I/O in process control systems | |
US20230124264A1 (en) | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems | |
JP7525310B2 (ja) | プロセス制御システム内の集中仮想化管理ノード | |
US12019431B2 (en) | Ease of node switchovers 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 |